commit: 64cae407aa8e334a2b925fd5aab1f6a4d164a47a
Author: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT> gentoo
<DOT> org>
AuthorDate: Sat Dec 6 16:48:27 2014 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 02:28:16 2015 +0000
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=64cae407
Add --xattrs and --acls to the tar calls so we don't lose file properties while
building the stages - should fix bug 531788.
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT>
gentoo.org>
catalyst/base/stagebase.py | 18 +++++++++---------
catalyst/contents.py | 6 +++---
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index c94f6b6..a33cae4 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -696,10 +696,10 @@ class StageBase(TargetBase, ClearBase, GenBase):
self.settings["chroot_path"]+\
" (This may take some time)
...\n"
if "bz2" == self.settings["chroot_path"][-3:]:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls -I
lbzip2 -xpf "+self.settings["source_path"]+" -C "+\
self.settings["chroot_path"]
else:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls -I
lbzip2 -xpf "+self.settings["source_path"]+" -C "+\
self.settings["chroot_path"]
error_msg="Tarball extraction of "+\
self.settings["source_path"]+" to "+\
@@ -711,10 +711,10 @@ class StageBase(TargetBase, ClearBase, GenBase):
self.settings["chroot_path"]+\
" (This may take some time) ...\n"
if "bz2" == self.settings["chroot_path"][-3:]:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
self.settings["chroot_path"]
else:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls -I lbzip2 -xpf
"+self.settings["source_path"]+" -C "+\
self.settings["chroot_path"]
error_msg="Tarball extraction of
"+self.settings["source_path"]+\
" to "+self.settings["chroot_path"]+" failed."
@@ -806,9 +806,9 @@ class StageBase(TargetBase, ClearBase, GenBase):
"catalyst-hash")
destdir=self.settings["snapshot_cache_path"]
if "bz2" == self.settings["chroot_path"][-3:]:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["snapshot_path"]+" -C "+destdir
+ unpack_cmd="tar --xattrs --acls -I lbzip2 -xpf
"+self.settings["snapshot_path"]+" -C "+destdir
else:
- unpack_cmd="tar xpf
"+self.settings["snapshot_path"]+" -C "+destdir
+ unpack_cmd="tar --xattrs --acls xpf
"+self.settings["snapshot_path"]+" -C "+destdir
unpack_errmsg="Error unpacking snapshot"
cleanup_msg="Cleaning up invalid snapshot cache at
\n\t"+\
self.settings["snapshot_cache_path"]+\
@@ -825,10 +825,10 @@ class StageBase(TargetBase, ClearBase, GenBase):
cleanup_msg=\
"Cleaning up existing portage tree (This can
take a long time)..."
if "bz2" == self.settings["chroot_path"][-3:]:
- unpack_cmd="tar -I lbzip2 -xpf
"+self.settings["snapshot_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls -I lbzip2 -xpf
"+self.settings["snapshot_path"]+" -C "+\
self.settings["chroot_path"]+"/usr"
else:
- unpack_cmd="tar xpf
"+self.settings["snapshot_path"]+" -C "+\
+ unpack_cmd="tar --xattrs --acls xpf
"+self.settings["snapshot_path"]+" -C "+\
self.settings["chroot_path"]+"/usr"
unpack_errmsg="Error unpacking snapshot"
@@ -1248,7 +1248,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
print "Creating stage tarball..."
- cmd("tar -I lbzip2 -cpf
"+self.settings["target_path"]+" -C "+\
+ cmd("tar --xattrs --acls -I lbzip2 -cpf
"+self.settings["target_path"]+" -C "+\
self.settings["stage_path"]+" .",\
"Couldn't create stage tarball",env=self.env)
diff --git a/catalyst/contents.py b/catalyst/contents.py
index 9611890..a06b2db 100644
--- a/catalyst/contents.py
+++ b/catalyst/contents.py
@@ -11,9 +11,9 @@ CONTENTS_DEFINITIONS = {
# 'find' is disabled because it requires the source path, which is not
# always available
#"find" :["calc_contents","find %(path)s"],
- "tar_tv":["calc_contents","tar tvf %(file)s"],
- "tar_tvz":["calc_contents","tar tvzf %(file)s"],
- "tar_tvj":["calc_contents","tar -I lbzip2 -tvf %(file)s"],
+ "tar_tv":["calc_contents","tar --xattrs tvf %(file)s"],
+ "tar_tvz":["calc_contents","tar --xattrs tvzf %(file)s"],
+ "tar_tvj":["calc_contents","tar --xattrs -I lbzip2 -tvf %(file)s"],
"isoinfo_l":["calc_contents","isoinfo -l -i %(file)s"],
# isoinfo_f should be a last resort only
"isoinfo_f":["calc_contents","isoinfo -f -i %(file)s"],