summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* testimage: remove target_modules_pathRoss Burton2021-10-231-4/+0
| | | | | | | | | | There is no need to pass target_modules_path anymore, so remove it. (From OE-Core rev: 3d579fb7e4eb96fe0e20e2a7a5948940ca086f99) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: fix touching files inside pseudoJose Quaresma2021-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | running the 'id' command inside the sstate_create_package function shows that this funcion run inside the pseudo: uid=0(root) gid=0(root) groups=0(root) The check for touch files [ ! -w ${SSTATE_PKG} ] 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). We can avoid this test running the touch and mask any return errors that we have. (From OE-Core rev: f6e7445c94443544e92fda97a017ce93393c5f84) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* npm: Remove unnecessary configs argument from npm run commandStefan Herbrechtsmeier2021-10-231-1/+1
| | | | | | | | (From OE-Core rev: e5031366ff3519814aff8b95c524659a398e62c1) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: allow the creation of block devices on top of UBI volumesThomas Perrot2021-10-231-6/+8
| | | | | | | | | | | | | | | | | | | | Currently, the function multiubi_mkfs doesn't allow using anything else than UBIFS over UBI. Here, we propose to introduce two variables that allow to customize the ubinize configuration and the image dependency, in order to be able to build UBI images using the ubiblock abstraction layer and block filesystems. For example, with this change it is possible to build a UBI volume using a compressed squashfs, with the following configuration: UBI_VOLTYPE ?= "static" UBI_IMGTYPE ?= "squasfs-lz4" (From OE-Core rev: 6f0c6a0cc9b4685716f0991ce350d046810eb8ec) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: count the files on mirrors using the pre local filesJose Quaresma2021-10-231-7/+4
| | | | | | | | | | | | | | | | We don't need extra python collections to count the found files on the sstate cache and sstate mirrors. The main found collections provides all the files that were found. Then we only need to store the nunber of files that found on the local sstate cache and the files that found on the sstate cache mirror is derived from that. (From OE-Core rev: 0fe71f31593e87b9188b388860d2ba94bf8266bc) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: use correct kernel imageAndrej Valek2021-10-181-16/+1
| | | | | | | | | | | | | | | | Even if initramfs_bundle_path was used, a wrong compression was reflected in output its template file. Use linux.bin as universal kernel image. The linux.bin file covers both cases because it's beying created from vmlinux. We know, that vmlinux is created inside compressed directory already, so no external compression will be used. (From OE-Core rev: 27fbbeaf972bb7e2535c1b23375cfa9d66b69db6) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* featimage: refactor styleAndrej Valek2021-10-182-175/+178
| | | | | | | | | | | | | - use bash variable notation without {} where possible - just to make sure it looks like bash variable not bitbake variable one - fix indent style in "cat" commands - replace "! -z" -> "-n" - make debug info in ramdisk section creation more verbose (From OE-Core rev: f44bb458884da64356ee188917094b5515d3b159) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: don't silently handle all exceptions in sstate_checkhashesRoss Burton2021-10-181-3/+4
| | | | | | | | | | | | If checkstatus returns an exception we should silently handle FetchError, as this means the fetch failed for 'normal' reasons such as file not found. However, other exceptions may be raised, and these should be made visible. (From OE-Core rev: 50d99faf88a1d82cbd939b9bd6e33ebed2b1ffd8) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane,license,license_image: Allow treating license problems as errorsMike Crowe2021-10-173-12/+21
| | | | | | | | | | | | | | | Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow individual recipes, the distro or other configuration to determine whether the various detected license errors should be treated as a warning (as now) or as an error. oe.qa.handle_error isn't immediately fatal, so oe.qa.exit_if_errors must be called at the end of do_populate_lic to fail the task. (From OE-Core rev: bb164adca94b5a43751aabe6b6d702a3d60dfdc7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/qa,insane: Move extra error handling functions to libraryMike Crowe2021-10-175-128/+86
| | | | | | | | | | | | | | | | | | | | | | | Extract package_qa_write_error, package_qa_handle_error and package_qa_add_message functions from insane.bbclass to lib/oe/qa.py and drop the package_qa_ prefixes. Update various bbclasses to use the new functions. No import is required since base.bbclass puts oe.qa in OE_IMPORTS. Stop requiring callers to manually track whether a fatal error has been encountered via a "sane" flag. Instead replace the QA_SANE variable with QA_ERRORS_FOUND and call oe.qa.exit_if_errors or oe.qa.exit_with_message_if_errors at the end of each task. Inspired by discussion resulting from https://lists.openembedded.org/g/openembedded-core/message/156793 and https://lists.openembedded.org/g/openembedded-core/message/156900 (From OE-Core rev: f0ad152ef4cc15c042bc9eeefb6af096d054b220) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: fix unclosed testdata fileRoss Burton2021-10-171-3/+4
| | | | | | | (From OE-Core rev: 0c192a97e3e1c015a48667d6903cc07a8b2620e4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors.bbclass: remove dead infozip mirrorsOleksandr Kravchuk2021-10-161-1/+0
| | | | | | | | (From OE-Core rev: 0140df8724a1c73f7b62fbbbaee58c3eb119eeba) Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: Convert ${UBOOT_ENV}.cmd into ${UBOOT_ENV}.scrPeter Hoyes2021-10-161-0/+2
| | | | | | | | | | | | * Add extra SRC variables to uboot-config.class for source cmd file * Add DEPENDS on u-boot-mkimage-native if UBOOT_ENV_SUFFIX is scr * Compile cmd -> scr in do_compile if UBOOT_ENV_SUFFIX is scr (From OE-Core rev: 0ea02ca5c1fc4e15f640b1c26c0a5ce34fc08c05) Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Rework kernel make flag to variable mappingsRichard Purdie2021-10-161-2/+2
| | | | | | | | | | | | | | | In 2017 we added changes to pass the BUILD_CFLAGS into the kernel via BUILD_CC. This isn't really correct and the upstream kernel now has places to pass build cflags, ldflags and more. Update our kernel make flags to correctly use the kernel's variables. This addresses concerns raised by kernel developers. If this breaks some usecase please report it so we can work out how to fix it properly. (From OE-Core rev: 7fd06a57a1d91d8534721923f6e3951ec8220cec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variableRichard Purdie2021-10-162-17/+10
| | | | | | | | | | We want things to be reproduicble and the variable doesn't really change much any more. Drop the remaining uses and make those code paths always active. (From OE-Core rev: d15fb02c7ee7da50e322d74bc6a545234e20c7f3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Add KERNEL_DEBUG_TIMESTAMPS variableRichard Purdie2021-10-161-2/+4
| | | | | | | | | | | | | Change the "binary reproducibility" configuration within the kernel to work off a separate variable, defaulting to reproducible builds. This allows kernel developers wanting timestamps in their images to enable it easily and clearly without changing the rest of the reproduciblity code which they likely don't need to change anyway. (From OE-Core rev: 0725ca18af7a2835aeb9616592a45ead2ee87987) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Merge code into base.bbclassRichard Purdie2021-10-167-105/+44
| | | | | | | | | | Reproducibility is here to stay and needs to be part of our default workflow. Move the remaining code to base.bbclass so it is always a first class citizen and it is clear people need to be mindful of it. (From OE-Core rev: abb0671d2cebfd7e8df94796404bbe9c7f961058) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Move variable definitions to bitbake.confRichard Purdie2021-10-162-20/+0
| | | | | | | | | | | | | | | | | The reproducibility code was originally developed as separate standalone class but development is no longer experimental and the code is widely tested and used by default for poky. Reproducible builds are the direction we need to take as a project. Transition the core variable definitions to bitbake.conf as part of a move to make these part of the default workflow. This also helps reduce test matrix complexity as there is now one code path. (From OE-Core rev: f38a8de19550ae216575b5b39163666f74b07e2d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible: Move class function code into libraryRichard Purdie2021-10-162-36/+3
| | | | | | | | | To try and avoid parse/memory overhead of functions within bitbake, move the bulk of the reproducibility functions to the function library. (From OE-Core rev: f2fd1c9d75e774c8a5271cdc1ec6f65c4492f941) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible_build: Drop now unneeded compiler warningRichard Purdie2021-10-161-3/+0
| | | | | | | | | We now pass compiler options that mean the compiler will adjust these values to SOURCE_DATE_EPOCH, the compiler warnings are now unneeded. (From OE-Core rev: 80afddd3ae862b125f674702aff6330e87d55338) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch: Use repr() with exceptions instead of str()Richard Purdie2021-10-161-2/+2
| | | | | | | | This gives more meaningful errors. (From OE-Core rev: 5b285796b618623289992faea1282f1822335239) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Fixes for eSDK generation after zstd switchRichard Purdie2021-10-151-1/+1
| | | | | | (From OE-Core rev: f5a90df08631117cd66bec68cb1851db96822bb8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Allow validation of sstate singatures against list of keysDaniel McGregor2021-10-141-1/+4
| | | | | | | | | | Allow a user to validate sstate objects against a list of keys, instead of just any known key in the user's keychain. (From OE-Core rev: 52ba0c5e6e2e3d5d01dc3f01404f0ab1bb29b3b5) Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Switch to ZStandard compressor supportHenry Kleynhans2021-10-141-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | This patch switches the compressor from Gzip to ZStandard for ssate cache files. Zstandard compression provides a significant improvement in decompression speed as well as improvement in compression speed and disk usage over the 'tgz' format in use. Furthermore, its configurable compression level offers a trade-off between time spent compressing sstate cache files and disk space used by those files. The reduced disk usage also contributes to saving network traffic for those sharing their sstate cache with others. Zstandard should therefore be a good choice when: * disk space is at a premium * network speed / resources are limited * the CI server can sstate packages can be created at high compression * less CPU on the build server should be used for sstate decompression (From OE-Core rev: 0710e98f40ec7394567ede1f88f7c7bae306b925) Signed-off-by: Henry Kleynhans <hkleynhans@fb.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* reproducible_build: Drop obsolete sstate workaroundRichard Purdie2021-10-141-4/+0
| | | | | | | | | sstate has been sufficiently invalidated since this change was made, drop the workaround now. (From OE-Core rev: 7a497d8f30f21bafc78d0f22f3442a9cc99544cb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: implement ast.NodeVisitor.visit_ConstantRoss Burton2021-10-141-0/+4
| | | | | | | | | | | | Since Python 3.8 visit_Num(), visit_Str() and so on are all deprecated and replaced with visit_Constant. We can't yet remove the deprecated functions until we require 3.8, but we can implement visit_Constant to silence the deprecation warnings. (From OE-Core rev: 875a944392a3c93f40081a14af357f70b6b8264f) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Use repr() for printing exceptionsRichard Purdie2021-10-141-2/+2
| | | | | | | | | | | Exceptions print more clearly using repr() instead of str(), fix in fetch and unpack tasks. Drop part of the test which no longer makes sense after this change. (From OE-Core rev: c94816259cc1c09746353ad26ca0c811e0c962c2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Clean up unneeded len() callsRichard Purdie2021-10-141-4/+4
| | | | | | | | | This code pattern isn't very pythonic, improve it to drop the unneeded len() calls. (From OE-Core rev: 69376ac1a6147b26fe1abaa4cf68414024814d63) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/insane: Import oe.qa by defaultRichard Purdie2021-10-142-3/+1
| | | | | | (From OE-Core rev: 3b4ce5f69cd962cd219aa3c0e7a2de9096e2ecb8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: update 3.9.7 -> 3.10.0Alexander Kanavin2021-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | native and target 0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch replaced by native-only 0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch which is more reboust against upstream changes, and keeps target code unmodified. This however necessitated adding 0001-sysconfig.py-use-platlibdir-also-for-purelib.patch to avoid hardcoding 'lib' on target builds as libdir. Drop chunk from 0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch as upstream now uses sysconfig directly inside distutils. Add 0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch and 0001-multiprocessing-disable-a-failing-test.patch to address ptest failures. License-Update: copyright years, case corrections. (From OE-Core rev: 72a75043a946f7db01d3ec04c8889e055f542cca) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: when the patch fails show more info on the fatal errorJose Quaresma2021-10-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are situations when the user have the 'patchdir' defined as a parameter on SRC_URI. However he doesn't know that with this the patch is applied relatively to the receipe source dir 'S'. - When user have 'patchdir' defined check if this directory exist. - If the patch fails show addition info to the user: - Import: show the striplevel - Resolver: show the expanded 'patchdir' to the user. The next example is from opencv in meta-oe layer, here the patch is applied on the target directory ${WORKDIR}/git/contrib. S = "${WORKDIR}/git" SRCREV_FORMAT = "opencv_contrib" SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \ " * When the patch fail there are no message that indicates the real reason. patchdir=../no-found-on-file-system ERROR: opencv-4.5.2-r0 do_patch: Command Error: 'quilt --quiltrc /build/tmp/work/core2-64-poky-linux/opencv/4.5.2-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output: stdout: Applying patch 0001-sfm-link-with-Glog_LIBS.patch can't find file to patch at input line 37 Perhaps you used the wrong -p or --strip option? * The check of the patchdir will add a new fatal error when the user specifies a wrong path than don't exist. patchdir=../no-found-on-file-system ERROR: opencv-4.5.2-r0 do_patch: Target directory '/build/tmp/work/core2-64-poky-linux/opencv/4.5.2-r0/git/../no-found-on-file-system' not found, patchdir '../no-found-on-file-system' is incorrect in patch file '0001-sfm-link-with-Glog_LIBS.patch' * When we can't aplly the patch but the patchdir exist, show the expanded patchdir on fatal error. patchdir=../git ERROR: opencv-4.5.2-r0 do_patch: Applying patch '0001-sfm-link-with-Glog_LIBS.patch' on target directory '/build/tmp/work/core2-64-poky-linux/opencv/4.5.2-r0/git/../git' Command Error: 'quilt --quiltrc /build/tmp/work/core2-64-poky-linux/opencv/4.5.2-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output: stdout: Applying patch 0001-sfm-link-with-Glog_LIBS.patch can't find file to patch at input line 37 Perhaps you used the wrong -p or --strip option? (From OE-Core rev: c44bc7c0fb8b7c2e44dd93607a3bfd9733e1df80) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-common.bbclass: rewrite toolchain wrappers in (native) pythonAlexander Kanavin2021-10-141-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | librsvg on centos 7 and friends exhibits the same libtinfo leakage problem, this time coming from the compiler and not the linker. Simply covering the compiler by the existing C wrapper-of-wrapper does not work, as rust-native builds put Important Stuff into LD_LIBRARY_PATH and unsetting it breaks things badly. Rather than try to figure out which combination of wrappers and LD_LIBRARY_PATH settings works for which situation, or provide some kind of sh-native, let's simply use python3-native for the wrappers, which should insulate builds from the the host shell. rust-native already depends on python3-native, so this does not lengthen the builds. This also reverts: rust-common: Hack around LD_LIBRARY_PATH issues on centos7 (commit 63b1fd2226b5f146d6c853cc57417704df378438). I'd also like to say boo to Red Hat (or GNU?) for breaking ABI compatibility for stat() in glibc 2.33, we ended up sorting this mess because of it. (From OE-Core rev: 997d54363a3cb3a0e949b3626855f2fa41afeb2b) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* npm: Use configs for npm environment and args for npm run commandStefan Herbrechtsmeier2021-10-141-8/+6
| | | | | | | | | | | | Use parameter configs of class NpmEnvironment and parameter args of function run to support a common npmrc for all run calls of a single NpmEnvironment. (From OE-Core rev: 6490de38ba9563181653ef223224de066faf9166) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* npm: Add variable NPM_NODEDIR with default valueStefan Herbrechtsmeier2021-10-141-5/+3
| | | | | | | | | | | Replace the variable NPM_NODEDIR fallback to a default value inside the code with a variable NPM_NODEDIR with default value. (From OE-Core rev: f0a47afb43bd63b66c565ba3d084e20d6725495e) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* npm: Add support for EXTRA_OENPM argumentsStefan Herbrechtsmeier2021-10-141-1/+4
| | | | | | | | | | | | Add support for EXTRA_OENPM arguments to set node-gyp variables for example. This allows use of shared librariess, avoid download of external sources or build from source. (From OE-Core rev: 9b22b50b77a5979934193e9affbe47a05d763777) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: Fix package output files for SDKsAndres Beltran2021-10-143-7/+18
| | | | | | | | | | | | | | | | | Currently, installed packages are listed for images in image-info.txt, but not for SDKs in sdk-info.txt. Add TOOLCHAIN_HOST_TASK and TOOLCHAIN_TARGET_TASK to the output variables in sdk-info.txt. Moreover, package output files for the SDK host are empty because PKGDATA_DIR defaults to the target directory. Fix this bug and create a new variable called PKGDATA_DIR_SDK which stores the correct path for the SDK host package data. (From OE-Core rev: 82e6172c1df378dff4e503aa878501c08937b5bb) Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devpyshell: rename to pydevshellMichael Opdenacker2021-10-111-5/+5
| | | | | | | | | | | For consistency with "pydevshell" which is also used. This addresses [YOCTO #14531] (From OE-Core rev: 958133f4e97275d1f2c74a7e715c4506cca3582f) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm: use zstd instead of xzAlexander Kanavin2021-10-111-2/+2
| | | | | | | | | | | | | | | | | zstd has similar time and space performance in compression but is vastly faster in decompression, which benefits rootfs creation (especially when installing very large packages) and on-target package installation. Also, ensure ZSTD_THREADS doesn't change sstate checksums. The detailed explanation is in the commit making similar change for XZ_THREADS. (From OE-Core rev: e72c0b94554a9bc293844ec2bddb0c04ea19791d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* baremetal-image: Fix do_image dependenciesAlejandro Hernandez Samaniego2021-10-081-3/+7
| | | | | | | | | | | | | | Commit 282d596b8 added a fix for image.bbclass related to QEMU dependencies, such fix made the older logic borrowed from image.bbclass incompatible. Update the dependency logic to reflect new changes, we no longer need to add the do_addto_recipe_sysroot dependency specifically. (From OE-Core rev: 4663f06c81285aeab8e8d33ec5338d7854b9dd9f) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>