diff options
author | Clemens Lang <clemens.lang@bmw-carit.de> | 2016-07-15 18:26:26 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-26 08:56:29 +0100 |
commit | 1131507d467a2169c524db1dc98e740f439d6a24 (patch) | |
tree | f0e29063369d22a520b3d2857b2c5dee19b83f6d /meta/lib/oe | |
parent | 57bb38d26383696d30e5c1e25826eceb11688282 (diff) | |
download | poky-1131507d467a2169c524db1dc98e740f439d6a24.tar.gz |
lib/oe/path: Fix tar invocation with --no-recursion
tar's --no-recursion flag only applies to files mentioned after the
flag, which made it a no-op in this invocation of tar, because it was at
the end of the command line.
This is simple to verify with GNU tar 1.29:
| $ mkdir foo
| $ mkdir foo/dir
| $ touch foo/dir/file
| $ tar -cf - foo --no-recursion | tar t
| foo/
| foo/dir/
| foo/dir/file
| $ tar -cf - --no-recursion foo | tar t
| foo/
Modify the code so that it actually does what the comment says by moving
the flag in front of the --files-from argument.
(From OE-Core rev: d45f5e71fef5ffbd4408f69c5c179dc71a3eb452)
Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r-- | meta/lib/oe/path.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py index dbba60a304..3c07df33d4 100644 --- a/meta/lib/oe/path.py +++ b/meta/lib/oe/path.py | |||
@@ -77,7 +77,7 @@ def copyhardlinktree(src, dst): | |||
77 | if (os.stat(src).st_dev == os.stat(dst).st_dev): | 77 | if (os.stat(src).st_dev == os.stat(dst).st_dev): |
78 | # Need to copy directories only with tar first since cp will error if two | 78 | # Need to copy directories only with tar first since cp will error if two |
79 | # writers try and create a directory at the same time | 79 | # writers try and create a directory at the same time |
80 | cmd = 'cd %s; find . -type d -print | tar -cf - -C %s -p --files-from - --no-recursion | tar -xf - -C %s' % (src, src, dst) | 80 | cmd = 'cd %s; find . -type d -print | tar -cf - -C %s -p --no-recursion --files-from - | tar -xf - -C %s' % (src, src, dst) |
81 | subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) | 81 | subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) |
82 | cmd = 'cd %s; find . -print0 | cpio --null -pdlu %s' % (src, dst) | 82 | cmd = 'cd %s; find . -print0 | cpio --null -pdlu %s' % (src, dst) |
83 | subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) | 83 | subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) |