summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/devtool5
-rw-r--r--scripts/lib/devtool/standard.py6
2 files changed, 8 insertions, 3 deletions
diff --git a/scripts/devtool b/scripts/devtool
index a651d8f213..b4bfbb8329 100755
--- a/scripts/devtool
+++ b/scripts/devtool
@@ -117,12 +117,13 @@ def read_workspace():
117 for line in f: 117 for line in f:
118 res = externalsrc_re.match(line.rstrip()) 118 res = externalsrc_re.match(line.rstrip())
119 if res: 119 if res:
120 pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0] 120 recipepn = os.path.splitext(os.path.basename(fn))[0].split('_')[0]
121 pn = res.group(2) or recipepn
121 # Find the recipe file within the workspace, if any 122 # Find the recipe file within the workspace, if any
122 bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*') 123 bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*')
123 recipefile = glob.glob(os.path.join(config.workspace_path, 124 recipefile = glob.glob(os.path.join(config.workspace_path,
124 'recipes', 125 'recipes',
125 pn, 126 recipepn,
126 bbfile)) 127 bbfile))
127 if recipefile: 128 if recipefile:
128 recipefile = recipefile[0] 129 recipefile = recipefile[0]
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 26187a0c41..f29d8cbb68 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -1744,6 +1744,7 @@ def status(args, config, basepath, workspace):
1744 1744
1745def _reset(recipes, no_clean, config, basepath, workspace): 1745def _reset(recipes, no_clean, config, basepath, workspace):
1746 """Reset one or more recipes""" 1746 """Reset one or more recipes"""
1747 import oe.path
1747 1748
1748 def clean_preferred_provider(pn, layerconf_path): 1749 def clean_preferred_provider(pn, layerconf_path):
1749 """Remove PREFERRED_PROVIDER from layer.conf'""" 1750 """Remove PREFERRED_PROVIDER from layer.conf'"""
@@ -1802,7 +1803,10 @@ def _reset(recipes, no_clean, config, basepath, workspace):
1802 preservedir(os.path.join(root, dn)) 1803 preservedir(os.path.join(root, dn))
1803 os.rmdir(origdir) 1804 os.rmdir(origdir)
1804 1805
1805 preservedir(os.path.join(config.workspace_path, 'recipes', pn)) 1806 recipefile = workspace[pn]['recipefile']
1807 if recipefile and oe.path.is_path_parent(config.workspace_path, recipefile):
1808 # This should always be true if recipefile is set, but just in case
1809 preservedir(os.path.dirname(recipefile))
1806 # We don't automatically create this dir next to appends, but the user can 1810 # We don't automatically create this dir next to appends, but the user can
1807 preservedir(os.path.join(config.workspace_path, 'appends', pn)) 1811 preservedir(os.path.join(config.workspace_path, 'appends', pn))
1808 1812