]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/path: Fixup handling of .* files in top level paths for copyhardlinktree()
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 8 Nov 2013 22:13:38 +0000 (22:13 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 12 Nov 2013 10:15:00 +0000 (10:15 +0000)
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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/path.py

index d0588baf1500cf7d31319020fff06fe0b9095d65..46783f86684f2653a1b2bf17ff398fa7dc7aaa4a 100644 (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)