devtool: use cp instead of shutil.copytree

Copied layers with 'cp -a' instead of calling shutil.copytree as
copytree fails to copy broken symlinks.

More pythonic fix would be to use copytree with 'ignore' parameter,
but this could slow down copying complex directory structures.

[YOCTO #8825]

(From OE-Core master rev: e5b841420b9fdd33829f7665a62cd06a3017f7e6)

(From OE-Core rev: fa0424ee742a6b331f1c6462eb69fecba6dc7f86)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh authored and Richard Purdie committed 2016-01-15 15:51:40 +00:00
1 parent 95cc641ec3
commit 8597a616f3
1 file changed
+4 -1
+4 -1
View File
@@ -132,7 +132,10 @@ def sdk_update(args, config, basepath, workspace):
new_layers_dir = os.path.join(args.updateserver, 'layers')
old_layers_dir = os.path.join(basepath, 'layers')
shutil.rmtree(old_layers_dir)
shutil.copytree(new_layers_dir, old_layers_dir)
ret = subprocess.call("cp -a %s %s" % (new_layers_dir, old_layers_dir), shell=True)
if ret != 0:
logger.error("Copying %s to %s failed" % (new_layers_dir, old_layers_dir))
return ret
else:
# devtool sdk-update http://myhost/sdk
tmpsdk_dir = '/tmp/sdk-ext'