[OE-core] [PATCH 1/1] lib/oe/rootfs.py: fix RPM multilib issue

Laurentiu Palcu laurentiu.palcu at intel.com
Thu Feb 13 11:50:37 UTC 2014


On Thu, Feb 13, 2014 at 11:32:36AM +0000, Richard Purdie wrote:
> On Wed, 2014-02-12 at 20:54 +0200, Laurentiu Palcu wrote:
> > 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>
> > ---
> >  meta/lib/oe/rootfs.py |   16 ++++++++++++----
> >  1 file changed, 12 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
> > index b6baf77..9162e52 100644
> > --- a/meta/lib/oe/rootfs.py
> > +++ b/meta/lib/oe/rootfs.py
> > @@ -317,10 +317,18 @@ 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]
> 
> Should this be a += ?
Indeed, I guess I was thinking that there can be only one attempt only
list. Nevertheless, should be += there. Thanks!

> 
> This might be clearer as an if: else:
Agreed.

Incoming v2...

laurentiu
> 
> > +                continue
> > +
> > +            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-core mailing list