aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2017-10-23sstate.bbclass: sstate_hardcode_path(): fix for multilibrbt/2ssfixesRobert Yang
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 It 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 Now staging_target endswith "/lib32-recipe-sysroot", so it can't replace '/recipe-sysroot-native', 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. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2017-10-23useradd.bbclass: print a warn when useradd not foundRobert Yang
Exit quietly makes it very hard for debugging when user is not added as expected, print a warning helps a lot. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2017-10-16goarch.bbclass: Define HOST_GO386 and TARGET_GO386Paul Barker
These variables are used to control the floating-point instructions emitted by the go compiler for x86 architectures. The default is '387' which disables the use of sse/sse2 instructions and is safe to use on all x86 processors from the i486 onwards. If TUNE_FEATURES contains a feature set which is known to support sse/sse2 instructions then they are set to 'sse2' to enable the use of these instructions. This is suitable for most processors from Pentium 4 onwards. Only the 'core2' and 'corei7' TUNE_FEATURES are defined in the oe-core layer and are known to support ss2 instructions. Other layers may introduce additional tunings which support sse2 instructions and for these layers, TARGET_GO386 or go_map_386 should be overridden as needed. Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16own-mirrors.bbclass: allow other settings of PREMIRRORS have effectChen Qi
If we inherit own-mirrors.bbclass, other settings of PREMIRRORS in our project would have no effect. This patch modifies the setting in own-mirrors.bbclass to allow other settings of PREMIRRORS to still have effect. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16archiver: preserve sysroot paths in configured mode for multilibHongxu Jia
In the following commit, the archiver expanded RECIPE_SYSROOT to preserve sysroot paths in configured mode: ... commit aa2240657b015d46e9ba4bcb6264709a82313d83 Author: Ross Burton <ross.burton@intel.com> Date: Tue Jun 6 15:23:18 2017 +0100 archiver: preserve sysroot paths in configured mode ... In meta/conf/multilib.conf, it overrides the variables of STAGING_DIR_HOST, STAGING_DIR_TARGET and RECIPE_SYSROOT with "${WORKDIR}/${MLPREFIX}recipe-sysroot". So the archiver should also expand STAGING_DIR_HOST and STAGING_DIR_TARGET to preserve sysroot paths in configured mode for multilib. [YOCTO #11584] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16sstate.bbclass: provide an exception for useradd scenarioMaxin B. John
Packages, which depend on users/groups created from other packages, needs "shadow-native" as a build time dependency. So, add an exception to the "shadow-native" from otherwise discarded native/cross tools dependency. Fixes [YOCTO #11960] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16cross.bbclass: Remove usage of host flags for cross-compilationNikolay Merinov
BUILD_* flags can't be used as TARGET_* flags even for "cross" packages. gcc-cross buils leaks config.log's through "gcc-stashed-builddir" and TARGET_* flags to libgcc cross-build through "gcc/libgcc.mvars" file on "gcc-stashed-builddir". This means that if BUILD_CFLAGS contains host-specific flags like "-isystem/usr/include" libgcc build will fail "do_qa_configure" and "do_package_qa" checks. Remove host-related flags from TARGET_* flags for gcc-cross build. Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06utils.bbclass: Support applications with arguments in check_app_exist()Nikolay Merinov
check_app_exist function must support cases when "app" variable defined as "progname --args". For example BUILD_CC="gcc -march=x86-64" must pass sanity check. Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06staging.bbclass: handle postinst-useradd-* fixmesMikko Ylinen
After 02457ef7f600ce954874e2d11e74b1c6daaa3bfc, PSEUDO for postinst-useradd-* scripts get to use only one PSEUDO_LOCALSTATEDIR which is set under recipes ${WORKDIR}. When the those scripts are run in a clean build environment that is built from the sstate (populate_sysroot_setscene run for postinst-useradd-* providers), pseudo fails to run because it cannot access the PSEUDO_LOCALSTATEDIR (recipe ${WORKDIR}s do not exist). This triggers a sysroot staging error. Previously, the PSEUDO_LOCALSTATEDIR setting in useradd.bbclass worked because the RSS sstate/staging logic automagically processed ${STAGING_DIR_TARGET} in postinst-useradd-* scripts to point under the sysroot being built. The fix uses the same fixme processing by adding PSEUDO_LOCALSTATEDIR variable to it. Furthermore, LOGFIFO is added to be able to use the logging fifo of the recipe that actually runs postinst-useradd-*. Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06image_types: Fix bmaptool support for RSSTom Rini
With RSS we need to ensure that when making a bmap image that the python3 that we created is found via /usr/bin/env rather than the host python3. Otherwise we're relying on the build host to have bmaptool support installed. Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06goarch.bbclass: rework mips architecture checksMatt Madison
Remove the TUNE_FEATURES references from go_map_arch, to avoid an unwanted variable dependency. Direct comparisons of the architecture name are sufficient for covering what Go currently supports, and using TUNE_CCARGS_remove adequately handles the conflict with the cgo-supplied flags for mips. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06cml1: remove diffconfig return code checkingBruce Ashfield
The following commit: [ commit 578c8205fd14c48c6d30ef2889d86f1b4aee060a Author: Mikko Rapeli <mikko.rapeli@bmw.de> Date: Thu Jun 22 16:23:14 2017 +0300 meta: Fix return value checks from subprocess.call()'s Python function subprocess.call() returns the return value of the executed process. If return values are not checked, errors may go unnoticed and bad things can happen. Change all callers of subprocess.call() which do not check for the return value to use subprocess.check_call() which raises CalledProcessError if the subprocess returns with non-zero value. https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module All users of the function were found with: $ git grep "subprocess\.call" | \ egrep -v 'if.*subprocess\.call|=\ +subprocess\.call|return.*subprocess\.call' Tested similar patch on top of yocto jethro. Only compile tested core-image-minimal on poky master branch. 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> ] Added return code checking to do_diffconfig. Although the change is well intentioned, it isn't correct in this instance since 'diff' returns '1' to indicate that there are differences in the files .. and not as an error code. subprocess.check_call() flags this as an error and the routine aborts. We are already checking the inputs, and in fact already know there's a diff in the files before we even make the call, so there's no need to look for an error in this case. Putting back subprocess.call() restores the routine to working order. [YOCTO #12132] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-26wic: remove systemd-boot for x32Saul Wold
Currently systemd-boot actually incorporates libgcc, since the systemd-boot needs to be built with 64bit instructions it can not use the x32 based libgcc. Use the new override to ensure it gets overriden, linux-gnux32 could not be used because x86-64 has higher priority. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25sign_rpm.bbclass: force rpm serial signingLeonardo Sandoval
Newer versions of gpg (at least 2.1.5 and 2.2.1) have issues when signing occurs in parallel so (unfortunately) the signing must be done serially. Once the upstream problem is fixed, this patch must be reverted, otherwise we loose all the intrinsic parallelism from bitbake. [YOCTO #12022] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25meta: drop True option to getVar callsMing Liu
Search made with the following regex: getVar ?\((.*), True\). Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25go: disable PIE flags for cgoMatt Madison
If the security_flags.inc file is included, gcc will do PIE builds by default. These flags need to be disabled for go packages that use cgo. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25goarch.bbclass: fixups for Go mips32 supportMatt Madison
* Fix the regular expression in the mips test * Flag as incompatible any mips32 tunes for n32 ABI or soft-float, as go does not support them. * Replace mips32r2 tune with mips32r1. Go only supports mips32r1, which is a strict subset of r2. Adjusting this tune is not ideal, but is hopefully a temporary measure until more complete mips32 ISA coverage arrives upstream. [YOCTO #12108] Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25classes: drop image dependencies on TOPDIR variablePaul Eggleton
We don't need a dependency on this variable changing, and having one causes locked signature warnings during eSDK installation if you have INITRAMFS_IMAGE_* set (since TOPDIR will always be different between the eSDK and the environment in which it was built). Relates to [YOCTO #12102]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25useradd-staticids: don't create username-group if gid is specifiedAndré Draszik
Adding distcc to an image, and having staticids enabled, doesn't work as it causes a a superfluous 'distcc' group being added using a conflicting GID, thus failing the build: | ERROR: distcc-3.2-r0 do_prepare_recipe_sysroot: distcc: groupadd command did not succeed. Compared to other recipes, the distcc recipe only specifies --gid for the primary group, and doesn't specify --no-user-group, but when --gid is given, it doesn't make sense to create a matching username-group in addition, even if --no-user-group was not specified, and 'useradd' actually complains if --gid and --user-group are given both. If only --gid is given, the current code in here effectively behaves as if --user-group was specified, taking the group-id of the username-group from the --gid parameter. This causes the error above, as we try to add a new group (distcc) with an existing group-id (nogroup). This is contrary to the comment in this file just above, contrary to what useradd can do, contrary to behaviour without the useradd-staticids bbclass, and non-intuitive. Change the code such that a username-group is only created - if a primary group using --gid was not specified, or - if --no-user-group was not specified To be in line with useradd, if gid is not given, and --no-user-group is given, we add the user to the group 'users', which mimics useradd's behaviour. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25staging: Reduce verbosity of log messagesRichard Purdie
The staging changes were very verbose in their logging and whilst this is useful when staging issues occur, those thankfully seem rare now and we can tune down the logging to a sane level. This improves the readability of error messages from functions that fail. The code is still verbose when its replacing things in the sysroot. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25uboot-extlinux: fix extlinux creation race (take 2)André Draszik
Alternative solution to original commit 60c90398580998b2379bb438f0f75b29285135a5 ("u-boot: fix extlinux creation race") (Untested) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-devicetree.bbclass: Add support to generate append to kernelOtavio Salvador
The are use cases where the Device Tree appended to the kernel is convinient, so we generate the bundle concatenating the kernel (and potentionally the initramfs) and the Device Tree binaries. To enable it, set KERNEL_DEVICETREE_BUNDLE variable to '1' Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-fitimage: support MIPS (compressed)André Draszik
On MIPS, the compressed kernel image target is vmlinuz.bin Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-uboot: support compressed kernel on MIPSAndré Draszik
MIPS generates vmlinuz.bin when compression in the kernel build is enabled, including any necessary objcopy so we can leverage that and skip our manual invocation of objcopy here. We just have to put the file into the right place for the rest of the build to find it. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-uimage: optimise UBOOT_ENTRYSYMBOL supportAndré Draszik
This is the remaining local change to a fix similar to commit e0b4f018d1c2 ("kernel-uimage.bbclass: Fix up generation of uImage from vmlinux"): Make awk exit on match to save a few CPU cycles so as to make this similar to kernel-fitimage.bbclass Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-fitimage: unbreak UBOOT_ENTRYSYMBOL supportAndré Draszik
- vmlinux is located in ${B}, not ${S}. - parsing of nm output got broken completely in commit b406a89935f148779569fa3770776e009dd51f13 ("kernel-fitimage: add initramfs support"), commit ec755d2524fcbd9dfded23a576f25c990d405a6c in yocto While at it, make awk exit on match to save a few CPU cycles. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25kernel-fitimage: sanitize dtb section name (unbreak MIPS)André Draszik
We can't build fitImages for MIPS any more: | Error: fit-image.its:21.27-28 syntax error | FATAL ERROR: Unable to parse input tree | uboot-mkimage: Can't read arch/mips/boot/fitImage.tmp: Invalid argument Since commit cd2ed7f80b555add07795cc0cbaee866e6c193a3 ("kernel-fitimage: dtb sections named by their filenames and one config section for each dtb"), commit 1ec405ef5df82884c8997878bbe6c66d924b5127 in yocto, dtb sections are named by the DTB filename, but the filename can legally be in a subdirectory below arch/$arch/boot/dts/, and on MIPS all DTBs are actually in a subdirectory. If so, mkimage fails with the above error message. Unbreak this by replacing the offending character (directory separator /) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-22sanity: check that path variables don't use ~Ross Burton
The core path variables (TMPDIR, DL_DIR, SSTATE_DIR) don't use tilde expansion but if the user does then the errors are very mysterious, so check on startup. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-22sanity: correct Python version sanity checkRoss Burton
We now require Python 3.4, not 2.7. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21kernel.bbclass: build host programs with native sysrootsWenzong Fan
Allow to search header files and libs from native sysroots. For example, an expanded BUILD_CFLAGS includes: '-isystem/builddir/to/linux-yocto/recipe-sysroot-native/usr/include' And an expanded BUILD_LDFLAGS includes: '-L/builddir/to/linux-yocto/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/builddir/to/linux-yocto/recipe-sysroot-native/usr/lib -Wl,-rpath,/builddir/to/linux-yocto/recipe-sysroot-native/usr/lib' Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21image.bbclass: Sorted ctypes to avoid basehash errorGerson Fernando Budke
When selected multiple subimages a similar error could happend: Variable do_image_cpio[subimages] value changed \ from 'cpio.gz.u-boot cpio.gz' to 'cpio.gz cpio.gz.u-boot' To avoid this, 'ctypes' should be sorted at 'gen_conversion_cmds'. This garantee that 'CONVERSION_CMD_xxx' are always written in tha same order and consequently 'do_image_cpio' have the same hash. Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21classes/image: move image_qa to between rootfs and imageRoss Burton
It was noticed that do_image_qa is useless when rm_work is enabled as the rootfs directory is deleted before image_qa is called. This indicates that image_qa is incorrectly scheduled as it failing should mean images don't get generated, so move it between do_rootfs and do_image. Also, add a little bit more documentation to the comments. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21classes/image_live: fix using squashfs as image filesystemTomasz Meresiński
Different squashfs versions have IMAGE_TYPE with hyphen (eg squashfs-lz4). Tasks on the other hand have names with underscore (eg do_image_squashfs_lz4). Signed-off-by: Tomasz Meresiński <tomasz.meresinski@comarch.pl> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21cross-canadian.bbclass: drop TARGET_* flags overridesMing Liu
A regression was introduced by me in commit 767335c9: [ cross-canadian.bbclass: override TARGET_* flags ] it causes BUILDSDK_C/CXXFLAGS being exported in environment-setup script built from meta-environment recipe, which is wrong, restore to TARGET_C/CXXFLAGS. Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21classes/externalsrc: delete symlinks at start of do_buildcleanPaul Eggleton
To help users find the work and log directories (especially within the eSDK) we create symlinks to these from the source tree. However during do_buildclean we call "make clean", and some project Makefiles which delete something like "*/*/lib" which will match files underneath the oe-workdir symlink and fail. do_buildclean is called from do_clean which is in turn called by devtool reset by default, and thus devtool reset is blocked. An example of a recipe where this is visible is the openssl-qat recipe in meta-intel. In order to fix this, delete the symlinks at the start of do_buildclean since we shouldn't need them at that point anyway, and thus make clean won't be able to trip over them. Fixes [YOCTO #11036]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21go.bbclass: set TMPDIR during compilationMatt Madison
The go build tool creates working directories under $TMPDIR for all of its processing. Create a directory under ${WORKDIR} for this and point TMPDIR at it during compilation, so that systems that have a relatively small /tmp filesystems can still compile larger Go packages. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21go: fix linking issues for nativesdk buildsMatt Madison
Switch to using an external linker for nativesdk go, go-runtime, and go package builds, which works more reliably when building 32-bit SDKs. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-18useradd.bbclass: Unify writing of script file in useradd_sysroot_sstate()Peter Kjellerstedt
There were two identical code blocks for writing the postinst-useradd-${PN} scripts. This combines them into one. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-18useradd: don't override pseudo environmentRoss Burton
Back in the dark days before recipe-specific-sysroots the paths being passed in this manual construction of the pseudo environment made sense, but now they're incorrect and result in pseudo writing to two different databases during a single build. The result is that pseudo doesn't follow changes to /etc/passwd in the sysroot, and warns in the logs. Remove the PSEUDO_LOCALSTATEDIR assignment and inherit the correct assignment in FAKEROOTENV. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-18bitbake.conf: Add default FILESYSTEM_PERMS_TABLESMark Hatle
If FILESYSTEM_PERMS_TABLES was not defined, the default was selected by the packages.bbclass. This made it difficult for a recipe or layer to 'append' to the default. Copy the default into the bitbake.conf, allowing future _append and += style actions. Default was remove from package.bbclass. If a value is not set, only the built-in perms fixes will be used. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-18devtool: ensure recipes devtool is working on are unlocked within the eSDKPaul Eggleton
Alongside reworking the way devtool extracts source, we now need to ensure that within the extensible SDK where task signatures are locked, the signatures of the tasks for the recipes being worked on get unlocked at the right time or otherwise we'll now get taskhash mismatches when running devtool modify on a recipe that was included in the eSDK such as the kernel (due to a separate bug). The existing mechanism for auto-unlocking recipes was a little weak and was happening too late, so I've reimplemented it so that: (a) it gets triggered immediately when the recipe/append is created (b) we avoid writing to the unlocked signatures file unnecessarily (since it's a global configuration file) and (c) within the eSDK configuration we whitelist SIGGEN_UNLOCKED_RECIPES to avoid unnecessary reparses every time we perform one of the devtool operations that does need to change this list. Fixes [YOCTO #11883] (not the underlying cause, but this manifestation of the issue). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-09-18devtool: rework source extraction so that dependencies are handledPaul Eggleton
Since it was first implemented, devtool's source extraction (as used by the devtool modify, extract and upgrade subcommands) ignored other recipe dependencies - so for example if you ran devtool modify on a recipe that fetches from svn or is compressed using xz then it would fail if those dependencies hadn't been built first. Now that we can execute tasks in the normal way (i.e. tinfoil.build_targets()) then we can rework it to use that. This is slightly tricky in that the source extraction needs to insert some logic in between tasks; luckily we can use a helper class that conditionally adds prefuncs to make that possible. Some side-effects / aspects of this change worth noting: * Operations are a little slower because we have to go through the task dependency graph generation and other startup processing. There's not really any way to avoid this though. * devtool extract didn't used to require a workspace, now it does because it needs to create a temporary bbappend for the recipe. (As with other commands the workspace be created on the fly if it doesn't already exist.) * I want any existing sysroot files and stamps to be left alone during extraction since we are running the tasks off to the side, and especially devtool extract should be able to be used without touching these. However, this was hampered by the automatic removal process in sstate.bbclass triggered by bb.event.ReachableStamps when the task signatures change, thus I had to introduce a way to disable this removal on a per-recipe basis (we still want it to function for any dependencies that we aren't working on). To implement this I elected to use a file written to tmp/sstate-control which gets deleted automatically after reading so that there's less chance of stale files affecting future sessions. I could have used a variable but this would have needed to be whitelisted and I'd have to have poked its value in using the setVariable command. Fixes [YOCTO #11198]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-09-13python*native.bbclass: suppress user site dirsMartin Kelly
Currently, $HOME/.local is being added into sys.path for the native Python, causing subtle host contamination. Suppress this by exporting PYTHONNOUSERSITE = "1" as documented in PEP 370. Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13goarch.bbclass: set ARM_INSTRUCTION_SET to "arm"Matt Madison
Go does not play well with thumb, so ensure that the toolchain and any packages use arm, not thumb, instructions. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: Add ptest supportOtavio Salvador
This adds ptest support for Go packages so its unittest content is packaged and integrated onto the test framework. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: Add "ldflags" to QA skip listOtavio Salvador
Currently every Go package will end with GNU_HASH in the ELF binary however adding it to every recipe is cumbersome so instead we handle that here. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: add support linking against shared runtimeMatt Madison
For architectures that support it, use the -linkshared build option to build packages against the shared Go runtime. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13goarch.bbclass: identify archs with Go dynamic linking supportMatt Madison
Go only supports shared libraries for some architectures, so add a variable for use elsewhere that gets a non-null value only for those architectures. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13insane: consider INSANE_SKIP without package-specifier tooRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13insane: don't pass skip list to functions which don't respect itRoss Burton
When these functions are being called INSANE_SKIP has already been taken into account, so don't confuse the code by passing the skip list. Signed-off-by: Ross Burton <ross.burton@intel.com>