From: Alexander Kanavin <[email protected]> Python 3.14 added security checks around archive extraction, and by default will refuse to handle symlinks with absolute paths. It's possible to handle this using 'filter' argument, but it is not always available in older Python versions on various host distributions we need to support, so let's extract only the needed files directly using tarfile module.
busybox is itself a symlink to busybox.nosuid, so both are extracted. [YOCTO #16195] Signed-off-by: Alexander Kanavin <[email protected]> --- meta/lib/oeqa/selftest/cases/minidebuginfo.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/minidebuginfo.py b/meta/lib/oeqa/selftest/cases/minidebuginfo.py index a8923460f9..5f37522c32 100644 --- a/meta/lib/oeqa/selftest/cases/minidebuginfo.py +++ b/meta/lib/oeqa/selftest/cases/minidebuginfo.py @@ -6,7 +6,7 @@ import os import subprocess import tempfile -import shutil +import tarfile from oeqa.core.decorator import OETestTag from oeqa.selftest.case import OESelftestTestCase @@ -33,7 +33,10 @@ IMAGE_FSTYPES = "tar.bz2" # ".gnu_debugdata" which stores minidebuginfo. with tempfile.TemporaryDirectory(prefix = "unpackfs-") as unpackedfs: filename = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "{}.tar.bz2".format(bb_vars['IMAGE_LINK_NAME'])) - shutil.unpack_archive(filename, unpackedfs) + with tarfile.open(filename) as tar: + tar.extract("./bin/busybox", path=unpackedfs) + tar.extract("./bin/busybox.nosuid", path=unpackedfs) + tar.extract("./lib/libc.so.6", path=unpackedfs) r = runCmd([bb_vars['READELF'], "-W", "-S", os.path.join(unpackedfs, "bin", "busybox")], native_sysroot = native_sysroot, target_sys = target_sys) -- 2.47.3
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#233609): https://lists.openembedded.org/g/openembedded-core/message/233609 Mute This Topic: https://lists.openembedded.org/mt/118417511/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
