summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* kernel.bbclass: drop legacy fallback to yes '' | make oldconfigAndre McCurdy2018-01-181-1/+1
| | | | | | | | | | | | | The "oldnoconfig" target has been supported since Linux 2.6.36. According to OLDEST_KERNEL, the oldest kernel currently supported by OE is 3.2.0, so the fallback to yes '' | make oldconfig is no longer required. (From OE-Core rev: 6abee5468e05333fbd9bd5ac8fc203a749ae3b3e) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/debian: clean up process spawningRoss Burton2018-01-181-10/+9
| | | | | | | | | | This code is old and was of it's time, rewrite it to use modernish (we support Python 3.4, so can't use subprocess.run()) subprocess and re idioms instead. (From OE-Core rev: 8f7fdab41b8d6aced6753920bb5deed147c9baa8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/debian: fix library path handlingRoss Burton2018-01-181-10/+16
| | | | | | | | | | | | | | | The existing code is looking for libraries in all paths which end in ${libdir}. This caused false-positives for recipes such as lz4 which had files called /usr/lib/lz4/ptest/usr/lib/liblz4.so, and resulted in lz4-ptest being incorrectly renamed to liblz4. Solve this by explicitly looking for ${libdir} etc under the packages-split directory. (From OE-Core rev: 7b1896f6f5367010b54c6a8b300db84037734533) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: allow target names to be overriddenRoss Burton2018-01-181-4/+7
| | | | | | | | | | | Don't hardcode the targets used in do_compile and do_install, instead build "all" and "install" by default but respect OECMAKE_TARGET_COMPILE and OECMAKE_TARGET_INSTALL variables. (From OE-Core rev: 806765ec466597d38231d4be303cb48c26e21466) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: add automatic dependency on xz-native for .deb SRC_URIDariusz Pelowski2018-01-141-0/+4
| | | | | | | | | | FetchMethod.unpack requires xz for unpacking of embedded data.tar.xz (From OE-Core rev: 57f0a4ee29b9fc15749a9d42fdf01718a7099c2d) Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian/gettext: Drop unneeded nativesdk-gettext dependencyRichard Purdie2018-01-142-5/+1
| | | | | | | | | | | In line with the other gettext cleanups, drop the nativesdk-gettext dependency as it isn't needed (similarly to the previous target gettext dependencies). This then means we can drop DEPENDS_GETTEXT as there are no other users. (From OE-Core rev: c43c054cb778e0c5c082996cd6e6c45f5fc9e1bf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: remove bashism in kernel_do_installRicardo Salveti2018-01-141-1/+1
| | | | | | | | | | | | | | possible bashism in run.do_install line 163 (should be 'b = a'): if [ "kernel" == "kernel" ]; then Fixes "[: kernel: unexpected operator" when not using bash by default, which causes the default kernel image link to not be created. (From OE-Core rev: 9d82fffd24742a5eb40bcb9b9ecea01a42be0be6) Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: don't wipe gettext macros from gettextRoss Burton2018-01-141-1/+1
| | | | | | | | | | | | | | We usually forcibly delete any gettext macros we come across to ensure that the latest versions we ship are used, but if we're building gettext then it's a bad idea to delete the gettext macros. Historically this hasn't been a problem as the top-level gettext configure doesn't use AM_GNU_GETTEXT so the deletion was never done, but this may change. (From OE-Core rev: f16657df977e54210774812d4e616403c76eb060) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: use HOST_CC_ARCH, not TARGET_CC_ARCHChristopher Larson2018-01-131-1/+1
| | | | | | | | | | Using TARGET_CC_ARCH is inconsistent with CC, which uses HOST_CC_ARCH, and the rest of meson.bbclass, which uses HOST_PREFIX, HOST_OS, etc. (From OE-Core rev: 8a61e0c0c53275ebc623296f46676d920b11eb3b) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: drop legacy armv7a-vfp-neon TUNE_PKGARCH renamingAndre McCurdy2018-01-131-7/+0
| | | | | | | | | | | | | | | | | | ARM specific TUNE_PKGARCH renaming was adding in 2011 handle the transition from armv7a -> armv7a-vfp-neon: http://git.openembedded.org/openembedded-core/commit/?id=08c0b7060009113e8dffdef51ff6b9b4b7f28894 Active package feeds should now have long since updated to the new naming. For example, Angstrom stopped using on the legacy naming in 2012: https://github.com/Angstrom-distribution/meta-angstrom/commit/2e33fb5bd08edda6457dd211f4ff4ec4aad9d85d (From OE-Core rev: 0341a3c44e511d3246096edd3009432805e57b89) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: support wic in eSDKChang Rebecca Swee Fun2018-01-131-1/+1
| | | | | | | | | | | | | Make 'wic' image creation tool/command available in eSDK environment. This would allow eSDK users to manipulate images within eSDK environment. [YOCTO #12177] (From OE-Core rev: 90df6758a9f8753c646b129aa912e3849bf4c987) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnupg: use native version for signing, rather than one provided by hostAlexander Kanavin2018-01-112-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Using host gpg has been problematic, and particularly this removes the need to serialize package creation, as long as --auto-expand-secmem is passed to gpg-agent, and gnupg >= 2.2.4 is in use (https://dev.gnupg.org/T3530). Sadly, gpg-agent itself is single-threaded, so in the longer run we might want to seek alternatives: https://lwn.net/Articles/742542/ (a smaller issue is that rpm itself runs the gpg fronted in a serial fashion, which slows down the build in cases of recipes with very large amount of packages, e.g. glibc-locale) Note that sstate signing and verification continues to use host gpg, as depending on native gpg would create circular dependencies. [YOCTO #12022] (From OE-Core rev: 08fef6198122fe79d4c1213f9a64b862162ed6cd) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Expand PV to avoid AUTOREV parsing failuresRichard Purdie2018-01-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, setting PV to include SRCPV for build-appliance results in: bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export ftp_proxy="http://proxy.yocto.io:5187/"; export FTP_PROXY="http://proxy.yocto.io:5187/"; export PATH="${TMPDIR}/work/ qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/ qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/ qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot-native/usr/bin/python3-native:/home/pokybuild/ yocto-autobuilder/yocto-worker/buildtools/build/scripts:${TMPDIR}/ work/qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot-native/usr/bin/x86_64-poky-linux:${TMPDIR}/work/ qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot/usr/bin/crossscripts:${TMPDIR}/work/qemux86_64-poky-linux/ build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/usr/sbin: ${TMPDIR}/work/qemux86_64-poky-linux/build-appliance-image/ fetcheravoidrecurse-r0/recipe-sysroot-native/usr/bin:${TMPDIR}/work/ qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/ recipe-sysroot-native/sbin:${TMPDIR}/work/qemux86_64-poky-linux/ build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/bin:/home/ pokybuild/yocto-autobuilder/yocto-worker/buildtools/build/bitbake/bin:${TMPDIR} /hosttools"; export HOME="/home/pokybuild"; git -c core.fsyncobjectfiles=0 ls-remote git://git.yoctoproject.org/poky failed with exit code 127, output: /bin/sh: 1: git: not found This is because PV is being expanded when TMPDIR is unset. Expand PV in advance to avoid this problem. (From OE-Core rev: 9ca2fad2e569597f460e6bcbbd96077c8b8cfce9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: remove invalid PACKAGE_INSTALLRobert Yang2018-01-111-1/+0
| | | | | | | | | | | | The PACKAGE_INSTALL is only used by image recipe, the previous code had handled it in "if bb.data.inherits_class('image', d)", handle it again doesn't make any sense (there is no PACKAGE_INSTALL for non-image recipe), so remove it. (From OE-Core rev: 6b25c76da51180da7c97308d5f8f5558c68cdca3) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: sstate_hardcode_path(): fix for multilibRobert Yang2018-01-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It only substituted staging_target for target recipe which didn't work for multilib, for example, postinst-useradd-lib32-polkit: * No multilib: PATH=/path/to/tmp-glibc/work/core2-64-wrs-linux/polkit/0.113-r0/recipe-sysroot-native/bin staging_target=/path/to/tmp-glibc/work/core2-64-wrs-linux/polkit/0.113-r0/recipe-sysroot The PATH would be substituted to: FIXMESTAGINGDIRTARGET-native/bin Not the funny "-native/bin", this works well. * When multilib: PATH=/path/to/tmp-glibc/work/core2-32-wrsmllib32-linux/lib32-polkit/0.113-r0/recipe-sysroot-native/bin staging_target=/path/to/tmp-glibc/work/core2-32-wrsmllib32-linux/lib32-polkit/0.113-r0/lib32-recipe-sysroot Now staging_target endswith "/lib32-recipe-sysroot", so it can't replace '/recipe-sysroot-native' in PATH , so PATH can't be fixed, and there would be build errors when building multilib + rm_work, for example: chown: invalid user: ‘polkitd:root’ Substitute staging_host for target recipe can fix the problem, now all of native, cross and target need substitute staging_host, so we can simply the code a little. (From OE-Core rev: 087510795331fa21ff52f103269087c06b1660fa) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk/sdk: Update sdk dummy providersRichard Purdie2018-01-112-1/+8
| | | | | | | | | | | | | | | | | | When we migrated rpm v5 -> v4, we lost the ability to drop "per file" dependencies from the rpm backend for things like "/bin/bash" and "/usr/bin/env" which meant the sdks were becomming 'bloated'. This restores the functionality using a dummy package, similarly to the way the buildtools perl issue was addressed. It also removes the non-functional old code so as not to confuse people in future. I ran into this problem trying to filter dependencies to only rpms a build directly depends upon and it turns out we have some determinism issues in this area so this is something key to fix. (From OE-Core rev: 9d490dc01dcedb216129b22cbe17a6c99efc4f5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb: Handle / in dependency nameRichard Purdie2018-01-111-3/+5
| | | | | | | | | | | | | We can end up with / in dependency names from file dependencies but the deb format doesn't allow this. Filter the names to allow such dependencies to work. Names have to start with an alphanumeric digit so also handle this. This allows for future handling of "per file" dependencies similarly to the rpm backend, bring parity to the functionality of the backends. (From OE-Core rev: fc08972688d784f561c8be88d3100d6baaf22070) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native/cross: remove redundant DEPENDS_GETTEXT assignmentRoss Burton2018-01-112-4/+0
| | | | | | | | | | DEPENDS_GETTEXT defaults to gettext-native, so there's no need to set it again in these classes. (From OE-Core rev: 5e4b1915e7a5a94d410c5292b5ed2f447c82b18a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: Always put cmake package files in -dev packagesMike Crowe2018-01-071-0/+2
| | | | | | | | | | | | Various recipes that inherit cmake contain FILES_${PN}-dev magic to add the generated package files to their -dev packages. Since this is a standard feature of cmake, we might as well teach cmake.bbclass to do this itself so those recipes can be simpler. (From OE-Core rev: d91dc4666683a96e9d03cbbd21b8a546f9069c93) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: remove unneeded bb.data.inherits_class()Robert Yang2018-01-061-2/+0
| | | | | | | | | It is duplicated to previous. (From OE-Core rev: 1309b800fbc48bc6a3b7864eb7827b24f855ddac) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: remove obsolete DEFAULTTUNE_ML_Robert Yang2018-01-061-1/+0
| | | | | | | | | | | | | | It had been dropped by: commit 65581c68d130fa74d703f6c3c92560e053857ac7 Author: Alexander Kanavin <alexander.kanavin@linux.intel.com> Date: Mon Feb 13 16:44:48 2017 +0200 rootfs_rpm.bbclass: migrate image creation to dnf (From OE-Core rev: 38df1653da65a8a4e5f84b369b699307d5b4fc4f) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global.bbclass: fix indentRobert Yang2018-01-061-1/+1
| | | | | | | (From OE-Core rev: 52f121a726da573c90e5857caff95e50b01ea02a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext.bbclass: don't rename layers when failedRobert Yang2018-01-061-11/+9
| | | | | | | | | | | | | | | | | The previous code: os.rename(sdkbasepath, temp_sdkbasepath) try: foo finally: os.rename(temp_sdkbasepath, sdkbasepath) always renamed the path, it made the debug harder when error happened. drop the "try: finally" makes the debug easier. (From OE-Core rev: 32126512349d65f0dbc31196c4ec6e1a1147cf5e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testsdk.bbclass: add a newline after own-mirrorsRobert Yang2018-01-061-1/+1
| | | | | | | | | | Otherwise it would generate lines like the following when multilib: INHERIT += "own-mirrors"SSTATE_MIRRORS += " \n file://.* file:///path/to/../share/sstate-cache/PATH" (From OE-Core rev: 65b2a0e1ba7e176f3e405ed8968665660fc414d3) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging.bbclass: make subprocess.check_output() capture stderrRobert Yang2018-01-062-4/+5
| | | | | | | | | This is very useful for debugging. The similar to testsdk.bbclass. (From OE-Core rev: de30b61b87047f61de4629f8e5bd87598de7fd0c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* debian.bbclass: add a note when a package is renamedRoss Burton2018-01-061-1/+1
| | | | | | | | | | To make it easier to debug problems with renaming caused by debian.bbclass, explicitly log when packages are renamed. (From OE-Core rev: 2c27df943035b4df7c5d0be1ab8d0f4f3a31f4d2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: export native env only for native buildMartin Kelly2018-01-051-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Although the meson crossfile should take care of setting the right cross environment for a target build, meson slurps any set CFLAGS, CXXFLAGS, LDFLAGS, and CPPFLAGS from the environment and injects them into the build (see mesonbuild/environment.py:get_args_from_envvars for details). This means that we are seeing native CFLAGS, CXXFLAGS, LDFLAGS, and CPPFLAGS in the target build, which is wrong and causes build failures when target and native have libraries in common (the linker gets confused and bails). That said, we *do* need to set certain vars for all builds so that meson can find the right build tools. Without this, meson will fail during its sanity checking step because it will determine the build tools to be unrunnable since they output target instead of native artifacts. The solution to all of this is to set CC, CXX, LD, and AR globally to the native tools while setting the other native vars *only* for the native build. For target builds, these vars will get overridden by the cross file as we expect. (From OE-Core rev: de7ae028c65a978969b2e06fdc1a2d08bc141a5b) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnomebase.bbclass: allow a meson-specific versionAlexander Kanavin2018-01-051-1/+2
| | | | | | | | | | | gnomebase.bbclass hardcodes the autotools inherit, so make it configurable and allow meson to be specified instead. (From OE-Core rev: 32c2faf394ba7bf75a7273fb9f5e58cc4ee3f3ad) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> [RP: patches tweaked to only need the one class] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: clamp timestampsJuro Bystricky2018-01-051-0/+1
| | | | | | | | | | | | Improve binary reproducibility of RPM packages. Ensure timestamps in RPM packages are not later than the value of SOURCE_DATE_EPOCH. If SOURCE_DATE_EPOCH is not set, timestamps are not clamped. (From OE-Core rev: 225a7156d1fb2fbffadf38e4f4e491f053358082) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: add ptest to the list of runtime tests whenever possibleAlexander Kanavin2018-01-051-6/+6
| | | | | | | | | | | If no ptest packages are installed in the image, the test does nothing; if ptest packages are installed in the image, then they should be run without user having to enable that manually. (From OE-Core rev: f57feab2727dca916744deb64825f3beaf07961d) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: add a recipe and class from meta-oeAlexander Kanavin2018-01-051-0/+108
| | | | | | | | | | | | | | | | | | | | | The original recipe has been provided and improved by: Ross Burton <ross.burton@intel.com> Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Adam C. Foltzer <acfoltzer@galois.com> Peter Kjellerstedt <peter.kjellerstedt@axis.com> Linus Svensson <linussn@axis.com> I have added patches to fix up gtk-doc and gobject-introspection in cross-compilation environments, and also change the order of linker arguments to replicate autotools more closely (and fix linking errors in some corner cases). (From OE-Core rev: 1f8dea686cdfd6d360ba4a97f62d274c39eaeb8e) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils: Make get_multilib_datastore available from lib/oeRichard Purdie2018-01-041-6/+1
| | | | | | | | | Currently we can't access this function from lib/oe as its a class function. Move it to allow such access. (From OE-Core rev: b241a666f2867ffa425f6d43763d7c3c17941dcf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: use stat to get sparse file's sizeRobert Yang2018-01-041-1/+1
| | | | | | | | | The "ls -s sparse_file"'s result is 0, use stat to replace of it. (From OE-Core rev: 1b2ec7a04069a0af2d4164c24109a5fa2fd0b1f6) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage.bbclass: Fix bad image type replacement for microblazeManjukumar Matha2018-01-041-0/+2
| | | | | | | | | | | When using kernel-fitimage class with microblaze, the image type has to be linux.bin not zImage. This patch fixes the bad image type replacement for microblaze (From OE-Core rev: 4e0903e2f71658d595ccb1fa9dddf0f73b373f7e) Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add support for ARM64 ILP32Daniel Díaz2018-01-031-1/+4
| | | | | | | | | | | Add aarch64 32-bits (ILP32) ELF header into dictionary and check binaries for 32-bitness. (From OE-Core rev: 4b4a1295b8476d2820935eb5661b2d24a49b29b2) Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: add support for ARM64 ILP32Daniel Díaz2018-01-031-0/+3
| | | | | | | | | | | | More information about ARM64 ILP32 can be found here: * https://wiki.debian.org/Arm64ilp32Port * https://wiki.linaro.org/Platform/arm64-ilp32 (From OE-Core rev: 4e8840aa7adf91f04da2a1947b8d1dff7f88df50) Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian: update GNU name for ILP32 tripletDaniel Díaz2018-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As discussed and agreed in Linaro Connect Budapest 2017 [1], the GNU name for ARM64 with 32-bit ABI has been changed, e.g., from: aarch64_ilp32-linux-gnu to: aarch64-linux-gnu_ilp32 The current code has "ilp32" as an OS variant; this change updates that variant to include the underscore in order to match the agreed convention. More information about ARM64 ILP32 can be found here: * https://wiki.debian.org/Arm64ilp32Port * https://wiki.linaro.org/Platform/arm64-ilp32 [1] https://lists.linaro.org/pipermail/cross-distro/2017-March/000864.html (From OE-Core rev: 3a599e9d9df4aee25b6aa887563ef833559d96f8) Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: remove debugging statementsRoss Burton2018-01-021-2/+0
| | | | | | | (From OE-Core rev: e7da9a3adc1ed430fff7afae4233e62313759b65) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Fix bad image type replacement for aarch64Thomas Perrot2018-01-021-2/+5
| | | | | | | | | | | | | When using kernel-fitimage class with aarch64, the image type has to be Image not zImage. This patch fixes the bad image type replacement for aarch64 (From OE-Core rev: d14adead5861007ac7e95c32396491f907ab9f8f) Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-live.bbclass: add MLPREFIX to core-image-minimal-initramfsRobert Yang2018-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The 32bit core-image-minimal-initramfs should be built when build lib32-iso, e.g.: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_FSTYPES += "iso" $ bitbake lib32-core-image-minimal Exception: FileExistsError: [Errno 17] File exists: '/path/to/tmp/sysroots-components/core2-64/qemuwrapper-cross/usr/bin/crossscripts/qemuwrapper' -> '/path/to/tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-minimal/1.0-r0/lib32-recipe-sysroot/usr/bin/crossscripts/qemuwrapper' This was because: lib32-core-image-minimal -> core-image-minimal-initramfs core-image-minimal-initramfs -> qemuwrapper-cross lib32-core-image-minimal -> lib32-qemuwrapper-cross So we got the error, build lib32-core-image-minimal-initramfs can fix the problem. (From OE-Core rev: eee3ec805cf150f1c701427a2d182a537a67e8f5) 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>
* waf.bbclass: Add compile progressJoshua Watt2018-01-021-0/+1
| | | | | | | | (From OE-Core rev: c81e6386d6cf24eb6825ddd551d71a4660242fde) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-live.bbclass: print warn when initramfs is invalidRobert Yang2018-01-021-1/+1
| | | | | | | | | | It's a problem when initramfs is invalid, so print warn rather than note. (From OE-Core rev: e164f931c8b3046a8b6736166f8dd6d92f727d1c) 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>
* kernel: Add support for multiple kernel packagesHaris Okanovic2018-01-023-48/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some distros may want to provide alternate kernel "flavors" via feeds or within bootable images. For example, readily available builds which provide certain diagnostic features can enable developers and testers to more quickly resolve issues by avoiding lengthy kernel builds. This change allows for building multiple flavors of the kernel and module packages by templatizing kernel package names via a new KERNEL_PACKAGE_NAME variable in kernel.bbclass. It defaults to the old name of "kernel", but can be overridden by certain recipes providing alternate kernel flavors. To maintain compatibility, recipes providing alternate kernel flavors cannot be the "preferred provider" for virtual/kernel. This is because OE puts the preferred provider's build and source at "tmp-glibc/work-shared/$MACHINE/kernel-build-artifacts/" and "tmp-glibc/work-shared/$MACHINE/kernel-source/" instead of "tmp-glibc/work/*/$PN/" like other recipes. Therefore, recipes using the default KERNEL_PACKAGE_NAME="kernel" follows the old semantics -- build in the old location and may be preferred provider -- while recipes using all other KERNEL_PACKAGE_NAME's build from the normal WORKDIR and don't provide "virtual/kernel". Testing: 1. Add `KERNEL_PACKAGE_NAME_pn-linux-yocto-tiny = "tiny-linux"` to local.conf so that linux-yocto-tiny may build alongside the main kernel (linux-yocto). 2. `bitbake linux-yocto linux-yocto-tiny` to build both kernel flavors. 3. Verified image and modules IPKs exist for both: tmp-glibc/deploy/ipk/qemux86/kernel-* for linux-yocto tmp-glibc/deploy/ipk/qemux86/tiny-linux* for linux-yocto-tiny 4. Verified linux-yocto is the "preferred provider", and was built in shared directory: tmp-glibc/work-shared/qemux86/kernel-* 5. Add `CORE_IMAGE_BASE_INSTALL_append_pn-core-image-base = "tiny-linux"` to local.conf to install both kernel flavors in core-image-base. 6. `bitbake core-image-base` to build an image. 7. Verified image contains two bzImage's under /boot/, with "yocto-standard" (linux-yocto recipe) selected to boot via symlink. Discussion threads: http://lists.openembedded.org/pipermail/openembedded-core/2015-December/thread.html#114122 http://lists.openembedded.org/pipermail/openembedded-core/2017-July/thread.html#139130 [YOCTO #11363] (From OE-Core rev: 6c8c899849d101fd1b86aad0b8eed05c7c785924) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Gratian Crisan <gratian.crisan@ni.com> Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> Coauthored-by: Gratian Crisan <gratian.crisan@ni.com> Coauthored-by: Haris Okanovic <haris.okanovic@ni.com> Coauthored-by: Josh Hernstrom <josh.hernstrom@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* waf.bbclass: explicitly pass bindir and libdir if supportedStefan Agner2018-01-021-1/+16
| | | | | | | | | | | | | | | | | | | | On some build hosts distros (e.g. Fedora 26) waf tries to be smart about libdir detection and defaults to [EXEC_PREFIX/lib64]. This obviously is not what we want for 32-bit targets and usually fails in the do_package phase: WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package: /usr/lib64/libgstimxcommon.so.0 ... Depending on version, waf knows prefix or prefix, bindir and libdir as default options. Explicitly pass the right set of arguments. (From OE-Core rev: 923f91d8d8606141ce218927bc943f4f4f34bcdd) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Fix do_sizecheck behaviourMike Crowe2018-01-021-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | During the introduction of support for multiple kernel image types in 849b67b2e4820564b5e5c9bd4bb293c44351c5f3, do_sizecheck was changed to only warn if any kernel was bigger than ${KERNEL_IMAGE_MAXSIZE}. (Well, it tried to warn - it turns out that there's no function called "warn", it should be "bbwarn".) The previous behaviour had been to fail the build if the single kernel image did not fit. It seems possible that people might be generating both compressed and uncompressed kernels and only really care whether the compressed one fits. This means that we shouldn't just always fail if any of the images are too large. So, let's warn (correctly this time) on every image that is too large, but only ultimately fail if no image will fit. The build will also fail if ${KERNEL_IMAGETYPES} is empty, but I hope that no-one needs to do that. While we're here correct a typo in the KERNEL_IMAGE_MAXSIZE validity check. (From OE-Core rev: 59f1ee104d1a6c04b0690b7c8ce481449da174d6) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: Remove ELF typeSaul Wold2018-01-021-13/+0
| | | | | | | | | | | | As warned in a proir commit, it's time to remove the elf image type, it is not long used anywhere (that I am aware of) and the mkelfimage tool has been removed from the upstream coreboot code base. (From OE-Core rev: 2781e8d608c0fd2108aeab294f982e9249793852) 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>
* package.bbclass: replace rpm/debugedit with dwarfsrcfilesAlexander Kanavin2018-01-021-6/+23
| | | | | | | | | | | | | | Debugedit provided by rpm 4.14 is rewriting binaries in-place, and was found to produce broken output at least for grub: http://lists.openembedded.org/pipermail/openembedded-core/2017-November/143989.html A replacement utility was suggested via private mail: https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedorahosted.org/message/VZP4G5N2ELYZEDAB3QYLXYHDGX4WMCUF/ (From OE-Core rev: f2e6e1d3bfd4c92ef0f5ed4721fd9050c59dafca) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types_wic.bbclass: Ensure '-c image_wic' worksOtavio Salvador2017-12-211-0/+3
| | | | | | | | | | | | | | | | The 'wic' image may use files which has been deployed (e.g in do_deploy) for some partitions that may need to be copied in a specific partition or filesystem (e.g a bootloader). When using 'bitbake <image> -c image_wic', from a clean build, the contents of do_deploy must also be available so we need to ensure all do_deploy of the image dependencies has been complete. Reported-by: Fabio Berton <fabio.berton@ossystems.com.br> (From OE-Core rev: f387c28640cbb209b8a8ed5734b21c754d9f7663) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Handle race with -inital tasksRichard Purdie2017-12-211-0/+6
| | | | | | | | | | | | | | There is a race with rm_work when tasks run deltask do_build since do_rm_work becomes a floating task. Handle this by injecting the populate_sysroot/lic dependencies manually if the tasks returned are empty. This depends on a change to fix bb.build.preceedtask() in bitbake too. [YOCTO #12365] (From OE-Core rev: 0f537d985b7b17af508a511fca8a4ec4b5804580) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Add additional bb.debug to help track 12304Saul Wold2017-12-181-1/+11
| | | | | | | | | | | | | | | | | | | | We actually caught the ext4 size issue in the wild with the debug output in the oe_mkext234fs() code, but it did not help. What that showed was that the get_rootfs_size was returning a default size of 8192, where as the actual rootfs was more like 10572, thus too large to fit in the created sparse file. This additional temporary debug code should help us determine where the failure might be. More debug for [YOCTO #12304] (From OE-Core rev: 978472c58629d1448399207873bbead96b27102e) 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>