mirror of
https://git.yoctoproject.org/poky
synced 2026-07-17 04:07:06 +00:00
recipetool: create: support extracting SUMMARY and HOMEPAGE
Allow plugins to set any variable value through the extravalues dict, and use this to support extracting SUMMARY and HOMEPAGE values from spec files included with the source; additionally translate "License:" to a comment next to the LICENSE field (we have our own logic for setting LICENSE, but it will often be useful to see what the spec file says if one is present). Also use the same mechanism for setting the same variables for node.js modules; this was already supported but wasn't inserting the settings in the appropriate place in the file which this will now do. (From OE-Core rev: 91fc35ff5e89aa6d4c4ad945e45406fb4f71018e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c056dad62c
commit
2b510f5e01
@@ -331,6 +331,7 @@ def create_recipe(args):
|
||||
import bb.process
|
||||
import tempfile
|
||||
import shutil
|
||||
import oe.recipeutils
|
||||
|
||||
pkgarch = ""
|
||||
if args.machine:
|
||||
@@ -429,7 +430,8 @@ def create_recipe(args):
|
||||
lines_before.append('# Recipe created by %s' % os.path.basename(sys.argv[0]))
|
||||
lines_before.append('# This is the basis of a recipe and may need further editing in order to be fully functional.')
|
||||
lines_before.append('# (Feel free to remove these comments when editing.)')
|
||||
lines_before.append('#')
|
||||
# We need a blank line here so that patch_recipe_lines can rewind before the LICENSE comments
|
||||
lines_before.append('')
|
||||
|
||||
licvalues = guess_license(srctree_use)
|
||||
lic_files_chksum = []
|
||||
@@ -561,28 +563,28 @@ def create_recipe(args):
|
||||
handler.process(srctree_use, classes, lines_before, lines_after, handled, extravalues)
|
||||
|
||||
extrafiles = extravalues.pop('extrafiles', {})
|
||||
extra_pn = extravalues.pop('PN', None)
|
||||
extra_pv = extravalues.pop('PV', None)
|
||||
|
||||
if not realpv:
|
||||
realpv = extravalues.get('PV', None)
|
||||
if realpv:
|
||||
if not validate_pv(realpv):
|
||||
realpv = None
|
||||
else:
|
||||
realpv = realpv.lower().split()[0]
|
||||
if '_' in realpv:
|
||||
realpv = realpv.replace('_', '-')
|
||||
if not pn:
|
||||
pn = extravalues.get('PN', None)
|
||||
if pn:
|
||||
if pn.startswith('GNU '):
|
||||
pn = pn[4:]
|
||||
if ' ' in pn:
|
||||
# Probably a descriptive identifier rather than a proper name
|
||||
pn = None
|
||||
else:
|
||||
pn = pn.lower()
|
||||
if '_' in pn:
|
||||
pn = pn.replace('_', '-')
|
||||
if extra_pv and not realpv:
|
||||
realpv = extra_pv
|
||||
if not validate_pv(realpv):
|
||||
realpv = None
|
||||
else:
|
||||
realpv = realpv.lower().split()[0]
|
||||
if '_' in realpv:
|
||||
realpv = realpv.replace('_', '-')
|
||||
if extra_pn and not pn:
|
||||
pn = extra_pn
|
||||
if pn.startswith('GNU '):
|
||||
pn = pn[4:]
|
||||
if ' ' in pn:
|
||||
# Probably a descriptive identifier rather than a proper name
|
||||
pn = None
|
||||
else:
|
||||
pn = pn.lower()
|
||||
if '_' in pn:
|
||||
pn = pn.replace('_', '-')
|
||||
|
||||
if not outfile:
|
||||
if not pn:
|
||||
@@ -662,6 +664,9 @@ def create_recipe(args):
|
||||
outlines.append('')
|
||||
outlines.extend(lines_after)
|
||||
|
||||
if extravalues:
|
||||
_, outlines = oe.recipeutils.patch_recipe_lines(outlines, extravalues, trailing_newline=False)
|
||||
|
||||
if args.extract_to:
|
||||
scriptutils.git_convert_standalone_clone(srctree)
|
||||
if os.path.isdir(args.extract_to):
|
||||
|
||||
Reference in New Issue
Block a user