| Message ID | 20251103-fix-pseudo-native-v2-1-67564bcaff0f@pbarker.dev | 
|---|---|
| State | New | 
| Headers | show | 
| Series | [v2] pseudo: Add hard sstate dependencies for pseudo-native | expand | 
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 22c934977d9b..836e910fae4a 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -155,3 +155,10 @@ do_install:append:class-nativesdk () { } BBCLASSEXTEND = "native nativesdk" + +# Setscene tasks which run under fakeroot must not be executed before +# pseudo-native and *all* its runtime dependencies are available in the +# sysroot. +PSEUDO_SETSCENE_DEPS = "" +PSEUDO_SETSCENE_DEPS:class-native = "sqlite3-native:do_populate_sysroot" +do_populate_sysroot_setscene[depends] += "${PSEUDO_SETSCENE_DEPS}"
Where a task (such as do_package) runs under fakeroot, the corresponding setscene task (do_package_setscene) will also run under fakeroot when restoring from sstate. Assuming pseudo is used as the fakeroot implementation, we need pseudo-native and all its runtime dependencies to be available in the sysroot before running any setscene tasks under fakeroot. We already add a hard dependency from all do_package_setscene tasks to virtual/fakeroot-native:do_populate_sysroot in base.bbclass, but this does not cover transitive dependencies. So, extend the dependencies of pseudo-native:do_populate_sysroot_setscene to ensure that the sqlite3 library is also available in the sysroot before running fakeroot setscene tasks. [YOCTO #15963] Signed-off-by: Paul Barker <paul@pbarker.dev> --- Changes in v2: - Drop hard setscene dependency on attr-native, it's not needed - Link to v1: https://lore.kernel.org/r/20251016-fix-pseudo-native-v1-1-7c42af094122@pbarker.dev --- meta/recipes-devtools/pseudo/pseudo.inc | 7 +++++++ 1 file changed, 7 insertions(+) --- base-commit: 58558b97c157469f060bb2ad59a40254fb6181e4 change-id: 20251016-fix-pseudo-native-221fe3fceea4 Best regards,