summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-08-15 16:49:24 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-08-16 07:54:38 +0100
commitd724ec6f040dc4eb5965a791b93d9956f37206a2 (patch)
tree9268365bc2d0af405c9fd4c8b94960edae2d7d41
parent40d0b3c9a58385eaeb05e6fded5c3a703ea9b146 (diff)
downloadpoky-d724ec6f040dc4eb5965a791b93d9956f37206a2.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: 30b45bcf49bf8207fd96bb45a55d7708661f3359) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 0c313190cf..6774cdb794 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -470,7 +470,10 @@ def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencie
470 # Detect bitbake -b usage 470 # Detect bitbake -b usage
471 nodeps = d.getVar("BB_LIMITEDDEPS") or False 471 nodeps = d.getVar("BB_LIMITEDDEPS") or False
472 if nodeps or not filterbydependencies: 472 if nodeps or not filterbydependencies:
473 oe.path.symlink(deploydir, subrepo_dir, True) 473 for arch in d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").split() + d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").replace("-", "_").split():
474 target = os.path.join(deploydir + "/" + arch)
475 if os.path.exists(target):
476 oe.path.symlink(target, subrepo_dir + "/" + arch, True)
474 return 477 return
475 478
476 start = None 479 start = None