summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* populate_sdk_base: use xz -T instead of pixzRoss Burton2018-04-131-2/+2
| | | | | | | | | | | | | | xz has native support for threaded compression now and SDK creation was the only part of oe-core which is using pixz instead of xz. Not only does this remove pixz-native from the SDK dependencies, but in my limited testing xz -T0 is slightly faster and produces smaller archives than pixz for the same input. (From OE-Core rev: ce1cfa57d9828c0898f52e736f671ce8db534031) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: use pigz to create .gz filesRoss Burton2018-04-131-1/+1
| | | | | | | | | | | Since pigz is no longer a drop-in replacement for gzip (oe-core 1624b7b) the image creation has been using gzip instead of pigz, despite still depending on pigz-native. Fix this by invoking pigz explicitly. (From OE-Core rev: 214fa7fe3b162162d2fa8b31eec28bedd86fcc7d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: be a bit more strict when searching ↵Martin Jansa2018-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ${PN}-${LICENSE_PACKAGE_SUFFIX} in packages * linux-firmware contains ${PN}-license package since this commit: commit 1ee083da0730408fffdbbf5f29abc299c0e61be9 Author: Jackie Huang <jackie.huang@windriver.com> Date: Mon Apr 13 10:17:21 2015 +0800 linux-firmware: fix the mess of licenses * LICENSE_CREATE_PACKAGE functionality in license.bbclass when enabled adds new package with suffix: LICENSE_PACKAGE_SUFFIX ??= "-lic" but then it checks if ${PN}-${LICENSE_PACKAGE_SUFFIX} is included in PACKAGES before adding it and when found it shows: WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: linux-firmware-lic package already existed in linux-firmware. and doesn't add the ${PN}-lic to PACKAGES and causes another warning: WARNING: linux-firmware-1_0.0+gitAUTOINC+4c0bf113a5-r0 do_package: QA Issue: linux-firmware: Files/directories were installed but not shipped in any package: /usr /usr/share /usr/share/licenses /usr/share/licenses/linux-firmware that's because it was searching ${PN}-lic in PACKAGES as a string so it found ${PN}-lic as a substring of ${PN}-license, add a split to search in an list (From OE-Core rev: 9b9897fc034819385a9d4ce591cc79dd458f3f24) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: Minor simplification of get_deployed_dependencies()Peter Kjellerstedt2018-04-101-3/+1
| | | | | | | | | | | Since ${SSTATE_ARCHS} now contains ${PACKAGE_EXTRA_ARCHS} there is no longer any need to add those extra architectures to the list of architectures handled in get_deployed_dependencies(). (From OE-Core rev: e55e6df4f1434458cdfa0e2d3610b48119e5a782) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Add ${PACKAGE_EXTRA_ARCHS} to SSTATE_ARCHSPeter Kjellerstedt2018-04-101-2/+3
| | | | | | | | | | | | | | | | | This makes sure files provided by packages that use any of the extra architectures defined using ${PACKAGE_EXTRA_ARCHS} are cleaned from tmp/sysroot-components when sstate_eventhandler2() executes. Without this, changing a package from using one of the extra architectures to another architecture would lead to files being leftover in tmp/sysroot-components, which could later be picked up when creating the RSS for another package rather than the files that belonged to the updated package. (From OE-Core rev: b959b3bd92aa2939d407800fc4167b0535fd4674) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Use ${MACHINE_ARCH} instead of ${MACHINE} for stamp-extra-info task ↵Peter Kjellerstedt2018-04-105-5/+5
| | | | | | | | | | | | | flag Without this change, there will be two sstate index files in tmp/sstate-control for any machine that contains a dash in the name. (From OE-Core rev: 29e7799bdb3773c40492e01448e0c614ed44583d) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: add image-combined-dbg helper classVictor Kamensky2018-04-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | There is IMAGE_GEN_DEBUGFS="1" variable that enables build of additional rootfs-dbg and additional archive that contains complimentary symbols files for a given image. But the issue with this resulting directory and tarball that before use it has to be combined with original image content. It is required since all cross debugging tools like gdb, perf, and systemtap need file system that contains both target executables/libraries and their symbols. Those tools need to find executable/library first and through it debuglink note find corresponding symbols file. image-combined-dbg when added to USER_CLASSES just copies final resulting rootfs back into rootfs-dbg creating combined target and debug symbols rootfs that can be used for debugging directly. (From OE-Core rev: 7ccb077f51c9232de70e5c6f9897fd9986e3be9d) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: Fix archive for linked kernel sourceTom Hochstein2018-04-051-0/+5
| | | | | | | | | | | | When archiving a kernel, if S is ${WORKDIR}/git, then ${WORKDIR}/git is in fact a soft link into work-shared, and the archive contains just the soft link. Fix by archiving the real directory. (From OE-Core rev: 564204dd6b73697ef4b6c17243067892876cc323) Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: Fix build errors for kernels that don't use kernel-yocto.bbclassTom Hochstein2018-04-051-2/+6
| | | | | | | | | | | Special handling for kernel source in work-shared was incorrectly limited to kernel-yocto.bbclass instead of kernel.bbclass. (From OE-Core rev: b8c5680a67888d43540366a40bd0c501e926ac31) Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gio-module-cache.bbclass: pass in ${libexecdir}Alexander Kanavin2018-04-051-0/+1
| | | | | | | | | | When it was something else than /usr/libexec (e.g. when installing native SDK packages), things broke down. (From OE-Core rev: d99e819a6cbde6d1116c434ddba4c5f8eca7e6d8) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sdk.py: run postinst interceptsAlexander Kanavin2018-04-051-1/+1
| | | | | | | | | | | | | | Previously this wasn't done, and so any packages installed from populate_sdk would not have the postinsts fully executed (particularly generation of various caches via running nativesdk or target binaries with qemu wasn't working). [YOCTO #12630] (From OE-Core rev: a484ff072eea3f47de2c3348048201249cefa46b) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: fix do_unpack[cleandirs] varflag handlingEnrico Jorns2018-04-051-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As introduced by a56fb90dc3805494eeaf04c60538425e8d52efc5 ('base.bbclass wipe ${S} before unpacking source') the base.bbclass uses a python anonymous function to set the 'do_unpack' varflag 'cleandirs' to either '${S}' or '${S}/patches' depending on equality of '${S}' and '${WORKDIR}'. Not that this only differs from the way almost all other recipes set or modify a tasks 'cleandirs' flag, it also has a significant impact on the kernel.bbclass (and possibly further ones) and causes incorrect behavior for rebuilds triggered by source modification, e.g. by a change of the defconfig file for a kernel build. The kernel.bbclass tries to extend do_unpack[cleandirs]: | do_unpack[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}" As python anonymous functions are evaluated at the very end of recipe parsing, the d.setVarFlag('do_unpack', 'cleandirs', '${S}') statement in base.bbclass will overwrite every modification to cleandirs that is done as shown for the kernel class above. As a result of this, a change to a kernels 'defconfig' will lead to an updated defconfig file in ${WORKDIR}, but as ${B} never gets cleaned and ${B}/.config still exists, it will not be copied to ${B}/.config and thus not find its way in the build kernel. This is a severe issue for the kernel development and build process! This patch changes setting of the cleandirs varflag in base.bbclass to a simple variable assignment as almost all other recipes do it. This now again allows overwriting or appending the varflag with common methods such as done in kernel.bbclass. This issue affects morty, pyro, rocko and master. (From OE-Core rev: 20901b9783220aa6e7adae4951c531919c20859b) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: ensure cleandirs code handles non-absolute pathsPaul Eggleton2018-04-051-1/+2
| | | | | | | | | | | | | | | | It's possible that a trailing or extra slash somewhere in the external source path could result in the directory not being removed from cleandirs; it's also possible that a cleandirs entry is somewhere underneath the source tree and that tree should never have parts of it deleted by the build system. Use oe.path.is_path_parent() (which makes paths absolute before checking them) to find out if any path in cleandirs is anywhere underneath the external source path, and drop it if it is. (From OE-Core rev: 87ec0fb470274d980f8553a85f778809c269c5d7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/externalsrc: handle if cleandirs contains python expressionsPaul Eggleton2018-04-051-1/+3
| | | | | | | | | | | | | | Use the existing oe.recipeutils.split_var_value() function to split the unexpanded value of the cleandirs varflag, in case it contains python expressions - we don't want to split the expression itself as the chunks will not expand properly individually and we can miss something that expands to the source tree (and thus it can get deleted, the avoidance of which is the whole point of this code). (From OE-Core rev: 611cee69d7300a4746edd752c9557af60e7beecc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: add variables to the whitelist so that it does not re-triger ↵Cuero Bugot2018-04-031-0/+3
| | | | | | | | | | | | | | | | recipe parsing When uninative is activated (poky's default) internal datastore variables are modified (NATIVELSBSTRING and SSTATEPOSTUNPACKFUNCS) to enable uninative support. This is happening after parsing is done at the beginning of the build. On the next bitbake call the recipe would be parsed if the two variables above were not added to the parsing whitelist BB_HASHCONFIG_WHITELIST. The fix is to add these two variables to the recipe parsing whitelist BB_HASHCONFIG_WHITELIST, this is done at recipe parsing time, only when uninative.bbclass is used. (From OE-Core rev: 75bb95ada98ef129d2fa48568f27dddb078c852c) Signed-off-by: Cuero Bugot <cbugot@sierrawireless.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: improve reproducibilityJonathan Liu2018-04-031-0/+1
| | | | | | | | | | | Set KBUILD_BUILD_VERSION=1 to avoid build version being incremented on every build. It is visible in the output of "cat /proc/version" after the hash character. (From OE-Core rev: 7fa32ee42c3320e9e2b24ef747e43484b719f617) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-distrovars: set default KERNEL_IMAGETYPE(S)California Sullivan2018-03-314-6/+0
| | | | | | | | | | | | | | | | | | | | | With the change from assuming kernels will be named "vmlinuz" everywhere, to instead using KERNEL_IMAGETYPE, we require that KERNEL_IMAGETYPE is set to something. Instead of setting the default in multiple individual files, set it in default-distrovars.inc. x86(-64) arches get bzImage as the default. Others get zImage as per meta/conf/documentation.conf. Also set KERNEL_IMAGETYPES, as we will eventually be switching away from KERNEL_IMAGETYPE. Thanks to Andre McCurdy <armccurdy@gmail.com> for the arch defaults part. (From OE-Core rev: a57d784211a39587538094425ee0246e9ddfbf9d) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm: set _builddir to B not SRichard Purdie2018-03-301-1/+1
| | | | | | | | | | | | | Recipes which use a shared workdir (e.g. gcc-runtine and libgcc) can race over temporary files causing interesting build failures. Using B instead of S avoids this problem. [YOCTO #12605] (From OE-Core rev: d6c13a5ff441f7076eb327c0d0b747bd7603db0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Don't extend make-mod-scripts as a multilib version doesn't make ↵Richard Purdie2018-03-301-1/+1
| | | | | | | | | | | any sense The multilib version would race against then non-ml version leading to all kinds of odd build failures. (From OE-Core rev: 6bb70bd3857edb8cb6cc1317f57b899a89be2653) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors.bbclass: change Debian anonscm to salsaMikko Rapeli2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Debian anonscm service in Alioth is shutdown and thus fetching sources fails. https://wiki.debian.org/Alioth "Alioth is broken, and there is nobody around to fix it. Don't ask the remaining people who give it life support to implement fixes and changes. It is being replaced by a cocktail of ?GitLab (see Salsa), read-only repos and keep-alive mechanisms. See below for more information." https://wiki.debian.org/Salsa "What is Salsa? Salsa is the name of a collaborative development server for Debian based on the gitlab software. Salsa is supposed to provide the necessary tools for package maintainers, packaging teams and other Debian related individuals and groups for collaborative development. What is the status of Salsa? After various discussions about the future of Alioth, the Alioth Sprint in August 2017 gave birth to the initial setup of the the upcoming Salsa service. The productive weekend resulted in a working prototype and was launched as a beta in December 2017. It left its beta status in January 2018." (From OE-Core rev: 08ff7b42d8b7d06ef61255185c95e900ada8769b) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: use single quotes for path passed to file in isELF()Andre McCurdy2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | Apparently there are recipes in the wild which generate files with filenames containing '$' characters - which cause errors during packaging. Instead of adding another special case to escape '$' characters when constructing the command passed to oe.utils.getstatusoutput(), switch to using single quotes to quote the path - and therefore make isELF() consistent with the way filenames and paths are quoted by every other caller of oe.utils.getstatusoutput() in oe-core. (From OE-Core rev: 7877761534b0c2492da6289e9f2269d41b6ed464) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: quote path passed to stat in get_filesystem_id()Andre McCurdy2018-03-281-1/+1
| | | | | | | | | | | | Although get_filesystem_id() is a private API and never gets passed a path containing spaces or other special characters, etc, quote the path anyway for consistency. (From OE-Core rev: 1a9878cdb1cdb807c47e852b780c8ef9b93a214e) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* waf.bbclass: Throw error if waf doesn't existAmanda Brindle2018-03-251-0/+2
| | | | | | | | | | | | | Before, waf.bbclass would fail to catch FileNotFoundError. Now, it will catch this error and say that waf doesn't exist. Fixes [YOCTO 12553] (From OE-Core rev: f8321dedec7abe392f7e49ff8eee0640463adae5) Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible_build.bbclass: support for binary reproducibilityJuro Bystricky2018-03-251-0/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setup environment for builds requiring binary reproducibility. Determine and export SOURCE_DATE_EPOCH per each recipe. This is a crucial step to achieve binary reproducibility. The value for this variable (timestamp) is obtained after source code for a recipe has been unpacked, but before it is patched. If the code sources come from a GIT repo, we get the timestamp from the top commit. (GIT repo does not preserve file mktime timestamps). Otherwise, if GIT repo is not present, we try to get mtime from known files such as NEWS, ChangeLog, etc. If this also fails, we go through all files and get the timestamp from the youngest one. We create an individual timestamp for each recipe. The timestamp is stored in the file '__source_date_epoch.txt' (in the folder source-date-epoch_). Later on, each task reads this file and sets the exported value of SOURCE_DATE_EPOCH to the value found in the file. Uasge: INHERIT += "reproducible_build" [YOCTO#11178] [YOCTO#11179] (From OE-Core rev: cc438ac7711dedbe05d654e99af9316c9215b02e) 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>
* externalsrc: do not call make clean for recipes with CLEANBROKEN = "1" setAndreas Müller2018-03-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | ERROR: distrho-ports-0.0.0+git999-r0 do_buildclean: oe_runmake failed ERROR: distrho-ports-0.0.0+git999-r0 do_buildclean: Function failed: do_buildclean ERROR: Logfile of failure stored in: <...>/temp/log.do_buildclean.17285 Log data follows: | DEBUG: Executing shell function do_buildclean | NOTE: make clean | make clean -C libs/drowaudio | make[1]: Entering directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio' | make clean -C build-drowaudio | make[2]: Entering directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio/build-drowaudio' | make[2]: *** No rule to make target 'clean'. Stop. | make[2]: Leaving directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio/build-drowaudio' | make[1]: *** [Makefile:7: clean] Error 2 | make[1]: Leaving directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio' | make: *** [Makefile:73: clean] Error 2 | ERROR: oe_runmake failed (From OE-Core rev: 21fa28d8faf33b2717e38886352238dd360ef346) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glide.bbclass: Add class to easy Glide useOtavio Salvador2018-03-251-0/+9
| | | | | | | | | | | To use 'glide' this class does the integration and reduces code duplication. (From OE-Core rev: e0dbcdc2ca0b05b6b062a0ec1496204bb2122fbf) 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>
* image_types.bbclass: Rename lz4_legacy to lz4Maxin B. John2018-03-201-2/+1
| | | | | | | | | | | | | | | | LZ4 format currently used by the Linux kernel is the 'legacy' format. In order to avoid creating an image that can't be used as a compressed initial ramdisk with Linux kernel, rename lz4_legacy to lz4. [YOCTO #12461] [YOCTO #12149] (From OE-Core rev: 0c62a9b272d381bd5a16cfef19ecd1a15f521473) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: set HOSTLDFLAGS in KCONFIG_CONFIG_COMMANDCalifornia Sullivan2018-03-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel v4.14 and newer contain the following in their Makefile: HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS) HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) This breaks our menuconfig, because it can no longer find ncurses if its not on the host machine. This can be seen in linux-yocto-dev, for example: [clsulliv@clsulliv build]$ bitbake virtual/kernel -c menuconfig GEN ./Makefile HOSTLD scripts/kconfig/mconf /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -lncurses /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -ltinfo collect2: error: ld returned 1 exit status make[3]: *** [scripts/Makefile.host:99: scripts/kconfig/mconf] Error 1 make[2]: *** [/home/clsulliv/yocto/poky/build/tmp/work-shared/intel-corei7-64/kernel-source/Makefile:504: menuconfig] Error 2 make[1]: *** [Makefile:146: sub-make] Error 2 make: *** [Makefile:24: __sub-make] Error 2 Command failed. Press any key to continue... Fix this by setting HOSTLDFLAGS to ${BUILD_LDFLAGS} in our 'make menuconfig' command. (From OE-Core rev: 6afe8e211bfb3deb359194488f34a2c56f4b5ef6) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Fix typos in 32bit risc-v machine typeKhem Raj2018-03-151-3/+3
| | | | | | | | (From OE-Core rev: 33d79f19dd3a2b5777e07fbf75ec4635d08e60e8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: add support for RISC-V baremetalKhem Raj2018-03-151-0/+2
| | | | | | | | (From OE-Core rev: 9b30e805e769b6c8c12a9aba072f7df066b19179) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-doc: use --srcdir instead of cdRoss Burton2018-03-151-1/+3
| | | | | | | (From OE-Core rev: 1bf1cf24f520960d3d10b0b71d665107953dba54) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-doc: always inherit python3nativeRoss Burton2018-03-151-4/+2
| | | | | | | | | | My attempt at only inheriting python3native if it was needed was broken and didn't work, so back it out and always inherit. (From OE-Core rev: eb08ce66cf7ca6dbdb51fb9b9725267606fba6b9) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: Add compatiblity version checkRichard Purdie2018-03-151-0/+7
| | | | | | | | | | | | | | | | If glibc is newer on the host than in uninative, the failure mode is pretty nasty for clusters where the sstate is shared, including the Yocto Project autobuilder. This check aborts the use of uninative in such scenarios where a newer glibc version appears and avoids corruption of sstate caches. We use ldd to check the glibc version since that is included in libc-bin (or equivalent) which locales use so it should always be present. (From OE-Core rev: d6f6101cd0ae92e8ad2dec0bcb6db5044726edf9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: run pre/post installation/removal scriptlets using sh -eAlexander Kanavin2018-03-152-4/+16
| | | | | | | | | | | | | | | | | | This allows catching errors in the scriptlets which would otherwise go unnoticed, e.g. this sequence: ==== bogus_command proper_command ==== would work just fine without any visible warnings or errors. This was previously done only for rpm packages; this patch replaces the rpm-specific tweak with one that works for all package types. (From OE-Core rev: a0aa12e1d0ea9064b8dd816d4e82238df765506b) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible_build_simple.bbclass: simple environment for reproducible binariesJuro Bystricky2018-03-121-0/+11
| | | | | | | | | | | | | | | Export environmental variables needed for binary reproducibility with consistent values. This class can be used either directly via: INHERIT += "reproducible_build_simple" or can be inherited by a more complex/complete bbclass, for example a bblass which will crack SOURCE_DATE_EPOCH for each recipe. (From OE-Core rev: 5c2685c5ee2f8210a36b9a8591491b6af0482084) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: Use expanded BUILD_REPRODUCIBLE_BINARIES valueJuro Bystricky2018-03-123-3/+3
| | | | | | | | | | | Replace the occurences of BUILD_REPRODUCIBLE_BINARIES with expanded values ${BUILD_REPRODUCIBLE_BINARIES} so the variable does not need to be exported. (From OE-Core rev: 27f87bbc8395a2481ef808465a62d213a6b678ac) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: make copying of crtsavres.o conditionalBruce Ashfield2018-03-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of the 4.13 kernel, there are configuration + linker combinations that do not need (or build) crtsavres.o for ppc64 targets. The commit of interest is: commit efe0160cfd40a99c052a00e174787c1f4158a9cd Author: Nicholas Piggin <npiggin@gmail.com> Date: Fri May 12 01:56:52 2017 +1000 powerpc/64: Linker on-demand sfpr functions for modules For final link, the powerpc64 linker generates fpr save/restore functions on-demand, placing them in the .sfpr section. Starting with binutils 2.25, these can be provided for non-final links with --save-restore-funcs. Use that where possible for module links. This saves about 200 bytes per module (~60kB) on powernv defconfig build. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> As such, our arch test for crtsavres.o is not enough, we add a secondary existence check before trying the copy. [YOCTO #12576] (From OE-Core rev: af58819253a2d4526dc8871a17e1492bd1d92951) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-doc: inherit classes only if gtk-doc is enabledRoss Burton2018-03-071-12/+10
| | | | | | | | | | | | | Respect GTKDOC_ENABLED when inheriting python3native and DEPENDing on qemu-native, as they're not needed when disabled. python3native is required as otherwise the host Python is most likely used which may or may not have python3-six installed (a requirement of gtk-doc). (From OE-Core rev: b93386b22e1dc78b2917652dac4ad02745a99989) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: fix to build for more projectsChen Qi2018-03-061-12/+8
| | | | | | | | | | | | | | | | | We should use the value of CC for the c compiler setting in cross compilation configuration file for meson. For example, if we only use ${HOST_PREFIX}gcc instead of ${CC}, we would meet the following do_compile failure for systemd. cc1: fatal error: linux/capability.h: No such file or directory Do the same change for LD, AR, NM, STRIP and READELF. (From OE-Core rev: 177bd96a531fcc85e62baff04aba327e2bccee07) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* godep.bbclass: Add helper class to enable go-dep toolKhem Raj2018-03-061-0/+8
| | | | | | | | | | | | Many go packages can take advantage of dep tool since they manage their own dependencies, this class helps in using go dep tool for such packages (From OE-Core rev: 9bea8313b0dd5a6af08d15ee8634fe2ef9ee0f75) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass, goarch.bbclass: update SECURITY_CFLAGSMatt Madison2018-03-062-3/+2
| | | | | | | | | | | | With go1.10 the NOPIE flags are only required for MIPS target builds, and are now incompatible for the other architectures. (From OE-Core rev: f2ff90eb7d27a2f69f5948fa8c301de30f5c8132) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch.bbclass: disable shared runtime for nativesdk buildsMatt Madison2018-03-061-0/+1
| | | | | | | | | | | | | | While useful on embedded devices for saving disk space, use of shared runtime in Go is not the usual practice, so disable it for nativesdk builds. We don't use it for native builds, either, so this makes the SDK match the native environment more closely. (From OE-Core rev: fde7017f9735c0d317023022817b28771df53109) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: ptest cleanup and improvementsMatt Madison2018-03-061-36/+51
| | | | | | | | | | | | | | | | | | | | | | | | | * Don't enable verbose test output (-test.v) by default, as it generates too much noise for automated results parsing * Override do_install_ptest_base in the bbclass, so recipes can provide their own modifications with do_install_ptest. * Improve the generated run-ptest script to better handle large numbers of tests, and to generate 'status: test name' output similar to Automake tests. * Install all non-vendored 'testdata' directories from the source into the ptest package, as some packages share test data among multiple tests. (From OE-Core rev: 11037462d80cefbee90a69e6a8a95895375ed6da) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: don't stage test data with sourcesMatt Madison2018-03-061-1/+1
| | | | | | | | | | | | | | | | Any directory in a Go package's source tree called 'testdata' contains test data, and isn't necessary for building. Some packages include ELF files and other binaries as test data, and staging them in the sysroot and -dev package leads to unnecessary QA warnings. (From OE-Core rev: b013db7ab58d4d56ad5c6e54a3a32df31aaf8809) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: remove debug-related commandsMatt Madison2018-03-061-3/+0
| | | | | | | | | | | | | The 'go env' in the do_compile function and the set -x/+x in the do_install_ptest function were used for debugging the bbclass, and aren't really needed. (From OE-Core rev: 351e9fc39408e094bbb4beedf51221adc8afd143) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: rename GO_TMPDIR -> GOTMPDIRMatt Madison2018-03-061-6/+7
| | | | | | | | | | | | | | and export it. Go 1.10 now supports using this separate variable locating its temporary files. TMPDIR is still set, for compatibility with go1.9; that can be dropped once 1.9 is retired. (From OE-Core rev: ce9d70ae2f9981bf5b42641922c34c1ed54eeca3) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: set GOMIPS envrionment variableMatt Madison2018-03-061-0/+11
| | | | | | | | | | | Go 1.10 adds support for selecting hard/soft float object code through the GOMIPS environment variable. (From OE-Core rev: f3cabc92dca3408da18f04e4af4051fba1f63c14) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: update go 1.9 -> go 1.10Matt Madison2018-03-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * Patches and recipes reworked for go 1.10's significant changes to its bootstrap and build steps. * Update go1.4 source tarball used for go-native bootstrapping to the version recommended in the current go documentation * Remove test data from installed sources to eliminate some packaging QA warnings * Set GOCACHE to 'off' to disable 1.10's build caching in the go recipes and bbclass * Update go_do_compile to compile both static and dynamic objects dynamic linking is in use, since go1.10's build tool is pickier about this (From OE-Core rev: 4fd749ca6450a4870be1c1e13802f084b6eb0db6) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot-cfg.bbclass: Don't reference or set OVERRIDESCalifornia Sullivan2018-03-061-5/+0
| | | | | | | | | | | | | | There's no need to add to the local copy of overrides and then not do anything with it. Now that this function is being used in package creation it was causing sstate issues as well, as MACHINE is always in OVERRIDES, so something trivial such as the name of the MACHINE would cause the hash to change. (From OE-Core rev: 24ddc80fc39291d9952b8e3bd37d66c1c4376e6b) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* grub-efi-cfg.bbclass: Don't reference or set OVERRIDESCalifornia Sullivan2018-03-061-6/+0
| | | | | | | | | | | | | | There's no need to add to the local copy of overrides and then not do anything with it. Now that this function is being used in package creation it was causing sstate issues as well, as MACHINE is always in OVERRIDES, so something trivial such as the name of the MACHINE would cause the hash to change. (From OE-Core rev: 56ab83611d9737b42f05586d2c45d5c438cfc293) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>