summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* insane.bbclass: add package specific skips to sstate hashMichael Ho2018-12-141-0/+7
| | | | | | | | | | | | | | | | | The bbclass currently adds INSANE_SKIP to the sstate hash dependencies however the package specific skips such as INSANE_SKIP_${PN} are not added automatically because of how the class references them. This causes the problem that modifying INSANE_SKIP_${PN} does not invalidate the sstate cache and can mask build breaking warnings. Add an anonymous python snippet to explicitly include these additional relevant skips to the sstate hash. Singed-off-by: Michael Ho <Michael.Ho@bmw.de> (From OE-Core rev: 8690332183f10a5e5689da7ec030567dfd1ac091) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: append includedir to implicit include dirsMichael Ho2018-12-141-0/+4
| | | | | | | | | | | | | This resolves issues with paths being marked as system includes that differ from /usr/include but are considered implicit by the toolchain. This enables developers to add directories to system includes to supress compiler compiler warnings from them. (From OE-Core rev: 9c2227d5d960f93e00791157354f0c920fbecf39) Signed-off-by: Michael Ho <Michael.Ho@bmw.de> Cc: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: BPF objects may mismatch in endianness and bitness tooKhem Raj2018-12-131-2/+2
| | | | | | | | | | | | | This ensures that bitness and endianness is ignored for BPF objects Fixes QA issues like Bit size did not match (32 to 64) kernel-selftest on /work/qemumips-yoe-linux/kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/bpf/test_btf_nokv.o (From OE-Core rev: 26722e59ca5df14bd90fc09306d97ff0fd078f32) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: map mips64el TARGET_ARCH to mips64 for the cross fileAndrea Adami2018-12-081-0/+2
| | | | | | | | | | Meson uses 'mips64' for both big- and little-endian MIPS64 machines, so map mips64el to mips64. (From OE-Core rev: 8d1023f222f32ef64d37c3cb15b7dcf9c3e5990d) Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-sign.bbclass: fix signature and deploymentRobert Yang2018-12-082-44/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed: MACHINE = "beaglebone-yocto" KERNEL_CLASSES += "kernel-fitimage" KERNEL_IMAGETYPE_beaglebone-yocto = "fitImage" UBOOT_MACHINE_beaglebone-yocto = "am335x_boneblack_vboot_config" UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000" UBOOT_SIGN_KEYDIR = "${TOPDIR}/conf" UBOOT_SIGN_KEYNAME = "dev" UBOOT_SIGN_ENABLE = "1" IMAGE_INSTALL_remove = "kernel-image-zimage" $ cd conf $ openssl genrsa -F4 -out dev.key 2048 $ openssl req -batch -new -x509 -key dev.key -out dev.crt $ cd ../ $ bitbake u-boot linux-yocto $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto-2018.07-r0.dtb matches Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto.dtb matches Binary file tmp/deploy/images/beaglebone-yocto/u-boot.dtb matches And there would be no signature info when rebuild from sstate: $ bitbake u-boot linux-yocto -cclean $ bitbake u-boot linux-yocto $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb No result This s because kernel directly edit ${DEPLOY_DIR_IMAGE}/u-boot.dtb, (Note, it is global ${DEPLOY_DIR_IMAGE}, not recipe's DEPLOYDIR), so that the modified info is not in sstate, and would be lost when rebuild from sstate. There are other problems in previouse code: - The u-boot.dtb is provided by u-boot, but edited by kernel during signing, so it should be deployed by kernel rather than u-boot. - The u-boot.do_concat_dtb directly install files to global ${DEPLOY_DIR_IMAGE}, this is incorrect, the ${DEPLOY_DIR_IMAGE} should be installed by do_deploy. - It seems that it assumes do_deploy depends on do_install according the comments, but they have no relationships: # do_concat_dtb is scheduled _before_ do_install as it overwrite the # u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR. - The do_concat_dtb should be run after do_compile, but it doesn't have this dependency. Make u-boot install u-boot.dtb to ${datadir}, kernel copies u-boot.dtb from ${STAGING_DATADIR} to ${B} and deploy it can fix the problem. [YOCTO #12112] Reported-by: Christian Andersen <c.andersen@kostal.com> (From OE-Core rev: 493f70cfb177f1d452a13329647a38642bf2b161) 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: don't assign the build user/hostFederico Sauter2018-12-081-2/+2
| | | | | | | | | | | | | | The KBUILD_BUILD_USER and KBUILD_BUILD_HOST variables were assigned at the kernel class level, which made it impossible to override them in the local configuration. By setting only the default values of those variables in the kernel class, it is now possible to override them as expected. (From OE-Core rev: a3e8cdf9c3ba966fa4b5a21235540eb0b00fb487) Signed-off-by: Federico Sauter <federico.sauter@ableton.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-buildinfo: Remove unused function argumentJoshua Watt2018-12-081-4/+2
| | | | | | | | | | Removes the listvars argument to image_buildinfo_outputvars(). It doesn't appear that this argument ever did anything. (From OE-Core rev: 66ff9408291f3df98e8a6cb3e6e348d7ec8f401d) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Replace tabs with spaces in pythonAlex Kiernan2018-12-081-3/+3
| | | | | | | | | | | Fix: WARNING: python should use 4 spaces indentation, but found tabs in kernel-fitimage.bbclass, line 24 (From OE-Core rev: 4ec42465e9df8cef20a97be11243726aa7dfb8c1) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Correctly markup regex stringsRichard Purdie2018-12-085-19/+19
| | | | | | | | | There are various escape characters in these stings which python warns about so use the correct regex markup for them. (From OE-Core rev: 252b69c9f2abe3258366c540f56b156ed63e5437) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: respect PACKAGE_NO_GCONVKai Kang2018-12-051-0/+5
| | | | | | | | | | | | | | | It installs locale-base-* packages according to var IMAGE_LINGUAS. Packages locale-base-* are split in libc-package.bbclass if variable PACKAGE_NO_GCONV is not set. When none of ditro features libc-charsets libc-locales and libc-locale-code is set, PACKAGE_NO_GCONV is set. Then no locale-base-* is created and fails to create image. Clear IMAGE_LINGUAS in such situation. (From OE-Core rev: 85240094175a8ea726bfba19c00d4556a62862fc) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: fix installed-vs-shipped qa issueKai Kang2018-12-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Variable PACKAGE_NO_GCONV is set in libc-package.bbclass when none of libc-charsets, libc-locales and libc-locale-code set in DISTRO_FEATURES. Then it causes installed-vs-shipped qa issue of glibc-locale: | ERROR: glibc-locale-2.28-r0 do_package: QA Issue: glibc-locale: | Files/directories were installed but not shipped in any package: | /usr/share/i18n | /usr/share/i18n/charmaps | /usr/share/i18n/locales | /usr/share/i18n/charmaps/CP737.gz | ... | /usr/share/i18n/locales/ru_RU | ... | /usr/lib64/gconv/gconv-modules | Please set FILES such that these items are packaged. Alternatively if they | are unneeded, avoid installing them or delete them within do_install. | glibc-locale: 843 installed and not shipped files. [installed-vs-shipped] So check PACKAGE_NO_GCONV during do_install and not copy those files if PACKAGE_NO_GCONV has been set. Simplify call of bb.utils.contains() in libc-package.bbclass as well. (From OE-Core rev: 39840ed10af559bbcc306b378baa4723921668f5) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/waf: Fix builds when B != SJoshua Watt2018-12-051-3/+5
| | | | | | | | | | | | | | | Waf requires that the current working directory be ${S} (the location of the wscript) when building. Most of the time, this was true only because B defaults to S. However, anything that changed that behavior (notably, using externalsrc) would break the recipe. Remedy this by explicitly changing cwd to ${S} when running waf commands. As a happy side effect, B can be set up for "out of tree" builds to keep the source directory clean. (From OE-Core rev: 62dffb71ce22222c635bd90eaa47dd01f70f9c0f) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-sign.bbclass: Remove tab indentations in python codeRobert Yang2018-12-051-10/+10
| | | | | | | | | Use 4 spaces to replace a tab. (From OE-Core rev: 790828a65316fee57cd7659ad8b7544de5d2610c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/icecc.bbclass: Fix ccache disableJoshua Watt2018-12-051-1/+1
| | | | | | | | | | The ccache disable flag was misspelled, preventing it from being disabled. (From OE-Core rev: 33fba601a7365aced9f4b206c1fadda997076d4c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Clarify GNU_HASH warningRoss Burton2018-12-051-1/+1
| | | | | | | | | | | We have a fatal error if ELF objects don't have GNU_HASH segments but it doesn't explain what the problem is. At least give a hint to users by suggesting that LDFLAGS wasn't passed to the compiler. (From OE-Core rev: 5d4da6713b40e10e853eb746f700096307ffe158) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gobject-introspection.bbclass: add libdir to XDG_DATA_DIRSAlexander Kanavin2018-12-051-1/+1
| | | | | | | | | | Otherwise .gir files installed in the sysroot will not be found when multilib is in use (multilib configurations use libdir rather than datadir). (From OE-Core rev: cfae171964ba85298d883e70635324a33b8539ac) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/update-alternatives: Skip alternatives when disabledJoshua Watt2018-12-031-5/+22
| | | | | | | | | | | | | | | | | | | | | | Skips the update alternative steps for recipes that shouldn't have them enabled. Fixes errors like: nativesdk-bzip2-1.0.6-r5 do_package: bzip2: alternative target (/opt/poky/2.5+snapshot/sysroots/i686-pokysdk-mingw32/usr/bin/bunzip2 or /opt/poky/2.5+snapshot/sysroots/i686-pokysdk-mingw32/usr/bin/bunzip2.bzip2) does not exist, skipping... When building mingw SDKs [YOCTO #12962] (From OE-Core rev: d11576f569ee618a8e638eee3b1f17bf8a9d4264) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: Optionally strip build host tool info from installed filesDouglas Royds2018-12-031-0/+5
| | | | | | | | | | | | | | | | Several packages (eg. acl, attr, openssl) install Makefiles or other build host configuration files for ptest so that they can run `make check`, for instance. These build host files commonly include paths and versions of build host tools, (eg. rpm or perl) whose presence and version depends on the build host distro. Optionally strip lines from installed PTEST_BUILD_HOST_FILES using an extended regex pattern defined in PTEST_BUILD_HOST_PATTERN. This has no effect on the on-target ptest. (From OE-Core rev: a3b657470eeea9f1954bc3a3e593a5c4907b6f17) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: Reproducibility: Strip build host paths from any installed MakefileDouglas Royds2018-12-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A common pattern for ptest is to install a Makefile that provides a make check target. These generated Makefiles are normally full of build host paths, to hosttools, and to files and scripts within the source or build tree. They also commonly include the CFLAGS and CPPFLAGS. None of these build host paths can possibly work on-target, so stripping them has no effect on the success of the resulting ptests. Stripping the HOSTTOOLS_DIR has this effect, for instance: -MKDIR_P = /home/douglas/workspace/upstream/build/tmp/hosttools/mkdir -p +MKDIR_P = mkdir -p The curious WORKDIR/*= pattern avoids non-parseable -fdebug-prefix-map patterns in the CFLAGS by adding an arbitrary ".", eg: -fdebug-prefix-map=.=/usr/src/debug/rsyslog/8.37.0-r0 In all other cases, we simply remove the WORKDIR, eg: CPP = arm-tait-linux-gnueabi-gcc -E --sysroot=recipe-sysroot ... (From OE-Core rev: 137e38dbae42e9d4d413cd2f9460fb707ca77f9c) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binconfig: only try to mangles filesRoss Burton2018-12-011-3/+3
| | | | | | | | | | If a file matches the glob that is an absolute symlink then sed will try to alter files on the host, so restrict the search to just actual files. (From OE-Core rev: 5556b5ca9efac132754bd82af52a0f68bc4ce85a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION = "0"Alexander Kanavin2018-12-011-8/+2
| | | | | | | | | [YOCTO #13028] (From OE-Core rev: f630da64b010795482e013362c3fe184dcbd8d25) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: use cpio-native to build cpio imagesRoss Burton2018-12-011-0/+1
| | | | | | | | | | | | | | | | | As per the previous commit, upstream cpio has a bug which means it crashes on append. If the image being built has already had testimage ran then cpio-native will be in the sysroot. It's also possible that some distributions are shipping this broken CVE patch too. Now that our cpio-native is fixed, until we can be sure that the host cpio isn't broken depend on cpio-native if building a cpio image. [ YOCTO #13042 ] (From OE-Core rev: c3b9aedcbe538d7fa74bd814644b4899769dec46) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_script: fix packages splitKai Kang2018-11-271-1/+3
| | | | | | | | | | | | | | | | | | | | | In multilib_script.bbclass it renames script file which listed in MULTILIB_SCRIPTS. It may mix up packages split. Take package curl as example, ${bindir}/curl-config is packaged to curl-dev originally. But it is renamed to curl-config-${MULTILIB_SUFFIX} and packaged to curl when multilib is enabled. And expand 'pkg' to fix QA warning: | WARNING: Variable key FILES_${PN}-dev ( | ${bindir}/curl-config-${MULTILIB_SUFFIX}) replaces original key | FILES_curl-dev (${includedir} ${FILES_SOLIBSDEV} ... ${bindir}/*-config) Insert a necessary space to the argument 'value' of d.appendVar() as well. (From OE-Core rev: 841bcbe429dcab54de3b89a927394750f9ccae60) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver.bbclass: Fix COPYLEFT_LICENSE_{IN, EX}CLUDEAdrian Bunk2018-11-271-3/+0
| | | | | | | | | | Setting them to empty before inheriting copyleft_filter made them not getting their documented values there. (From OE-Core rev: ee1f86ca7affc65265f219f0718f89406c9181a5) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: fix a wrong position blankMing Liu2018-11-271-1/+1
| | | | | | | | | | | | | A flaw was introduced by commit c5fa6034: [ image.bbclass: use prependVarFlag for postfuncs ] it changed to use prependVarFlag instead of appendVarFlag, then the blank also needs change to adapt it. (From OE-Core rev: 6085023158ffbfbaf0f3d65ef18054c003d3f463) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Only remove sstate file when task is existedRobert Yang2018-11-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can improve the performance a lot for "bitbake <recipe-native/cross/crosssdk> -ccleansstate" when there are a lot of sstate files. For example: * Before $ bitbake quilt-native -ccleansstate - Check log.do_cleansstate: Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_package.tgz* Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_package_qa.tgz* Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_package_write_rpm.tgz* Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_packagedata.tgz* Removing /sstate-cache/*/sstate:quilt-native::0.65:r0::3:*_populate_lic.tgz* Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz* There are no package tasks for quilt-native, so the first 4 lines doesn't make any sense, but the glob pattern "sstate-cache/*/*" is very time consuming when there are no disk caches. E.g., I have more than 600,000 sstate files: - Without disk caches # echo 3 >/proc/sys/vm/drop_caches $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_package.tgz*")' real 4m32.583s user 0m5.768s sys 0m12.892s - With disk caches (e.g., run it in the second time) $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_package.tgz*")' real 0m5.128s user 0m2.772s sys 0m2.308s So the 4 removing *package* commands cost more than 20s or 272s in theory. * After $ bitbake quilt-native -ccleansstate - Check log.do_cleansstate: Removing /sstate-cache/*/sstate:quilt-native::0.65:r0::3:*_populate_lic.tgz* Removing /sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz* We can see that it saved 20s or 272s in theory. (From OE-Core rev: bb2d6349ea87f090c58001f0d4348b24c2982cde) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bugzilla.bbclass: Remove it since obsoletedRobert Yang2018-11-231-187/+0
| | | | | | | | | | | It is a still python2 bbclass, so it has been broken since bitbake changed to python3 which was 2 years ago. No one reported/fixed it for python3 in recent 2 years. So we can assume that no one uses it anymore. (From OE-Core rev: 7f6da5fb54cbcf8e358e988382f45839a8b80019) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Remove tab indentations in python codeRobert Yang2018-11-234-14/+14
| | | | | | | | | Use 4 spaces to replace a tab. (From OE-Core rev: 55eaf8779170b9396e94dc4a44667824c4f36363) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: Reproducibility: Take control of umaskDouglas Royds2018-11-231-0/+1
| | | | | | | | | | The build host umask was leaking into the thing-ptest packages at do_install_ptest() time. (From OE-Core rev: 891343e8ba6490ca3e1876c892269b611ddc7877) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: Add mkenvimage toolAlexey Brodkin2018-11-233-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This utility is used for creation of images containing usable in run-time U-Boot environment. As of today this utility is added per-board like here [1] for Intel Edison board. [1] http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot-tools_2014.04.bb Given there're quite some U-Boot tools that we may want to add later this recipe name switch from "u-boot-mkimage" to generic "u-boot-tools" still for compatibility we provide "u-boot-mkimage" with help of PROVIDES as well as proposed "u-boot-mkenvimage". (From OE-Core rev: 314885b16e5d26d27d46a4bfb0d581b27a03b8fe) Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Martin Jansa <martin.jansa@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Marek Vasut <marex@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Don't look for youngest file when no source tarballDouglas Royds2018-11-231-5/+8
| | | | | | | | | | | | | | | | | | | Some packages (eg. init-ifupdown) take their source files entirely from openembedded-core, that is, they download no source tarball. These recipes either don't use S at all (ie. it is empty at unpack time), or they set S = WORKDIR (as in init-ifupdown). Looking at the file timestamps in the WORKDIR causes a non-reproducible SOURCE_DATE_EPOCH, as files taken from file:// URIs do not have reproducible timestamps. If S == WORKDIR, we are better to assume that there is no source tarball, and to fall back to a fixed timestamp for the SOURCE_DATE_EPOCH. This makes the init-ifupdown build reproducible. (From OE-Core rev: d395bad0179037eb5d0fa4d921985c87ae13f3a4) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Refactor: Break out fixed_source_date_epoch() functionDouglas Royds2018-11-231-4/+5
| | | | | | | (From OE-Core rev: 4eb6def4fe82959c2a348142b9eada27d3354aef) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: set SSTATE_EXTRAPATHWILDCARD explicitlyRobert Yang2018-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glob.glob("/sstate/*/*/") is very time consuming, set SSTATE_EXTRAPATHWILDCARD explicity to avoid that. This can save a lot of time when there are many sstate files. For example, I have more than 600,000 sstate files: * Before - Without disk caches $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")' real 4m32.583s user 0m5.768s sys 0m12.892s - With disk caches $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")' real 0m4.111s user 0m2.348s sys 0m1.756s * After $ time python3 -c 'import glob; glob.glob("/sstate-cache.bak/universal/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")' - Without disk caches: real 0m7.928s user 0m0.172s sys 0m0.124s - With disk caches: real 0m0.131s user 0m0.088s sys 0m0.044s We can see that it saves about 3.8s with disk caches, and saves about 264s without disk caches. (From OE-Core rev: 8b31c919814b8bdf25b3381053656523c001ae0d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Add support for slirpYeoh Ee Peng2018-11-231-0/+5
| | | | | | | | | | | | Enable testimage to support qemu slirp. Configure "QEMU_USE_SLIRP" & "TEST_SERVER_IP" variables to enable slirp. [YOCTO#10713] (From OE-Core rev: 3df9ee85ce7fe52f0893fd33aea3bf1fcc6ead0a) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/icecc.bbclass: Update system blacklistsJoshua Watt2018-11-211-0/+8
| | | | | | | | | | Updates the system blacklists to include packages that are known to have problems compiling under icecream (From OE-Core rev: fc5418e7bbdecfb27bafe595084e0fd0f991a388) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/icecc.bbclass: Move system blacklist to variablesJoshua Watt2018-11-211-11/+20
| | | | | | | | | | | The system blacklists are moved to variables which are ignore when hashing. This prevents changes to the blacklists from causing all taskhashes to change (and thus rebuild). (From OE-Core rev: f5be9f6e9180ace3362bba52c7ced3b039441d7d) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testsdk: Split implementation into classesJoshua Watt2018-11-211-202/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Splits the SDK test implementation into configurable Python classes. The classes used for the normal and extensible SDKs are ${TESTSDK_CLASS_NAME} and ${TESTSDKEXT_CLASS_NAME} respectively. This allows SDK machines to override the classes used to implement the tests. For the traditional SDK, a common "run()" function is provided by the class (oeqa.sdk.testsdk.TestSDK), with several hook member functions that can be overridden in child classes, making it easier to have consistent behavior. The extensible SDK class (oeqa.sdkext.testsdk.TestSDKEXT) also has a common "run()" function, but no hooks have yet been added as there is not currently a known use case for create derived classes. These changes should be purely organizational; no functional changes have been made to either the standard SDK or extensible SDK tests. [YOCTO #13020] (From OE-Core rev: a06d53928b22d5f88276023c4d57b206db2f27f9) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Add check for WSLRichard Purdie2018-11-161-0/+11
| | | | | | | | | Users are starting to expect OE to work under WSL which it doesn't. Add a warning to tell them about this up front and manage expectations. (From OE-Core rev: 62fe04c2451f612b9ee5eba469c7724b63484499) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Enable autorunning of the package manager testsuitesRichard Purdie2018-11-161-3/+1
| | | | | | | | | Now that the hangs in httpservice are fixed we can let these tests auto skip as appropriate. (From OE-Core rev: 42a0d70291d551578e21f590fcb85ca72a78ccb5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage/testsdk/selftest: Avoid platform.distro_identifier deprecation ↵Richard Purdie2018-11-162-2/+2
| | | | | | | | | | warnings Use our own lsb function instead as used elsewhere by the codebase. (From OE-Core rev: acac45a6fd604d28ef7c23d67482af3d7e8bcfe3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: add a missing blankMing Liu2018-11-161-1/+1
| | | | | | | | | | | When calling d.appendVarFlag, a blank is needed or else it could mess up the later appended variables. Reported-by: Stefan Agner <stefan.agner@toradex.com> (From OE-Core rev: 8b2df6e5874b932b356847c5bde10d5b31d67213) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* module.bbclass: Add INSTALL_FW_PATH for out-of-tree modulesWes Lindauer2018-11-161-0/+1
| | | | | | | | | | | This same variable was added to the make line in kernel.bbclass in 0decf1cc1c35dd70f3b822e3b4291a810a319ba0. With the addition of the usrmerge feature, out-of-tree modules could use this same variable. (From OE-Core rev: 1d24d1ac5b9c772d84104396438e5d1308332785) Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons.bbclass: fix indentionAndreas Müller2018-11-141-4/+4
| | | | | | | (From OE-Core rev: ae12c5f86601a81f4208fd371ce8803464aedaa0) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons.bbclass: Force rebuild if necessaryAndreas Müller2018-11-141-1/+10
| | | | | | | (From OE-Core rev: dd462c3b3f449805e104be402b23fbfabcaefe8f) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image: Fix rootfs file ownership issues with COPY_LIC_DIRSRichard Purdie2018-11-141-4/+11
| | | | | | | | | | | | | We need to set ownership of the license files after copying into the rootfs. We also need to ensure we don't overwrite the rootfs files outside rootfs generation, hence only write there when the new rootfs function parameter is True. [YOCTO #12961] (From OE-Core rev: 6aa0eeaa4d31a440700f7695174de2a1dcc54866) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* locale: Allow usage of cross-localedef for ARCAlexey Brodkin2018-11-141-0/+2
| | | | | | | | | | With this it's possible to build locale data for ARC and not do it instead on the first boot. (From OE-Core rev: f13c303491dc8850126ea14baedc7b63b7b5ecf4) Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Further cleanup DEFAULT_TEST_SUITESRichard Purdie2018-11-141-3/+1
| | | | | | | | | Now the test markup of the development tools tests is complete, this can be further tweaked to auto run the correct tests. (From OE-Core rev: bd4f8d12fe1f9f2643ee9e68fa2bb981134294fb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Simplfy DEFAULT_TEST_SUITES logicRichard Purdie2018-11-141-23/+9
| | | | | | | | | | | | | | | | | | | | Now that the tests have correct markup to automatically determine which images they can run against, clean up the default test suites logic to be simpler and not image specific. Some cleanup of the compiler tests still needs to be completed but this is a good first step. The only downside to this is more noise during testing as we now see many skipped messages for simple images like core-image-minimal. The auto type is being removed since it currently breaks badly due to the socat mandatory inclusion from the meta-selftest layer which is a problem which needs to be addressed seperately. (From OE-Core rev: 4966bc33845752eb0aeae54b72e8ba0146a7ed52) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Remove duplicate dependenciesRichard Purdie2018-11-141-3/+1
| | | | | | (From OE-Core rev: 16d4368e7b85d5179374adb0a2d1ac215793e104) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Display name of licenses which caused SkipRecipeNathan Rossi2018-11-142-15/+19
| | | | | | | | | | | Display the name of the restricted licenses which caused the recipe to be skipped. This makes it easy to determine which license or licenses are missing and need to be checked and whitelisted. (From OE-Core rev: b71cd1ec45e247db688b784697829c1b485ca9ca) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>