mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
sstate/lib.oe.path: Ensure file sparseness is preserved
Files when restored from sstate were missing their sparseness. Fix up various functions to preserve this and make things more deterministic. (From OE-Core rev: 055402e5504f041c346571e243c7cf0894955cad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
899a3694de
commit
a1b4b7c0b4
|
@ -721,9 +721,9 @@ sstate_create_package () {
|
|||
TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
|
||||
|
||||
# Use pigz if available
|
||||
OPT="-cz"
|
||||
OPT="-czS"
|
||||
if [ -x "$(command -v pigz)" ]; then
|
||||
OPT="-I pigz -c"
|
||||
OPT="-I pigz -cS"
|
||||
fi
|
||||
|
||||
# Need to handle empty directories
|
||||
|
|
|
@ -86,7 +86,7 @@ def copytree(src, dst):
|
|||
# This way we also preserve hardlinks between files in the tree.
|
||||
|
||||
bb.utils.mkdirhier(dst)
|
||||
cmd = "tar --xattrs --xattrs-include='*' -cf - -C %s -p . | tar --xattrs --xattrs-include='*' -xf - -C %s" % (src, dst)
|
||||
cmd = "tar --xattrs --xattrs-include='*' -cf - -S -C %s -p . | tar --xattrs --xattrs-include='*' -xf - -C %s" % (src, dst)
|
||||
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
|
||||
|
||||
def copyhardlinktree(src, dst):
|
||||
|
@ -98,7 +98,7 @@ def copyhardlinktree(src, dst):
|
|||
if (os.stat(src).st_dev == os.stat(dst).st_dev):
|
||||
# Need to copy directories only with tar first since cp will error if two
|
||||
# writers try and create a directory at the same time
|
||||
cmd = "cd %s; find . -type d -print | tar --xattrs --xattrs-include='*' -cf - -C %s -p --no-recursion --files-from - | tar --xattrs --xattrs-include='*' -xhf - -C %s" % (src, src, dst)
|
||||
cmd = "cd %s; find . -type d -print | tar --xattrs --xattrs-include='*' -cf - -S -C %s -p --no-recursion --files-from - | tar --xattrs --xattrs-include='*' -xhf - -C %s" % (src, src, dst)
|
||||
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
|
||||
source = ''
|
||||
if os.path.isdir(src):
|
||||
|
|
Loading…
Reference in New Issue
Block a user