summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* multilib.bbclass: fix qa warning of kernel-devicetreeKai Kang2019-11-291-4/+5
| | | | | | | | | | | | | | | | | | | | When kernel-devicetree is in RRECOMMENDS such as via variable MACHINE_EXTRA_RRECOMMENDS for some bsp, it shows QA warning of multilib: | WARNING: lib32-packagegroup-base-1.0-r83 do_package: QA Issue: | lib32-packagegroup-base package lib32-packagegroup-machine-base | - suspicious values 'kernel-devicetree' in RRECOMMENDS [multilib] Add kernel-devicetree to exceptions to fix the QA issue. Because there are already 3 kernel related criteria, simplify them by judging package names whether start with 'kernel-'. And also refactor to remove duplicate 'not'. (From OE-Core rev: 5e4504026c6358c7d5649843dc354247f5972558) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* do_image_cpio: Improve reproducibilityErnst Sjöstrand2019-11-271-1/+1
| | | | | | | | | | | Find lists files in the order that the filesystem has registered them, which can vary. Adding a sort should have minimal performance impact. Also use the --reproducible option to cpio. (From OE-Core rev: 930c1f69c928e21bda6bef7aad926d335195e107) Signed-off-by: Ernst Sjöstrand <ernst.sjostrand@verisure.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/cmake: Use relative RPATHsJoshua Watt2019-11-271-0/+3
| | | | | | | | | | | | | | | | In most cases, the RPATH is stripped out when the ELF file is packages, but by then the damage is done from a reproducible perspective because this absolute path is hashed as part of the build-id generated at link time ([1] has a good explanation). Fortunately, newer cmake has an option to generated relative RPATHs that use $ORIGIN to set the path, so set it in the toolchain file. [1]: https://gitlab.kitware.com/cmake/cmake/issues/18413 (From OE-Core rev: 44e77d3f97af4cd4ad8bc0984f093a116a830986) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging.bbclass: Fix wrong library paths in sysroot_stripJunling Zheng2019-11-271-2/+2
| | | | | | | | | | Do not reset libdir and base_libdir in sysroot_strip, and just pass crude paths as they will be reset later in strip_execs. (From OE-Core rev: eab7f448aa537539b45ee21df4ea25de97e60a7e) Signed-off-by: Junling Zheng <zhengjunling@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: Remove pointless comment to trigger rebuildRichard Purdie2019-11-221-1/+0
| | | | | | | | | | The opkg-utils change didn't trigger a full repackage due to its mention in layer.conf for update-alternatives hash exclusion. Do it manually to invalidate broken ipks. (From OE-Core rev: 6dd59dffd73618e4c0979b284a7968055a4eb8fb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Add check for tar older than 1.28Richard Purdie2019-11-221-1/+4
| | | | | | | | | | Older versions break opkg-build when reproducible builds are enabled. Rather than trying to be selective based on which features are enabled, lets just make this a minimum version. (From OE-Core rev: 0fdc43da005c3c6102cf07383ad6f451d2203fa5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: fetch CVE data once at a time instead of in a single callRoss Burton2019-11-211-10/+10
| | | | | | | | | | | | | | | | | This code used to construct a single SQL statement that fetched the NVD data for every CVE requested. For recipes such as the kernel where there are over 2000 CVEs to report this can hit the variable count limit and the query fails with "sqlite3.OperationalError: too many SQL variables". The default limit is 999 variables, but some distributions such as Debian set the default to 250000. As the NVD table has an index on the ID column, whilst requesting the data CVE-by-CVE is five times slower when working with 2000 CVEs the absolute time different is insignificant: 0.05s verses 0.01s on my machine. (From OE-Core rev: 53d0cc1e9b7190fa66d7ff1c59518f91b0128d99) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: neaten get_cve_infoRoss Burton2019-11-211-13/+5
| | | | | | | | | Remove obsolete Python 2 code, and use convenience methods for neatness. (From OE-Core rev: f19253cc9e70c974a8e21a142086c13d7cde04ff) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: rewrite look to fix false negativesRoss Burton2019-11-211-29/+34
| | | | | | | | | | | | | | | A previous optimisation was premature and resulted in false-negatives in the report. Rewrite the checking algorithm to first get the list of potential CVEs by vendor:product, then iterate through every matching CPE for that CVE to determine if the bounds match or not. By doing this in two stages we can know if we've checked every CPE, instead of accidentally breaking out of the scan too early. (From OE-Core rev: d61aff9e22704ad69df1f7ab0f8784f4e7cc0c69) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_features_check: expand with MACHINE_FEATURES and COMBINED_FEATURES, ↵Denys Dmytriyenko2019-11-212-30/+90
| | | | | | | | | | | | | | | | rename Besides checking DISTRO_FEATURES for required or conflicting features, being able to check MACHINE_FEATURES and/or COMBINED_FEATURES may also be useful at times. Temporarily support the old class name with a warning about future deprecation. (From OE-Core rev: 5f4875b950ce199e91f99c8e945a0c709166dc14) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: we don't actually need to unpack to checkRoss Burton2019-11-141-2/+1
| | | | | | | | | | The patch scanner works with patch files in the layer, not in the workdir, so it doesn't need to unpack. (From OE-Core rev: 2cba6ada970deb5156e1ba0182f4f372851e3c17) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext.bbclass: Make integrated buildtools optionalMark Hatle2019-11-141-14/+27
| | | | | | | | | | | | | | | | | | If the host system is expected to have enough capabilities that the buildtools-tarball is not required, we don't need to bundle it. This can save some significant space, especially when using with a minimal eSDK. minimal eSDK - core-image-minimal-qemux86-64 with buildtools-tarball - 34 MB installer - 281 MB installed without buildtoools-tarball - 11 MB installer - 48 MB installed (From OE-Core rev: e2b215054d11527a05210066b9bfd7d9a2054e01) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: fix "version went backwards" QA error messageDenys Dmytriyenko2019-11-141-1/+1
| | | | | | | | | | | | Fix parentheses placement in the message from: Package version for package X went backwards which would break package feeds from (Y to Z) to this one: Package version for package X went backwards which would break package feeds (from Y to Z) (From OE-Core rev: 3a5a61fb6b3f811bd4f7232ba902afcfd2019154) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: avoid empty incfile in ar_recipegrygorii tertychnyi2019-11-141-2/+3
| | | | | | | | | | | | | | | | | | | do_ar_recipe fails on perf recipe on line: include ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} 1. "${...}" part expands into empty string 2. bb.utils.which() takes empty string and returns first directory name from bbpath 3. shutil.copy() fails on copying directory: Exception: IsADirectoryError: [Errno 21] Is a directory: ...... Hence, check "incfile" variable on each step. (From OE-Core rev: 3b393da7d2d15de12e2a8a9c11591078b40b188a) Signed-off-by: grygorii tertychnyi <gtertych@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: improve textrel warning messageRoss Burton2019-11-141-1/+3
| | | | | | | | | | Clean the displayed path so it clearly shows the package name and path in that package. (From OE-Core rev: 46bf5f0db164e88c2effdbf5437f4d0836e4aadd) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Always include ldconfig fragmentAndreas Oberritter2019-11-111-3/+1
| | | | | | | | | | Now that ldconfig may get installed from a feed, use it when it's available on the target. (From OE-Core rev: 0f09f19dc48edf2ac50b554c18c217b7f97d4ae3) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Simplify logic for setscene promotionJacob Kroon2019-11-101-34/+15
| | | | | | | | | | | | * Instead of overwriting the stamp name with 'dummy', handle setscene promotion in the default case block * Merge '*do_image_complete_setscene*' and '*do_image_qa_setscene*' case handling (From OE-Core rev: 3fe6574c93a02e2e67d16e66f24be1053af383b7) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Promote do_image_qa stamps to setscene versionsJacob Kroon2019-11-071-0/+9
| | | | | | | | | | [ YOCTO #13212 ] Suggested-by: Romuald Jeanne <romuald.jeanne@st.com> (From OE-Core rev: 3d3bd7952cf4bf5c94e4d18b45a604b95b69e8c3) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add ability to hide summary output for sstateRichard Purdie2019-11-071-11/+12
| | | | | | | | | | Its confusing to keep seeing sstate summary messages when hash equivalency is active. This adds an option to control it. A default value is given which maintains compatibility with different bitbake versions. (From OE-Core rev: 038004866ff6650bcff7bb1bde36de6c0f451d29) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Handle files moving between dependenciesRichard Purdie2019-11-071-1/+15
| | | | | | | | | | | | | | | | | | Currently, if files move between recipes, do_prepare_sysroot can fail with a message like Exception: FileExistsError: [Errno 17] File exists: 'TMPDIR/sysroots-components/core2-64/libx11/usr/include/X11/extensions/XKBgeom.h' -> 'TMPDIR/work/core2-64-poky-linux/gtk+3/3.24.8-r0/recipe-sysroot/usr/include/X11/extensions/XKBgeom.h' This is because files are removed and then added per package. What needs to happen is all removes need to be processed, then all additions. This patch changes the code to process in two phases, removals first, then additions, which avoids the problem. (From OE-Core rev: e3e5ace6e68d5fe68e4add301a44c1a1b8607411) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: check for more bits of PythonRoss Burton2019-11-041-5/+7
| | | | | | | (From OE-Core rev: d3dfaf8acdb072fb26346d2568c47d8742ea4fed) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: failure to parse versions should be more visibleRoss Burton2019-11-041-2/+2
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: ensure all known CVEs are in the reportRoss Burton2019-10-311-2/+7
| | | | | | | | | | | CVEs that are whitelisted or were not vulnerable when there are version comparisons were not included in the report, so alter the logic to ensure that all relevant CVEs are in the report for completeness. (From OE-Core rev: 98256ff05fcfe9d5ccad360582c36eafb577c264) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: introduce FIT_SIGN_ALGRichard Leitner2019-10-311-1/+5
| | | | | | | | | | | make fitImage configuration signature algorithm selectable with FIT_SIGN_ALG. (From OE-Core rev: e24b27a2b49e97cec6153f2d642d17a901b8ba12) Signed-off-by: Richard Leitner <richard.leitner@skidata.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* IMAGE_LINGUAS_COMPLEMENTARY: auto-add language packages other than localesAndreas Müller2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | | This change allows layers adding packages other than locales automatically to images based on languages selected in IMAGE_LINGUAS. E.g if a layer has recipes creating packages as: | ${PN}-foo-en / ${PN}-foo-de / ${PN}-foo-it / .. it would set | IMAGE_LINGUAS_COMPLEMENTARY_append = " *-foo-%s" in its layer.conf to enable auto-adding. (From OE-Core rev: 3a9e9585aeb67234901b2f842113dbe20c3801b3) 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>
* kernel-devicetree: Cope with non-standard kernel deploy subdirectoryMike Crowe2019-10-231-10/+10
| | | | | | | | | | | | | | | | kernel.bbclass installs non-standard kernels (where KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}. To achieve this kernel_do_deploy sets the deployDir shell variable to ${DEPLOYDIR} for the standard kernel or ${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels. kernel-devicetree.bbclass's do_deploy_append ought to do the same and can do so by using the same shell variable. (From OE-Core rev: db5752911fe085337b9d3d4af85f89a0c664388e) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Cope with non-standard kernel deploy subdirectoryMike Crowe2019-10-231-9/+9
| | | | | | | | | | | | | | | | kernel.bbclass installs non-standard kernels (where KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}. To achieve this kernel_do_deploy sets the deployDir shell variable to ${DEPLOYDIR} for the standard kernel or ${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels. kernel-fitimage.bbclass's kernel_do_deploy_append ought to do the same and can do so by using the same shell variable. (From OE-Core rev: d324b22d32eaea9e4337c963c8b1a33b0ba6a2dd) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Use with to manage filehandle in do_spit_gconvsOla x Nilsson2019-10-231-8/+7
| | | | | | | | | | Tweak the write loop slightly to avoid dict lookups that can easily be done in the for loop. (From OE-Core rev: 35c65b7336c52c19810e3e9e87a36a8636ac4120) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool-source.bbclass: Use with to manage file handle lifetimeOla x Nilsson2019-10-231-5/+3
| | | | | | | | | Replace copy-and-if with a filtering list comprehension. (From OE-Core rev: eb763856be8da854d37c7d4b8e8d645ab1d3fa06) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Use with to manage file handle lifetimesOla x Nilsson2019-10-231-42/+34
| | | | | | | (From OE-Core rev: e90978056c4b49e138b3d422939bf995829ec3b0) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* report-error.bbclass: Use with to control file handle lifetimeOla x Nilsson2019-10-231-6/+2
| | | | | | | (From OE-Core rev: ab108dfc690fb95b66f1c6243ff165f0849fa2b1) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: Export ICECC_CC and friends via wrapper-scriptDouglas Royds via Openembedded-core2019-10-231-12/+20
| | | | | | | | | | | | | | | | | By exporting ICECC_CC, ICECC_CXX, and ICECC_VERSION in a wrapper-script, and putting this wrapper-script in the PATH, the Makefiles generated by CMake or the autotools are able to function correctly outside of bitbake. This provides a convenient developer workflow in which the modify-compile-unittest cycle can happen directly in the ${B} directory. The `rm -f $ICE_PATH/$compiler` line is transitional, and can go at some later date (October 2020 or later, perhaps). (From OE-Core rev: 40d74cb1d0ddce930267e49764cacb263b244091) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: add HOSTTOOLS_DIR to CMAKE_FIND_ROOT_PATHMichael Ho2019-10-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | The find_program command will fail if it is used on a tool that is listed in ASSUME_PROVIDED. This is because these tools are in the hosttools directory which is not listed in CMAKE_FIND_ROOT_PATH so cmake will not find them. Adding the directory HOSTTOOLS_DIR to the CMAKE_FIND_ROOT_PATH variable fixes the initial issue of needing to search for tools in ASSUME_PROVIDED. Note that this change alone does not fix the issue because find_program will by default only look into the subdirectories bin and usr/bin under the paths in CMAKE_FIND_ROOT_PATH to find the programs and the hosttools directory has instead the symlinks directly present without these subdirectories. Set CMAKE_PROGRAM_PATH to by default include the root directory so find_program can search the hosttools directory without needing the prefix directories. (From OE-Core rev: 7847f431cd8db59fce8c9401a603c4b0678ee16d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tinderclient: Drop obsolete classRichard Purdie2019-10-231-368/+0
| | | | | | | | | This was used for build result reporting back in the OE-Classic days. Its not been touched in years, isn't used as far as I know and can be removed. (From OE-Core rev: f5d107f2ac448d6fe9fe8e4a2451e5cefdfd892a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: enable all services specified in ${SYSTEMD_SERVICE}Mikko Rapeli2019-10-191-5/+1
| | | | | | | | | | | | | | | | | | | This has been the traditional way of enabling systemd services. It may conflict with presets feature, but other layers, image classes and recipes add services to be enabled using SYSTEMD_SERVICE variable also with read-only rootfs, e.g. IMAGE_FEATURES has stateless-rootfs and systemd_preset_all task is not executed. Fixes startup of custom services from our recipes using custom image classes with various BSP layers. In the worst case even serial console getty service wasn't starting due to dependency no not enabled services. (From OE-Core rev: 68a10763e64764a0d43be9162e7b99833f5296db) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: enable ssh agent forwardingAndré Draszik2019-10-191-0/+12
| | | | | | | | | | | | | | | | | | | Some targets might use ssh to do their power- or serial- control. In that case, ssh might need access to the ssh agent, or otherwise won't work. So export it into the environment. Note that the (old) oeqa/controllers/masterimage.py tries to do that as well by exporting all of BB_ORIGENV into the test environment. Here in testimage.bbclass we are a bit more strict and only pass the ssh related environment variables. (From OE-Core rev: d99617b8f2a9354b7357524fcd2eee16af0677b7) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: support hardware-controlled targetsAndré Draszik2019-10-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | Since the introduction of the new runtime framework for target testing in commit 2aa5a4954d76 ("testimage.bbclass: Migrate class to use new runtime framework") commit 3857e5c91da6 in poky.git, target controllers have no access to the global datastore 'd' anymore. This makes it impossible for a specific OEQA (hardware) controller to access documented properties like TEST_POWERCONTROL_CMD, TEST_SERIALCONTROL_CMD, etc, meaning it's impossible for those controllers to actually control the hardware. To solve this, simply add those documented variables into the target_kwargs[]. (From OE-Core rev: 0ab7e3b573a58cc3a869ef33fd8737ca7fe04550) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: check .done file instead of tarballStefan Agner2019-10-191-1/+1
| | | | | | | | | | | | | In case multiple builds share UNINATIVE_DLDIR's location, one build might be in the process of downloading the tarball while another is just checking whether the tarball exists. Check for the done file instead and rely on the fetchers lockfile mechanism in case two builds are running. (From OE-Core rev: a1c95580549cb4f77601e62c7f026b19c752d853) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: check the format of SDK_VENDORRoss Burton2019-10-191-0/+5
| | | | | | | | | | | | | | | If SDK_VENDOR isn't formatted as -foosdk and is instead for example -foo-sdk then the triple that are constructed are not in fact triples, which results in mysterious compile errors. Check in sanity.bbclass so this failure is detected early. [ YOCTO #13573 ] (From OE-Core rev: b0efd8d4d0dbc30e6505b42f5603f18fa764d732) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: add dependency on pseudo from do_prepare_recipe_sysrootMattias Hansson2019-10-191-0/+1
| | | | | | | | | | | | | | | | do_prepare_recipe_sysroot may perform groupadd, which requires pseudo. However, do_prepare_recipe_sysroot does not depend on pseudo explicitly, which sometimes causes a build error when building a recipe that adds groups. This issue only occurs when executing do_prepare_recipe_sysroot for a recipe that adds groups before finishing a task that depends on pseudo for a recipe that doesn't add groups. (From OE-Core rev: 427320d7621846d57649af46bf57c88f86cac612) Signed-off-by: Mattias Hansson <mattihn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: check and reject packages which have incompatible ↵Alexander Kanavin2019-10-151-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | licenses The use case is setting INCOMPATIBLE_LICENSE per image, rather than as an awkward, and too strict global setting. This for example would allow building development images with gplv3 tools, but production images without them, and checking that nothing gpl3-licensed gets into the latter. Examples are provided via the selftest: four scenarios are tested: - bash is added to the image, with a default gpl3 license; this is rejected - bash is added to the image, with a "gpl3 & other" license; this is also rejected - bash is added to the image, with a "gpl3 | other" license; this is accepted, but only 'other' is added to the license manifest (this was already handled correctly previously). - bash is added to the image with a default gpl3 license, and is additionally whitelisted for that image; this is accepted. Eventually, this would allow deprecating the meta-gplv2 layer, while still enforcing the no-gpl3 rule where possible and needed. (From OE-Core rev: fd50395bc0783a3cce7b5b0d7398f22783ebbeca) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: split incompatible license check into a helper functionAlexander Kanavin2019-10-151-11/+14
| | | | | | | | | | | This would help with checking incompatible licenses at do_rootfs step in image creation, where it is beneficial to pass the license string directly to the function. (From OE-Core rev: 8a0f342e4fc33b1aa53089b1de583d45d2951476) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: add RMINITDIR for nativesdk buildsTrevor Gamblin2019-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nativesdk builds such as nativesdk-dnf are installing systemd service files, leading bitbake to throw installed-vs-shipped warnings, but these are not needed in nativesdk: WARNING: nativesdk-dnf-4.2.2-r0 do_package: QA Issue: nativesdk-dnf: Files/directories were installed but not shipped in any package: /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.service /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.timer /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.service Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. nativesdk-dnf: 13 installed and not shipped files. [installed-vs-shipped] Rather than have each recipe remove the files, an RMINITDIR case for nativesdk builds should be added to systemd.bbclass. (From OE-Core rev: 86092fdac2ed2935b25a6c05f16055df77a10575) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: export READELFRoss Burton2019-10-091-0/+1
| | | | | | | | | | | | | The readelf binary is prefixed, so export READELF in the SDKs so that the correct readelf binary can be used. This fixes problems with the symbol extractor in Meson with multilib SDKs where readelf can't be found correctly. (From OE-Core rev: 2795e3bfdefc9f48294802ea7301dae1910553dc) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add check for perllocal.podRoss Burton2019-10-081-1/+18
| | | | | | | | | | | | | | | | | | | perlocal.pod is an index file of locally installed modules and so shouldn't be installed by any distribution packages. cpan.bbclass already sets NO_PERLOCAL to stop this file being generated by most Perl recipes, but if a recipe is using MakeMaker directly (such as rrdtool) then they might not be doing this correctly. To avoid multiple packages shipping this file and then failing to install together, add a QA test to check if this file exists and by default emit an error if it does. [ YOCTO #13491 ] (From OE-Core rev: 5d16d265cc61c4e279fe3bf66016a00d9daa4068) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-devicetree.bbclass: add missing backslashMartin Jansa2019-10-081-1/+1
| | | | | | | | | | | * in oe-core commit 1860d9d3c62e2e94cd68a809385873ffd8270b6d I've accidentally removed the backshash here Reported-By: "Hilsdorf, Jan (LAWO)" <Jan.Hilsdorf@lawo.com> (From OE-Core rev: 44f0047c0268f3e9f9fdf78f93bdad9bfe491174) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: Avoid use of an hard-coded valueAlessio Igor Bogani2019-10-021-1/+1
| | | | | | | (From OE-Core rev: 520c6f30cd571166a0d890d86b461f24f7a6998f) Signed-off-by: Alessio Igor Bogani <alessio.bogani@elettra.eu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Improve module import error messageRichard Purdie2019-10-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Turn: ERROR: Unable to parse Var <OE_IMPORTED[:=]> Traceback (most recent call last): File "Var <OE_IMPORTED[:=]>", line 1, in <module> File "/media/build1/poky/meta/classes/base.bbclass", line 35, in oe_import(d=<bb.data_smart.DataSmart object at 0x7f1d941ad208>): for toimport in oe.data.typed_value("OE_IMPORTS", d): > imported = __import__(toimport) inject(toimport.split(".", 1)[0], imported) File "/media/build1/poky/meta/lib/oe/sstatesig.py", line 267, in <module>: >class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash): name = "OEEquivHash" bb.data_smart.ExpansionError: Failure expanding variable OE_IMPORTED[:=], expression was ${@oe_import(d)} which triggered exception AttributeError: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' into: ERROR: Error importing OE modules: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn' which can then trigger a version mismatch error message. (From OE-Core rev: 5b01726d1cf478aba8d1acc73e29f6cab0c9371e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagegroup: fix a comment regarding PACKAGE_ARCHAndré Draszik2019-10-021-1/+1
| | | | | | | | | | | | | | | | packagegroups whose dependencies are affected by MACHINE_FEATURES need to be marked as MACHINE_ARCH *before* inheriting the packagegroup class, not after. This has changed in commit 9c826962ec8f ("packagegroup: Make allarch inherit conditional"), commit 4f3f34deafe4 in poky but the comment here wasn't updated at the time. (From OE-Core rev: 7eae2502936aa36401491cd1e0e5975db96529ae) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bash-completion: add image featureJoe Slater2019-10-022-0/+2
| | | | | | | | | | | Create bash-completion-pkgs image feature to load *-bash-completion packages into an image. The packages are created by the bash-completion bbclass but are currently never loaded. (From OE-Core rev: d47c5981877555a5a6b9aeb93ea6f3c1aa97fc44) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>