Commit Graph

363 Commits

Author SHA1 Message Date
Alexandru Palalau
f683023b05 oe-selftest: add test for image manifest file creation
(From OE-Core rev: 1542470fa66884d0f7bf67d92916675a8a9820cc)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05 15:50:22 +00:00
Laurentiu Palcu
97289f7579 package_manager.py: RpmPM: don't add smart channel if already added
Make sure the channel was not already added, before attempting to add.

[YOCTO #5890]

(From OE-Core rev: 0574f5390fb8958db5864f41a7bd8037ac046ac5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05 15:50:20 +00:00
Laurentiu Palcu
61b8503f25 Revert "lib/oe/package_manager.py: RpmPM: fix issue with multilib builds"
Converting a list to a set does not keep the order of the items, as they
were added, which might result in the wrong packages being installed in
the final image...

This reverts commit 12f47c23df.

[YOCTO #5890]

(From OE-Core rev: 495cce9c9e63484c740aa669facb995b0ef74f85)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05 15:50:20 +00:00
Richard Purdie
2163893b77 oeqa/runtime/dmesg: Ignore DMA timeout errors
We see these from qemu images on servers under load. They're not interesting
and clutter the build output so lets ignore them.

(From OE-Core rev: 053eba4885ab4016f7efc7899ec9e02df3384d11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02 17:25:28 +00:00
Corneliu Stoicescu
6fab87e128 oe-selftest: Fix test_sstate_cache_management_script*
Fixed tests for sstate-cache-management.sh that ware failing due to:
 - recent changes to sstate-cache structure
 - recent changes to the script itself

(From OE-Core rev: 17b518caf253b77101b357564f8ef9e07961f12c)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02 17:25:28 +00:00
Stefan Stanacar
9744e0fb0a oeqa/targetcontrol: make BaseTarget an abstract class
This should make it clear what methods a subclass
needs to redefine.

(From OE-Core rev: a4e4de4189cec3076a863c32c98e02766187ab48)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28 14:01:13 +00:00
Corneliu Stoicescu
a18cd65908 oe-selftest: Fix for test_rm_old_image
After recent changes in poky this test was not working as it should.
This commit fixes and improves the test logic.

(From OE-Core rev: 45709d1eae28fc567c5dca9a48393d56d28f785d)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28 14:01:13 +00:00
Stefan Stanacar
3ab2b7f10c oeqa/targetcontrol: properly get the host ip
For the SimpleRemote target where we need the host ip and
it wasn't set in conf, we tried to determine it automatically.
However ip route output isn't the same for every network, we
need the last field from the first line.

(From OE-Core rev: 19af3ac53690b1bd2fee54827090f59c525d2236)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25 17:53:04 +00:00
Laurentiu Palcu
16d271c14b package_manager.py: create index files for all backends in PACKAGE_CLASSES
The previous implementation was checking IMAGE_PKGTYPE and created the
index files just for the backend used to create the image. Apparently,
'bitbake package-index' should attempt to create the index files for all
backends specified in PACKAGE_CLASSES.

[YOCTO #5827]

(From OE-Core rev: 0521d48a1612bfc735e2c86acc9b685c1dc389ef)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25 17:50:26 +00:00
Jonathan Liu
824cc75426 package_manager.py: correctly handle empty opkg-query-helper.py output
If the output from opkg-query-helper.py is empty, output.split('\n')
would result in a list containing one element which is an empty string
while iterating over each line in the output. An exception is then
thrown by the line:

    pkg, pkg_file, pkg_arch = line.split()

with the message:

    Exception: ValueError: need more than 0 values to unpack

To avoid this, we add a condition to only split the output if it isn't
empty.

(From OE-Core rev: ee7b75c895e77ab20f728423c8efc2ced92265e8)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25 08:03:32 +00:00
Richard Purdie
61890967ed lib/oe/rootfs: Fix LDCONFIGDEPEND check
We shouldn't be running this if it expands to None or "" or False
so update the code accordingly.

(From OE-Core rev: 255079780729f0dd9df6f35302169e0c8480eced)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25 08:01:09 +00:00
Hongxu Jia
6ffc156550 manifest.py: remove redundant import line
The import oe.package_manager line is redundant, let's remove it.

(From OE-Core rev: ade1f3ce34489bba5a7ab23793c1d82559150583)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Hongxu Jia
3ccc90c9d0 rootfs.py: tweak _multilib_sanity_test for ipk incremental image generation
The _multilib_sanity_test installs multilib packages in a temporary
root fs, and compare with the current image to figure out duplicated
files that come from different packages.

While incremental image generation enabled and the previous image
was existed, there was an Multilib check error:
...
ERROR: Multilib check error: duplicate files tmp/work/qemux86_64-poky-
linux/core-image-minimal/1.0-r0/multilib/lib32/lib/libc.so.6 tmp/work/
qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/lib/libc.so.6
is not the same
...

The reason is the file in the existing image has been prelinked by
previous image generation and the file in a temporary root fs is not
prelinked, even though both of them came from the same package, the
Multilib check failed.

[YOCTO #1894]
(From OE-Core rev: 8d813f614cdfda31c85bbaf133f2822f90a4a78a)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Hongxu Jia
ec87d0c8b9 rootfs.py: support BAD_RECOMMENDATIONS for ipk incremental image generation
While incremental image generation enabled and the previous image is
existed, if BAD_RECOMMENDATIONS is changed, the operation on the
existing image is complicated, so remove the old image in this situation.

The same with PACKAGE_EXCLUDE and NO_RECOMMENDATIONS.

[YOCTO #1894]
(From OE-Core rev: 0566de3fa424af3bdfadcd0a08ce4c214abda083)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Hongxu Jia
1d4462db62 rootfs.py: support ipk incremental image generation
The incremental image generation is based on the previous existing
image, adds new packages, upgrades existing packages, and removes unused
packages.

[YOCTO #1894]
(From OE-Core rev: adf587e55c0f9bc74f0bef415273c937401baebb)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Hongxu Jia
af9e8e9132 package_manager.py: support ipk incremental image generation
Add the following three functions to OpkgPM class:
- The 'dummy_install' is used to dummy install pkgs, and returns the log
  of output;
- The 'backup_packaging_data' is used to back up the current opkg
  database;
- The 'recover_packaging_data' is used to recover the opkg database
  which backed up by the previous image creation;

Tweak 'remove' function in OpkgPM class, which the options for remove
with dependencies was incorrect.

Tweak 'handle_bad_recommendations' function in OpkgPM class:
- Fix none value check;
- Add the existance check of opkg status file;

[YOCTO #1894]
(From OE-Core rev: 5df18065e267a7e55a990ac3728414bb6e28a723)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Hongxu Jia
f4de8399ba manifest.py: add create_full for OpkgManifest class
The function create_full creates the manifest after the package in
initial manifest has been dummy installed. It lists all *to be
installed* packages. There is no real installation, just a test.

[YOCTO #1894]
(From OE-Core rev: 494adecd878496c2edc663ba09a456a9735d8252)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-21 16:14:15 +00:00
Martin Jansa
7c75e86c2d package_manager.py: Fix $i -> %s in bb.note
* change the text a bit, because I have trouble parsing two
  verbs at the beginning of sentence.

(From OE-Core rev: 9837d194682f46e3a0363765bd6b317180a4cda0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:12 +00:00
Laurentiu Palcu
1988f7186b package_manager.py: fix installed package list creation for Opkg/Dpkg
Small error in the package list creation routine. Buildhistory was
supposed to use this but was never called. Hence, it escaped tests...

(From OE-Core rev: eaa1994ad22730cec8e8c57736915da6b45a416e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:10 +00:00
Laurentiu Palcu
84210fd828 lib/oe/image.py: add image dependency mechanism
This commit adds a dependency mechanism to image creation, so that we can
split the images creation execution in groups, that can be executed in
parallel, having the dependencies satisfied in the same time. The old
code didn't need this since everything was serialized.

Technically, it adds a dependency graph topological sort class that the
main Image class can use to sort out the dependencies.

Images that have dependencies have to declare them using the NEW
IMAGE_TYPEDEP variable, like in the example below:

For:
IMAGE_FSTYPES = "i1 i2 i3 i4 i5"
IMAGE_TYPEDEP_i4 = "i2"
IMAGE_TYPEDEP_i5 = "i6 i4"
IMAGE_TYPEDEP_i6 = "i7"
IMAGE_TYPEDEP_i7 = "i2"

We'll get the following image groups, sorted out by their dependencies:

[['i1', 'i3', 'i2'], ['i4', 'i7'], ['i6'], ['i5']]

The algorithm can probably be optimized but, given the small size of the
graphs, it'll do.

[YOCTO #5830]

(From OE-Core rev: db9dd4b4ef9120baccbccae77d9c31f54a6eb9a1)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:10 +00:00
Khem Raj
f9b100e79c rootfs.py: Check for LDCONFIGDEPEND being empty string
We override LDCONFIGDEPEND to be empty string for uclibc
however the current check is for it being None as a result
the function is still executed but ldconfig-native is not
built as dependency for rootfs when building with uclibc

Fixes errors like below

File:
'/home/kraj/work/angstrom-repo/sources/openembedded-core/meta/lib/oe/rootfs.py',
lineno: 191, function: _run_ldconfig
     0187:    def _run_ldconfig(self):
     0188:        if self.d.getVar('LDCONFIGDEPEND', True) is not None:
     0189:            bb.note("Executing: ldconfig -r" +
self.image_rootfs + "-c new -v")
     0190:            self._exec_shell_cmd(['ldconfig', '-r',
self.image_rootfs, '-c',
 *** 0191:                                  'new', '-v'])

(From OE-Core rev: 315a71e00928fea6715087b1ce66f8a8a91d5fe0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-18 08:38:52 +00:00
Richard Purdie
9f77ba3a7d Revert "lib/oe/image.py: fix working directory"
This reverts commit 3f49597225.

This change appears to cause more problems than it fixes since the
compression commands usually work in the deploy dir but the archive ones
have always worked in the rootfs dir (which is clear from the tar command
we use).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-18 08:32:48 +00:00
Jonathan Liu
3f49597225 lib/oe/image.py: fix working directory
The working directory needs to be changed before the image creation
commands instead of afterwards.

(From OE-Core rev: 9d9bca8785911e8ae06d507bbfb99d6a811f072e)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-17 15:37:17 +00:00
Richard Purdie
4dcd9d6cee lib/oe/package_manager: Make empty package directories non-fatal
Its perfectly reasonable to call -c package-index with empty package
directories. This ensures the builds don't fail in such cases,
resolving autobuilder failures.

(From OE-Core rev: 11e2aaf2d751277e3e99ac2acbbeff2b7227be94)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-16 16:31:01 +00:00
Laurentiu Palcu
155f8a4c54 package_manager.py: move multilib prefix list computation function to RpmIndexer
Since the code from anonymous function in rootfs_rpm.bbclass has been
removed, MULTILIB_PREFIX_LIST variable was never set. Hence not all
directories got indexed.

This commit will move the multilib prefix list computation function from
RpmPM class to RpmIndexer, since the indexer needs it too. I was hoping
to avoid this but, unfortunately, I couldn't.

(From OE-Core rev: d3ba249aa1bf68aaeed226e934a4f4d5b7a19286)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 22:58:45 +00:00
Dmitry Eremin-Solenikov
0db0bb61bf image_types: sum.jffs2 is replaced by jffs2.sum
Previous commit added support for sum 'compression' (rather
postprocessing) of jffs2 images. Drop support for sum.jffs2 image type.

(From OE-Core rev: 295c6c1452c8789a8b1d0090ff09a5cd7cf16507)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:20 +00:00
Laurentiu Palcu
a0a0450981 package_manager.py, rootfs.py, sdk.py: add Indexer class
Because the package-index.bb needs to create package indexes outside
do_rootfs environment, move the indexing capability out of
PackageManager class to a smaller Indexer class.

This commit:
 * simply moves the indexing functions for ipk/deb with no changes;
 * rewrites the RPM indexing function so that it can be easily moved out
   of the PackageManager class;
 * removes some RPM duplicate code, moves it into a method inside
   RpmPM class and changes the RpmPM constructor so that the new method
   is effective;

(From OE-Core rev: d339d6f48f81330e94162f333aad76f3c65d6bfd)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-14 12:30:19 +00:00
Laurentiu Palcu
ee151ed6bc lib/oe/rootfs.py: fix RPM multilib issue
For some odd reason (at least I couldn't find an explanation to this,
yet), if a multilib version of a package is installed after the main one
(that is: in a different smart session), the main package binaries are
not overwritten.

This commit restores the functionality to the original one, before
migrating to python: feed all the packages to smart, apart from attempt
only ones which are installed separately.

(From OE-Core rev: 1fa94697163f16cdbb1499b57f1bc018546974ee)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 12:06:01 +00:00
Laurentiu Palcu
e091548568 (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
This commit whitelists some common directories, so the multilib sanity
checks pass and also fixes an issue in lib/oe/rootfs.py when the
compared files do not exist.

(From OE-Core rev: 4615ac771175cd413f461c081f7d3191c49ccc4b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:22 +00:00
Stefan Stanacar
3d0dccd026 oeqa/runtime: smart: don't run in auto mode when rpm is not the pm
TEST_SUITES = "auto" would run smart tests even for non-rpm images,
which is pointless.

(From OE-Core rev: 1913f38d79a56f7d21999b6839835f967ca28abd)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:21 +00:00
Stefan Stanacar
6d0f1d30d4 oeqa/utils: targetbuild: take proxy into account
A previous commit broke downloads
when proxies are involved, let's fix it.

(From OE-Core rev: 97e263b99cbe8184a74f80738fd471cfdef29e0c)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Laurentiu Palcu
b2c7cc7fe5 image.py, package_manager.py, rootfs.py: dump command output on error
Print the entire command output in case of errors.

(From OE-Core rev: 2253c9ac2caa61dee0bd4fea04d4d77b79be7b36)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
12f47c23df lib/oe/package_manager.py: RpmPM: fix issue with multilib builds
Use python sets instead of lists, to avoid duplicates. When doing a
multilib build, "smart channel --add" fails because it tries to add
'all' channel twice.

(From OE-Core rev: 730d675090eec5c03e444f0448d96a52035d0bef)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
847591e41a lib/oe/package_manager.py: check that package list is not empty
If we're just attempting to install packages and the package list is
empty, just return.

(From OE-Core rev: 8bf5d80e3502a71fdda688aace0799b47ae19b3b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
f4fa44cf91 rootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkg
When using opkg as the PM backend, one has the option to provide custom
feeds to create the rootfs from.

This commit:
 * fixes this in the refactored code;
 * moves the custom config creation code to python;
 * clean up the package-ipk.bbclass;

(From OE-Core rev: 19c538f57c8fa7c566e88a6dbe13ea4826d4f26c)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
ab8cbf35d6 lib/oe/package_manager.py: OpkgPM, bad recommendation handling change
The following commit:

rootfs_ipk: Ensure that BAD_RECOMMENDATIONS are honoured for all
architectures

changed the way BAD_RECOMMENDATIONS are handled. Make the change in the
new code too.

(From OE-Core rev: 7e518e399da51de3b159bd6804735b2f14c39357)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
8af55651ae lib/oe/package_manager.py: do not use stamps
Using stamps shortens rootfs/image creation because the package indexes
are not created again if no new package was installed in the deploy dir.
Unfortunately, there are some syncronization issues with
do_package_write_*() and the indexes are not properly created.

Will have to revisit this issue in the near future. For now, lose it.

(From OE-Core rev: 276f2a8a072ce243daa74210934ee63046e9c480)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:44 +00:00
Laurentiu Palcu
d3a3b87ad9 lib/oe/rootfs.py: OpkgRootfs, fix issue in _get_delayed_postinsts()
Status file path was not created correctly.

(From OE-Core rev: 628c4bce36ca0bc2b316ec78cf58b02a42e7f35f)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Laurentiu Palcu
365b77909d lib/oe/package_manager.py: OpkgPM/DpkgPM fixes
This commit:
 * adds missing mark_packages() function for OpkgPM. This is needed to
 * manually change the packages installation status in the status file;
 * fix OpkgPM remove_packaging_data() issue;
 * fix OpkgPM handle_bad_recommendations() issue;
 * improve OpkgPM/DpkgPM mark_packages() regex pattern;
 * fix DpkgPM list_installed() problem;
 * fix DpkgPM _create_configs() problem: status file should not be
   truncated if it already exists/

(From OE-Core rev: d50a40100763dcbfabec2c147fdfcb46aa909329)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Laurentiu Palcu
b76f240df0 lib/oe/image.py: fix image size calculation routine
The IMAGE_ROOTFS_EXTRA_SPACE value was not correctly added to the base
size.

(From OE-Core rev: f3ac2a68ae0ae9bdf2a03c1b6d0f83c9918d58bd)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Laurentiu Palcu
ce12c1bf9f lib/oe/package_manager.py: DpkgPM, use lock on deploy dir
Lock deploy directory against concurrent index creation.

(From OE-Core rev: 127d19b84e78b5e650d0e6d7eaf29a8b7d799e5e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Laurentiu Palcu
38ffed4620 lib/oe/rootfs.py: warn the user if intercept hooks fail
The idea of postinstall intercept hooks is to run CPU intensive
postinstalls (like the ones generating font/pixbuf/icon caches) on host,
at rootfs generation time. So, ideally, the user would like to know if
the intercepts fail on host.

With this patch, the user will see warnings on console if intercept
hooks fail to execute.

(From OE-Core rev: 5666ce9720132a76b5ff6e99712e240b8dc8e47a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Laurentiu Palcu
65a28699c8 lib/oe/package_manager.py: RpmPM fixes
This commit:
 * fixes a crash when handling interecept hook failures which happened when
   MULTILIB_GLOBAL_VARIANTS was not set;
 * convert dashes to underscores and use sets (so that we make sure the
   items are unique) when creating RPM repos;
 * uses a regex pattern to search for packages in the feeds list. The
   old method could match also strings in the middle. For example: 'rpm'
   matched 'kernel-module-lttng-probe-rpm" in qemux86_64 feeds;
 * issue a bb.fatal if smart returns error while installing packages.
   Otherwise we might end up with an incomplete image...
 * fixes the /etc/rpm/platform file creation;

(From OE-Core rev: b98c7e4945f1c36a6e4f98144a3af4f3049450ae)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Hongxu Jia
4a6596d95f lib/oe/package_manager.py: moving global SCRIPTLET_FORMAT and DB_CONFIG_CONTENT to RpmPM
The tweak made the code looks better.

(From OE-Core rev: 8e06be633222635c549d7f067218e8b833e76bda)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Hongxu Jia
c8f41d7e48 package_manger.py/rootfs.py: rename save_rpmpostinist with save_rpmpostinst
The tweak made the code looks better.

(From OE-Core rev: 61981755b4738ccc49be0e790de828f4166ef0e8)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:43 +00:00
Hongxu Jia
ed89fd28d7 lib/oe/rootfs.py: fix invoking _run_intercepts failed
- The variable D is needed by intercepts scripts;

(From OE-Core rev: 3d37dcdb836b59d8a7f880ce22d06760eb8af232)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
9c71ee080d lib/oe/package_manager.py: fix invoking rpm save_rpmpostinist failed
- Use self.target_rootfs instead of self.image_rootfs as saved dir;
- Remove redundant comment line;

(From OE-Core rev: 41d6edab676277afbcaa6cf41cd64a5663f09dc7)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
4df92c634e lib/oe/rootfs.py: fix invoking rpm _handle_intercept_failure failed
(From OE-Core rev: 7858c8ac141a7bf66c65ddc7e4b39ad937a7e084)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
ee175b5161 lib/oe/sdk.py: support RpmRootfs
- Implementation RpmSdk class

(From OE-Core rev: 417b27ce5c1ea2fe2057caa898291cce0c043359)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:42 +00:00
Hongxu Jia
f5d35ab640 lib/oe/image.py: fix get rootfs_extra_space failed
The value of IMAGE_ROOTFS_EXTRA_SPACE is "0 + 51200",
we should use eval rather than int in python.

(From OE-Core rev: dd3418e2db732ca1bc78fd93efa3f08da88a1183)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:53:41 +00:00