| Message ID | 20251103080410.2025712-1-zboszor@gmail.com |
|---|---|
| State | New |
| Headers | show |
| Series | meta/conf/layer.conf: Avoid adding build deps of rpm-sequoia-native | expand |
On Mon, 3 Nov 2025 at 09:04, Zoltan Boszormenyi via lists.openembedded.org <zboszor=gmail.com@lists.openembedded.org> wrote: > Avoid adding dependencies of rpm-sequoia-native into sysroots > as it needs none of its build dependencies to run. This needs to be a bit more specific. What is specifically installed into sysroots that you would like to avoid having there? Alex
2025. 11. 03. 12:16 keltezéssel, Alexander Kanavin írta: > On Mon, 3 Nov 2025 at 09:04, Zoltan Boszormenyi via > lists.openembedded.org <zboszor=gmail.com@lists.openembedded.org> > wrote: > >> Avoid adding dependencies of rpm-sequoia-native into sysroots >> as it needs none of its build dependencies to run. > This needs to be a bit more specific. What is specifically installed > into sysroots that you would like to avoid having there? rpm-sequoia is Rust based. rust[-native] in Yocto master depends on llvm[-native]. The target build just uses the shlib dependencies (only libssl.so.3, libcrypto.so.3, libgcc_s.so.1, and the C runtime), but the native build pulls in the whole destdir for each build dependency. So, it's not actually true that none of the build dependencies are needed, but the openssl libs and the libgcc_s native builds are pulled in via some other recipes that are needed in native sysroots. Anyway, noth rust-native and llvm-native are quite heavy, so not copying them speeds up packaging a little and saves disk space. llvm-native also conflicts with clangXX-native builds in meta-clang-revival. Recipes using TOOLCHAIN = "clang14" or similar build successfully, but extend_recipe_sysroot in staging.bbclass fails when re-run before packaging. See my previous mail at https://lists.openembedded.org/g/openembedded-core/message/225411 Currently this change is in the layer.conf of meta-clang-revival, but the speedup and the disk space saving worth it to have it in oe-core. I will send v2 with the extended explanation and only omitting rust-native and llvm-native.
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf index 54fa04e213..5e78bcfeaf 100644 --- a/meta/conf/layer.conf +++ b/meta/conf/layer.conf @@ -116,6 +116,13 @@ SSTATE_EXCLUDEDEPS_SYSROOT += "\ .*->perlcross-native \ libarchive-native->e2fsprogs-native \ " +# Avoid adding dependencies of rpm-sequoia-native as +# it needs none of its build dependencies to run. +# It can save significant disk space and speeds up packaging +# into signed rpms a little. +SSTATE_EXCLUDEDEPS_SYSROOT += "\ + rpm-sequoia-native->.* \ +" # Nothing needs to depend on libc-initial # base-passwd/shadow-sysroot don't need their dependencies SSTATE_EXCLUDEDEPS_SYSROOT += "\
Avoid adding dependencies of rpm-sequoia-native into sysroots as it needs none of its build dependencies to run. It can save significant disk space and speeds up packaging into signed rpms a little. It also avoids conflicts with different LLVM/CLANG versions, like those found in meta-clang-revival. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> --- meta/conf/layer.conf | 7 +++++++ 1 file changed, 7 insertions(+)