summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_rpm.bbclass
AgeCommit message (Collapse)Author
2014-08-15classes: Combine rootfs_<pkgtype> and populate_sdk_<pkgtype>Richard Purdie
There is no real reason to have these separate files any longer. It does mean in meta-toolchain type recipes some extra variables are defined but it also means the common code can be grouped and maintained together which I believe is more beneficial. We therefore merge the classes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-28populate_sdk_*: Drop now unneeded recrdeptask flagsRichard Purdie
Now populate_sdk_base has the appropriate flags, we can drop these from the individual classes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11populate_sdk_*.bbclass: remove old rootfs_list_installed_depends()Laurentiu Palcu
We're using the python routines now. 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-11populate_sdk_rpm.bbclass: remove old shell codeHongxu Jia
The old code no more needed since the job is done in python now. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
2013-11-26classes/image: write image manifestPaul Eggleton
Write a list of installed packages to a .manifest file next to the image, so we can find out what went into the image after it has been constructed without necessarily having to have buildhistory enabled (although that will provide more detail.) We can make use of this for example in the testimage class associated code that checks for installed packages for determining whether or not to run specific tests. Note: this replaces the previous ipk-specific manifest code with something that works for ipk, rpm and deb, and instead of a pruned status file, packages are listed one per line, in the following format: <packagename> <packagearch> <version> Tests for all three backends have shown that the performance impact of this change is negligible (about 1.5s max). Implements [YOCTO #5410] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12populate_sdk_rpm: Only remove trailing whitespace, not all whitespaceRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11populate_sdk_rpm: Ensure empty strings aren't passed to attemponly rpm codeRichard Purdie
If empty strings are passed to the rpm attemptonly code, it breaks. This ensures we don't do that. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: record size of installed package not compressed archiveMartin Jansa
* usually it's more important to know how much space will each package take on target device then size of compressed package * example for libewebkit0 with 4 different architectures, interesting that om_gta02 .ipk is bigger but it's smaller when installed before: MACHINE DEFAULTTUNE SIZE (.ipk file) om_gta04 cortexa8t-neon 15996 KiB libewebkit0 qemux86_64 x86-64 16992 KiB libewebkit0 spitz xscale 16148 KiB libewebkit0 om_gta02 arm920t 16260 KiB libewebkit0 after: MACHINE DEFAULTTUNE SIZE (installed) om_gta04 cortexa8t-neon 60544 KiB libewebkit0 qemux86_64 x86-64 63720 KiB libewebkit0 spitz xscale 60588 KiB libewebkit0 om_gta02 arm920t 56268 KiB libewebkit0 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23package/populate_sdk: Move functions from package_* to populate_sdk_*Richard Purdie
This fixes build failures introduced with "classes/buildhistory: implement history collection for SDK" by moving the functions to files where only the specific image type which is enabled is inherited. The failures occured when multiple PACKAGE_CLASSES were enabled. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23classes/buildhistory: implement history collection for SDKsPaul Eggleton
SDKs are constructed in a similar manner to images, and the contents can be influenced by a number of different factors, thus tracking the contents of produced SDKs when buildhistory is enabled can help detect the same kinds of issues as with images. This required adding POPULATE_SDK_POST_HOST_COMMAND and SDK_POSTPROCESS_COMMAND variables so that data collection functions can be injected at the appropriate points in the SDK construction process, as well as moving the list_installed_packages and rootfs_list_installed_depends functions from the rootfs_{rpm,ipk,deb} to the package_{rpm,ipk,deb} classes so they can also be called during do_populate_sdk as well as do_rootfs. Implements [YOCTO #3964]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-22rootfs_rpm.bbclass: Handle multilib configures with different OS valuesMark Hatle
[ CQID: WIND00404082 ] It is possible for the TARGET_OS to change dependending on the multilib used for a given package build. mips64 has two potential TARGET_OS values: linux and linux-gnun32. The RPM and Smart setup needs to distinguish between the two otherwise packages of the "non-default" TARGET_OS may be ignored as incompatible. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-22rootfs_rpm.bbclass: Reorder feed priority based on multilib image settingMark Hatle
[ YOCTO #3915 ] [ CQID: WIND00404309 ] When doing a multilib image build, such as bitbake lib32-core-image-sato, the system needs to reorder the priority level of the feeds. If it does not reorder the priorities, then 64-bit items can be selected by the automatic dependency resolution in Smart. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-20populate_sdk_rpm: Re-add a few system provides to the SDKMark Hatle
When building the target SDK portion, we can safely ignore various package rdepends. These dependencies are not required on a build only environment like an SDK. [YOCTO #3691] Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Tested-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-14package_rpm: Update the way the multilib package names are translatedMark Hatle
The variable MULTILIB_PACKAGE_ARCHS has been removed in favor of a repurposed MULTILIB_PREFIX_LIST. The format of this item is now <libid>:<arch>:<arch1>:...:<archN>. This ensures that we can correctly translate the libid to one of the supported archs in a tri-lib system. All of the users of MULTILIB_PREFIX_LIST and MULTILIB_PACKAGE_ARCHS have been modified accordingly. Also change the way attempted packages are installed, verify the package exists in the translate functions, then perform the install in one single operation. This results in a significantly faster install time. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-14classes/*_rpm: integrate Smart into RPM filesystem constructionPaul Eggleton
Use Smart to construct the root filesystem for images and the contents of SDKs rather than the custom scripts around rpm we had previously. This ensures the result when producing an updated image will be the same as upgrading to the same package versions from an older image on the target, as well as allowing us to remove a substantial amount of code making the rpm classes much easier to follow. Some bugfixes from Bogdan Marinescu <bogdan.marinescu@intel.com>. SDK implementation and testing as well as a number of bugfixes from Mark Hatle <mark.hatle@windriver.com>. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-13populate_sdk_(deb|ipk|rpm): export NATIVE_ROOT and INTERCEPT_DIR variablesLaurentiu Palcu
In order for the postinstall scripts to have access to the recent improvements when generating the target SDK sysroot, export these variables in populate_sdk. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-06populate_sdk_rpm.bbclass: Depend do_populate_sdk task on createrepo-nativeKhem Raj
Now that we have moved the rpm-createsolvedb.py script to createrepo-native for good reason of python-native dependency, we have to make sure that it is staged before its used, unlike before where it was under scripts/ dir and always existed outside the realm of package management. Fixes build error when doing meta-toolchain builds from scratch | /home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/run.populate_sdk_image.26712: line 610: rpm-createsolvedb.py: command not found | DEBUG: Python function do_populate_sdk finished | ERROR: Function failed: populate_sdk_image (see /home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/log.do_populate_sdk.26712 for further information) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31classes/populate_sdk_rpm: add depends on rpmresolve-nativePaul Eggleton
As of OE-Core revision 72d1048a8381fa4a8c4c0d082047536727b4be47, rpmresolve is now required for complementary package installation during do_populate_sdk. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-28Rework installation of dev, dbg, doc, and locale packagesPaul Eggleton
Use a similar mechanism that was previously used to install locales at rootfs generation time to install other "complementary" packages (e.g. *-dev packages) - i.e. install all of the explicitly requested packages and their dependencies, then get a list of the packages that were installed, and use that list to install the complementary packages. This has been implemented by using a list of globs which should make it easier to extend in future. The previous locale package installation code assumed that the locale packages did not have any dependencies that were not already installed; now that we are installing non-locale packages this is no longer correct. In practice only the rpm backend actually made use of this assumption, so it needed to be changed to call into the existing package backend code to do the complementary package installation rather than calling rpm directly. This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and also ensures that all dev/dbg packages get installed for dev-pkgs/dbg-pkgs respectively even if the dependency chains between those packages was not ensuring that already. The code has also been adapted to work correctly with the new SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable has been added to allow specifying what extra image features should go into the SDK (extra, because by virtue of installing all of the packages in the image into the target part of the SDK, we already include all of IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs". Fixes [YOCTO #2614]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-07-09populate_sdk_rpm: Sync multilib configuration with rootfs_rpmMark Hatle
An anonymous python chunk configures some multilib settings for both populate_sdk_rpm and rootfs_rpm. The two classes should contain identical versions to ensure that the generated multilib configuration is the same for the SDK and the rootfs. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03populate_sdk: Allow for attempt only packages in the SDKMark Hatle
We want to be able to supply attempt only packages in the SDK in order to support more advanced SDK images that more closely match specific image recipes. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-11-10populate_*.bbclass: Correct INSTALL variable name after recent multilib changesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10populate_*.bbclass: Drop pointless fakeroot attribute (fakeroot is at the ↵Richard Purdie
task level) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04populate_sdk_rpm: Add missing /bin/sh from rpm ignore list for the SDKRichard Purdie
The target SDK packages don't need to fulfil a shell dependency so add /bin/sh to the list of packages we don't need to resolve. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23populate_sdk_rpm: add pkgconfig(pkg-config) to the listRichard Purdie
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23populate_sdk_rpm: add items to the INSTALL_PROVIDESNAME_RPM listSaul Wold
This fixes a problem when building meta-toolchain-gmae, by adding items that will be provided by the host system, such as /bin/bash, /usr/bin/env and libGL.so Signed-off-by: Saul Wold <sgw@linux.intel.com> RP: libGL.so() -> libGL.so Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02populate_sdk_*: Sync SDK and regular rootfs functionsMark Hatle
In order for things to be easier to maintain in the future, sync up the sdk and rootfs versions. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-08-02bitbake.conf: Add SDK_PACKAGE_ARCHSMark Hatle
Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing inside of the variouns populate_sdk functions and related items. Also add documentation to populate_sdk to explain when the various functions are expected to be doing. Finally fix a bug in populate_sdk_rpm where the wrong value was being set, noticed while working on this change. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-03-01populate_sdk_rpm.bbclass: Add the necessary solvedb lockMark Hatle
[BUG #776] When using the RPM solve databases, we have to lock our operations to avoid removing it while it's in use. The same lock is shared by the rootfs_rpm.bbclass Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-03-01rootfs_rpm: Fix rootfs generation using RPM packagesMark Hatle
[BUG #756] Fix bug #756. The rootfs contains a control file /etc/rpm/platform that specifies the default system platform, as well as patterns for compatible architectures. This file was not being setup properly due to a misunderstanding of the format in a previous patch. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-16package_rpm: Fix solverdb generationMark Hatle
The RPM solverdb was potentially being generated multiple times. Fix this by ensuring we only process each directory once. Also correct an issue where the solution did not necessarily follow the preferred architecture ordering, reverse the default Poky ordering so that preferred is listed first. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-01populate_sdk_rpm.bbclass: Added rpm support for populate_sdk task.Lianhao Lu
This is preparation commit to support using rpm in populate_sdk task. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>