summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2017-05-30classes/test{export,images}: Change modules to listAníbal Limón2
With the new filters by <module>.[class].[testname] the modules arg is expected to be a list so use split into TEST_SUITES variable. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30oeqa/sdk: Enable usage of OEQA thread modeAníbal Limón1
oeqa/sdk/context.py - Use OETestContextThreaded. classes/testsdk.bbclass - Enable bb event thread mode to avoid corrupt the PIPE when multiple threads writes. [YOCTO #11450] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30oeqa/core: Move OETestContext.log{Summary, Details} into OETestResultAníbal Limón2
Those methods are used to write in the log the results so it makes sense to have defined at OETestResult because is a format of the result itself. [YOCTO #11450] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30testsdk.bbclass: Remove unused import of OEStreamLoggerAníbal Limón1
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30module.bbclass: Add devshell supportStefan Wiehler1
Adds development shell support for out-of-tree kernel modules by reproducing the build environment of the compile task. Signed-off-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30package_ipk: correct ipk multiline descriptionsLeonardo Sandoval1
Empty descriptions lines are set with a space following by a dot and the multiline ones require a leading space. Also, for non-empty lines, there is no need for formating with textwrap, so remove the logic for the latter. The documentation for multiline description was taken from [1]. [1] https://web.archive.org/web/20100727133051/http://handhelds.org:80/moin/moin.cgi/BuildingIpkgs [YOCTO #10677] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-25systemd-boot.bbclass: Add configuration data to secondary EFI partitionCalifornia Sullivan1
The secondary EFI partition is used when booting in EFI mode, and without the configuration data we don't get any boot targets. Partial fix to [YOCTO #11503]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-25kernel: predefine KBUILD_BUILD_USER and KBUILD_BUILD_HOSTJoshua Lock1
By exporting KBUILD_BUILD_USER with a pre-defined value we improve the reproducibility of the kernel and remove the requirement for whoami in the HOSTTOOLS. KBUILD_BUILD_HOST also helps improve the reproducibility of the kernel. For more kernel reproducibility options see: https://lwn.net/Articles/437864/ Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-23systemd-boot: create output dir if it doesn't existEd Bartosh1
build_efi_cfg function creates configuration files for systemd-boot entries in 'S' directory. This directory may not exist when api is called, which breaks the build. Creating the directory if it doesn't exist should fix this issue. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-23cmake.bbclass: use `cmake --build` to build & installCody P Schafer1
Rather than presuming `make` is the generator, use cmake's generic `cmake --build` feature (which knows to call the appropriate generator). Both DESTDIR and VERBOSE still behave as intended when used as environment variables instead of make variable-arguments. As cmake-based builds don't do any configuration with `make` invocations, we only pass `PARALLEL_MAKE{,INST}` (via a EXTRA_OECMAKE_BUILD variable) to the underlying build tool. Make & ninja support the same `-j N` option (and a few others), so this does happen to work for both. This makes it more straight forward for others to select other cmake generators (many folks have been reaching for `ninja` lately). CC: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18cve-check.bbclass: make warning contain CVE IDsChen Qi1
When warning users about unpatched CVE, we'd better put CVE IDs into the warning message, so that it would be more straight forward for the user to know which CVEs are not patched. So instead of: WARNING: gnutls-3.5.9-r0 do_cve_check: Found unpatched CVE, for more information check /path/to/workdir/cve/cve.log. We should have: WARNING: gnutls-3.5.9-r0 do_cve_check: Found unpatched CVE (CVE-2017-7869), for more information check /path/to/workdir/cve/cve.log. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18archiver: avoid archiving source for glibc-localeZhenbo Gao1
Avoid archiving source for glibc-locale as its tasks do_fetch do_unpack and do_patch have already been deleted. Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18archiver.bbclass: do not cause kernel rebuildsPatrick Ohly1
Adding or removing archiver.bbclass from a build configuration causes rebuilds of linux-yocto-based kernels because of the do_kernel_configme->do_unpack_and_patch task dependency. This particular dependency can be ignored for the do_kernel_configme sstate signature calculcation. Idea for the fix from Richard Purdie. Note that building the kernel and adding archiver.bbclass later to archive sources leads to do_unpack_and_patch running after do_kernel_configme (because that already ran in the first build), which might be problematic. This is independent of the change here. The use case in YOCTO #11441 is to removed archiver.bbclass between a production build with archiving enabled and builds via oe-selftests without archiving. That direction is fine. Fixes: YOCTO #11441 Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18archiver.bbclass: various fixes for original+diff modePatrick Ohly1
The diff.gz gets created in do_unpack_and_patch, but do_deploy_archives did not depend on it, so there was a race condition. For example, "bitbake linux-intel:do_deploy_archives" without a prior "bitbake linux-intel:do_kernel_configme" did not deploy the diff.gz. When do_unpack_and_patch ran first, it failed because the output directory didn't exist yet and the error was not detected because the result of the diff command wasn't checked. Changing the current working directory in create_diff_gz() without returning to the original directory caused warnings like this: WARNING: linux-intel-... do_unpack_and_patch: Task do_unpack_and_patch changed cwd to .../tmp-glibc/work-shared/intel-corei7-64 Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-18archiver.bbclass: enhance do_ar_recipe task signaturePatrick Ohly1
Previously, do_ar_recipe ran again unnecessarily when adding or removing classes like buildhistory.bbclass, because that changes the BBINCLUDED variable which do_ar_recipe uses to find .bbappend files. This is both extra work and also sometimes triggered "basehash changed" errors (seen under oe-selftest, which adds machine.inc and bblayers.inc) because BBINCLUDED is special and does not cause the basehash to be recalculated. The file *content* already was not considered in the task signature, instead relying indirectly on PF (which includes the revision assigned by a PR server) to ensure that a new versioned source archive gets created each time there is a rebuild. Therefore it makes sense to use the same mechanism and also ignore the file *list*, i.e. exclude BBINCLUDED from the task signature. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16rpm: allow arch-dependent binaries in noarch packagesNg Wei Tee1
This is needed for packages like linux-firmware which have a legitimate reason for it. Oe-core has a separate package_qa test for this situation, so any accidental inclusions of such binaries will still be caught. [YOCTO #11329] Signed-off-by: Ng Wei Tee <wei.tee.ng@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16rootfs-postcommands.bbclass: Check if "/etc/fstab" existsPanagiotis Tamtamis1
Using "read-only-rootfs" feature in minimal or special purpose images (eg mounted images) makes build to fail because ${IMAGE_ROOTFS}/etc/fstab file does not exist. Signed-off-by: Panagiotis Tamtamis <panagiotis.tamtamis@unify.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16cmake.bbclass: remove unneded cd ${B}Cody P Schafer1
The default dir for do_compile & do_configure is already ${B}, no need to cd (other than broken appends) CC: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16image.bbclass: allow override of image LICENSEPascal Bach1
Currently the LICENSE of every image is hard set to MIT. This allows this to be overriden in derived images. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-16image.bbclass: Set ROOTFS_RO_UNNEEDED correctlyDavid Vincent1
Use a weak assignment for ROOTFS_RO_UNNEEDED to let users define their own list overriding defaults. Signed-off-by: David Vincent <freesilicon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-12useradd: Create lib/oe/useradd function libraryRichard Purdie1
The code in useradd-staticids is generally useful for user addition functionality but is not reusable in its current form. Refactor the code into a set of library functions. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-12populate_sdk_ext: Avoid build failures where sstate was usedRichard Purdie1
If sstate was used to populate the build and one of the universal-4.8 or universal-4.9 mirror urls was used, the sstate checks during eSDK construction could fail as it would zero out the SSTATE_MIRRORs variable. Use the same mirrors variable setting as the eSDK would end up using to perform the checks to avoid this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-12base: Simplify BASEDEPENDS constructionRichard Purdie2
This code dates from distant times before we had class overrides. The comments are also rather stale. Rewrite this code using class overrides which makes it safer, more modern and more easily understandable. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11package_ipk/deb: Tweak functions for better cleanup and layoutRichard Purdie2
This uses more modern formatting to handle the lockfiles and control file cleanup with try/finally, taking advantage of the previous extra indentation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11package_deb: Split do_package_write_deb into two functionsRichard Purdie1
This prepares the way to parallelise deb generation and splits the iteration over packages and the package generation into separate functions. Whitespace indentation is unchanged deliberately and is fixed in a followup patch. There should be no functional change. Some checks on variables are removed as they were pointless when you looked at the code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11package_ipk: Split into two functionsRichard Purdie1
This prepares the way to parallelise ipk generation and splits the iteration over packages and the package generation into separate functions. Whitespace indentation is unchanged deliberately and is fixed in a followup patch. There should be no functional change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11staging: Allow BB_LIMITEDDEPS to avoid BB_TASKDEPDATARichard Purdie1
In the limited dependency case we don't use any of the data from BB_TASKDEPDATA. Restructure the code so this variable doesn't have to be set. This allows the function to be called from other contexts without creating artificial constructs. There should be no functional change, behaviour remains unchanged. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11sstate: Ensure native/cross recipes have relocation of HOSTTOOLS_DIRRichard Purdie1
The previous change to relocate HOSTTOOLS wasn't complete as some files, particularly in gcc stashed build directories were not being correctly relocated. This patch addresses the issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10classes/image_live: allow different filesystems to be used for live imagesMing Liu1
The idea is copied from commit df0b217f3df2c36a32e5c4afaec36a28bfc77bbb: [ classes/image_vm: allow different filesystems to be used for VM images ] The same logic should apply to image_live.bbclass, to allow other filesystems to be used vs just ext4. The default value of ext4 is kept so there is no functional change unless LIVE_ROOTFS_TYPE is set in the inherting recipe. Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-10GNU_MIRROR: switch from ftp to httpsMaxin B. John1
Based on the same reason behind DEBIAN's switch from ftp: https://www.debian.org/News/2017/20170425 Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10DEBIAN_MIRROR: switch from ftp to httpMaxin B. John1
All public-facing debian.org FTP services will be shut down on November 1, 2017 The mirrors should just be accessed using HTTP instead. https://www.debian.org/News/2017/20170425 Fixes [YOCTO #11413] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10useradd: remove preinst script referring to recipe sysrootMaxin B. John1
Remove recipe-specific-sysroot details from the preinst scripts generated by useradd.bbclass. This was added to match the default from bitbake.conf. Unlike the default case, the dependencies used by useradd mean that a default passwd/group file is always present. This means we don't need the native sysroot fallback. Fixes [YOCTO #11460] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10useradd.bbclass: Handle COMPONENTS_DIR when restoring statePeter Kjellerstedt2
The export of PSEUDO in useradd_sysroot() contains references to ${COMPONENTS_DIR}. These need to be handled when restoring postinst-useradd-${PN} from the sstate cache. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-componentsPeter Kjellerstedt2
The path to where to install and find the sysroot components is used in many places. This warrants it to get its own variable. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-01sstate.bbclass, staging.bbclass: Handle HOSTTOOLS_DIR when restoring statePeter Kjellerstedt2
Paths to host tools that have been copied to ${HOSTTOOLS_DIR} may end up in the sstate cache. They thus need to be corrected when restoring from the sstate cache. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-01bitbake.conf: Add HOSTTOOLS_DIR for ${TMPDIR}/hosttoolsPeter Kjellerstedt1
The path to where to install and find the tools copied from the host environment is already used in a couple of places. This warrants it to get its own variable. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-29package_deb.bbclass: Avoid writing empty custom fieldsAndreas Oberritter1
Avoids parser errors if PACKAGE_ADD_METADATA_DEB is set to an empty value. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-29package_deb.bbclass: Fix multi-line package descriptionsAndreas Oberritter1
In deb control files, each line of a long description starts with a single space. Empty lines are represented by a single space followed by a single full stop character. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-28cmake.bbclass: use weakest ??= assignment for default OECMAKE_SOURCEPATHAndre McCurdy1
Make it slightly easier to support situations where the default path needs to be over-ridden more than once. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-28cmake.bbclass: Do not use bitbake variable syntax for shell variablesPeter Kjellerstedt1
Using bitbake variable syntax (i.e., ${FOO}) for shell variables is bad practice. First of all it is confusing, but more importantly it can lead to weird problems if someone actually defines a bitbake variable with the same name as the shell variable. Also use lower case for local shell variables. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-28kernel-yocto/kern-tools: fix do_validate_branches clean stageBruce Ashfield1
It was reported that do_validate_branches was failing with the following error: Log data follows: | DEBUG: Executing shell function do_validate_branches | HEAD is now at fe0fb8d Merge tag 'v4.10.9' into standard/base | mkdir: cannot create directory .: File exists | | [ERROR] Can't find patch dir at ./patches/standard/base | usage: kgit s2q | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_validate_branches This was triggered by the execution of 'kgit-s2q --clean' after forcing the SRCREV to something other than the tip of the branch. --clean is being run to remove any sentinel files from previous kernel builds to ensure that the tree is in a consistent state. There were two bugs, --clean was being executed and not exiting the script as it was supposed to. Hence validation for applying patches was done, and threw the error that eventually makes it to the console. And the second bug is that since do_validate_branches actually calls kgit-s2q --clean, the dependency on kern-tools-native needs to be on that function (versus do_kernel_metadata which runs later). With the tweaked kern-tool + the dependency fix, we no longer see this error. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-28useradd-statids.bbclass: Add support for -P / --clear-password optionMark Hatle1
The commit 31dee7946340bf0f1e94e4e714191d3d6ca3bf6a added a new useradd and groupadd option to specify a clear text password. The parsing logic in the useradd-staticid class did not understand this new option. If the meta-skeleton examples were run with the class enabled an error would be generated, as an example uses the -P option. Note, the code has a check that we do not attempt to set both a crypt and clear text password. It is not allowed that these two options are set at the same time, so we prefer the crypt option if they happen to be. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-21testimage.bbclass: add additional dependencybrian avery1
qemu-native-helper has an additional task that needs to be run in order for testimage to work. This task is usually run by default in a full build but there are use cases where it might be skipped. This commit adds the dependency explicitly. Also, this commit adds a try/catch error message to make it clearer what you need to do if you try to run testimage before you have built or downloaded the image artifacts. [YOCTO #11375] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-20qemuboot.bbclass: save relative paths in conf filebrian avery1
This saves relative paths in the qemuboot.conf file instead of absolute paths. This is to allow the images and kernels to be relocated and still have the testimage and runqemu work. [YOCTO #11375] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-20rootfs-postcommands.bbclass: save relative pathsbrian avery1
We pass the TOPDIR to do a search/replace in export2json so that we save relative paths in the testdata.json file rather than absolute paths. This is to allow the images and kernels to be relocated yet still allow testimage to work. [YOCTO #11375] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-20kernel-arch.bbclass: conditional error messageJuro Bystricky1
The single purpose of "map_kernel_arch" is to set export ARCH = "some-arch" The case when "some-arch" is not a valid Linux architecture results in an error. This makes sense if the TARGET_OS is Linux, but that is not always the case. kernel-arch is also inherited by toolchain-script, which may be used to build toolchains for architectures not supported by Linux. Rather than modifying toolchain-script to provide its own version of "map_arch" this patch bypasses the error if the TARGET_OS is not linux. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-20package_rpm.bbclass: Dosen't filter Conflicts if found in ProvidesAníbal Limón1
This filter was add to make compilence with debian packaging but in package_deb.bbclass is allowed to have the same values in Conflicts and Provides. With this filtering errors in recipe meta-data are hidden and could end on install two packages that conflicts [2]. Reviewing the RPM spec from Fedora doesn't have anything that denies to use the both Conflicts and Provides with the same value [3], also in debian manual section 7.6.2 of [4] this behaviour is allowed to force the removal of the conflicted package and RPM is compilence with this behaviour after remove the filtering this is seen [5]. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=4b611b66743a5ec220aef34d796af63029bb5fd9 [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9349#c9 [3] https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html [4] https://www.debian.org/doc/debian-policy/ch-relationships.html [5] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9349#c12 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-19classes/populate_sdk_ext: work around runqemu behaviour within the eSDKPaul Eggleton1
Currently, in order to figure out variable values when run within the eSDK, runqemu does not use the standard SDK method nor is it able to run bitbake (since the eSDK environment isn't initialised like the normal OE build environment). runqemu really ought to be fixed, but the quick workaround is to set DEPLOY_DIR_IMAGE in the environment so that runqemu can find image files. Fixes [YOCTO #10447]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-19cmake.bbclass: Set CMAKE_CROSSCOMPILING correctlyKyle Russell1
If CMAKE_SYSTEM_NAME is defined, CMake assumes we're cross-compiling, which is not necessarily the case. Signed-off-by: Kyle Russell <bkylerussell@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-19pixbufcache.bbclass: update postinst script nameMaxin B. John1
The name of postinst scripts created by pixbufcache class contains "useradd" in it. Remove it to avoid confusion. As suggested by RP. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>