[OE-core] [PATCH] classes: Update to use corrected bb.utils.explode_dep_versions2 API

Richard Purdie richard.purdie at linuxfoundation.org
Tue Oct 2 20:17:57 UTC 2012


On Tue, 2012-10-02 at 12:20 -0500, Mark Hatle wrote:
> On 10/1/12 7:10 PM, Richard Purdie wrote:
> > The bb.utils.explode_dep_versions function has issues where dependency information
> > can be lost. The API doesn't support maintaining the correct information so this
> > changes to use a new function which correctly handles the data.
> >
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> 
> > diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass
> > index dc32c81..0f49936 100644
> > --- a/meta/classes/libc-common.bbclass
> > +++ b/meta/classes/libc-common.bbclass
> > @@ -29,14 +29,7 @@ python populate_packages_prepend () {
> >           d.setVar('PKG_'+bpn+'-dev', 'libc6-dev')
> >           d.setVar('PKG_'+bpn+'-dbg', 'libc6-dbg')
> >           # For backward compatibility with old -dbg package
> > -
> > -        def add_dep(var, dep):
> > -            deps = bb.utils.explode_dep_versions(d.getVar(var + '_' + bpn, True) or "")
> > -            if not dep in deps:
> > -                deps[dep] = ""
> > -                d.setVar(var + '_' + bpn, bb.utils.join_deps(deps, commasep=False))
> > -
> > -        add_dep('RPROVIDES', 'libc-dbg')
> > -        add_dep('RCONFLICTS', 'libc-dbg')
> > -        add_dep('RREPLACES', 'libc-dbg')
> > +        d.appendVar('RPROVIDES_' + bpn + '-dbg', ' libc-dbg')
> > +        d.appendVar('RCONFLICTS_' + bpn + '-dbg', ' libc-dbg')
> > +        d.appendVar('RREPLACES_' + bpn + '-dbg', ' libc-dbg')
> >   }
> 
> The above is almost the same as the original code.  The problem with appendVar 
> is that then you get duplicate entries.  With the new code, I know we won't get 
> exceptions, but do we really want the duplicates?
> 
> Everything else looks good.

Its not really an error to have duplicates in the field. I'm fine with
avoiding it where it makes sense but I don't like adding too much
runtime cost or complexity.

In the above case it will get filtered out later anyway so I'm not
really bothered by it and prefer the simpler syntax.

Cheers,

Richard





More information about the Openembedded-core mailing list