aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/rootfs.py
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-02-13 13:55:26 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-13 12:05:24 +0000
commit1fa94697163f16cdbb1499b57f1bc018546974ee (patch)
treeb5984458815b99e0fdcf78b92eb8b787d56755c0 /meta/lib/oe/rootfs.py
parentc6824a54c11f9a45720b2628ccba972653a0559a (diff)
downloadopenembedded-core-1fa94697163f16cdbb1499b57f1bc018546974ee.tar.gz
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@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/rootfs.py')
-rw-r--r--meta/lib/oe/rootfs.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 4fd17de58e..6114f5652a 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()