On 06/02/2018 12:48 PM, Peter Kjellerstedt wrote:
> 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
Thanks peter. I hope to remember to back port them once they hit master.
-armin
>> -----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