]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
sstate: Reduce native sysroot execution race potential master
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 18 Jun 2026 15:39:43 +0000 (16:39 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 18 Jun 2026 15:39:43 +0000 (16:39 +0100)
Whilst this doesn't remove all possible issues, removing files in /bin/
directories, then removing support files (like shared libraries) does
reduce the potential for weird failures if the system calls things like
python3.

[YOCTO #16323]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-global/sstate.bbclass

index 50dd0e51c43dc3cdc5a341afdf52b59e4d26c355..4ad71a70dac4b19aaa5f18c5d5a815d57bc2e206 100644 (file)
@@ -474,6 +474,10 @@ def sstate_clean_manifest(manifest, d, canrace=False, prefix=None):
     with open(manifest) as mfile:
         entries = mfile.readlines()
 
     with open(manifest) as mfile:
         entries = mfile.readlines()
 
+    # Remove binaries first, then all the other files, just in case somehow something
+    # is trying to execute something in a sysroot (e.g. python3 from PATH).
+    entries.sort(key=lambda d: '/bin/' not in d)
+
     for entry in entries:
         entry = entry.strip()
         if prefix and not entry.startswith("/"):
     for entry in entries:
         entry = entry.strip()
         if prefix and not entry.startswith("/"):