From: Paul Eggleton Date: Fri, 2 Oct 2015 13:05:08 +0000 (+0100) Subject: recipetool: create: fix change in path structure if --extract-to path exists X-Git-Tag: 2015-10~147 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=2880bd23b471c1966661b9f05726faf60f9c0e7e;p=openembedded-core.git 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 --- diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 844073bf59..15aa9bdbb3 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -260,6 +260,12 @@ def create_recipe(args): if args.extract_to: scriptutils.git_convert_standalone_clone(srctree) + 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) logger.info('Source extracted to %s' % args.extract_to)