summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe
Commit message (Collapse)AuthorAgeFilesLines
* rootfs.py: Improve rpm log_check_regexEd Bartosh2015-06-281-1/+3
| | | | | | | | | | | | | | | | | | | Current regex can cause false negatives if paths in bitbake log files contain "ERR" or "Fail". do_rootfs fails with return code 1 in this case. Improved regexp is based on error messages produced by rpm. Those are found by analyzing rpm source code. [YOCTO #7789] (From OE-Core rev: 38871dc0295fb2516e1c8b1dc9948c2d2fc4d2cd) (From OE-Core rev: 4a7f15e1d64a5d4ca4cd9b46a0ee5903e441b4e0) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* split_and_strip_files: regroup hardlinks to make build deterministicEd Bartosh2015-05-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | Reverted 7c0fd561bad0250a00cef63e3d787573112a59cf Created separate group of hardlinks for the files inside the same package. This should prevent stripped files to be populated outside of package directories. This turns out not to be straightforward and has overlap with the other hardlink handling code in this area. The code is condensed into a more concise and documented form. [Original patch from Ed with tweaks from RP] [YOCTO #7586] (From OE-Core master rev: 82d00f7254b7d3bb6a167d675d798134884d1b19) (From OE-Core rev: 2abacf00ee3f60735bf7c0dc7130c72267822b30) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: RpmPM: Fix scriptlet for rpm 4Jean-Benoit MARTIN2015-05-151-2/+4
| | | | | | | | | | | Path of rpm post install script is different between rpm 4 and 5 (From OE-Core master rev: a880669f767532ce3c39eb160fa9deb9fce29677) (From OE-Core rev: cc57a6827d383380b37d9df14ef799b10a62a469) Signed-off-by: Jean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.sstatesig: align swspec handling with sstate.bbclassChristopher Larson2015-05-151-4/+4
| | | | | | | | | | | | | | | | | | | The logic tries to remove the -native suffix from pn to handle this (though it doesn't succeed, as it doesn't assign the new pn to the variable), but we need to do more for the swspec tasks than just not set the extrapath, we also need to change from SSTATE_PKGSPEC to SSTATE_SWSPEC. Alter to correct the spec for these cases, and also add preconfigure to align with the current logic in sstate.bbclass, which includes that task as well in the list of tasks to adjust to use swspec. [YOCTO #7563] (From OE-Core master rev: c9105597763be4bf5bc0ec97cc999566d0f10678) (From OE-Core rev: 4f9cde9d8e700d10cdb1da82bf7489df5633c549) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/utils.py: Corrected the return value of both_contain()Jun Zhu2015-05-151-1/+1
| | | | | | | | | | | | | | | | | | oe.utils.both_contain() should return the result as "checkvalue" or "", but the latest implement returns as "set(['checkvalue'])" or ""; It causes that bitbake.conf generates the wrong result of COMBINED_FEATURES, which contains the common components in both DISTRO_FEATURE and MACHINE_FEATURES. For example, build in Dizzy branch, COMBINED_FEATURES is "alsa usbhost ...", but recently, COMBINED_FEATURES is like "set(['alsa']) set(['usbhost']) ...". (From OE-Core master rev: c4ca9dbd4191fcff08e75035e3d276490ed80b05) (From OE-Core rev: 9471b87ecadeeba8e8ffe6955ec1dedc976a2978) Signed-off-by: Jun Zhu <R01007@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: call createrepo with --dbpath pointing inside WORKDIREd Bartosh2015-04-021-1/+5
| | | | | | | | | | | | | | | | | | Rpm database in staging area is used only by createrepo. createrepo fails with the error "rpmdb: BDB0060 PANIC: fatal region error detected" if rpm database is broken during previous run of createrepo. Made createrepo to create rpm db in $WORKDIR/rpmdb/ from scratch for every build and architecture. This should potentially fix the failure as every run of createrepo will be using separate db. [YOCTO #6571] (From OE-Core rev: db21bdcba5e2f646f0dc47295e8ea7e4d49a880d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb: DpkgIndexer use apt-ftparchive that needs a valid configAndreas Oberritter2015-03-251-0/+28
| | | | | | | | | | | | | | | | | | Since we have support of log checking in deb/ipk [1] rootfs generation in non Debian-based hosts fails because apt-ftparchive generates a Warning when not find /etc/apt/apt.conf.d/ (available in Debian-based hosts). package_manager.py: DpkgPMIndexer add support for generate and export apt configuration. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=86aec93902af2e2d7d73ca9a643707fcca45055c (From OE-Core rev: 331a7bbb1cd6781c93644a378d340deddcdb8bd2) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: Also uninstall update-alternatives and shadow for read-only-rootfsAndreas Oberritter2015-03-251-0/+2
| | | | | | | | | | This brings back commit d41097a970e9bfa553cd4bc3c9fad4b9073d7bd5, which got lost during transition from image.bbclass to rootfs.py. (From OE-Core rev: f4932e2e640764d16f1f6d398390ebfb376f4cf1) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb.py: Prioritize parsing of /etc/os-releaseEd Bartosh2015-03-221-8/+9
| | | | | | | | | | | | | | | Moved parsing of /etc/os-release before parsing of /etc/SuSE-release as /etc/SuSE-release is deprecated in recent releases of OpenSuSE. Here is the quote from /etc/SuSE-release: /etc/SuSE-release is deprecated and will be removed in the future, use /etc/os-release instead (From OE-Core rev: b3852bebb850048389994993e3717e54020c662f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: add log checking ability for deb and ipkChen Qi2015-03-221-17/+44
| | | | | | | | | | Extract the common codes of log checking and add the ability of log checking for deb and ipk package backend. (From OE-Core rev: d995871b433643958845e1d476813fa12888100e) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: two changes regarding log checkingChen Qi2015-03-221-3/+2
| | | | | | | | | | | | | | | | | | | This patch involves two changes. 1. Extend the regular expression to also catch '^WARNING:' in _log_check_warn. Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself. 2. Delay _log_check in rootfs process so that more warnings are likely to be catched. Note that we should at least delay the _log_check after the execution of ROOTFS_POSTPROCESS_COMMANDS, because we want to catch warnings there. (From OE-Core rev: 4c9213dffb71510ba99a0665f620e9de4a2dfeb5) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: Create variable for install_dir_nameSaul Wold2015-03-202-8/+12
| | | | | | | | | | | | | | | | This patch creates a variable for the install_dir name so it can be something other than /install, also by doing this we can correctly clean up the empty directories (/install/tmp) during the clean-up phase. The new default is /oe_install so as to not conflict with other possible packages that might use /install to place files. [YOCTO #7353] (From OE-Core rev: 335effec42099666d0fb433b31981edcb0dae9a0) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/package.py: fix files ownership in packagesFabrice Coulon2015-03-201-1/+1
| | | | | | | | | | | | | | | | This fix solves the problem with the ownership of files in packages. The do_install task was producing correct and expected output but when the files were being put in, e.g. a rpm package, the ownership could be different than that in the do_install task. [YOCTO #7428] (From OE-Core rev: 1a50cc5aeafff0d8ee6c4a41dd2770ecd31455f0) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Fabrice Coulon <fabrice.coulon@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: fix logic error so that warnings are checkedChen Qi2015-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | The following commit caused log checking for warnings not working for RPM rootfs. rootfs.py: ignore "NOTE:" when catching warnings The problem is that checking for warnings is always skipped because the following statement is always true. if 'log_check' or 'NOTE:' in line: This patch fixes the above problem so that warning checking in RPM rootfs can work again. (From OE-Core rev: 3e9e2ce380a73b50cbfc1995e361cfe879de6a8a) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/utils.py: properly implement both_contain()Cristian Iorga2015-03-101-1/+9
| | | | | | | | | | | | | | | | | | | | | | oe.utils.both_contain() just does a find() on the value rather than splitting the value and then looking in the list of split items. The result is that if you add a feature to MACHINE_FEATURES that itself has a substring that matches one of the values looked for when building COMBINED_FEATURES, you end up with an incomprehensible error (here with "ext2i" in MACHINE_FEATURES): ERROR: Nothing RPROVIDES 'packagegroup-base-ext2' (but /home/balister/src/oe-core/oe-core/meta/recipes-core/ /packagegroups/packagegroup-base.bb RDEPENDS on or otherwise requires it) Fix [YOCTO #6888]. (From OE-Core rev: e7375f73bd8052d012e35d4ebaee09a55417581f) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: fix konsole terminal support for KDE 4.xPaul Eggleton2015-02-261-4/+4
| | | | | | | | | | | | | It seems that the --nofork option genuinely stops konsole from going into the background now; I'm not sure when this changed but it does seem to be working so we can use it. (Tested with Konsole 2.10 and 2.14.2). Fixes [YOCTO #4934]. (From OE-Core rev: 49b21abf1020b2eefbbec98415c3d7de8827c993) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: fix regressionsPaul Eggleton2015-02-261-12/+8
| | | | | | | | | | | | | | | | | | | Fix up some issues introduced by OE-Core commit 818c94f5b9882c2028ef9f056714a0a3c9045551: * If we want to support versions with more than two parts, versions with only one part, or versions with non-integer parts, then we have to stay with strings. We can use distutils.version.LooseVersion() to help with comparisons. * We don't want a warning when launching gnome-terminal 3.10+ and logger.warn() doesn't take a first integer parameter anyway (logger.debug() does). * Also clean up tabs. (From OE-Core rev: 565d4a144ab3b8fe04950392497de1e0cf1152a5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: No --disable-factory for gnome-terminal >= 3.10Sven Ebenfeld2015-02-241-8/+22
| | | | | | | | | | | | --disable-factory has been disabled in earlier versions of gnome-terminal but from version 3.10 it raises an error and quits. This makes devshell unusable with gnome-terminal >= 3.10. This patch checks for the version and removes --disable-factory if you have the terminal version 3.10 or higher. (From OE-Core rev: 818c94f5b9882c2028ef9f056714a0a3c9045551) Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* copy_buildsystem.py: Add methods to copy shared state.Randy Witt2015-02-241-0/+32
| | | | | | | | | | | Added the helper functions necessary to copy the sstate from the current build, and generate the file to "lock" it. (From OE-Core rev: f704b0ad26bbca868c4ac40addb92dcd212f586f) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* copy_buildsystem.py: Add a way to copy buildsystem to a directory.Randy Witt2015-02-241-0/+70
| | | | | | | | | | | This file provides a way to take bitbake and the layers in the current build and copy them to a target specified. (From OE-Core rev: 3dc52164fb560ccbe5c203a4587f6286c8fc0389) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Add ability to filter list of tasks for locked-sigs.incPaul Eggleton2015-02-241-1/+4
| | | | | | | (From OE-Core rev: ed4287a60b33cb597eb7fa13b3855a528315b3b0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/recipeutils: minor improvements to patch_recipe()Paul Eggleton2015-02-231-2/+2
| | | | | | | | | | * Ensure it knows where to put SRCREV and S * Handle prepend/append and functions in general (From OE-Core rev: a770c3764efa857a8b1f0ce4b398277cd483a6af) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: fix PATCHTOOL = "git" with source in a subdirectoryPaul Eggleton2015-02-231-2/+5
| | | | | | | | | | | | | For recipes that have their actual source in a subdirectory of what is fetched (e.g. mkelfimage), we need to find the root of the repository within the GitApplyTree code that attempts to set up the required git hooks and use that, rather than expecting the root to be the same as ${S}. (From OE-Core rev: d820303f64ea610338ec11ffd79269e7831d1da9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: Performance tweak in regex usageRichard Purdie2015-02-211-3/+3
| | | | | | | | | | | | | Profiling a core-image-sato-sdk rootfs, we're spending over 40s compiling the same regex over and over again, roughly around 5 million times. This is suboptimal, fix for a 40s improvement on a 18.5minute task execution time. (From OE-Core rev: d0244702752f54fb74be427af1663e46bfff9a5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager.py: use 'purge' instead of 'remove' in case of debChen Qi2015-02-171-2/+2
| | | | | | | | | | | We need to use 'purge' instead of 'remove' for debian package backend when removing packages at rootfs time. This is because that 'remove' command for 'dpkg' and 'apt-get' does not remove configuration files. (From OE-Core rev: 14e8d826c4a5231ef331d8064d150737fe3ed656) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: support exclusion from complementary glob process by ↵Paul Eggleton2015-02-171-0/+3
| | | | | | | | | | | | | | | regex Sometimes you do not want certain packages to be installed when installing complementary packages, e.g. when using dev-pkgs in IMAGE_FEATURES you may not want to install all packages from a particular multilib. This introduces a new PACKAGE_EXCLUDE_COMPLEMENTARY variable to allow specifying regexes to match packages to exclude. (From OE-Core rev: d4fe8f639d87d5ff35e50d07d41d0c1e9f12c4e3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: improve command-line usagePaul Eggleton2015-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * Use argparse instead of optparse for standardised help output, options and a much cleaner code structure * Look up pkgdata directory automatically so the user doesn't have to specify it * Use standard logging NOTE: this does mean a slight change in syntax - if you do want to specify the pkgdata directory (usually only necessary if you're calling it from within the build process) you need to use the parameter -p (or --pkgdata-dir) and specify this before the command, not after it. Examples: oe-pkgdata-util find-path /sbin/mke2fs oe-pkgdata-util lookup-recipe libelf1 oe-pkgdata-util read-value PKGSIZE libc6 oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6 (From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb.py: Fix up for dashSaul Wold2015-02-141-0/+1
| | | | | | | | | | Remove the leading -e when using dash which does not use -e with echo (From OE-Core rev: 105280d58f7be50e5aee6a33ef1aa89dd6485cbf) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: ignore "NOTE:" when catching warningsRicardo Neri2015-02-141-1/+1
| | | | | | | | | | | | | The script looks for any warn|Warn pattern in the log. However, it may happen that the warn|Warn pattern appears as part of the name of the objects described in the NOTE lines of the log. Thus, to avoid false positives, ignore the line if it contains the word "NOTE:" (From OE-Core rev: 0387d0957909a9977efd8b2008e4d1c6d81ceb2a) Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: add tmux new window optionDan McGregor2015-02-081-0/+35
| | | | | | | | | | | | | | | | Add a new terminal type that makes a new window in the running tmux session instead of splitting the window. 80x25 is not enough to run menuconfig inside a split window, so add the option to create a new window instead. Use the new window option by default when the split window would be less than 19 lines high. (From OE-Core rev: d7ef9e49b1c687279f6eb2c7abc32ff915714177) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/license: tweak license format messagesPaul Eggleton2015-02-081-1/+2
| | | | | | | | | | | | Strictly speaking not all of these characters are operators, so reword the message to describe them as separators. Also use the standard "recipename: message" format. (From OE-Core rev: 9e5da3e83f2a5d43620e07a31728b7427329d8f4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: add support for Terminology terminal emulatorRodrigo Chiossi2015-02-031-0/+4
| | | | | | | | | | Terminology is the default Enlightenment terminal emulator (From OE-Core rev: f3da8570a977809fadb08315f384726b80f5ee01) Signed-off-by: Rodrigo Chiossi <rodrigo.chiossi@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager.py: fix rootfs failure with multilib enabledChen Qi2015-02-031-1/+4
| | | | | | | | | | | | | | | | With the current code, if we use debian package backend and enable multilib support, the do_rootfs process would always fail with error messages like below. E: Unable to locate package packagegroup-core-boot This patch fixes the above problem. (From OE-Core rev: d140d556ae30b6dbd0ffce8882c3e22b17050820) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: fixes launching multiple windows of gnome-terminalAlejandro Hernandez2015-02-031-1/+1
| | | | | | | | | | | | | | | When resolving a patch, a new process of gnome-terminal is created for every patch to be resolved, it "waits" for the previous one to end, instead of launching multiple windows at the same time. [YOCTO #7254] (From OE-Core rev: b457e0b028418260aee25858b8af8938dd038fac) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: make kernel depmod data optionalDan McGregor2015-02-031-1/+2
| | | | | | | | | | | | | This allows an image to skip the creation of kernel depmod data. It is useful for creating an image that will run as a container image inside a host with no knowledge of the parent's kernel. (From OE-Core rev: ca641aedff5f6bd155796ead02cb2eb871f8c17a) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/image.py: add error checking for missing IMAGE_CMDPaul Eggleton2015-02-031-1/+5
| | | | | | | | | | An invalid value in IMAGE_FSTYPES was triggering a traceback. Add a check and a reasonable error message instead. (From OE-Core rev: f38c35b925d6eab0d5a41b8592b0eb8b0a3b7b72) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/image: ensure uninstalled packages do not appear in manifestsPaul Eggleton2015-02-031-25/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the rewrite of the image construction code in python a few releases ago, we remove a couple of packages from the image as one of the final steps when constructing the image (notably update-rc.d and run-postinsts). However, because of the order of operations, these packages are still listed both in the buildhistory installed_package*.txt files and in the manifest file created next to the image, which is wrong. There were two possible solutions to this: (1) change the order such that the uninstallation occurs before calling ROOTFS_POSTPROCESS_COMMAND or (2) add another hook variable in such that we can have the package list collection code run at the right time. Because it's currently possible (but very much not recommended) to install additional packages within ROOTFS_POSTPROCESS_COMMAND, which may have postinstall scripts and thus require the packages we would otherwise uninstall if we were to take option 1, option 2 is really the least likely to cause problems. Therefore, add ROOTFS_POSTUNINSTALL_COMMAND and make the image and buildhistory classes use it. Fixes [YOCTO #6479]. (From OE-Core rev: b198a189228648057c3be7d068598f50841b3bf9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/rootfs.py: rename _uninstall_uneeded to fix spelling errorPaul Eggleton2015-02-031-2/+2
| | | | | | | | | Rename it to _uninstall_unneeded. (From OE-Core rev: cb217f442b8143d88112bebe4011051efbd905a3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Fix depmod for multilibRichard Purdie2015-01-291-1/+1
| | | | | | | | | | | | Using populate_sysroot for this data was a nice idea but flawed as it doesn't work in multilib builds. Instead we can use PKGDATA_DIR since this is consistent over multilib builds. It also turns out to be slightly neater code too. Hopefully this resolves the problem once and for all. (From OE-Core rev: 6cccae3ca54c1177a1d91d23c3e151d74e735ee9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel/image/depmodwrapper: Fixups for depmodRichard Purdie2015-01-231-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | With the rpm package backend enabled, running: bitbake <image> bitbake virtual/kernel -c clean bitbake <image> -c rootfs -f results in an image with incorrect kernel module dependency information. The problem is that the System.map and kernel-abiversion files are needed for depmod and after the recent kernel changes, these are no longer in sstate. Its reasonable to require the kernel to unpack/build if you're about to build a module against it. It is not reasonable to require this just to build a rootfs. Therefore stash the needed files specifically for depmod. Also fix some STAGING_KERNEL_DIR references which were incorrect, found whilst sorting through his change. (From OE-Core rev: b851504dcf5e147c9efb1c7b6a4d22c1a1a87cd7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package: Ensure strip breaks hardlinksRichard Purdie2015-01-231-1/+2
| | | | | | | | | | | | | Normally, strip preserves hardlinks which in the case of the way our hardlink rather than copy functionality works, is a disadvantage and leads to non-deterministic builds. This adds a move into place after the strip operation to ensure hardlinks are broken and we bring back build determinism. (From OE-Core rev: 7c0fd561bad0250a00cef63e3d787573112a59cf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sdk.py: Add SDKIMAGE_INSTALL_COMPLEMENTARY capabilities to DpkgSdkPau Espin Pedrol2015-01-231-0/+2
| | | | | | | | | | | | | | | | | Creating an SDK by means of do_populate_sdk, complementary packages (SDKIMAGE_FEATURES = "dev-pkgs dbg-pkgs") are not installed when using the deb packaging system. The reason is that the call to install the complementary packages is missing from the deb backend. This patch fixes that. [YOCTO #7160] (From OE-Core rev: 0bcca69ea97ac51acf290f8f1da1bde715ab51c4) (From OE-Core rev: 6755935e58b0414870adb7c7abab1aa331596209) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/rootfs.py: Fix reference to abiversion file locationRichard Purdie2015-01-161-1/+1
| | | | | | | | | | | With the changes to kernel layout, we need to refer to the correct location of the kernel abiversion file. Thanks to Saul, Randy, Darren and Bruce to figuring out the issue. (From OE-Core rev: 6541799c2e9a5a1586676c207d62f885c70e24dc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/image.py: Handle compressed IMAGE_TYPEDEP valuesOtavio Salvador2014-12-251-2/+16
| | | | | | | | | | | | When computing the dependency graph for the image generation, we need to take into account the compression type and identify the base type it relates to. This allow for a more robust graph generation even when using composed image types. (From OE-Core rev: 6e7d1de6cc99ed2def346dc40310573f5f0ce5ca) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: add recipeutils modulePaul Eggleton2014-12-211-0/+279
| | | | | | | | | | | | | | Add a module to help provide utility functions for dealing with recipes. This would typically be used by external tools. Substantial portions of this module were borrowed from the OE Layer index code; other functions originally contributed by Markus Lehtonen <markus.lehtonen@intel.com>. (From OE-Core rev: fd970c3b42b39601f379300d83354d42d5a536ba) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: add support for extracting patches from git treePaul Eggleton2014-12-211-30/+82
| | | | | | | | | | | | When patches from a recipe have been written out to a git tree, we also want to be able to do the reverse so we can update the patches next to the recipe. This is implemented by adding a comment to each commit message (using git hooks) which we can extract later on. (From OE-Core rev: 765b7bad50eae5b79d13a3f4988dc440c3d9787f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch.py: abort "git am" if it failsPaul Eggleton2014-12-211-0/+6
| | | | | | | | | | If we don't do this, you may still be in the git am resolution mode at the end of applying patches, which is not desirable. (From OE-Core rev: 630a393d01950a0d00b5d30ac376472911e50ff9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: use --keep-cr with git amPaul Eggleton2014-12-211-1/+1
| | | | | | | | | Preserving carriage returns is important where the patch contains them. (From OE-Core rev: 1cfcae0cd0bc776f5bb91a75bb8ffdad3d7bf200) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: auto-commit when falling back from git amPaul Eggleton2014-12-211-0/+86
| | | | | | | | | | | | | | When PATCHTOOL = "git", if we're not able to use "git am" to apply a patch and fall back to "git apply" or "patch", it is desirable to actually commit the changes, attempting to preserve (and interpret) the patch header as part of the commit message if present. As a bonus, the code for extracting the commit message is callable externally in case it is useful elsewhere. (From OE-Core rev: 8c522846093809a8deb866079e73fa317266c80e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: fall back to patch if git apply failsPaul Eggleton2014-12-211-1/+5
| | | | | | | | | | | When PATCHTOOL = "git", git apply doesn't support fuzzy application, so if a patch requires that it's better to be able to apply it rather than just failing. (From OE-Core rev: a8143f33d3104adcd10968e3b05df2024e723f5a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OpenPOWER on IntegriCloud