summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-08-15 16:49:24 +0100
committerSteve Sakoman <steve@sakoman.com>2023-08-26 04:24:02 -1000
commit5c42f2433c9a2135e68ba3ae1dfb8ef04a11b0d7 (patch)
tree7c242705f7fed5e6dc035500c8806fc43294b25a
parent6826d0ba082f91d3e0e1da3d52e5317cab03543b (diff)
downloadpoky-5c42f2433c9a2135e68ba3ae1dfb8ef04a11b0d7.tar.gz
lib/package_manager: Improve repo artefact filtering
If you run an arm build followed by an x86 one and then ask for a full repo to be created, it will include all of the arm and x86 packages. testexport will then find the arm socat package rather than the x86 one and try and run arm binaries within an x86 qemu image with no success. The reproducer for this was: oe-selftest -r fitimage.FitImageTests.test_initramfs_bundle runtime_test.TestImage.test_testimage_install This patch only symlinks in the compatible package archictures rather than all of them which fixes the failure and the resulting autobuilder intermittent failure too. [YOCTO #15190] (From OE-Core rev: b811ce9e1c94532d49db54d4c3458cd804d96adb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 30b45bcf49bf8207fd96bb45a55d7708661f3359) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/lib/oe/package_manager/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index 80bc1a6bc6..6615258470 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -467,7 +467,10 @@ def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencie
467 # Detect bitbake -b usage 467 # Detect bitbake -b usage
468 nodeps = d.getVar("BB_LIMITEDDEPS") or False 468 nodeps = d.getVar("BB_LIMITEDDEPS") or False
469 if nodeps or not filterbydependencies: 469 if nodeps or not filterbydependencies:
470 oe.path.symlink(deploydir, subrepo_dir, True) 470 for arch in d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").split() + d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").replace("-", "_").split():
471 target = os.path.join(deploydir + "/" + arch)
472 if os.path.exists(target):
473 oe.path.symlink(target, subrepo_dir + "/" + arch, True)
471 return 474 return
472 475
473 start = None 476 start = None