[oe-commits] Laurentiu Palcu : lib/oe/rootfs.py: fix RPM multilib issue

git at git.openembedded.org git at git.openembedded.org
Thu Feb 13 12:00:28 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 1fa94697163f16cdbb1499b57f1bc018546974ee
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1fa94697163f16cdbb1499b57f1bc018546974ee

Author: Laurentiu Palcu <laurentiu.palcu at intel.com>
Date:   Thu Feb 13 13:55:26 2014 +0200

lib/oe/rootfs.py: fix RPM multilib issue

For some odd reason (at least I couldn't find an explanation to this,
yet), if a multilib version of a package is installed after the main one
(that is: in a different smart session), the main package binaries are
not overwritten.

This commit restores the functionality to the original one, before
migrating to python: feed all the packages to smart, apart from attempt
only ones which are installed separately.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/lib/oe/rootfs.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 4fd17de..6114f56 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -317,10 +317,17 @@ class RpmRootfs(Rootfs):
 
         self.pm.update()
 
-        for pkg_type in self.install_order:
-            if pkg_type in pkgs_to_install:
-                self.pm.install(pkgs_to_install[pkg_type],
-                                [False, True][pkg_type == "aop"])
+        pkgs = []
+        pkgs_attempt = []
+        for pkg_type in pkgs_to_install:
+            if pkg_type == Manifest.PKG_TYPE_ATTEMPT_ONLY:
+                pkgs_attempt += pkgs_to_install[pkg_type]
+            else:
+                pkgs += pkgs_to_install[pkg_type]
+
+        self.pm.install(pkgs)
+
+        self.pm.install(pkgs_attempt, True)
 
         self.pm.install_complementary()
 



More information about the Openembedded-commits mailing list