summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* patch: Jail patch_task_patch_prefunc in classes/patch into the workdirPablo Saavedra2018-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With PATCHTOOL=git patches the changes in the patch_task_postfunc of the classes/patch. This works OK when the S dir is a Git repo but doesn't if the source is a tarball. The while condition in the patch_task_patch_prefunc must be jailed into the WORKDIR. In the opposite, when you are executing the recipe out of a Git subtree the function simply fails but when your recipes are into a Git repo the patch_task_postfunc execute a commit over your BSP local Git repo adding the changes in an arbitrary Git repo found in the path from the SOURCE directory to the '/'. This situation is highly probable in cases like ~home directories under the control of a .git repo or Yocto BSP which manage the meta layers as git submodules. This patch fix the changes introduced in classes/patch: when PATCHTOOL = "git" double-check the repository commit: 86ab56b55164393924b5e688b20e8f3f3f8fc578 Author: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue Dec 5 14:36:58 2017 +1300 classes/patch: when PATCHTOOL = "git" double-check the repository If a bug is present or the user has set PATCHTOOL = "git" on a source tree that isn't git, if we try to perform git operations (such as committing or changing branches) when extracting source, then we might in fact be running those operations on the metadata repository if the build directory is underneath, say, poky or OE-Core, and that could make a mess. Check if the source tree is a git repository and refuse to continue if it isn't. (From OE-Core rev: db6ce9d8838b1f9064604654ab579da3e237f361) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils: clean the build tree in do_configureRoss Burton2018-07-061-1/+7
| | | | | | | | | | | base_do_configure() tries to do "make clean" if there is a Makefile present. For most recipes using distutils there is not a Makefile, but we do know that "setup.py clean" will work so call that instead. (From OE-Core rev: b805cefb24566772a2beb5d02036266e45370913) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "kernel-devicetree: Corrected normalize_dtb"Martin Jansa2018-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e7f3b2b9318d1e5395ad58131eafb873f614326. It was breaking quite common use case that the dtb files are in some subdirectory and then kernel build fails to build them. As reported by khem: http://lists.openembedded.org/pipermail/openembedded-core/2018-July/152578.html me: http://lists.openembedded.org/pipermail/openembedded-core/2018-July/152579.html on raspberrypi3 build: make[3]: *** No rule to make target 'arch/arm/boot/dts/dwc2.dtbo'. Stop. arch/arm/Makefile:345: recipe for target 'dwc2.dtbo' failed make[2]: *** [dwc2.dtbo] Error 2 Makefile:146: recipe for target 'sub-make' failed and trevor on the IRC: 20:35:49 < tlwoerner> the recent 2e7f3b2b9318d1e5395ad58131eafb873f614326 commit in oe-core seems to cause dragonboard-410c's kernel to fail to build 20:36:26 < tlwoerner> for the dragonboard-410c, KERNEL_DEVICETREE is set to "qcom/apq8016-sbc.dtb" but the build failure is: 20:36:37 < tlwoerner> *** No rule to make target 'arch/arm64/boot/dts/dts/qcom/apq8016-sbc.dtb'. Stop. 20:36:44 < tlwoerner> i.e. the "qcom/" is getting removed 20:37:08 < tlwoerner> oops!! 20:37:33 < tlwoerner> wrong copy&paste, the actual error is: 20:37:36 < tlwoerner> *** No rule to make target 'arch/arm64/boot/dts/apq8016-sbc.dtb'. Stop. 20:37:53 < tlwoerner> i.e., the "qcom/" is being stripped out (From OE-Core rev: 0d725c76c113dec441a7319a6ee997e4ae8c4c88) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: add support for ext2.gz initramfs filesChunrong Guo2018-07-051-1/+1
| | | | | | | | (From OE-Core rev: e2e0c91c2c8229d9ed0958de98b5a9b14c6805d1) Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: map architecture to correct values in cross fileRoss Burton2018-07-051-2/+14
| | | | | | | | | | | | | The cross file specifies the host/target cpu_family, which should be one of a defined set of values[1] but if it isn't Meson won't complain and instead recipes may behave unexpectedly. [1] http://mesonbuild.com/Reference-tables.html#cpu-families (From OE-Core rev: e33b902a1dc4294dac148715f4d3ca5b0a6ee1b7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: various class improvementsRoss Burton2018-07-051-3/+4
| | | | | | | | | | | | | - Ensure that the PACKAGECONFIG arguments are always in EXTRA_OEMESON - Log the arguments that are being passed in do_configure. - Do verbose builds so the compile logs are useful for debugging build problems (From OE-Core rev: 3112ff268d095a65ecb893dd6ca88a85b0f70446) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Tweak previous cross-canadian multilib fixRichard Purdie2018-07-041-0/+2
| | | | | | | | As well as setting RECIPE_SYSROOT we also need to set STAGING_DIR_HOST/TARGET. (From OE-Core rev: 59a0a05235d80c86251cf45d7142bfc57f2e70d2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Always use the default sysroot for allarch recipesRichard Purdie2018-07-041-0/+3
| | | | | | | | Without this, recipes can't find allarch data files like autoconf-archive. (From OE-Core rev: 8ae70703f68853a8714a4fb8fa5d959b5e21a02d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-devicetree: Corrected normalize_dtbPaulo Neves2018-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The normalize_dtb function was buggy because it only converted from .dts suffix to .dtb suffix if the user passed a full source path to KERNEL_DEVICETREE containing the /dts/ path. The problem is that if the user did that there would be a warning. On the othet hand if user just set the variable KERNEL_DEVICETREE="file.dts" the bbclass translation to the respective .dtb target did not occur and make would fail saying it has no rule to make target file.dts This patch decouples the logic of having /dts/ in the path from the target translation. (From OE-Core rev: 2e7f3b2b9318d1e5395ad58131eafb873f614326) Signed-off-by: Paulo Neves <ptsneves@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Make DTB key insertion optionalAlex Kiernan2018-07-041-1/+1
| | | | | | | | | | | | If UBOOT_DTB_BINARY is empty, then don't try inserting the U-Boot signing keys into the DTB. In this configuration the keys are expected to be already present in U-Boot's DTB. (From OE-Core rev: a0d74767f7bd18c853df6b0be162363076d8f965) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Fix issues with some cross-canadian toolchain sysrootsRichard Purdie2018-07-021-0/+2
| | | | | | | | | | | | | | | | | | MACHINE = "qemumips64" MULTILIBS = "multilib:lib64 multilib:lib32" DEFAULTTUNE = "mips64-n32" DEFAULTTUNE_virtclass-multilib-lib64 = "mips64" DEFAULTTUNE_virtclass-multilib-lib32 = "mips32r2" bitbake core-image-minimal -c populate_sdk Results in gcc-cross-canadian-mips failing to build due to the use of an incorrect sysroot, fix this. All nativesdk pieces should be in the same sysroot (unprefixed). (From OE-Core rev: ae48ee6627e6c1c4f1fcc4ead40edc968e64f7fe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Improve fixup processing codeRichard Purdie2018-07-021-12/+6
| | | | | | | | | | | | | With the fixes to other parts of multilib, it was found that the fixup code's assumptions about the recipe sysroot were incorrect. We need to use the value calculated earlier in the function. It turns out there is a rather neat way to do this which cleans up the code as an added bonus. (From OE-Core rev: 2c1978fe1a5b72167c49010fbdd39a9e2eefdef8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/utils: Improve all_multilib_tune_valuesRichard Purdie2018-07-021-9/+2
| | | | | | | | | | | | | | | | | | Currently there is duplication in the code, we can clean this up by extending the multilib variants list. This code also currently fails its its called from an existing multilib context since its assumes the data store passed in is the non-multilib case. When building an image, say lib32-core-image-sato, this leads to incorrect PATH values. To fix this, we also request a data store for the "" variant allowing this corner case to be fixed and for the function to correctly return values for each multilib even when a multilib is already selected. (From OE-Core rev: cc1c481560b81c223170230430308c7e2f08c812) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging/image: Fix multilib recipe sysroot issuesRichard Purdie2018-07-022-0/+6
| | | | | | | | | | | | | Currently if you enable multilib, then build an image, the multilib recipe sysroot is build in the wrong WORKDIR. If you then clean and rebuild the image you see "file exists" errors. This patch ensures the real WORKDIR is used consistently and then cleans/rebuilds also work correctly. (From OE-Core rev: c013ae59a158378d06ecf8eb123df0a10bf986b4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license: Fix and extend recommendations for license packages.Alp Özmert2018-07-021-0/+3
| | | | | | | | | | | | | | Changed package recommendations so that the license package of a recipe is recommended for all packages of a recipe instead of for one package given by the recipe name. Pre-patch behaviour results in a missing recommendation when a recipe does not have a package with the same name. (From OE-Core rev: 07343ff6282dd18432ecee5d9b80ad1fb86217f1) Signed-off-by: Alp Özmert <info@ib-oezmert.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: handle cmake -dev files packaging with default rulesAndre McCurdy2018-06-281-2/+0
| | | | | | | | | | | Move packaging rules for cmake -dev files from cmake.bbclass into bitbake.conf to handle recipes (e.g. harfbuzz 1.8.1) which build with autotools but also install cmake -dev files. (From OE-Core rev: 543e39ad5e2baa0f1ece013a89483783e6b15dd9) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Don't let warnings make previous errors non-fatalOlof Johansson2018-06-281-6/+6
| | | | | | | | | | | | | | | | | | | | | package_qa_handle_error() returns True on non-fatal issues and False on fatal issues. But the current usage has been to do sane = package_qa_handle_error(...) which would always reset sanity status to be that of the last issue identified. This change the assignments to use the &= operator instead: sane &= package_qa_handle_error(...) As far as I can tell, this is not a real problem in practice, because warnings of different levels (WARN_QA, ERROR_QA) does not seem to have been mixed in a way that triggered this issue. (From OE-Core rev: 21d015f6c9927598d64c48c925638619b25cf232) Signed-off-by: Olof Johansson <olofjn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Make missing license file fatalOlof Johansson2018-06-281-1/+1
| | | | | | | | | | | | If a license file referenced from LIC_FILES_CHKSUM doesn't exist, insane.bbclass would output an error message, but would continue the build. This change makes this error fatal (as I suspect has been the intention). (From OE-Core rev: da29440633706fb7a346391d97894d6f2cbb0d01) Signed-off-by: Olof Johansson <olofjn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Set SOURCE_DATE_EPOCH to kernel git timestamp if not setAlex Kiernan2018-06-281-1/+1
| | | | | | | | | | | If SOURCE_DATE_EPOCH is unset (in addition to the existing "0" behaviour) parse out the top most commit timestamp from the kernel tree to use as the timestamp. (From OE-Core rev: 2f0dd67a5a8d4269f5155004d532d8fa972b3223) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Set COREBASE as the git directory for timestampAlex Kiernan2018-06-281-1/+1
| | | | | | | | | | | | When REPRODUCIBLE_TIMESTAMP_ROOTFS is unset and we want to parse one from git, use COREBASE as the base for the git command so we have a known repository which we're using. Without this the build may fail if the current directory is not part of a git repository. (From OE-Core rev: 1c2197f96d69547e10b74dc722d9a569d9a2b2b6) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: escape paths passed to shellDamien Riegel2018-06-271-5/+9
| | | | | | | | | | | | | | | | | | | | | Systemd mount configuration file must have a name that match the mount point directory they control. So for instance, if a mount file contains [Mount] ... Where=/mnt/my-data The file must be named `mnt-my\x2ddata.mount`, or systemd will refuse to honour it. If this config file contains an [Install] section, it will silently fail because the unit file is not escaped properly when systemctl is called. To fix that, make sure paths are escaped through `shlex.quote`. (From OE-Core rev: bbd9524256461f1bcafd4103edd575e668de76f8) Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors: add Debian snapshot mirror for 2018Ross Burton2018-06-271-0/+1
| | | | | | | | | | Add a Debian snapshot mirror from 2018 (specifically, 10th March, the date 9.4 was released) to DEBIAN_MIRRORS. (From OE-Core rev: f3f394913b4e4a7c601ad1158faaf8b9d493e1c7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/testimage: Add in compatiblity hacksRichard Purdie2018-06-211-0/+2
| | | | | | | | | | The testimage changes break the autobuilder. The plan is to revert these hacks but due to various changes happening with the autobuilder, we need these for now to keep things working until we can move to the new autobuilder codebase. (From OE-Core rev: 309a02931779f32d1139cc1169a039cbe4638706) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/testimage: Rework auto image test executionRichard Purdie2018-06-214-25/+14
| | | | | | | | | | | | | | | | | | | | | | The TEST_IMAGE interface has never particularly worked and image testing currently gets configured manually. This reworks the interface to better serve the needs of its users, replacing it with TESTIMAGE_AUTO. This does away with the need for the separate class due to better bitbake APIs for changing tasks. TESTIMAGE_AUTO will automatically boot under qemu any image that is built. It also adds in dependencies so that any SDK for which testing is requested will automatically be built first. The code in bitbake.conf was error prone (e.g. testsdk wasn't considered), this improves it to standardise on IMAGE_CLASSES as the standard configuration mechanism. (From OE-Core rev: b34d44f3dfea8254826a46701a4fe3769a900434) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/image-live: Improve handling of live/iso/hddimg types (drop NOISO/NOHDD)Richard Purdie2018-06-212-14/+4
| | | | | | | | | | | | The logic can be improved and the historical NOISO/NOHDD variables moved into the class and out of common code. The variables are also then removed in favour of directly controlling the behaviour from IMAGE_FSTYPES in line with all the other image types. (From OE-Core rev: a052caed563a09a01f5a3ea1f0477f379c05bee0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Combine all the class handling code into a single sectionRichard Purdie2018-06-211-30/+23
| | | | | | | | | | | Right now the code handling class inherits is spread all over and its hard to get an idea of what is happening overall. Combine all the code together to make it clearer. There shoould be no functionality changes. (From OE-Core rev: 9b6cda7ff443eebfc5a5a8c9442c93a881807dab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Simplify looping codeRichard Purdie2018-06-211-39/+39
| | | | | | | | | The current looping structure is confusing, simplify it a bit to improve readability. Should be no functionality changes. (From OE-Core rev: 498065b51b205b43d7dae1008014eba85a8f138c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Improve code commentsRichard Purdie2018-06-211-13/+13
| | | | | | | | | | This function is a little obtuse, add more comments about what its doing and why. Also combine some of the statements where possible to improve clarity. (From OE-Core rev: 3e0c22e9bd9757cd458a073a3f043a48184d7bab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: The do_setscene task has not existed for yearsRichard Purdie2018-06-211-3/+0
| | | | | | | | | Once, there were do_setscene tasks but this hasn't been the case for years, drop the old code. (From OE-Core rev: b13a691f1cfc0d68a0f94c343fa3a1b987dbe117) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Stop appending _setscene to do_image_complete_setscene stampsRichard Purdie2018-06-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a reworked version of the issue which 5479654eeaaa0f81bfff54ca49369c87f1658705 attempted to fix. """ Each time I build my image after the first, I end up with a do_image_complete_setscene stamp file with an extra _setscene appended to the name. Eventually, the filenames end up being so long that mv complains and the build fails. It looks like this behaviour was introduced when the special handling was added for do_image_complete in 2ff9d40dc88d43567472218cf3d3faf414398c71. """ Instead of the original approach which broke do_package_setscene, add an entry to explictly stop the stacking _setscene pieces on do_image_complete. It's not straightforward to just move *do_image_complete* after the *_setscene* pattern because do_image_complete stamps would then match do_image*. (From OE-Core rev: 0f4e734e0ef40076351ed7ff795aac36197e4949) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "rm_work: Stop appending _setscene to do_image_complete_setscene stamps"Richard Purdie2018-06-211-4/+4
| | | | | | | | | | | Whilst this fixes the do_image_complete_setscene append problem, it creates a new problem since the code can no longer reach the *do_package_setscene.* code block below it. This breaks builds as per [YOCTO #12765]. Revert this change in search of a better fix. This reverts commit 5479654eeaaa0f81bfff54ca49369c87f1658705. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass, populate_sdk_base.bbclass: make all variants of ↵Alexander Kanavin2018-06-182-2/+4
| | | | | | | | | | | | | | | | | qemuwrapper-cross available in sysroots The variants are needed in particular when executing postinst_intercepts as those may require running binaries built for different architectures and against different sets of library paths, when multilib is in use (or nativesdk host packages are installed), so a single global variant of the script was not working. I do understand expanding PATH and DEPENDS in this manner is hackish, however every other approach I could think of is worse. (From OE-Core rev: 2f31eecc40ea4d0865aa28d65a0ba7d5a629393a) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuwrapper-cross: enable multilib and nativesdk variants of the scriptAlexander Kanavin2018-06-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | Previously only one global variant of the script was created, which caused numerous issues: 1) multilib was not properly supported due to multilib variants each needing their own version of the qemu binary and library paths to be set 2) nativesdk was not properly supported for the same reason This patch also moves setting LD_LIBRARY_PATH directly into the recipe, as passing it down from other recipes did not work when said recipes were allarch, and adjusts calls to qemuwrapper from postinst-intercepts, so that its correct variant is selected. Also, the various qemu fallbacks in qemuwrapper script are all removed, as they are no longer necessary. (From OE-Core rev: d10fd6ae3fe46290c6e3a5250878966d9f12ca3f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-immodules-cache.bbclass: convert cache creation to postinst_intercept ↵Alexander Kanavin2018-06-181-42/+28
| | | | | | | | | | | | | | | mechanism This has the following benefits: - consistent with how the other caches are created into target rootfs - only runs once per package manager transaction, instead of once per every immodule package - correctly postpones to first boot if qemu is not working; from postinst itself this would've required special arrangements to avoid what is now a do_rootfs failure. (From OE-Core rev: cca3c084b6c9bf600d7306e3fe12c4f236b78656) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Only add uninative and checksum if inherited uninative classJeremy Puhlman2018-06-181-2/+3
| | | | | | | | | | The checksum value is only calculated if the uninative class is inherited, so check for inherit before adding it to local.conf (From OE-Core rev: 3b5b832589d943700b273e3a4d83561be0c47f36) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Multilibize the UPDATERCPN variableJeremy Puhlman2018-06-181-0/+1
| | | | | | | | | | | | | | | | | The audit package specifies the following: UPDATERCPN = "auditd" However because it is not multilibized, the value "auditd" is used to search for the package to add the post install script too. In the mutlilib alternate abi case, that package does not exist. It ends up assigning the post install script to the lib32-audit-lic package, which subsequently failes to execute the script due to the initscript it is trying to turn on is not installed. (From OE-Core rev: ce99653e1af50d9e8f070ca6ae810908c4c138c6) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: only use lists of commands in cross file if requiredRoss Burton2018-06-181-12/+13
| | | | | | | | | | | | | | | | There's a bug in Meson[1] where it find_program("foo") will fail if foo is defined in the cross file as a list. This is causing the Meson build of libdrm to fail, but for this instance we can work around the problem by only using lists in the cross file if there are arguments, and just using a string if there are not. [1] https://github.com/mesonbuild/meson/issues/3737 (From OE-Core rev: 7fd8bc469c2caacc1c2021bd0aa83dd6da7fe1e7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext.bbclass: fix corebase identificationDamien Riegel2018-06-181-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating the extended SDK, there is a copy step where this class goes through the layers and other stuff that have been copied to generate the SDK. The corebase; ie. the folder that contains the core layer 'meta' is treated in a special way. Unfortunately in our tree, we have: sources/meta/meta | `- core layer `------- corebase In populate_sdk_ext's copy_buildsystem, the heuristic to determine which element of the list returned by copy_bitbake_and_layers is corebase is fooled by such layout. In copy_bitbake_and_layers, corebase is already handled specifically and reliably, so we should let that function tell us which folder is corebase instead of trying to determine it. To do so, change the return type of copy_bitbake_and_layers to a tuple that contains (corebase, copied_layers). It also simplifies the code on the caller side. (From OE-Core rev: 5368bc5d0d3606198b93e877bcafcd77bb5f4fd1) Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Add DTBO support for configurationsAlex Kiernan2018-06-181-10/+32
| | | | | | | | | | | When generating overlay DTB configuration sections, U-Boot doesn't want the kernel specified again as we already have that in our base DTB. Add support for this to allow bootm to process overlay configuration sections. (From OE-Core rev: c0db9776beb4f519079a554a733353c368739dcf) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Allow setting of DTB/DTBO relocation addressAlex Kiernan2018-06-181-0/+10
| | | | | | | | | | | Introduce UBOOT_DTB_LOADADDRESS and UBOOT_DTBO_LOADADDRESS so that you can set where U-Boot loads full and overlay DTBs. This is required when using bootm's overlay support to construct the final DTB. (From OE-Core rev: 05d2230db1d7379494814407fc0d79d7e755d89e) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands.bbclass: drop obsolete sshd UseDNS rootfs postprocessingAndre McCurdy2018-06-151-11/+0
| | | | | | | | | | | | | The sshd UseDNS option has defaulted to "no" since openssh 6.8p1, so it's no longer necessary to postprocess the rootfs to force the option: https://www.openssh.com/txt/release-6.8 (From OE-Core rev: 0cb4f11614bd3b17db8e6b3516761193cd45d082) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch.bbclass: set SECURITY_CFLAGS for mips64Kai Kang2018-06-151-1/+1
| | | | | | | | | | | | | | | | | When include conf/distro/include/security_flags.inc, NOPIE flags are still required for mips64 target builds. Otherwise it fails to build packages such as glide which inherit go.bbclass: | .../tmp-glibc/work/mips64-wrs-linux/glide/0.13.1-r0/recipe-sysroot-native/usr/bin/mips64-wrs-linux/../../libexec/mips64-wrs-linux/ | gcc/mips64-wrs-linux/7.3.0/ld: .../tmp-glibc/work/mips64-wrs-linux/glide/0.13.1-r0/go-tmp/go-link-518447869/go.o: | relocation r_mips_26 against `a local symbol' can not be used when making a shared object; recompile with -fPIC` Use override 'mipsarch' to set SECURITY_CFLAGS for both mips and mips64. (From OE-Core rev: 98b24e9268dc444356ce8bd9ddfec6adcce5e02a) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config.bbclass: Add baudrate in console bootparamOtavio Salvador2018-06-151-1/+1
| | | | | | | | | | | | By default, we ought to use console="${console},${baudrate}" as console bootparam as commonly it is left to be passed with the bootargs. (From OE-Core rev: 2ce3534b2011cf5516780c9fd7e00bd107619adc) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* manpages.bbclass: Update RDEPENDS and post install scriptsKai Kang2018-06-151-0/+32
| | | | | | | | | | | | | If a package installs manual files, it should update manual index cache after its installation. Add package 'man-db' to RDEPENDS which contains command 'mandb' to update the cache. And do the update in the post install scripts. (From OE-Core rev: 078900f2416202b677471b10b69c8defb0f14c8d) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cpan_build.bbclass: tell Module::Build the replacementJens Rehsack2018-06-151-1/+1
| | | | | | | | | | | | | Instead of patching Module::Build, maybe Module::Build::Tiny and all other similar tools, use the official way to tell them which is the target perl on target. (From OE-Core rev: f3925216b06ff7fbe21989210f8eb11e16be6631) (From OE-Core rev: 306435507c4790ec44f30cd3c7fa7d340b441ec4) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tclibc-newlib: Adds a new TCLIBC variant to build with newlib as C libraryAlejandro Enedino Hernandez Samaniego2018-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | This patch adds the posibility to build using TCLIBC=newlib. It allows users to build baremetal applications with the use of a C library. Newlib is a lightweight C library meant to be used on embedded systems, it is meant to be easily portable for new platforms and to provide basic functionality on them, by design, it provides stubs for some of these core functions declared as weak, so they can be built correctly and then linked against some other library which provides specifics about the platform being used if need be, libgloss takes care of these in some cases, but it can also be extended, this patch also allows the user to easily add other libraries to it by adding them to NEWLIB_EXTENDED for this specific reason. (From OE-Core rev: 9f0570351a7b0877aa50efff5fe9a9ef368cb38f) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Adds powerpc to elf headers machine dictionaryAlejandro Enedino Hernandez Samaniego2018-06-151-0/+1
| | | | | | | | | | | This patch adds makes it possible to build elf for powerpc by adding this combination to the elf headers machine dictionary, this can be useful when trying to build baremetal applications where the TARGET_OS=elf (From OE-Core rev: 6f7ef4f6049fa8f2a8e17abfcf53ccbc22394088) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: specify dependencies for compilation for config tasksBruce Ashfield2018-06-122-2/+5
| | | | | | | | | | | | | | | | | | | | | | | With recent kernels (i.e. 4.17+) the configuration phase of the kernel will check for capabilities/options of the compiler for CVE and other mitigation support. For a general kernel, we want to ensure that CC is fully defined when the config targets are invoked (so the proper compiler will be checked). For linux-yocto, we also need to specify the compiler/tools dependencies for the configme task since it executes before configure and hence the main kernel build DEPENDS will not always be in the sysroot before it executes. Without those dependencies the kernel will be incorrectly configured (i.e. bison is missing) or the configuration will fail the mitigation tests. [YOCTO #12757] (From OE-Core rev: ff1bdd75d50f0ebac3d599e461685ace29559a82) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: pass env to post-relocateMartin Kelly2018-06-071-4/+16
| | | | | | | | | | | | | | It's useful for the post-relocate scripts to be able to see the SDK environment, for example to see the values of CC, CXX etc. in order to dynamically generate toolchain files. To enable this, source the SDK environment script prior to calling the relocate scripts. (From OE-Core rev: adcf69ee3310171580c28e141fec6997b1f06da4) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: print post-relocate errorMartin Kelly2018-06-071-0/+5
| | | | | | | | | | | | Currently, if a post-relocate script fails, it fails silently. We should be louder about this, as it likely indicates a broken SDK. Print a message if a post-relocate script fails. (From OE-Core rev: 369b5f3f98f8455c79731621cc669ad1948e2022) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>