package_manager: Ensure we don't process directories twice
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 26 Mar 2014 11:40:12 +0000 (11:40 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 27 Mar 2014 09:42:06 +0000 (09:42 +0000)
Processing directories twice is both pointless and introduces a race condition.
When building the list, ensure duplicates (like "all" and "noarch") are handled
correctly.

(From OE-Core rev: 4c487543422ae471a01a573bab44e3f6a6d2497a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/package_manager.py

index 0cdf3b0..692528d 100644 (file)
@@ -178,7 +178,9 @@ class DpkgIndexer(Indexer):
             arch_list = pkg_archs.split()
         sdk_pkg_archs = self.d.getVar('SDK_PACKAGE_ARCHS', True)
         if sdk_pkg_archs is not None:
-            arch_list += sdk_pkg_archs.split()
+            for a in sdk_pkg_archs.split():
+                if a not in pkg_archs:
+                    arch_list.append(a)
 
         apt_ftparchive = bb.utils.which(os.getenv('PATH'), "apt-ftparchive")
         gzip = bb.utils.which(os.getenv('PATH'), "gzip")