summaryrefslogtreecommitdiffstats
path: root/meta/classes/rootfs_rpm.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* classes: Remove references to _remove in function names since this may ↵Richard Purdie2013-08-261-1/+1
| | | | | | | | | | | | | | become a bitbake keyword There is a good chance we might want to support a bitbake operator "_remove" which works in a similar way to _append and _prepend. As such, we can't use those keywords in function or variable names. (From OE-Core rev: 491fde8cd3fd493f9fec2fd434fe1be547f66148) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_rpm: implement BAD_RECOMMENDATIONS for RPMPaul Eggleton2013-07-291-2/+1
| | | | | | | | | | | | | | | | | | | | Add support for the BAD_RECOMMENDATIONS variable that can be used to prevent specific packages from being installed via an RRECOMMENDS relationship when using the RPM backend. (Previously this functionality was only available when using ipk packaging.) In the process this moves the defaulting of BAD_RECOMMENDATIONS (as empty) to bitbake.conf since it is no longer specific to the ipk backend, as well as unifying some of the code that creates the configuration for smart for use on the host and target. Fixes [YOCTO #3916]. (From OE-Core rev: 4e85129a7d47baf3e32b815cbc277bff84e085a0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: switch to using run-postinstsLaurentiu Palcu2013-06-111-1/+1
| | | | | | | | | | Since run-postinsts was made generic, use it for RPM too. (From OE-Core rev: 1ba44302f522a42535c9ad7d2fcccc06ba4c20b3) 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>
* rootfs_*.bbclass: add some helper functionsLaurentiu Palcu2013-06-111-2/+25
| | | | | | | | | | | | | | | | | | | | This patch adds the following helper functions: * delayed_postinsts - outputs the list of delayed postinstalls; * save_postinsts - this will save the delayed postinstalls for ipk/deb in /etc/(ipk|deb)_postinsts; * rootfs_remove_packages - removes packages from an image; Additionaly, this patch will remove a piece of code in rootfs_ipk_do_rootfs which will be moved to image.bbclass and used for all backends; [YOCTO #4484] (From OE-Core rev: 928df79cd3964f775c4c6e4283ef84b8882f9328) 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>
* rpm: split out run-postinstsZhenhua Luo2013-03-291-3/+1
| | | | | | | | | | | | 1. Split out run-postinsts script into separated package, sometimes only the postinsts script is required to run all postinsts scripts in /etc/rpm-postinsts/ instead of the whole rpm package. 2. Set ROOTFS_PKGMANAGE_BOOTSTRAP to rpm-postinsts (From OE-Core rev: 056490ddbfdbb6cc6fa0d8ff8716d64819d6b16c) Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: implement history collection for SDKsPaul Eggleton2013-03-231-16/+0
| | | | | | | | | | | | | | | | | | | | | | 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]. (From OE-Core rev: c3736064483d4840e38cb1b8c13d2dd3a26b36aa) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_xxx.bbclass: fix bitbake -S hashes mismatch errorRobert Yang2013-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bitbake -S <image> has errors, e.g.: NOTE: Reparsing files to collect dependency data ERROR: Bitbake's cached basehash does not match the one we just generated (/buildarea/lyang1/poky/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)! ERROR: The mismatched hashes were 8e44f2296f2d6cdf2ccb0236910ef59b and 46357d5e36713646b47b0fe2233e3c8c This is caused by the BUILDNAME which is defined in cooker.py: if not self.configuration.data.getVar("BUILDNAME"): self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M')) The time changes during the first parsing and reparsing, so there is the error, we already have: do_rootfs[vardepsexclude] += "BUILDNAME" but what we need is rootfs_xxx_do_rootfs[vardepsexclude] += "BUILDNAME" The do_rootfs doesn't depend on BUILDNAME directly, but indirectly, the depends tree is: do_rootfs -> rootfs_xxx_do_rootfs -> BUILDNAME So add BUILDNAME to rootfs_xxx_do_rootfs[vardepsexclude] would fix the problem. [YOCTO #3299] (From OE-Core rev: 9d039f482c84dde264564fde93f39764113cc0d3) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm: move run-postinsts scripts to rpm recipeKang Kai2013-03-011-23/+0
| | | | | | | | | | | Move run-postinsts scripts from rootfs_rpm.bbclass to rpm recipe. That is the same way for dpkg and opkg to deal the post install scripts. (From OE-Core rev: 04607b0cd496837f10ef78cf43597ec1d2e13f2e) Signed-off-by: Kang Kai <kai.kang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Handle multilib configures with different OS valuesMark Hatle2013-02-221-10/+27
| | | | | | | | | | | | | | | [ 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. (From OE-Core rev: aa760ff7dee4029c30c9de9fc0b640149e4a4c77) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Reorder feed priority based on multilib image settingMark Hatle2013-02-221-2/+11
| | | | | | | | | | | | | | | | [ 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. (From OE-Core rev: dfbb1aa184955923b85b81aabf944de8f1a1e4b5) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_(ipk|deb|rpm).bbclass: check package installation status after ↵Laurentiu Palcu2013-02-131-10/+10
| | | | | | | | | | | | | ROOTFS_POSTPROCESS_COMMAND Since the intercept fall-back procedure will change the package installation status, do the checking after ROOTFS_POSTPROCESS_COMMAND ends. (From OE-Core rev: 414c3918baccc2166bba536c956eebaeb49aace3) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm: Escape the backtick to ensure the ls runs on the targetSaul Wold2013-01-301-1/+1
| | | | | | | | | | | | | | | | | | This change ensures that the ls /etc/rpm-postinsts runs in the target at first boot time, rather than at the creation time of the script on the host. This was causing the following error in the rootfs log: + install -d /srv/ssd/sgw/machines/fri2/tmp/work/fri2-poky-linux/core-image-minimal/1.0-r0/rootfs//etc/rcS.d + i= + ls /etc/rpm-postinsts/ ls: cannot access /etc/rpm-postinsts/: No such file or directory (From OE-Core rev: e893cf0b3843701e80f5c9f47be04d1a88e5ed68) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: fix the unexpected postinst errorChen Qi2013-01-221-1/+2
| | | | | | | | | | | | | | | | If the /etc/rpm-postinsts/ directory was empty, the following error would occur at system startup. ERROR: postinst /etc/rpm-postinsts/* failed This patch fixes this issue. [YOCTO #3767] (From OE-Core rev: 202263aeca837dc7b6615a3dc34569c199163733) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_*: error out if postinstalls exist with read-only rootfsPaul Eggleton2013-01-181-0/+9
| | | | | | | | | | | | | | | | | If there are postinstall scripts to be run on first boot and IMAGE_FEATURES contains "read-only-rootfs", we know this will fail on the target device so just error out during do_rootfs. This check was already implemented for ipk, so add it to the deb and rpm backends. Also make all backends use bberror rather than just echo to display the error. Fixes [YOCTO #3407]. (From OE-Core rev: 510e377f252dece8850487c30482f83df4a89c7e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: export INSTALL_PLATFORM_EXTRA_RPMChen Qi2013-01-101-1/+1
| | | | | | | | | | | | Export this variable because package_rpm.bbclass needs it. [YOCTO #3682] (From OE-Core rev: 64b01c6c945346b661f294fc8a49bf04a72da3c0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: remove debug codeMark Hatle2012-12-191-3/+3
| | | | | | | | | | Debugging code was accidently left in the previous commit. Remove the code as it prevents multiple concurrent bitbake builds. (From OE-Core rev: bbd55cc34ca893c7202634fe138cedb2f380be56) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_*.bbclass: exclude BUILDNAME var dependency from do_rootfsMartin Jansa2012-12-191-0/+1
| | | | | | | | | | | | | | | | * I have kernel recipe which depends on other recipe to build tiny initramfs image, without this change it rebuilds not only that initramfs image but also whole kernel when DATE or TIME is changed and OEBasicHash enabled * also resolves ERROR shown when bitbake -S is used for image: ERROR: Bitbake's cached basehash does not match the one we just generated (/OE/oe-core/openembedded-core/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)! ERROR: The mismatched hashes were 8c35cdf8a5d09c03941f081dd9f6d8dc and b5d6e2e5952770557c48c5779ddb73fc (From OE-Core rev: a78d2d21fffd646a0d6e0f02a8355be010a7bd28) 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>
* package_rpm: Update the way the multilib package names are translatedMark Hatle2012-12-171-24/+23
| | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: ffe6cf3a1c57defdbe8531bdeb588e199177bb6c) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_rpm: install smart instead of zypper in rpm-based imagesPaul Eggleton2012-12-171-3/+3
| | | | | | | | | | Switch over to smart on the target when package-management is enabled. (From OE-Core rev: 69f258a2422e6a6ae71834dd097ffa00a1784d9e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/*_rpm: integrate Smart into RPM filesystem constructionPaul Eggleton2012-12-171-16/+18
| | | | | | | | | | | | | | | | | | | | 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>. (From OE-Core rev: a726ae7c032fac1aa49ce34180fa2ed2dcaf87d3) 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> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Revert to default shell logging behaviorMark Hatle2012-12-131-2/+0
| | | | | | | | | Remove the set +x, and revert to the normal logging behavior. (From OE-Core rev: e799d771c9ed9e41a900e2e96c23d4ae35d5fe08) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: fix a regression introduced by list_installed_packages ↵Ming Liu2012-12-031-1/+1
| | | | | | | | | | | | | | | | change A regression was introduced by commit:190cb591 that it doesn't consider the situation that some archs contain "_" originally, so it results in issues when dealing with archs like qemux86_64, x85_64. Added a conditional statment in to handle that case. (From OE-Core rev: 8567991639fda8d2a1e88169b86c72e14cc6c82d) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: normalize arch output of list_installed_packagesMing Liu2012-12-031-1/+1
| | | | | | | | | | | | | | | | | | list_installed_packages should output uniform formatted archs for all packaging system(deb, rpm and ipk), for they are used by common code to grab the package infos. Otherwise, it will lead some -dbg packages to be missed processing in come cases. It's introduced by commit: fc985f51, package_rpm.bbclass: fix the arch (replace "-" with "_"). Fixed by replacing "_" back to "-" in list_installed_packages, make it output real arch values which can be safely used. (From OE-Core rev: 554f2436435bf96c6735827f491c1b78b198c016) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: maybe no rpm postinst scriptRobert Yang2012-10-241-1/+3
| | | | | | | | | | | | | | | | | There maybe no rpm postinst script (e.g., core-image-minimal), then the "*" is not expanded, and there would be error: head: cannot open `rpm-postinsts/*' for reading: No such file or directory Check whether it exists or not will fix the problem. [YOCTO #3172] (From OE-Core rev: 966c72e00c8d378d7d189f0e4b626f6782d23a25) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm: Add Multilib prefix to installed_packages listSaul Wold2012-09-191-5/+14
| | | | | | | | | | | | | | | RPM does not name it's packages with the Multilib prefix, but the rootfs_rpm class keeps track of the Multilib prefixs in a list. Use that list to re-attach the prefix for use with the license bbclass, buildhistory bbclass will also use this and make it more accurate between multilib and non-multilib. Use the embedded "Platform" information to ensure we get all the correct matching. (From OE-Core rev: f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpmresolve: improve debug outputPaul Eggleton2012-08-151-1/+1
| | | | | | | | | | | | | Rename rpmresolve's -d option to -t and make -d enable debug output; add a -o option to specify the output file (so rpm debug output doesn't go to the output file) and also add a little more detail to some of the error messages. (From OE-Core rev: 163dd734d79fd7040b48b10bca6fde28460ac20c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* createrepo 0.4.11: add rpm-createsolvedb.pyRobert Yang2012-08-011-1/+1
| | | | | | | | | | | | | Move scripts/rpm-createsolvedb.py to meta/recipes-support/createrepo/createrepo/ since we should wrap it to use the native python. [YOCTO #2822] (From OE-Core rev: 72d673bef385e756bd858f9eca7fe419efaceb39) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: improve performance of image info collectionPaul Eggleton2012-07-291-29/+4
| | | | | | | | | | | Reduce the number of calls to the packaging tool, especially in the case of rpm, using helper utilities to gather the required information more efficiently where possible. (From OE-Core rev: d0b8a98c5b46c305afd389fc862b3bf0c6f1eaab) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Rework installation of dev, dbg, doc, and locale packagesPaul Eggleton2012-07-291-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]. (From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_rpm: improve speed of RPM rootfs constructionPaul Eggleton2012-07-291-0/+1
| | | | | | | | | | | | | Improve the performance of the RPM backend during do_rootfs by performing most of the package name to file resolution in a separate utility written in C, processing the entire list of packages at once rather than running rpm on the command line which loads the RPM database for every package. (From OE-Core rev: 9135d351ba7cb21e50239d2b310565680bd4fdca) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_rpm: Sync multilib configuration with rootfs_rpmMark Hatle2012-07-091-0/+1
| | | | | | | | | | | | 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. (From OE-Core rev: 0f60722ef460fa826e4f02e7457004e64ca41d76) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Update database configuration fileMark Hatle2012-06-121-31/+0
| | | | | | | | | | | Move the creation of the database configuration files to just before we perform the install actions. This ensures they will exist even in SDK or other non-target filesystem images. (From OE-Core rev: 113e015afd46e46c9ba0413ca15f0316fa2eec24) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)Mark Hatle2012-06-121-10/+12
| | | | | | | | | RPM 5.4.8 requires db 5.3.x, so both are upgraded together. (From OE-Core rev: c5898ef3fc3820ff9c44bc5b1b16e5def64aa877) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: save rpmlib rather than remove itRobert Yang2012-06-081-1/+5
| | | | | | | | | | | | | | | | | The rpmlib was removed when images that add "remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would make the increment rpm image generation doesn't work in the second build, since list_installed_packages would get incorrect value in the second build, move the rpmlib to ${T} rather than remove it, and move it back when INC_RPM_IMAGE_GEN =1. [YOCTO #2440] (From OE-Core rev: c30e79510c06701f10f659eedaa0fe785538ac17) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: rename postinst trigger scriptOtavio Salvador2012-03-131-3/+3
| | | | | | | | | | Use 'run-postinsts' as trigger script name as it describes better the intent of it. (From OE-Core rev: 6bc50e531a15728be019af7bec5bce704fb72f8f) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Incremental rpm image generationRobert Yang2012-01-111-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incremental rpm image generation, the rootfs would be totally removed and re-created in the second generation by default, but with INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will do update(remove/add some pkgs) on it. NOTE: This is not suggested when you want to create a productive rootfs For example: 1) Add the follow config option to a conf file: INC_RPM_IMAGE_GEN = "1" 2) bitbake core-image-sato modify a package bitbake core-image-sato The rootfs would not be totally removed and re-created in the second generation, it would be simply updated based on the "package". Implatation: 1) Figure out the pkg which need to be removed or re-installed, then use 'rpm -e to remove the old one. Use the rpm's BUILDTIME to determine which pkg has been rebuilt. 2) Figure out the pkg which is newly added, and use 'rpm -U' to install it. This only for the rpm based rootfs, the deb and ipk based rootfs would be done later. [YOCTO #1651] (From OE-Core rev: 575ba3c9e153a1d8ac228a99a03ca2df5fbca151) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Fix rpm database files capacity issue.Mei Lei2012-01-031-0/+3
| | | | | | | | | | | | Tune the __db* size in DB_CONFIG. This will reduce the __db* size from 62MB to 26MB in qemu. [YOCTO #1769] (From OE-Core rev: 32d308bb38612cef2a98a4c40f058b4db50787aa) Signed-off-by: Mei Lei <lei.mei@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/image: implement generic locale package installationPaul Eggleton2012-01-031-24/+11
| | | | | | | | | | | | | | | | | | | | | | Let each package-specific rootfs implementation provide basic functions to query the existence of a package and install a list of packages and then have a generic install function so this logic is in one place. Note: unlike previous versions of this code in OE-Core this uses the IMAGE_LINGUAS variable and not IMAGE_LOCALES - note that IMAGE_LINGUAS was what was used in OE-Classic and it is already used in OE-Core in order to install locale-base-*. This will mean that if IMAGE_LINGUAS is left at the default you will now get more packages installed. If you don't want these language support packages then you should set IMAGE_LINGUAS explicitly. This restores locale installation to the same state as OE-Classic, only we now support all the packaging backends. (From OE-Core rev: c0fc36f8629a6abb9a7b542df8a2857526547a31) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_rpm: handle recommends in query functionsPaul Eggleton2012-01-031-2/+4
| | | | | | | | | | | | | | | Implement list_package_recommends() for rpm, and filter out the "suggests" (RPM's equivalent of recommends) in list_package_depends(). Respectively, these changes fix buildhistory handling of recommends for RPM (so that they are included in the image graphs) and also prevents failures during do_rootfs with buildhistory enabled if a recommend is unsatisfied. (From OE-Core rev: b6787f5d6e181d8c39cce7b050e261d1a1d1b075) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: add new output history collection classPaul Eggleton2011-12-051-5/+36
| | | | | | | | | | | | | | | | | | | | | | Create a new build output history reporting class, using testlab.bbclass from meta-oe as a base. This records information from images produced by the build process in text files structured suitably for tracking within a git repository, thus enabling monitoring of changes over time. Build history collection can be enabled simply by adding the following to your local.conf: INHERIT += "buildhistory" The output after a build can then be found in BUILDHISTORY_DIR (defaults to TMPDIR/buildhistory). If you set up this directory as a git repository and set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will be committed on every build. (From OE-Core rev: 14acb530a27a3b088d0bfd56db291f4e72ace8ab) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "classes/buildhistory: add new output history collection class"Richard Purdie2011-12-011-36/+5
| | | | | | | | This reverts commit 508ff624fea705eb93cf2cc1e0c9c42cb817acf8. RP accidentally pulled the wrong commit in, it was supposed to be a *package*history bbclass change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: add new output history collection classPaul Eggleton2011-12-011-5/+36
| | | | | | | | | | | | | | | | | | | | | | | Create a new build output history reporting class, using testlab.bbclass from meta-oe and packagehistory.bbclass as a base. This records information from packages and images output from the build process in text files structured suitably for tracking within a git repository, thus enabling monitoring of changes over time. Build history collection can be enabled simply by adding the following to your local.conf: INHERIT += "buildhistory" The output after a build can then be found in BUILDHISTORY_DIR (defaults to TMPDIR/buildhistory). If you set up this directory as a git repository and set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will be committed on every build. (From OE-Core rev: 508ff624fea705eb93cf2cc1e0c9c42cb817acf8) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Turn off script debuggingMark Hatle2011-11-111-1/+1
| | | | | | | | | | | Disable script debugging, as the log files become huge and take a long time to process during the log check step. This results in a performance improvement. (From OE-Core rev: a7e70227bac72c4f7d3419f94f6915da4c7e3f43) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: Enable pre and post install scriptsMark Hatle2011-11-111-19/+6
| | | | | | | | | | | | | | | | | | | | | [YOCTO #1755] We change the want the RPM rootfs install works to install pre and post install scripts. The new method uses a script helper that is invoked by RPM outside of the normal chroot. The wrapper is dynamically generated prior to the install starting. It will check the return code of the script. If the script fails, it will store a copy to be executed on the first system boot. This is similar to the previous mechanism. In addition, a line of debug was added to the scripts as written by package_rpm to list which package and which script for later debugging, if necessary. (From OE-Core rev: 3e7120d6a9fd5e46214673d0a6e1085a7314ff42) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-7/+7
| | | | | | | | | | | | | | | | | 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 *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Drop MULTILIB_IMAGE_INSTALLDongxiao Xu2011-11-081-2/+1
| | | | | | | | | | | | | | | There should just be a single IMAGE_INSTALL variable. If the package backends need this split into different multilib components they should be responsible for doing this, not the user. This commit removes the MULTILIB_IMAGE_INSTALL variable. [YOCTO #1564] (From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: add MLPREFIX to deploy folderDongxiao Xu2011-09-281-1/+1
| | | | | | | | | | Add MLPREFIX to multilib deploy forlder to avoid the confliction between multilib and normal package deploy directory. (From OE-Core rev: 18b8d1f7769b63725c3b6883298a841806cd06ab) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: install MULTILIB_IMAGE_INSTALLDongxiao Xu2011-09-211-0/+4
| | | | | | | | | | | | | | | If user set MULTILIB_IMAGE_INSTALL, we need to install those multitlib packages into the final image. Also fix the logic in handling multilib prefix. For certain case like a normal image contains several multilib libraries, the image recipe isn't extended with MLPREFIX, therefore we need to enumerate the possible multilib prefixes and compare them with package prefixes. (From OE-Core rev: a94cc552dc764d3cc83ea638cb08b9a2a8829d2f) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: add multilib prefix for archs under deploy/rpmDongxiao Xu2011-09-211-1/+3
| | | | | | | | | | | | | | Currently MACHINE_ARCH deploy folder is unique in multilib system, thus a lib32 version of rpm package will override a normal rpm package if its PACKAGE_ARCH is ${MACHINE_ARCH}. Define different deploy folder for multilib architectures to avoid the confliction. (From OE-Core rev: 921f984aa65e23d5a8ec5c2e58a96cb8a4790b5d) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm: setting DEFAULTTUNE for multilib archsDongxiao Xu2011-09-021-0/+3
| | | | | | | | | | | To get the MULTILIB_PACKAGE_ARCHS, we need to get the corresponding DEFAULTTUNE value. This fixes the multilib arch directory missing issue in solvedb-ml_archs.conf. (From OE-Core rev: 54306ff373e13696637b547fa1514e0ef8633248) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>