diff options
authorPaul Eggleton <>2015-10-02 14:05:08 +0100
committerRichard Purdie <>2015-10-03 00:01:13 +0100
commit2880bd23b471c1966661b9f05726faf60f9c0e7e (patch)
parent7baf57ad896112cf2258b3e2c2a1f8b756fb39bc (diff)
recipetool: create: fix change in path structure if --extract-to path exists
If the directory specified by --extract-to exists, because we were using shutil.move() to move the temporary extracted directory to the specified path, a subdirectory was being created under that directory instead of moving the contents, which was a different result than if the directory didn't previously exist. We could try to always move the contents but that's complicated when any symlinks are involved; the simplest thing is just to remove the directory (which should be empty anyway) before moving the temporary directory across in its place. Signed-off-by: Paul Eggleton <> Signed-off-by: Richard Purdie <>
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/lib/recipetool/ b/scripts/lib/recipetool/
index 844073bf59..15aa9bdbb3 100644
--- a/scripts/lib/recipetool/
+++ b/scripts/lib/recipetool/
@@ -260,6 +260,12 @@ def create_recipe(args):
if args.extract_to:
+ if os.path.isdir(args.extract_to):
+ # If the directory exists we'll move the temp dir into it instead of
+ # its contents - of course, we could try to always move its contents
+ # but that is a pain if there are symlinks; the simplest solution is
+ # to just remove it first
+ os.rmdir(args.extract_to)
shutil.move(srctree, args.extract_to)'Source extracted to %s' % args.extract_to)