summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* testimage.bbclass: request the use of kvm by defaultAlexander Kanavin2021-11-291-0/+2
| | | | | | | | | | | | | | In almost all cases there is no need to explicitly ask for it via local.conf or similar custom config: it is enabled in qemu_use_kvm() if target_arch == build_arch or both of them are x86 archs, and QEMU_USE_KVM is set. If that heuristic doesn't work, QEMU_USE_KVM = "" will do the disabling. (From OE-Core rev: c2a2d475a976225e3a4eb687af6d2a62dca1d2bf) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity/lib: Replace usage of LooseVersion() with bb.utils.vercmp_string_op()Richard Purdie2021-11-291-12/+6
| | | | | | | | | distutils is going away and we have functionality in bitbake which can handle these comparisions so switch to the bb.utils function. (From OE-Core rev: fe624b520e6c75e16a8f394785ab0216341402f9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Add sysroot deps for repo fetcherJasper Orschulko2021-11-261-0/+4
| | | | | | | | | Add repo-native as prerequisite for the repo fetcher. (From OE-Core rev: 16b8939bf0450837d3bc9e44cd24d2f38e0cee58) Signed-off-by: Jasper Orschulko <Jasper.Orschulko@iris-sensing.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native/cross: Add ar wrapper for determinismJacob Kroon2021-11-261-0/+2
| | | | | | | | | | | | | | | | | Add a wrapper around ar calls for native/cross recipes. This wrapper adds the -D option so that deterministic archives are built for native/cross output. This improves the changes of hash equivalence matches and hence build artefact reuse. We don't need this in the target case since we compile binutils-cross with an option making this the default. We need a wrapper since we need to remove the "u" option and replace it with "D" but also allow things like "--version" to continue to work too. (From OE-Core rev: 59922c95fcb20c66634c5677012d490be2246b0b) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Handle chown/chgrp calls in nativesdk do_install tasksRichard Purdie2021-11-261-0/+2
| | | | | | | | | | | | | | We disable the useradd code for nativesdk targets since we don't support postinstalls or multiple users in those cases. This means any usage of chown/chgrp inside do_install tasks won't work and would have to be conditional. Rather than require all recipes to do that, add intercepts of the calls and map those to root/root user/groups. We can't just ignore them as some calls are used to remove host contamination from the host user ID so they need to be made, just as root. (From OE-Core rev: e1f40670c438e33cae87678425de72ca03566888) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: export native PKGCONFIG variablesBruce Ashfield2021-11-261-0/+7
| | | | | | | | | | | | | | | | | | | | | | In a similar manner to cml1.bbclass, we export the pkg-config variables to allow a direct call to pkg-config access to the native sysroot versus the target sysroot. The kernel doesn't use pkg-config for target configuration, and has many explicit calls to pkg-config, without the possibility of easy override to pkg-config-native. The calls to pkg-config could be made cross friendly via replacement with make variables, but until that effort is undertaken upstream, we need a bridge approach. In particular, this is required for dtschema validation, which is a requirement in kernel 5.16+ (From OE-Core rev: 9172d61c57e23682c3d2c25701cbd53c84d01a27) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: explicitly name the checkhashes thread poolRoss Burton2021-11-251-1/+2
| | | | | | | | | Give this thread pool a name for clarity. (From OE-Core rev: 57ea50fcfe81f47b93b9302d1aab2e81dcdd3105) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Include psplash only when screen machine feature is enabledKhem Raj2021-11-241-1/+1
| | | | | | | | | | | | | base-image boots in degraded mode when using systems without display system since there is no fb device detected and pslash service would fail to start. Removing this image feature means that core-image-base is complete for headless devices [RP: tweak the false case so it builds] (From OE-Core rev: 7a6dbad7bf12d2f27f21a81a31a5173cacb49228) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: Fix do_package race issuesRichard Purdie2021-11-241-4/+8
| | | | | | | | | | | | | | The buildhistory_list_pkg_files function uses data from do_package, not do_packagedata. Usally the two are restored together but it may see a half complete directory or other races issues depending on timing. Rework the function so that it uses the correct task dependencies. This should avoid races but means the data is only restored to buildhistory if the do_package or do_package_setscene tasks are restored. (From OE-Core rev: b83823ce44e7531bbd2bfa62062c04147a11f724) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: Fix srcrevs outputRichard Purdie2021-11-231-17/+13
| | | | | | | | | | | | | | | | The code was assuming that the a recipe with only one srcrev wouldn't "name" it. This isn't the case as the glibc or bzip2 recipes show, you can have a single srcrev which is named. We can pull the data from the fetcher and in fact we already have it, we just need to handle the "default" case and make that code the default for all srcrev regardless of length. [YOCTO #14017] (From OE-Core rev: 45ae567932ba52b758eb41754453e9828d9533a1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: Drop support for older bitbakesRichard Purdie2021-11-231-11/+1
| | | | | | | | | We've bumped the minimum bitbake version past the point this fallback code was needed, drop it. (From OE-Core rev: c45ad27f3c43c9bbde5c4d19237411fdbc66920e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/crate-fetch: Ensure crate fetcher is availableJoshua Watt2021-11-231-3/+18
| | | | | | | | | | | | | | Reworks the crate fetcher class to have it install the fetcher at recipe finalization so that it is always available before SRC_URI is expanded. In addition, override the value of SRCPV to also install the fetcher when SRCPV is expanded so that AUTOREV works. [YOCTO #10867] (From OE-Core rev: bc66c5dd65fb654af5cd91b47f9b4f7a5f53436e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: update systemd_create_usersVyacheslav Yurkov2021-11-231-1/+1
| | | | | | | | | | | | | | | | Process all systemd-sysusers configuration files in order to create users/groups at build time. systemd-sysusers would try to create them at run-time, but for read-only rootfs that's not possible and results in warnings from different services: systemd-udevd[166]: /lib/udev/rules.d/50-udev-default.rules:39 Unknown group 'render', ignoring systemd-udevd[166]: /lib/udev/rules.d/50-udev-default.rules:40 Unknown group 'render', ignoring systemd-udevd[166]: /lib/udev/rules.d/50-udev-default.rules:42 Unknown group 'sgx', ignoring (From OE-Core rev: f86ffdb1b77c6ba32ec250545a40c1c54f983f21) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/meson: Add optional rust definitionsJoshua Watt2021-11-231-1/+10
| | | | | | | | | | Adds the rust tools to the cross and native files if present so that projects that use both rust and meson can build (From OE-Core rev: 0ec40fa3aff233bd0dde0461299150786da956ef) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: Fix key errors in do_create_runtime_spdxAndres Beltran2021-11-211-0/+3
| | | | | | | | | | | Currently, the do_create_runtime_spdx task fails with a Key Error if a dependency is not contained in the package providers dictionary. Add a check before using "dep" as a key in "providers". (From OE-Core rev: 140ce5ef5e8f10251091660e3ef76f315f409076) Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: Protect against None from LICENSE_PATHSaul Wold2021-11-211-2/+1
| | | | | | | | | If LICENSE_PATH is not set, then the split() will fail on a NoneType. (From OE-Core rev: d6260decae6d2654f6e058f12ca02d582a8ef5a4) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create_spdx: ensure is_work_shared() is uniqueSaul Wold2021-11-211-7/+5
| | | | | | | | | | | | There is a function with the same name is_work_shared() in the archiver class this causes a conflict when both classes are included. Use work-shared as the check in WORKDIR to allow for other packages beyond the kernel and gcc that use a common shared-work source directory. (From OE-Core rev: 18eab77ee65c73b17225e69c7ba446ab1c69fa92) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: add a function to get the sstate file name in sstate_checkhashesJose Quaresma2021-11-161-9/+7
| | | | | | | (From OE-Core rev: dc64479264bdf3d60ece02a98b65be35650f8f86) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: only search on the mirrors for the missing filesJose Quaresma2021-11-161-6/+2
| | | | | | | | | | | | | | | | | | | | | | The existence of missed files on the local sstate cache is the condition to search for it on the sstate mirror. The missed collection are populated when we search the files on the local sstate cache. - When we have sstate mirrors we don't need to iterate all files again because we already know what's missing. - When we found a file on the sstate mirror is because of they are missing on the local sstate mirror. So avoid checking if the hash exists on the missed collection. - When we can't find the file on the sstate mirror we don't need to add the hash again to the missed collection as it already exists. (From OE-Core rev: 46e1f9a900e2be1abeda0dc540fc14040ecd0d7c) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: cleanup the sstate mirror progress checkJose Quaresma2021-11-161-4/+5
| | | | | | | | | | We only have the progress bar when there are more than 100 objects. So we can check for this and store the result to show the progress bar. (From OE-Core rev: 18e7a77aa1626e11820804ad64b86a32f97da2ca) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Add sanity check for allarch packagegroupsRichard Purdie2021-11-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We exclude allarch packagegroups from rebuilding when their dependencies change. The reasoning is that we are just depending on a name so having these rebuild lots is just pointless and inefficient. We also don't want them duplicated for multiple machines for efficiency. In general this works fine, as long as the package names don't change. That is also rare but there is one corner case which does catch users out - debian package renaming. When this does break, users question sstate and so on and lose faith in the system even if this is a known choice we made. This commit adds an error message if an allarch packagegroup depends on any package which shows package renaming in action (through the PKG variable being set). If you run into this issue you either need to remove the dependency from the packagegroup or mark the packagegroup as tune specific, i.e. set: PACKAGE_ARCH = "${TUNE_PKGARCH}" before the packagegroup inherit. [YOCTO #7298] (From OE-Core rev: 5bf3e447d2f5064495d83a8fad30229bcf1ecc9b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: support rootfs mounted roAdrian Freihofer2021-11-131-0/+2
| | | | | | | | | | Optionally allow to set QB_KERNEL_ROOT to e.g. "/dev/vda ro" to mount the rootfs reay-only in Qemu. (From OE-Core rev: 448eb1fd21287ba16b17e9402ce040b86ae3638c) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors: Add kernel.org sources mirror for downloads.yoctoproject.orgRichard Purdie2021-11-131-0/+1
| | | | | | | | | kernel.org now has a mirror of the downloads.yoctoproject.org sources archive so include this in our mirrors list. (From OE-Core rev: f602b6c2046bbc52a95dcc68a754f1cbb2db6761) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gobject-introspection: Add -Dintrospection only when GIR_MESON_OPTION is not ↵Khem Raj2021-11-131-4/+6
| | | | | | | | | | | | | | | | | | empty meson now does not allow unknown options which means we have to be mindful of adding -Dintrospection unconditionally and provide an option to recipes to set GIR_MESON_OPTION = "" and when recipe does that then do not add -D<Dintrospection> option to meson. This will help recipes to use meson 60.x+ just by adding GIR_MESON_OPTION = "" (From OE-Core rev: c75a9439154834d45b2be1ac95682586b4409fb4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: remove unrecognised option check for MesonRoss Burton2021-11-131-4/+1
| | | | | | | | | | | Meson 0.60 onwards no longer simply warns when an unrecognised option is passed, it errors out instead. This means we can remove the logic in insane.bbclass to check for the warnings. (From OE-Core rev: 472acf29abd4cdc9d8ef10a1940a541275d508cf) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: Add version to uninative tarball nameRichard Purdie2021-11-131-1/+1
| | | | | | | | | | | | | | uninative works via hashes and doesn't need the version in the tarball name but it does make things easier to inspect in DL_DIR. There were reasons such as ease of publication of the build tarballs but we can handle those differently now and the signature issues from the early code aren't an issue now. From 3.4 onwards we can use a version'd name. [YOCTO #12970] (From OE-Core rev: dadba70d6a24d8ebb5576598efffa973151c7218) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* own-mirrors.bbclass: Clean up the additions to PREMIRRORSPeter Kjellerstedt2021-11-111-12/+12
| | | | | | | | | | | | | | * Since commit ce0579dc in bitbake (fetch2: Revert the regexp removal for the type field and instead anchor regexp) the type regexp has been automatically anchored at the end. * Since commit 044fb04d in bitbake (fetch2: Allow whitespace only mirror entries) there is no need to separate the entries in PREMIRRORS with "\n". (From OE-Core rev: 1edc5e689d54b788c35ece14e0dbd76ec545f3ee) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors.bbclass: Clean up the additions to MIRRORSPeter Kjellerstedt2021-11-111-67/+67
| | | | | | | | | | | | | * Since commit ce0579dc in bitbake (fetch2: Revert the regexp removal for the type field and instead anchor regexp) the type regexp has been automatically anchored at the end. * Since commit 044fb04d in bitbake (fetch2: Allow whitespace only mirror entries) there is no need to separate the entries in MIRRORS with "\n". (From OE-Core rev: ec806f1e3b08d73524515aa83c5ee8dea7a40215) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: provide virtual/kernel for all kernelsBruce Ashfield2021-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we allow the kernel package name to be varied, we should allow those packages to provide virtua/kernel, which allows them to be used as primary kernels. This change drops the use of regex, since any regex would enforce naming (and limit what can be a provider) and add complexity./ There are currently no recipes that I found, that inherit kernel that are not kernel recipes (kernel-base, etc, provide other facilities), so making this provides simpler shouldn't cause problems. Multiple kernel providers can be dealt with in the same way as any multiple provider. [YOCTO: #13172] (From OE-Core rev: 365dc1471a1b67c45de58aadf29844a9ff83d30f) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> squash with provider Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: use ln -rs instead of lnrRoss Burton2021-11-102-7/+7
| | | | | | | | | | | | | | | | | lnr is a script in oe-core that creates relative symlinks, with the same behaviour as `ln --relative --symlink`. It was added back in 2014[1] as not all of the supported host distributions at the time shipped coreutils 8.16, the first release with --relative. However the oldest coreutils release in the supported distributions is now 8.22 in CentOS 7, so lnr can be deprecated and users switched to ln. [1] 6ae3b85eaffd1b0b6914422e8de7c1230723157d (From OE-Core rev: 1ca455a98de4c713f58df0a537d4c982d256cd68) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors: Add uninative mirror on kernel.orgRichard Purdie2021-11-101-0/+1
| | | | | | | | | | | At the last nas outage, we realised that we don't have good mirrors of the uninative tarball if our main system can't be accessed. kernel.org mirrors some Yocto Project data so we've ensured uninative is there. Add the appropriate mirror url to make use of that. (From OE-Core rev: 1833cb0c5841afafb468b963b74b63366b09a134) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons: support out-of-tree buildsRoss Burton2021-11-071-4/+4
| | | | | | | | | | | | | | | | | SCons has a slightly unusual implementation of out-of-tree builds where there is no standard way of doing it. However, if a recipe sets B to the idiomatic ${WORKDIR}/build and passes the right arguments so that this is used then scons will fail as it is trying to find the SConstruct file in ${B} not ${S}. Always pass --directory=${S} to scons so that the SConstruct file can be found, and don't call --clean if out-of-tree builds are being used as we would have just deleted the entire build tree already. (From OE-Core rev: 88d77d82ee506576988936e06b8d624879a80f2e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: set objcopy in the cross and native toolchain filesRoss Burton2021-11-051-0/+2
| | | | | | | (From OE-Core rev: 0a589998e717ae3865f0db5abe6005ab4eee86d9) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: another fix for touching files inside pseudoJose Quaresma2021-11-051-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a fixup for 676757f "sstate: fix touching files inside pseudo" running the 'id' command inside the sstate_unpack_package function shows that this funcion run inside the pseudo: uid=0(root) gid=0(root) groups=0(root) The check for [ -w ${SSTATE_PKG} ] and [ -O ${SSTATE_PKG}.siginfo ] will always return true and the touch can fail when the real user don't have permission or in readonly filesystem. As the documentation refers: - the file test operator "-w" check if the file has write permission (for the user running the test). - the file test operator "-O" check if you are owner of file We can avoid this test running the touch and mask any return errors that we have. (From OE-Core rev: 29fc85997ade490ae46ffca37ef8e1a56957c876) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: Set the Organization field via a variableAndres Beltran2021-11-051-4/+6
| | | | | | | | | | | Currently, the "Organization" field for SBOMs is hard-coded in create-spdx. Create a new variable SPDX_ORG to make this field more generic. (From OE-Core rev: f239814f3f5d9bd54de54b0f2a5081067336e32b) Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Add a check for directories that are expected to be emptyPeter Kjellerstedt2021-11-031-1/+32
| | | | | | | | | | | | | | The empty-dirs QA check verifies that all directories specified in QA_EMPTY_DIRS are empty. It is possible to specify why a directory is expected to be empty by defining QA_EMPTY_DIRS_RECOMMENDATION:<path>, which will then be included in the error message if the directory is not empty. If it is not specified for a directory, then "but it is expected to be empty" will be used. (From OE-Core rev: a454fda9c3d6b11cfdc54a49a7bb3f8a76a5ed58) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Account for reserved characters when shortening sstate filenamesManuel Leonhardt2021-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | Previously, when shortening sstate filenames, the reserved characters for .siginfo were not considered, when siginfo=False, resulting in differently shortend filenames for the sstate and siginfo files. With this change, the filenames of the truncated sstate and siginfo files have the same basename, just as is already the case for untruncated filenames. Making sure that the .siginfo files always have the filename of the corresponding sstate file plus its .siginfo suffix, also when being truncated, makes it easier to manage the sstate cache and an sstate mirror outside of Bitbake/Yocto. (From OE-Core rev: c2e0e43b7123cf5149833e0072c8edaea3629112) Signed-off-by: Manuel Leonhardt <mleonhardt@arri.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: Update required gcc version to v7.5Robert Yang2021-11-031-3/+3
| | | | | | | | | | qemu-native 6.1.0 requires at least gcc v7.5: ERROR: You need at least GCC v7.5 or Clang v6.0 (or XCode Clang v10.0) (From OE-Core rev: 0137c3da41f8d9328888167fb497539436ead4e9) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overlayfs: add debug informationVyacheslav Yurkov2021-10-301-0/+6
| | | | | | | (From OE-Core rev: ce55a411d7dd1189ce9a849081e52cb9c5ebb002) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overlayfs: all overlays unitVyacheslav Yurkov2021-10-301-2/+34
| | | | | | | | | | | | Application can depend on several overlayfs mount points. Provide a systemd unit application can depend on to make sure all overlays are mounted before it is started to avoid any race conditions (From OE-Core rev: b38e194db0c6825f28c56123cf88af94d3f52beb) Signed-off-by: Bruno Knittel <Bruno.Knittel@bruker.com> Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: Default to xz compresison instead of gzRichard Purdie2021-10-301-1/+1
| | | | | | | | We should default to xz or zstd instead of gz, pick xz for now as it is more tested. (From OE-Core rev: 658f274c161ec67b91f133ee9b5c3767c2925787) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add explict branch to git SRC_URIsRichard Purdie2021-10-301-1/+1
| | | | | | | | | | | | | There is uncertainty about the default branch name in git going forward. To try and cover the different possible outcomes, add branch names to all git:// and gitsm:// SRC_URI entries. This update was made with the script added to contrib in this patch which aims to help others convert other layers. (From OE-Core rev: b51c405faf6f8c0365f7533bfaf470d79152a463) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: cross recipes are native alsoSaul Wold2021-10-281-2/+2
| | | | | | | | | | Recipes that inherit cross should also be categorized as isNative (From OE-Core rev: ee113e3894deb1cfb18622085a3fe0600e1ef01d) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: add create_annotation functionSaul Wold2021-10-281-6/+12
| | | | | | | | | | This allows code reuse and future usage with relationship annotations (From OE-Core rev: 1f8fdb7dc9d02d0ee3c42674ca16e03f0ec18cba) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: Allow adding parameters to go ldflagsAhmed Hossam2021-10-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | Currently, there is no clean way to pass extra parameters to the go tool link, which is passed by the go build ldflags flag, the append needs to happen inside the quotes of the ldflags parameter See [YOCTO #14554]. Add a variable to allow adding extra parameters to -ldflags in the GO_LDFLAGS variable, one of the main usecases is setting the application version. For example, adding to the recipe something like GO_EXTRA_LDFLAGS="-X main.Version=v1.0.0" or GO_EXTRA_LDFLAGS="-X main.Version=${PV}" (From OE-Core rev: eaa7a61dab9a1d7bb039f16abdd9aacb44faa595) Signed-off-by: Ahmed Hossam <Ahmed.Hossam@opensynergy.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: Configurable tarball compressionIan Ray2021-10-281-3/+5
| | | | | | | | | | | | | | In order to be more efficient, we use xz as compression method to create GPL sources archives. (From OE-Core rev: 877b27b0cbf4f4544f75e0f0a78a82baeb46b159) Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com> [V1 was https://patchwork.openembedded.org/patch/155985/] [Rebased] Signed-off-by: Ian Ray <ian.ray@ge.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bblcass: Remove empty egg-info directories before running mesonPeter Kjellerstedt2021-10-271-0/+10
| | | | | | | | | | | | | | | sstate.bbclass no longer removes empty directories to avoid a race (see commit 4f94d929 "sstate/staging: Handle directory creation race issue"). Unfortunately Python apparently treats an empty egg-info directory as if the version it previously contained still exists and fails if a newer version is required, which Meson does. To avoid this, make sure there are no empty egg-info directories from previous versions left behind. (From OE-Core rev: 47d9d90b4ec7d04d6f3f1a9b97c0ab7f1264a88e) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch: Fix exception reporting with repr()Richard Purdie2021-10-261-2/+2
| | | | | | | | | The exceptions generated with repre are more detailed but escaped the newlines making them unreadable. Fix this. (From OE-Core rev: 26a7012e6e17e6b4b4478a25b1b2d5608fe77cfc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Fix autoconf-native rebuild failureRichard Purdie2021-10-261-1/+1
| | | | | | | | | | | | | | | | | | | When rebuilds are triggered, autoconf-native can fail with: | DEBUG: Executing shell function update_gnu_config | install: cannot stat '[BUILDPATH]tmp/work/x86_64-linux/autoconf-native/2.71-r0/recipe-sysroot-native/usr/share/gnu-config/config.guess': No such file or directory which is due to update_gnu_config running before extend_recipe_sysroot. This only happens rarely since usually the prepare_recipe_sysroot function would already have set things up and only in the invalidated task hash cases does this rebuild in this way from configure only. Fix the code to prepend this function instead of appending which resolves the ordering issue. (From OE-Core rev: b9535f513366536b13d0522058f517d2e04451b5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_base: Add setscene tasksJoshua Watt2021-10-231-0/+4
| | | | | | | | | | | | | | | | | do_populate_sdk was added to SSTATETASKS, but had no _setscene task created to allow it to actually run from sstate. Add it so that SDKs can be restored from sstate. Note that like do_image_complete, do_populate_sdk is marked with SSTATE_SKIP_CREATION by default so sstate is not used for them; adding this task will allow it to work if the user overrides this default though. (From OE-Core rev: 1f204592903a2fd9375b0f3c9c52e7dde0467460) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>