[OE-core] Cherry-pick to Sumo (was: [PATCHv2 1/2] oe-pkgdata-util: Make parse_pkgdatafile() support package suffixed vars)

akuster808 akuster808 at gmail.com
Sun Jun 3 15:12:35 UTC 2018



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-bounces at lists.openembedded.org
>> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
>> Peter Kjellerstedt
>> Sent: den 2 juni 2018 21:31
>> To: openembedded-core at 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.kjellerstedt at 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 at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list