[OE-core] Cherry-pick to Sumo (was: [PATCHv2 1/2] oe-pkgdata-util: Make parse_pkgdatafile() support package suffixed vars)
Peter Kjellerstedt
peter.kjellerstedt at axis.com
Sat Jun 2 19:48:00 UTC 2018
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-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