lib/oe/path: Fixup handling of .* files in top level paths for copyhardlinktree()

Files named .* in the top level of directories handled by this function
were getting lost after the directory copying command was fixed. Rather
than complicate the function further, use cpio instead.

(From OE-Core rev: 59612905e9bb865762667aa7b3cb06e53c3a4071)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-11-08 22:13:38 +00:00
parent 8a07a176d7
commit c393536210

View File

@ -95,9 +95,7 @@ def copyhardlinktree(src, dst):
# writers try and create a directory at the same time
cmd = 'cd %s; find . -type d -print | tar -cf - -C %s -p --files-from - --no-recursion | tar -xf - -C %s' % (src, src, dst)
check_output(cmd, shell=True, stderr=subprocess.STDOUT)
if os.path.isdir(src):
src = src + "/*"
cmd = 'cp -afl %s %s' % (src, dst)
cmd = 'cd %s; find . -print0 | cpio --null -pdlu %s' % (src, dst)
check_output(cmd, shell=True, stderr=subprocess.STDOUT)
else:
copytree(src, dst)