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"],