summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* testimage: Handle ipk/deb packaging format tests correctlyRichard Purdie2015-06-271-2/+4
| | | | | | | | | | | The default test list only works for rpm packaging. This fixes it for deb and ipk too. (From OE-Core rev: 210c8926405fcf695ec00f5768f29ba198320d6a) 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>
* sanity.bbclass: check /bin/sh is dash or bashRobert Yang2015-06-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The build would fail when /bin/sh links to ksh or csh, we only test dash and bash AFAIK. * When /bin/sh -> csh: $ bitbake quilt-native $ bitbake quilt-native -cfetch Illegal variable name. Illegal variable name. [snip] uname: extra operand `2' Try `uname --help' for more information. * When /bin/sh -> ksh: If there are only a few tasks running, for example, "bitbake quilt-native", the build would be OK, but it would fail if we run "bitbake world" for a while, there would be a lot of "Broken pipe" errors: Exception: CalledProcessError: Command 'cd /path/to/xx; find . -type d -print | tar -cf - -C /path/to/sysroot-destdir -p --files-from - --no-recursion | tar -xf - -C /path/to/xxx' returned non-zero exit status 2 with output tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors find: `standard output': Broken pipe find: write error [YOCTO #7917] (From OE-Core rev: ecdfdd7286a2f406655577f2c4d6fcf3fe3de429) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: fix for multilibRobert Yang2015-06-261-1/+1
| | | | | | | | | | | | Use MLPREFIX to fix: | cat: /path/to/sysroots/lib32-qemux86-64/sysroot-providers/virtual_libc: No such file or directory [YOCTO #7924] (From OE-Core rev: db9d76a5560d3001abe76518f47da1dfba8c0c7f) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/utils.py: Add support for init/end helper functions in ThreadWorker.Aníbal Limón2015-06-261-1/+1
| | | | | | | | | | | | | | Add init/end helper functions for ThreadWorker also pass ThreadWorker as first argument to init/end/func functions this enables per-thread storage handling. classes/sstate.bbclass: Add thread_worker argument to checkstatus function. (From OE-Core rev: 08c50d62b520c8405f034e3d7adeea89e06226ee) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/utils.py: Fix thread leakage in ThreadPoolAníbal Limón2015-06-261-1/+2
| | | | | | | | | | | | | | | In order to fix Thread leakage caused by not call join() in Threads, Pass num_tasks in ThreadPool for add all the tasks into a Queue this enable catch of Queue.Empty exception and exit the threads. classes/sstate.bbclass: Change checkstatus function to match new ThreadPool operation. (From OE-Core rev: 524d92ed7b53bef933527095e82f378b934f25ef) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scrpts: Fix sitecache issues with multilibRichard Purdie2015-06-231-2/+11
| | | | | | | | | | | | | | | | | | | The use of TCLIBC in TOOLCHAIN_NEED_CONFIGSITE_CACHE is problematic since a multilib may have both uclibc and glibc for different multilibs yet switching between them doesn't change TCLIBC. This would result in "lib32-glibc" being attempted when lib32 was actually uclibc. The fix here is to use the virtual providers which bitbake switches to point correctly at the right things. This does mean we need to resolve virtual providers but we can do this using sysroot-providers. [YCOTO #7607] (From OE-Core rev: 6d1dc943a9c8d97cd59d8cd98069d9bdb2615ff5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Strip files in sysrootRichard Purdie2015-06-231-0/+96
| | | | | | | | | | Add functionality to strip binaries/libraries going into the sysroot. Whilst this does fractionally slow down the build, it also significantly reduces the size of the sstate cache files. (From OE-Core rev: 30f3774f4cd5bbb8c1e6884aeff5af91ab053fc1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add explict getVar param for (non) expansionRichard Purdie2015-06-2328-67/+67
| | | | | | | | | | | | | | Rather than just use d.getVar(X), use the more explict d.getVar(X, False) since at some point in the future, having the default of expansion would be nice. This is the first step towards that. This patch was mostly made using the command: sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *` (From OE-Core rev: ab7c1d239b122c8e549e8112c88fd46c9e2b061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils-common-base: add to, don't set, FILES_${PN}Joshua Lock2015-06-231-1/+1
| | | | | | | | | | | | | | | If we set FILES_${PN} and a recipe inherits other classes that modify FILES_${PN} *before* distutils-common-base is included, any changes to FILES_${PN} made by those classes are lost. Instead, append the additional directories we want to include in FILES_${PN} (From OE-Core rev: f6478e8c73f9cfb79d1f7680b7bf3ff957eb51cb) Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-live: Set syslinux timeout to 5sEd Bartosh2015-06-231-1/+1
| | | | | | | | | | Increased syslinux timeout to 5s as default 1s timeout is not enough to notice syslinux prompt on some devices. (From OE-Core rev: 165e153f81c5cbd9b7f2fe9a35405617cd94406d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "distrodata: Remove unnecessary include of package_regex.inc"Ross Burton2015-06-231-0/+1
| | | | | | | | | | | | Instead of asking the user to include a number of configuration files, the class can do this. Next step is to fix the documentation. This reverts commit 2a4ee94667d4d356cad2ca6d60a100a30c92737b. (From OE-Core rev: 5af4f61dfa7ac583fb96a0309c6130b7e6820fc9) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: fix false negative in build-deps QA checkPatrick Ohly2015-06-231-3/+3
| | | | | | | | | | | | | | | | | | | | | When a recipe called 'foobar-test' links against 'foobar' without listing that in DEPENDS, the build-deps check misses that error because it looks for 'foobar' in a package string containing (among others) the 'foobar-test' name, leading to the incorrect conclusion that the package is listed as dependency. The 'packages' string needs to be split into individual package names before the check. Doing that once directly after reading the value is more efficient than splitting inside package_qa_check_rdepends() because the caller also needs the individual components. Also use a set to speed up the 'package in packages' check. (From OE-Core rev: 9f5792088315ab42f77fe1a1af7d2225e7ad5418) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* copyleft_filter.bbclass: Allow to filter on nameMariano Lopez2015-06-232-12/+27
| | | | | | | | | | | | | | | The archiver uses a license based filter to provide the source code. This patch allows to search on name based on two new variables (COPYLEFT_PN_INCLUDE, COPYLEFT_PN_EXCLUDE). Both variables are empty by default. The filter by name has higher priority than the license filter. [YOCTO # 6929] (From OE-Core rev: 04066239e9cd6a8461fb2c18e826289469ac1240) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.class: warn for invalid PACKAGECONFIGRobert Yang2015-06-231-0/+5
| | | | | | | | | | | There may be typos or out of date values in PACKAGECONFIG, check and warn them. (From OE-Core rev: be085657bbab34bb8a822682897f96871bb2d8f4) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging.bbclass: avoid bashism in bbdebug()Patrick Ohly2015-06-231-1/+2
| | | | | | | | | | | | | Checking the bbdebug() debug level parameter with a regular test expression only works in bash. Using tr to filter out digits and then checking whether anything is left achieves the same result and is more portable. (From OE-Core rev: 25cb71799e72d4e0c4fe39653d8b84280d087372) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils: regenerate pyc files after being modified by sedAlejandro Hernandez2015-06-231-2/+2
| | | | | | | | | | | | | py files are edited by sed and therefore *.pyc files are recreated on first boot, but if you have a read-only filesystem this is not possible. This patch creates pyc files directly after the py files are modified. [YOCTO #7722] (From OE-Core rev: a0460ac8a2595d4b064b483ca1f282a255ae6411) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Thomas Roos <roosesweb@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: handle tasks with existing lockfilesPaul Eggleton2015-06-181-1/+1
| | | | | | | | | | | | We need to ensure we add a leading space to the value we are prepending here in case lockfiles already has a value. Fixes [YOCTO #7813]. (From OE-Core rev: d1b3b384754089e62f6a4c7964690ae6c8d20a96) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagedata: Fix to ensure variables expand correctlyRichard Purdie2015-06-161-1/+9
| | | | | | | | | | | | | | | | | | If we set unsuffixed variables here there is a chance they could clobber override versions of that variable, e.g. DESCRIPTION could clobber DESCRIPTION_<pkgname>. We therefore don't clobber for the unsuffixed variable versions by using the parsing flag to setVar. This becomes a problem with the modifications to bitbake to have continual expansion of the datastore, its about the one place this turns out to be problematic. The parameter to setVar works with current bitbake even though we don't have the new API since it gets swallowed by the logging code. (From OE-Core rev: 45b368427accf6d519078812d5335ec250bacef8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global: Stop empty space influencing RPROVIDESRichard Purdie2015-06-161-1/+2
| | | | | | | | | | If the resulting RPROVIDES is empty, don't set it. This streamlines pkgdata slightly removing empty values and avoids other errors which confuse the datastore when the variable is best left unset. (From OE-Core rev: fe10ea6bd6078828016d3954ad9b290f638d6dbb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk/deb/rpm: Improve OVERRIDES handlingRichard Purdie2015-06-163-3/+3
| | | | | | (From OE-Core rev: 59ca90114fb0b770d9d79e548b7e52aa0c089e48) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: extend CMAKE_MODULE_PATH instead of settingRoss Burton2015-06-111-1/+1
| | | | | | | | | | | | Some (e.g. piglit) CMakeList.txt files will extend CMAKE_MODULE_PATH before calling project(), which is when the toolchain.cmake file is parsed. In this situation the CMAKE_MODULE_PATH is overwritten, so handle this by appending in toolchain.cmake instead of assigning. (From OE-Core rev: 2cfa8427d77f680df37c12d00125501ebe7c38a3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: use package_qa_handle_errorRobert Yang2015-06-112-3/+4
| | | | | | | | | Use package_qa_handle_error to handle the QA issue. (From OE-Core rev: c925847dea7b0480c901e94b6a071a18f5e00d45) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d.bbclass: add MLPREFIX when set RRECOMMENDSRobert Yang2015-06-111-1/+1
| | | | | | | | | | | | | | Fixed when build with multilib: WARNING: Multilib QA Issue: lib32-alsa-state package lib32-alsa-state - suspicious values 'update-rc.d' in RRECOMMENDS WARNING: Multilib QA Issue: lib32-modutils-initscripts package lib32-modutils-initscripts - suspicious values 'update-rc.d' in RRECOMMENDS WARNING: Multilib QA Issue: lib32-init-ifupdown package lib32-init-ifupdown - suspicious values 'update-rc.d' in RRECOMMENDS WARNING: Multilib QA Issue: lib32-xserver-nodm-init package lib32-xserver-nodm-init - suspicious values 'update-rc.d' in RRECOMMENDS WARNING: Multilib QA Issue: lib32-sysklogd package lib32-sysklogd - suspicious values 'update-rc.d' in RRECOMMENDS (From OE-Core rev: 43e8192606444c339ef732d611d4cbc18dee21e4) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boot-direct.bbclass: Add support for VDI imagesJuro Bystricky2015-06-111-2/+2
| | | | | | | | | | Same treatment for both VMDK and VDI images. (From OE-Core rev: 605dd9f8eb719d0aa278c8ec892e62214cdcfddc) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: Prevent 'vdi' and 'live' to be built togetherJuro Bystricky2015-06-111-0/+5
| | | | | | | | | | Same reason and check as for vmdk. (From OE-Core rev: deb7ee16cd04b03417a68d32d14b5b0ad3c59eca) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Support for VDIJuro Bystricky2015-06-114-40/+44
| | | | | | | | | | | | | Added support for VirtualBox VDI format. The support was implemented by merging with the already existing VMDK support for VM player by creating a new class image-vm.bbclass. This class replaces the previous VMDK only image-vmdk.class. (From OE-Core rev: 0a3e8eb9f592c3f1edd2c7521855f7406541651a) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: errors out on binaries installed by allarch-inherit recipesCristian Iorga2015-06-111-0/+5
| | | | | | | | | | | | | | | If a prebuilt binary is installed via a recipe that inherits allarch, an odd-looking traceback is thrown out. Fixed by implementing a proper check and outputting an error message that clarifies the issue. Fixes [YOCTO #7662]. (From OE-Core rev: a938f2117989b596c50d9d7f3929dd3c0f893d08) 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>
* sstate: Add eventhandler which cleans up stale recipe dataRichard Purdie2015-06-101-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Incremental builds do not work well when renaming recipes or changing architecture" is a long standing issue which causes people considerable pain. We've struggled for a long time to come up with a way to generically address the problem. There are additional issues where removal of a layer caused data to continue to exist and additionally, changing DISTRO_FEATURES also caused problems in an existing TMPDIR. This patch attempts to address this by adding a mapping between stamp files and manifests. After parsing we can easily tell which stamp files are still reachable, if any manifest has a stamp that can no longer be reached, we can remove it. Since this code ties this to the sstate architecture list, it will not remove data from other than the current MACHINE (and its active architectures). It does not clean the sstate cache so if another build activates something which was cleaned, it should reinstall from sstate. We can also go one step further, depending on the setting of SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can also be removed. This avoids the buildup of many old copies of data in WORKDIR for example when versions are upgraded. The one thing which may surprise people with this change is if you remove a layer, data added by that layer will be "uninstalled" before the next build continues. I believe this is a feature and a good thing to do though. This code is safe with existing builds. If something isn't in the new index it simply isn't removed. Since changes to the sstate code trigger a rebuild, after this merges, we can assume the code will start to detect changes from that point onwards. [YOCTO #4102] (From OE-Core rev: 4ea39427eedeadd51439a62fa015c86be30c3445) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata: Use Python CSV instead of did by handAníbal Limón2015-06-081-61/+65
| | | | | | | | | | | | | | Fix CSV generation in distrodata class using Python CSV module before it some errors happen when read due to incorrect quoting/delimiters. [YOCTO #7777] (From OE-Core rev: de4d9d46bd293da820830f22d9ff08c0f26831c6) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata: checkpkg make usage of oe.recipeutils.get_recipe_upstream_versionAníbal Limón2015-06-081-47/+37
| | | | | | | | | | Now get_recipe_upstream_version function exists in oe.recipeutils module to avoid duplicate code make usage of it. (From OE-Core rev: eb296224f24d4bcc833d81a86a71345dfd0e9db4) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata: Remove unnecessary include of package_regex.incAníbal Limón2015-06-081-1/+0
| | | | | | | | | | | | | | | | | This causes a warning when follow documentation to use distrodata class that points to include, include conf/distro/include/distro_alias.inc include conf/distro/include/recipe_color.inc include conf/distro/include/maintainers.inc include conf/distro/include/upstream_tracking.inc include conf/distro/include/package_regex.inc INHERIT+= "distrodata" (From OE-Core rev: c53917e79dc34757a482c94e653568619868fff4) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-distribute: Upgrade to python3-setuptools 15.2Alejandro Hernandez2015-06-081-1/+1
| | | | | | | | | | | | | python3-distribute was merged back to python3-setuptools in 2013, and it is no longer being maintained, this upgrade also provides functionality that will be needed for python3-pip. [YOCTO #7763] (From OE-Core rev: 8922e609cb947e34cde6e48b82ff37a932d8d8db) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: Whitespace fixMoritz Blume2015-06-081-1/+1
| | | | | | | | (From OE-Core rev: f0d6523302fe1d246833b5d0b2dcfe0c0efd5239) Signed-off-by: Moritz Blume <moritz.blume@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* xserver-xorg: Upgrade 1.16.3 -> 1.17.1 (OELAYOUT_ABI change)Jussi Kukkonen2015-06-031-0/+6
| | | | | | | | | | | | | | | | | | | * Increase OELAYOUT_ABI: this is required because the xf86-video-modesetting package moves from its own recipe to xserver-xorg and sanity check cannot handle that currently. The upgrade will delete old xf86-video-modesetting files from sysroots. * Remove upstreamed xserver-xorg patches * Remove xf86-video-modesetting recipe: the driver is now included in xserver-xorg recipe, which now produces the xf86-video-modesetting package. The package version changes from 0.9 to 1.17.1 * Update xserver-xorg license checksum: modesetting license info (another MIT one) has been added to the file (From OE-Core rev: 950846d019ffac21909a96d90af8cf7e5bdd5738) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils.bbclass: consistency between error message and setup.py's commandMario Domenech Goulart2015-06-031-1/+1
| | | | | | | | | | | setup.py was called with build as argument, but the error message would report build_ext. (From OE-Core rev: 898b286b92b031db64c2143e81a79fbb20da481a) Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add note when performing sstate mirror checksRichard Purdie2015-06-031-0/+1
| | | | | | | | | The build can pause whilst remote sstate mirrors are checked for sstate objects. Inform the user this is happening. (From OE-Core rev: 4f4cfe8a4a0c602d6e11ea9bb75b52241deda9d6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Parallelise checkstatus calls for sstate mirrorRichard Purdie2015-06-031-8/+20
| | | | | | | | | | | | Currently the urls are checked serially which is a performance bottleneck when looking at http:// urls in particular. This adds code to check the url status in parallel, mirroring the way we do this elsewhere. We need the datastore for the fetcher so we use threads, not multiprocess. (From OE-Core rev: 77c4865bbde4cd2a061cf333f9ad798afc6de0ef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Fix license checksum rebuild problemsRichard Purdie2015-06-031-0/+3
| | | | | | | | | | | | | | "MACHINE=qemux86-64 bitbake init-ifupdown; MACHINE=genericx86-64 bitbake init-ifupdown" shows a rebuild when it would be expected. The reason is a LIC_FILES_CHKSUM which contains file://${WORKDIR}, an absolute path which doesn't exist in the first build but does in the second, causing a signature change and a rebuild. Fix the problem by ignoring any file:// url which resolves since TMPDIR for license file dependency purposes. (From OE-Core rev: f27ddf0de23871fc72cfc31f514f0e144aaa2082) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: Improve RRECOMMENDS handlingRichard Purdie2015-05-291-2/+2
| | | | | | | | | | | | | | | | | | | Unfortunately the combination of: RRECOMMENDS_${PN} = "X" UPDATERCPN = "${PN}" RRECOMMENDS_${UPDATERCPN}_append = "Y" is tricky for bitbake to order correctly since RRECOMMENDS_${UPDATERCPN} can become "Y" which can then completely overwrite RRECOMMENDS_${PN}. Avoid these issues and improve handling in general by explictly setting the RRECOMMENDS on the list of packages modified in the general code. (From OE-Core rev: 053b8a4e6b9a4b02c0b1b4bc1e297a1251a901a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Build uImage only when really neededMarek Vasut2015-05-261-0/+8
| | | | | | | | | | | | | | | | | Build the uImage file using the kernel build system only when it is really required, which is only in case KEEPUIMAGE == yes. Otherwise, just build zImage, since the Yocto build system will handle the uImage generation for us. (From OE-Core rev: e6952593d810636f26af541b12126848483e619a) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Add basic fitImage supportMarek Vasut2015-05-261-0/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for generating a kernel fitImage, which is a a successor to the uImage format. Unlike uImage, which could only contain the kernel image itself, the fitImage can contain all kinds of artifacts, like the kernel image, device tree blobs, initramfs images, binary firmwares etc. Furthermore, the fitImage supports different kinds of checksums, not only CRC32 like the uImage did. Last, but not least, fitImage supports signatures such that either the whole image or it's parts can be signed and then in turn can be verified by the bootloader. So far we only add support for wrapping the kernel image and DTB into the fitImage. The fitImage uses the sha1 checksum, which is the default. (From OE-Core rev: d92664278cfd0fdb455f78f73f2c44a9ee1716e4) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Separate out uboot_prep_kimageMarek Vasut2015-05-262-22/+23
| | | | | | | | | | | | | | | | Separate the function which prepares the kernel for packing into uImage into separate class, so this function can be reused by the fitImage class. (From OE-Core rev: 2d1f700ad098c942834524891ccc90e3a391a09f) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Pull uImage generation into separate classMarek Vasut2015-05-262-45/+65
| | | | | | | | | | | | | | | | | | Pull the uImage image format generation from kernel.bbclass into a separate kernel-uimage.bbclass. Introduce new KERNEL_CLASSES variable, which allows registration of additional classes which implement new kernel image types. The default value of is to register kernel-uimage to preserve the original behavior. (From OE-Core rev: 086536ac84fcc9350802c09166f600becd52a1f8) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Pull out the linux.bin generationMarek Vasut2015-05-261-17/+23
| | | | | | | | | | | | | | | Pull the generation of linux.bin image, which is then packed into uImage, into a separate function. No functional change. (From OE-Core rev: 2879e5423aff8df5731712b853d71a73047a2fd7) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Rework do_uboot_mkimageMarek Vasut2015-05-261-11/+21
| | | | | | | | | | | | | | | | | | | | Rework the function so part it's internals can be re-used by fitImage image type. The name of the temporary file , linux.bin , is recycled a little more as it's now used for both the case where it is gzip compressed and where it is not. This should be fine, since the file is temporary and removed after the uImage was created anyway. There is no functional change here. (From OE-Core rev: 63e3816b161f8659850d6123a53bdf128780e13d) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Clean up KERNEL_IMAGETYPE_FOR_MAKEMarek Vasut2015-05-261-2/+4
| | | | | | | | | | | | | | | | | | | | Remove the lambda function setting KERNEL_IMAGETYPE_FOR_MAKE and instead set it in the anonymous python function. This also allows us to handle image types which are not supported directly by kernel, but require some other kernel target to be built. This is the case for example with the fitImage, which is the uImage successor. There is no functional change. (From OE-Core rev: a1690131691507bbf5853540229b3ad775b836bf) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native: Improve PROVIDES handlingRichard Purdie2015-05-261-2/+4
| | | | | | | | | | | | | Since this class works on pre finalised data, the logic hasn't needed to be exact. If we change the way the finalised data works, we find that certain dependencies can be dropped (e.g. pn isn't in the name). To fix this, restructure the function to alter each entry in turn and not drop any entries. (From OE-Core rev: 4434977ccb95f8f366ba133366093b8c7ef1f718) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: Use space with prepend to clean up variable whitespaceRichard Purdie2015-05-261-1/+1
| | | | | | | | | Correct the whitespace in this variable to make this more readable when debugging, no functional change. (From OE-Core rev: 4bb586a470a15cf3b93538e8c749a6fb8479c990) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Add a method for creating a companion debug filesystemMark Hatle2015-05-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The companion debug filesystem contains only the package database and the complementary *-dbg packages for the main filesystem component. This is useful in a production environment to produce a companion filesystem capable of remote system debugging, without requiring corresponding debug symbols or source code on the device. (From OE-Core rev: 1a6ed48c65f922c66b005aa966d7ee4878ee95e3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> If dbg pkgs have already been installed to the rootfs image, the installation to companion debug filesystem will fail, because both of image creation make use of the same pm database. In this situation, try to copy installed dbg files from rootfs image to companion debug filesystem. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Acked-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Include missing variables on PACKAGEVARSLeonardo Sandoval2015-05-241-1/+1
| | | | | | | | | | | | | | | | | | | PACKAGEVARS appended on this commit: LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE [Yocto #7754] (From OE-Core rev: 64a3a4f1b4c6692f0ba9a7192a8e5c2f43beeef2) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>