for line in f:
res = externalsrc_re.match(line.rstrip())
if res:
- pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0]
+ recipepn = os.path.splitext(os.path.basename(fn))[0].split('_')[0]
+ pn = res.group(2) or recipepn
# Find the recipe file within the workspace, if any
bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*')
recipefile = glob.glob(os.path.join(config.workspace_path,
'recipes',
- pn,
+ recipepn,
bbfile))
if recipefile:
recipefile = recipefile[0]
def _reset(recipes, no_clean, config, basepath, workspace):
"""Reset one or more recipes"""
+ import oe.path
def clean_preferred_provider(pn, layerconf_path):
"""Remove PREFERRED_PROVIDER from layer.conf'"""
preservedir(os.path.join(root, dn))
os.rmdir(origdir)
- preservedir(os.path.join(config.workspace_path, 'recipes', pn))
+ recipefile = workspace[pn]['recipefile']
+ if recipefile and oe.path.is_path_parent(config.workspace_path, recipefile):
+ # This should always be true if recipefile is set, but just in case
+ preservedir(os.path.dirname(recipefile))
# We don't automatically create this dir next to appends, but the user can
preservedir(os.path.join(config.workspace_path, 'appends', pn))