summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe
Commit message (Collapse)AuthorAgeFilesLines
...
* gtk-doc: remove obsolete logicRoss Burton2024-01-121-9/+2
| | | | | | | | | | | | | This manual disabling of gtk-doc for autotools and meson in native and nativesdk builds is replicating logic above for target builds. Instead, use one assignment for all builds, as we explicitly disable gtk-doc in native builds and it can be useful in nativesdk. (From OE-Core rev: e13b019c61d86f1add32f23795f6e71110c6a70c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: don't exclude gtkdocizeRoss Burton2024-01-121-1/+1
| | | | | | | | | | gtkdocize can now be ran successfully from autoreconf, so there's no need to exclude it and run it manually. (From OE-Core rev: 891ec38d4c5cc5ac7bc34938276261ebd6f6d54e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: append to EXTRA_AUTORECONFRoss Burton2024-01-121-1/+1
| | | | | | | | | | Inherit order may mean that this class is inherited after assignments, so extend instead of assign EXTRA_AUTORECONF. (From OE-Core rev: 83958b4bdea90a0bb9331d33c2f266900a108fee) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu.bbclass: fix a python TypeErrorMing Liu2024-01-091-1/+1
| | | | | | | | | | | | | | QEMU_OPTIONS can be empty which will trigger a exception TypeError: | can only concatenate str (not "NoneType") to str. Fix it by setting a empty string. ALso removed two useless blanks. (From OE-Core rev: b619197bd52a4a99a9989e7ea6fb7032415b1e42) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative-tarball.xz - reproducibility fixRobert Berger2023-12-241-1/+1
| | | | | | | | | | | | added --clamp-mtime --mtime to the tar command see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15148 (From OE-Core rev: 2ef7c63871ab4fb62a9cea45a23a78bf9d541e4a) Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-live.bbclass: LIVE_ROOTFS_TYPE support compressionLudovic Jozeau2023-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | The task for fstypes with compression is the same as the task for the uncompressed fstypes, e.g. when adding tar.xz to `IMAGE_FSTYPES`, it will be included into the do_image_tar task and not creating a separate do_image_tar.xz task. This commit fixes `LIVE_ROOTFS_TYPE` with compressed fstypes by depending on the actual task instead of the non-existent do_image_<fstype>.<compression> task. Fixes [YOCTO #15331] (From OE-Core rev: 67c507e3d42e52a6d452c4a453eeaf7f2e2d68d6) Signed-off-by: Ludovic Jozeau <ludovic.jozeau@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: don't unset MACHINE_FEATURES, let machine-sdk/ set itRoss Burton2023-12-231-1/+1
| | | | | | | | | | | | | | | | | | | There is actually a use for nativesdk MACHINE_FEATURES; for example qemu-usermode being supported, as this is needed to build profile-guided optimised code. We shouldn't use the target MACHINE_FEATURES for this because the target and the SDK can be entirely different, so instead set the MACHINE_FEATURES in nativesdk.bbclass to SDK_MACHINE_FEATURES (which defaults to "") and let the conf/machine-sdk/*.conf files set that as appropriate. (From OE-Core rev: 14571764b7e046507f81bbe589a9f42c5b16665a) Signed-off-by: Ross Burton <ross.burton@arm.com> Link: https://lore.kernel.org/r/20231221170159.1995650-2-ross.burton@arm.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: ensure features don't get backfilledRoss Burton2023-12-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nativesdk aims to run in a slightly different environment than the target build, so it resets MACHINE_FEATURES and filters DISTRO_FEATURES with DISTRO_FEATURES_NATIVESDK. However, feature backfill happens _after_ these operations: $ bitbake-getvar -r nativesdk-glib-2.0 MACHINE_FEATURES # # $MACHINE_FEATURES [5 operations] # set /home/ross/Yocto/poky/meta/conf/machine/include/qemu.inc:14 # "alsa bluetooth usbgadget screen vfat" # set /home/ross/Yocto/poky/meta/conf/documentation.conf:284 # [doc] "Specifies the list of hardware features the MACHINE supports." # set? /home/ross/Yocto/poky/meta/conf/bitbake.conf:893 # "" # set /home/ross/Yocto/poky/meta/classes-recipe/nativesdk.bbclass:18 # "" # append utils.py:132 [features_backfill] # " rtc qemu-usermode" # pre-expansion value: # " rtc qemu-usermode" MACHINE_FEATURES=" rtc qemu-usermode" This is not intentional nor desired as the target machine features are unrelated to the nativesdk environment. (From OE-Core rev: f560ac0a5ccced02b84df337f0f26209cd4b6474) Signed-off-by: Ross Burton <ross.burton@arm.com> Link: https://lore.kernel.org/r/20231221170159.1995650-1-ross.burton@arm.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Switch to using zstd compressionJoshua Watt2023-12-231-3/+1
| | | | | | | | | | | | | | | | | | | | | Converts IPK package generation to use zstd instead of xz. zstd has a much larger compression/speed tradeoff range allowing users to choose what suits them best, and fast decompression speeds. It also continues to support parallel compression as xz did. A new variable called ZSTD_DEFAULTS is provided to set the defaults for places that want to use zstd for compression; the zst image conversion command is also modified to use this. Finally, in order for this to function properly, opkg must include zstd support, so it is enabled all the time with no PACKAGECONFIG to turn it off. (From OE-Core rev: 1bc3e9bbaa670b6128c74c76b4b5264e60ce3463) 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: Drop target_dumper and most of monitor_dumperRichard Purdie2023-12-201-16/+0
| | | | | | | | | | | | | | | | The target_dumper code is basically broken. It has been reading binary files over the text base serial communication and runs at every command failure which makes no sense. Each run might overwrite files from the previous run and the output appears corrupted due to confusion from the binary data. For now, remove the commands and the target dumper code as the command and execution point are problematic. Also remove the same pieces of the monitor code but leave the command list since in theory this can be moved to a more useful place in the code. (From OE-Core rev: a24d787987dccc95fdd95b7e85bf525a1c55b285) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Exclude wtmp from target-dumper commandsRichard Purdie2023-12-201-1/+1
| | | | | | | | | | | | wtmp is filled with binary data which the run_serial command can't cope with. Catting this results in confusion of the serial interface and potentially large backlogs of data in the buffers which can hang qemu. Exclude the problematic files from the command. (From OE-Core rev: 599ac08a6f6fb3f6a89a897c8e06367c63c2f979) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes-recipe: add python_maturin.bbclassTim Orling2023-12-171-0/+17
| | | | | | | | | | maturin is a replacement for setuptools_rust and another "backend" for building python wheels. (From OE-Core rev: 1c2f9d8f18ef8154573142638ca10a8f88e43419) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake-qemu.bbclass: make it more usableAdrian Freihofer2023-12-131-8/+12
| | | | | | | | | | | | | Make the cmake-qemu.bbclass more usable: - Drop the CMAKE_EXEWRAPPER_ENABLED variable (which does not make much sense without the second commit of the original patch series). - Inherit qemu to make the cmake-qemu a drop in replacement for cmake. (From OE-Core rev: 5cb05ca6542aa6239e0371dd9df4705b168d245e) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo: Add CARGO_LOCK_PATH for path to Cargo.lockAlex Kiernan2023-12-091-2/+4
| | | | | | | | | | | When building a workspace enabled project, the Cargo.lock is found at the root of the project, not alongside the Cargo.toml. Expose CARGO_LOCK_PATH so it can be explicitly configured. (From OE-Core rev: 30159f88a97c73d234f69c5800ba2adb0e26ad44) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: cargo: Convert single-valued variables to weak defaultsAlex Kiernan2023-12-092-5/+5
| | | | | | | | | | All of these variables are single-valued, so we can use weak-defaults for them and only see the final assignment after parsing. (From OE-Core rev: 3221e82a35a149fdf38fe66dcd5de758ac1b9185) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_commonAlex Kiernan2023-12-092-7/+7
| | | | | | | | | | cargo_common_do_configure uses CARGO_MANIFEST_PATH (which depends on CARGO_SRC_DIR), but their definition was in cargo.bbclass. (From OE-Core rev: 740374a13ad5359767b421666decf50c158ea0df) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cargo: Rename MANIFEST_PATH -> CARGO_MANIFEST_PATHAlex Kiernan2023-12-083-4/+4
| | | | | | | | | | | This variable is a piece of recipe configurable interface, scope it with the class name to make that clear. (From OE-Core rev: 0101de25832fbed3d08cd522512784133c628cad) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-common.bbclass: Define rust arch for x32 platformsKhem Raj2023-12-021-0/+2
| | | | | | | | (From OE-Core rev: 02d6c89ca2e72e95d093282f5626e607060da588) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake-qemu.bbclass: support qemu for cmakeAdrian Freihofer2023-11-301-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | Define the CMAKE_CROSSCOMPILING_EMULATOR variable similar to what the meson bbclass does. This allows for example to execute cross compilied unit tests on the build machine when using an SDK. CMAKE_CROSSCOMPILING_EMULATOR is a semi colon separated list of paramters which could directly handle the -L and the -E parameters. Creating a wrapper script is not absolutely mandatory. But anyway lets do it similar to what the meson.bbclass does and also disable pseudo. Further information can be found in the camke documentation in the CMAKE_CROSSCOMPILING_EMULATOR section. Keep the code optional, as the core does not need this function and does not intend to use it in the future. [YOCTO #15214] (From OE-Core rev: b197d0b0de1fa5f295d32dbda2eb815ca0153299) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-arch: use ccache only for compilerJavier Tia2023-11-221-3/+3
| | | | | | | | | | | | Attempting to use it with other tools is not beneficial, only with the compiler. Confirmation from ccache's maintainer [1]. [1] https://github.com/ccache/ccache/discussions/1346#discussioncomment-7616180 (From OE-Core rev: 47fa8d81083f1ef594f8fe6fcab3e227e9607b3f) Signed-off-by: Javier Tia <javier.tia@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: drop PE, PR from /usr/src/debug pathsMartin Jansa2023-11-201-1/+1
| | | | | | | | (From OE-Core rev: e4931b1d6f147fc7ced080e30c63f0aaf0d1e7ff) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Drop oldincludedirRichard Purdie2023-11-201-1/+1
| | | | | | | | | | | | | | | | | | | Autoconf defines this as: "The directory for installing C header files for non-GCC compilers." Whilst this is something autoconf does allow changing, I find it hard to believe it has much use in the wild now and that headers don't get split like this in reality, it would probably only be useful on really old unixes.. The values are the same in our configuration anyway. Drop the value and just use includedir everywhere. (From OE-Core rev: 506c91cbc6a604a84e37e53ccff430436369802e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: go-mod: do not pack go mod cacheStefan Herbrechtsmeier2023-11-201-0/+4
| | | | | | | | | | | Clean go module cache from builddir to prevent it of beeing packed. (From OE-Core rev: 328bea56dec8f83b5c118f567e122510f9243087) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sed -i destroys symlinksJoakim Tjernlund2023-11-201-2/+2
| | | | | | | | | | | | If /etc/passwd is a symlink, sed -i on same file will replace the symlink with a new file. Prevent that by adding --follow-symlinks option to sed (From OE-Core rev: 6ec004b2e7b4342465af8e5e6cc66041834821a0) Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnomebase.bbclass: Use meson as default buildsystemMarkus Volk2023-11-131-1/+1
| | | | | | | | | | | | | | | The vast majority of gnome recipes uses meson. Set it as default and override the few recipes that still use autotools. This way we can remove a lot of lines in meta-oe and more important it would not be needed to explicitly set GNOMEBASEBUILDCLASS = "meson" for newly created gnome recipe anymore. (From OE-Core rev: 8b061ea36f8b94b482c5867fe2ba7213288a5aa3) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: improve metadata patchingBruce Ashfield2023-11-091-5/+25
| | | | | | | | | | | | | | | | | | | | The ability to patch the kernel-yocto metadata was added to support debug and easier test cycles on kernel-cache provided fragments. As such, it was very simple and has limited functionality. That being said, it is an available feature and can be improved to handle patches that fail to apply. The main kernel patching is already handled by the kern-tools, so we extend the patching of the meta-data to same tools and inherit more functinality from the scripts. [YOCTO #15266] (From OE-Core rev: e867addd6c2f508f7a95e72222e750d37f3d19d8) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: split copy_buildsystem() into logical steps defined as ↵Alexander Kanavin2023-11-081-12/+47
| | | | | | | | | | | | | | | functions copy_buildsystem() has become far too large and needs to be split into shorter and more understandable pieces; some of those pieces will be reused for the purpose of providing esdk mode directly from a plain yocto build. (From OE-Core rev: a163b8f339f32bc9e3865736af321190bc89c61b) 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>
* meson: use correct targets for rust binariesDmitry Baryshkov2023-11-061-2/+2
| | | | | | | | | | | | Follow the example of rust and cargo classes and pass RUST_HOST_SYS and RUST_BUILD_SYS to rustc's --target argument instead of bare HOST_SYS and BUILD_SYS. (From OE-Core rev: 1471c6c076f544ccd6f0722c82878311199881a7) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-arch: drop CCACHE from KERNEL_STRIP definitionDmitry Baryshkov2023-11-051-1/+1
| | | | | | | | | | | | | | | | | | | Building linux-yocto with ccache enabled results in the 'command not found' error, because kernel-yocto.bbclass passes the KERNEL_STRIP as a single value, whic is then interpreted as a command name. ERROR: Fatal errors occurred in subprocesses: [Errno 2] No such file or directory: 'ccache aarch64-linaro-linux-strip': Traceback (most recent call last): File "/home/lumag/Projects/RPB/build-rpb/conf/../../layers/openembedded-core/meta/lib/oe/utils.py", line 288, in run ret = self._target(*self._args, **self._kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fixes: 03973c8c1c93 ("kernel: Add kernel specific STRIP variable") (From OE-Core rev: 41f019afc41f800b622c46a6d7cf1beffc97716a) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Use xz default compression preset levelNiko Mauno2023-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ef0654f1453ff0afe98d7e921626b2a96cf2f6f6 ("Set XZ_COMPRESSION_LEVEL to -9") changed the xz compression preset level from previous value of -3 to -9. The commit message explains that the change was made in order to be consistent with other compressors that also use their best compression. However looking at xz man page, under the compression preset level selection chapter there is mentioned that The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it's not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1). which is then followed by a table, which mentions that the decompressor memory requirement for preset -9 is 65 MiB, whereas for xz default preset -6 it is just 9 MiB. Given that the use case where a device running a Yocto generated Linux OS decompresses an ext4 root filesystem image to non-volatile memory as part of firmware upgrade process is not far-fetched, and considering that a range of these devices can run low on available RAM when there are other applications running at the same time, the lower decompressor memory requirement of the default preset level makes sense in order to prevent an OOM situation from occurring. This change was tested on a 32 CPU core build host with 128 GB RAM by issuing $ bitbake -c cleansstate core-image-minimal core-image-sato $ time bitbake core-image-minimal $ time bitbake core-image-sato With MACHINE="qemux86-64" and IMAGE_FSTYPES="ext4 ext4.xz" using XZ_COMPRESSION_LEVEL values "-6" and "-9". In both cases the resulting 'ext4' image size remained same, 38141952 bytes for core-image-minimal, and 565043200 bytes for core-image-sato. The observation was that with this change there is a small increase in the resulting 'ext4.xz' file size, and a build speed improvement that was significant for larger rootfs image. core-image XZ real time time delta ext4.xz size size delta ----------------------------------------------------------------------- minimal -9 0m44.992s 15932508 minimal -6 0m42.445s -5.66% 16243484 +1.95% sato -9 2m40.828s 85080416 sato -6 1m38.891s -38.51% 87447456 +2.78% Regarding decompression speed, issuing following command in qemux86-64 target OS $ time xz -dkc --memlimit=MEMLIMIT core-image-sato-qemux86-64.rootfs.ext4.xz > /dev/null using the lowest accepted value for MEMLIMIT for each case (providing a lower value caused xz to exit with 'Memory usage limit reached' error) showed that decompression time saw a minuscule improvement with the -6 compression preset level: XZ MEMLIMIT real time ------------------------- -9 65M 0m43.83s -6 9M 0m43.28s (In the above tables, XZ refers to XZ_COMPRESSION_LEVEL value used when images were generated with Yocto). (From OE-Core rev: 9ca62e24a6a0f5d2778b2b587646df7447e3c65f) Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/esdk-tools: use a dedicated, static directory for esdk toolsAlexander Kanavin2023-11-051-12/+4
| | | | | | | | | | | | This allows easier replication of esdk environment (which provides a curated, limited set of tools that for example does not include bitbake) in a standard yocto build. Switchover between various sets can be achieved via PATH manipulation. (From OE-Core rev: 20c548f2edca3888152adb63de7b23d84e3848e7) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext.bbclass: do not symlink unfsd from sdk image sysroot into ↵Alexander Kanavin2023-11-051-7/+0
| | | | | | | | | | | | | | | eSDK tools path This was done in 2016 to support Eclipse plugin (long dead), it's currently broken as image sysroot is not in the SDK until the image is built in that context, and current tools all rely on runqemu-export-rootfs which does not rely on PATH and runs unfsd with full path to recipe-specific sysroots. (From OE-Core rev: 0f1361061c8c0b16ea2b50349b08a3b03140c45c) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: add preceding space in appendVar settingChen Qi2023-10-301-1/+1
| | | | | | | | | | | The appendVar setting should have a preceding space, otherwise, when KERNEL_MODULE_SPLIT is set to "0", we'll sometimes get dependency error due to lacking of space. (From OE-Core rev: 266cd948d4aa68de34075e8ed6299f7d80d19346) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Commit without running hooksWilliam A. Kennington III2023-10-301-1/+1
| | | | | | | | | | | The hooks are pulled from the impure environment and are often broken in our environments. There is no reason to add extra metadata or verify the commit message as its arbitrary to turn the tarball into a git repo. (From OE-Core rev: dd52102a6c3f69d156bfcf85827123c96f18d5a1) Signed-off-by: William A. Kennington III <wak@google.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "bin_package.bbclass: Inhibit the default dependencies"Max Krummenacher2023-10-301-3/+0
| | | | | | | | | | | | | | This reverts commit d1d09bd4d7be88f0e341d5fccbfbefeb98d4b727. The commit not only removes the dependencies on the cross compiler but also does not depend on e.g. virtual/${TARGET_PREFIX}compilerlibs and virtual/libc which in turn makes the file-rdeps qa check fail if installing binaries linked against e.g. libc or libstdc++. (From OE-Core rev: ababf6ceebe360c5f59a57428566c27b7a97a9e6) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Use strip utility used for kernel build in do_packageKhem Raj2023-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | os.environ does not pass this down to runstrip() function and in strip_execs() its using STRIP bitbake variable to find the strip utility to use. Since there might be a trailing whitespace in KERNEL_STRIP remove that otherwise python is not able to launch it. e.g. FileNotFoundError: [Errno 2] No such file or directory: 'riscv64-yoe-linux-strip ' This is more evident when STRIP and KERNEL_STRIP are different utilities e.g. when using clang as default toolchain but using gcc+binutils only for kernel build. (From OE-Core rev: 77497dbdca92ab4d6386a071bc281c42a7e8a14b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot.bbclass: fix typos in documentationMarcus Folkesson2023-10-231-2/+2
| | | | | | | | | | | comand -> command docuemntation -> documentation (From OE-Core rev: 302228fb858384a7ef4e46ecae80d1ebbc00f1a7) Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch: Move Go architecture mapping to a libraryJoshua Watt2023-10-191-26/+3
| | | | | | | | | | | | Other spaces uses the Go architecture definitions as their own (for example, container arches are defined to be Go arches). To make it easier for other places to use this mapping, move the code that does the translation of OpenEmbedded arches to Go arches to a library. (From OE-Core rev: 3e86f72fc2e1cc2e5ea4b4499722d736941167ce) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot: reduce default size of software I/O translation bufferRoss Burton2023-10-091-0/+7
| | | | | | | | | | | | | | With 6.5+ (specifically, if DMA_BOUNCE_UNALIGNED_KMALLOC is set) the SWIOTLB is used, and it defaults to 64MB. This is too much when there's only 256MB of RAM, so request 0 slabs and lets the kernel round up to the appropriate minimum (1MB on aarch64, typically). In virtual hardware there's very little need for these bounce buffers, so the 64MB would be mostly wasted. (From OE-Core rev: 369e768d87b80be9efe76937bfafeddabc35f559) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: Add *.cmake to CONFIGURE_FILESPeter Kjellerstedt2023-10-091-1/+1
| | | | | | | | | | This makes do_configure depend on changes to any cmake file when externalsrc is active. (From OE-Core rev: dae2757bf0fea6ae821a28bd6ea9d0232694c177) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Add *.m4 to CONFIGURE_FILESPeter Kjellerstedt2023-10-061-1/+1
| | | | | | | | | | | This makes do_configure depend on changes to any m4 file when externalsrc is active. (From OE-Core rev: 492559191943c9e2666c3dda1824c5aafbe487d5) 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>
* uboot-extlinux-config.bbclass: fix missed override syntax migrationQuentin Schulz2023-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | uboot-extlinux-config allows to specify multiple "labels" (entries in a menu, à-la grub) and each of them have their own values for some fields. Each "base" variable, e.g. UBOOT_EXTLINUX_FDT can be overridden for each label. This is done via the OVERRIDES mechanism based on the label name, e.g. UBOOT_EXTLINUX_FDT:linux if linux is a label. However, OVERRIDES doesn't contain the label globally because it's only necessary in one task. Therefore, the OVERRIDES itself is modified within the task. This means that the sigdata will not be told the dependency on UBOOT_EXTLINUX_FDT:linux, because it cannot know about it. For this reason, we need to explicitly specify which variables this task depends on via vardeps varflag for the task. This was done in the past, but we missed updating it during the override syntax migration so the cache wouldn't get invalidated if someone modifies UBOOT_EXTLINUX_FDT:linux from a configuration file or a bbappend for example. Let's fix this by migrating it to the new syntax. (From OE-Core rev: b4dd9d873508128adbbf5ff6cf0a3df3d2ffbcf6) Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config.bbclass: Add menu title configurationDaniel Semkowicz2023-10-041-2/+6
| | | | | | | | | | | | | Add new UBOOT_EXTLINUX_MENU_TITLE variable that allows configuring the "MENU TITLE" entry. If set to empty, "MENU TITLE" will not be added to the output file. (From OE-Core rev: 23026911142585fde9290e21b07934fc583b6540) Signed-off-by: Daniel Semkowicz <dse@thaumatec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config.bbclass: Uppercase "menu title" entryDaniel Semkowicz2023-10-041-1/+1
| | | | | | | | | | | All other extlinux.conf entries are written to the output file in uppercase. (From OE-Core rev: 6c89654cf37da95aeea07e1645f2cdffe320c8bc) Signed-off-by: Daniel Semkowicz <dse@thaumatec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config.bbclass: Remove repeated space characterDaniel Semkowicz2023-10-041-1/+1
| | | | | | | | (From OE-Core rev: e8a7a8d93c20f966bc2845d23696d01234cbb227) Signed-off-by: Daniel Semkowicz <dse@thaumatec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config.bbclass: Add missing variable descriptionsDaniel Semkowicz2023-10-011-1/+4
| | | | | | | | | | Description of UBOOT_EXTLINUX and UBOOT_EXTLINUX_CONFIG was missing. Describe these two variables in class comment. (From OE-Core rev: fb1c2cae3dbd37ad25d26efb09e80480d49063f9) Signed-off-by: Daniel Semkowicz <dse@thaumatec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitImage: Strip path component from dtbNinad Palsule2023-09-281-0/+5
| | | | | | | | | | | | | | | | | | Machines that have added subdirectires to the KERNEL_DEVICETREE recently, such as arm32 boards that were moved under subdirectories in Linux 6.5, will have that subdirectory in the node name of the FIT. This breaks existing systems that select a configuration in u-boot by it's name. Strip off the directory component from the device tree to preserve compatibility. (From OE-Core rev: 941ba1a132bafa9c9be855fb91fec96d8b06299f) Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_script.bbclass: expand script name as wellMartin Jansa2023-09-281-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e.g. mozjs from meta-oe contains major version from PV in the script name but currently cannot use a variable there because it would be unexpanded in the varflag name as shown in bitbake -e (lib32-curl included for comparison) env.lib32-curl:# $ALTERNATIVE_TARGET [2 operations] env.lib32-curl-# set oe-core/meta/conf/documentation.conf:66 env.lib32-curl-# [doc] "Used by the alternatives system to create default link locations for duplicated commands." env.lib32-curl-# set multilib_script.bbclass:37 [__anon_40_oe_core_meta_classes_recipe_multilib_script_bbclass] env.lib32-curl-# [curl-config] "${bindir}/curl-config-${MULTILIB_SUFFIX}" env.lib32-curl-# pre-expansion value: env.lib32-curl-# "None" -- env.lib32-mozjs-115:# $ALTERNATIVE_TARGET [2 operations] env.lib32-mozjs-115-# set oe-core/meta/conf/documentation.conf:66 env.lib32-mozjs-115-# [doc] "Used by the alternatives system to create default link locations for duplicated commands." env.lib32-mozjs-115-# set multilib_script.bbclass:37 [__anon_40_oe_core_meta_classes_recipe_multilib_script_bbclass] env.lib32-mozjs-115-# [js${MAJ_VER}-config] "${bindir}/js${MAJ_VER}-config-${MULTILIB_SUFFIX}" env.lib32-mozjs-115-# pre-expansion value: env.lib32-mozjs-115-# "None" -- env.lib32-mozjs-115-escript:# $ALTERNATIVE_TARGET [2 operations] env.lib32-mozjs-115-escript-# set oe-core/meta/conf/documentation.conf:66 env.lib32-mozjs-115-escript-# [doc] "Used by the alternatives system to create default link locations for duplicated commands." env.lib32-mozjs-115-escript-# set multilib_script.bbclass:38 [__anon_41_oe_core_meta_classes_recipe_multilib_script_bbclass] env.lib32-mozjs-115-escript-# [js115-config] "/usr/bin/js115-config-${MULTILIB_SUFFIX}" env.lib32-mozjs-115-escript-# pre-expansion value: env.lib32-mozjs-115-escript-# "None" Otherwise log.do_package shows that apply_update_alternative_renames first renames the js115-config to js115-config.mozjs-115 (default ALTERNATIVE_TARGET suffix is '.${BPN}') and multilibscript_rename later fails: DEBUG: Executing python function apply_update_alternative_renames NOTE: mozjs-115: Rename /usr/bin/js115-config -> /usr/bin/js115-config.mozjs-115 DEBUG: Python function apply_update_alternative_renames finished DEBUG: Executing shell function multilibscript_rename mv: cannot stat 'BUILD/work/mach-oemllib32-linux-gnueabi/lib32-mozjs-115/115.2.0/package/usr/bin/js115-config': No such file or directory WARNING: exit code 1 from a shell command. I wonder if we actually need multilibscript_rename as apply_update_alternative_renames seems to do the rename already. (From OE-Core rev: d07bfddba023a1c92491b261c9f9c25ec1a0ef57) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot-cfg: add .conf suffix to default entry labelCharles-Antoine Couret2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | Since systemd v245 (commit 6cd12ebcfe459466257ea63022a32515d756e719), systemd-boot expects default entry to have the complete filename as value. LABELS from poky are by default without any suffixes like "boot install", so default entry does not have the .conf suffix as well and systemd-boot is not able to use this information and it's starting in any case the first entry. To be able to start another entry by default, .conf suffix is required. With this change, LABELS variable can still be used by other bootloaders and being used as description field. (From OE-Core rev: 1adf70729dafc9729e665986ad2e2250cbd25c5b) Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@mind.be> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pypi.bbclass: Update the upstream checks to automatically replace '_' with '-'Derek Straka2023-09-221-2/+4
| | | | | | | | | | | | | | For a number of existing packages, the pypi URI contains '-', but the package name (PYPI_PACKAGE) uses '_'. Add a simple replace for the UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX. The change resulted in 19 additional auto-detected upstream checks for python packages meta-python. It did break upstream checks for 3 packages that will be patched shortly: - python3-ipython-genutils - python3-ninja-syntax - python3-wpa-supplicant (From OE-Core rev: f4e2923bfac8a0a5b702ffd2dd957213a6268f6b) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>