]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_manager.py: Reverse rpm arch order
authorJussi Kukkonen <jussi.kukkonen@intel.com>
Wed, 19 Apr 2017 13:25:57 +0000 (16:25 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Apr 2017 06:52:57 +0000 (07:52 +0100)
The architecture list used by dnf/libsolv was in the wrong order.
As a result, the images were built with wrong and unpredictable
packages.

$ MACHINE=intel-corei7-64 bitbake core-image-sato
$ MACHINE=qemux86-64 bitbake core-image-sato
$ MACHINE=intel-corei7-64 bitbake -ccleansstate core-image-sato
$ MACHINE=intel-corei7-64 bitbake core-image-sato

The first image had 0 core2_64 packages in it, but the last one had
583 core2_64 packages (which were built for the qemu image in
between).

Reverse the arch order in etc/dnf/vars/arch.

Fixes [YOCTO #11384].

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/package_manager.py

index f7190cf0b9928457ef28e2e7e2529d0c3a083622..f1b65bdbbc8d42cc3c65a029cf09d4e2102a1ee9 100644 (file)
@@ -489,7 +489,7 @@ class RpmPM(PackageManager):
 
     def _configure_dnf(self):
         # libsolv handles 'noarch' internally, we don't need to specify it explicitly
-        archs = [i for i in self.archs.split() if i not in ["any", "all", "noarch"]]
+        archs = [i for i in reversed(self.archs.split()) if i not in ["any", "all", "noarch"]]
         # This prevents accidental matching against libsolv's built-in policies
         if len(archs) <= 1:
             archs = archs + ["bogusarch"]