These two patches, in addition to "oe-pkgdata-util: lookup-recipe, package-info: Don't finish prematurely" (commit 32c2a2dd) that is already on master, need to be cherry-picked to the sumo branch as well. Without them, `oe-pkgdata-util package-info ...` is more or less broken.
//Peter > -----Original Message----- > From: openembedded-core-boun...@lists.openembedded.org > [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of > Peter Kjellerstedt > Sent: den 2 juni 2018 21:31 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCHv2 1/2] oe-pkgdata-util: Make > parse_pkgdatafile() support package suffixed vars > > Support for variables suffixed with package names, e.g., PKGV_foo, was > removed in commit 3d2c87c4, which broke support for recipes that set > other versions on their packages than what is in ${PV}. > > Signed-off-by: Peter Kjellerstedt <peter.kjellerst...@axis.com> > --- > scripts/oe-pkgdata-util | 46 ++++++++++++++++++----------------------- > ----- > 1 file changed, 18 insertions(+), 28 deletions(-) > > diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util > index aea8a57516..965f473725 100755 > --- a/scripts/oe-pkgdata-util > +++ b/scripts/oe-pkgdata-util > @@ -286,36 +286,26 @@ def lookup_recipe(args): > > def package_info(args): > def parse_pkgdatafile(pkgdatafile): > + vars = ['PKGV', 'PKGE', 'PKGR', 'PN', 'PV', 'PE', 'PR', > 'PKGSIZE'] > with open(pkgdatafile, 'r') as f: > - pkge = '' > - pkgr = '' > - pe = '' > - pr = '' > + vals = dict() > for line in f: > - if line.startswith('PKGV:'): > - pkg_version = line.split(':', 1)[1].strip() > - elif line.startswith('PKGE:'): > - pkge = line.split(':', 1)[1].strip() > - elif line.startswith('PKGR:'): > - pkgr = line.split(':', 1)[1].strip() > - elif line.startswith('PN:'): > - recipe = line.split(':', 1)[1].strip() > - elif line.startswith('PV:'): > - recipe_version = line.split(':', 1)[1].strip() > - elif line.startswith('PE:'): > - pe = line.split(':', 1)[1].strip() > - elif line.startswith('PR:'): > - pr = line.split(':', 1)[1].strip() > - elif line.startswith('PKGSIZE'): > - pkg_size = line.split(':', 1)[1].strip() > - if pkge: > - pkg_version = pkge + ":" + pkg_version > - if pkgr: > - pkg_version = pkg_version + "-" + pkgr > - if pe: > - recipe_version = pe + ":" + recipe_version > - if pr: > - recipe_version = recipe_version + "-" + pr > + for var in vars: > + m = re.match(var + '(?:_\S+)?:\s*(.+?)\s*$', line) > + if m: > + vals[var] = m.group(1) > + pkg_version = vals['PKGV'] or '' > + recipe = vals['PN'] or '' > + recipe_version = vals['PV'] or '' > + pkg_size = vals['PKGSIZE'] or '' > + if 'PKGE' in vals: > + pkg_version = vals['PKGE'] + ":" + pkg_version > + if 'PKGR' in vals: > + pkg_version = pkg_version + "-" + vals['PKGR'] > + if 'PE' in vals: > + recipe_version = vals['PE'] + ":" + recipe_version > + if 'PR' in vals: > + recipe_version = recipe_version + "-" + vals['PR'] > print("%s %s %s %s %s" % (pkg, pkg_version, recipe, > recipe_version, pkg_size)) > > # Handle both multiple arguments and multiple values within an arg > (old syntax) > -- > 2.12.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core