mirror of
https://git.yoctoproject.org/poky
synced 2026-04-27 12:32:13 +02:00
devtool: include bbappends in recipe parsing
In order to get correct metadata, SRCREV for example. Fixes [YOCTO #7648]. (From OE-Core rev: 8b1794559dd7fd956716179d628e61cffdce1686) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a8c7558c76
commit
ca1f4d7279
@@ -130,18 +130,29 @@ def _get_recipe_file(cooker, pn):
|
||||
logger.error("Unable to find any recipe file matching %s" % pn)
|
||||
return recipefile
|
||||
|
||||
def _parse_recipe(config, tinfoil, pn, appends):
|
||||
"""Parse recipe of a package"""
|
||||
import oe.recipeutils
|
||||
recipefile = _get_recipe_file(tinfoil.cooker, pn)
|
||||
if not recipefile:
|
||||
# Error already logged
|
||||
return None
|
||||
if appends:
|
||||
append_files = tinfoil.cooker.collection.get_file_appends(recipefile)
|
||||
# Filter out appends from the workspace
|
||||
append_files = [path for path in append_files if
|
||||
not path.startswith(config.workspace_path)]
|
||||
return oe.recipeutils.parse_recipe(recipefile, append_files,
|
||||
tinfoil.config_data)
|
||||
|
||||
def extract(args, config, basepath, workspace):
|
||||
import bb
|
||||
import oe.recipeutils
|
||||
|
||||
tinfoil = setup_tinfoil()
|
||||
|
||||
recipefile = _get_recipe_file(tinfoil.cooker, args.recipename)
|
||||
if not recipefile:
|
||||
# Error already logged
|
||||
rd = _parse_recipe(config, tinfoil, args.recipename, True)
|
||||
if not rd:
|
||||
return -1
|
||||
rd = oe.recipeutils.parse_recipe(recipefile, tinfoil.config_data)
|
||||
|
||||
srctree = os.path.abspath(args.srctree)
|
||||
initial_rev = _extract_source(srctree, args.keep_temp, args.branch, rd)
|
||||
@@ -327,11 +338,10 @@ def modify(args, config, basepath, workspace):
|
||||
|
||||
tinfoil = setup_tinfoil()
|
||||
|
||||
recipefile = _get_recipe_file(tinfoil.cooker, args.recipename)
|
||||
if not recipefile:
|
||||
# Error already logged
|
||||
rd = _parse_recipe(config, tinfoil, args.recipename, True)
|
||||
if not rd:
|
||||
return -1
|
||||
rd = oe.recipeutils.parse_recipe(recipefile, tinfoil.config_data)
|
||||
recipefile = rd.getVar('FILE', True)
|
||||
|
||||
if not _check_compatible_recipe(args.recipename, rd):
|
||||
return -1
|
||||
@@ -428,11 +438,10 @@ def update_recipe(args, config, basepath, workspace):
|
||||
from oe.patch import GitApplyTree
|
||||
import oe.recipeutils
|
||||
|
||||
recipefile = _get_recipe_file(tinfoil.cooker, args.recipename)
|
||||
if not recipefile:
|
||||
# Error already logged
|
||||
rd = _parse_recipe(config, tinfoil, args.recipename, True)
|
||||
if not rd:
|
||||
return -1
|
||||
rd = oe.recipeutils.parse_recipe(recipefile, tinfoil.config_data)
|
||||
recipefile = rd.getVar('FILE', True)
|
||||
|
||||
orig_src_uri = rd.getVar('SRC_URI', False) or ''
|
||||
if args.mode == 'auto':
|
||||
|
||||
Reference in New Issue
Block a user