This version of the patch addresses the concerns from Matt (of me failing to copy and paste everything) as well as updates the commit message to show that I have no verified this should work on all gentoo supported platforms.
Please accept. thanks, Zero On 08/22/2012 12:12 PM, Rick Farina wrote: > This patch adds in support for automatically detecting and decompressing > both formats gentoo currently ships portage snapshots in. To make the > change as minimal as possible I am using recent gnu/bsd tar ability to > automatically pick the correct format and decompress. This should work > on all gentoo supported platforms including linux, freebsd, and > prefix-macosx. > > Signed-off-by: Rick Farina <[email protected]> > --- > modules/generic_stage_target.py | 18 +++++++++++++----- > 1 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py > index c4ef239..b971741 100644 > --- a/modules/generic_stage_target.py > +++ b/modules/generic_stage_target.py > @@ -404,12 +404,20 @@ class generic_stage_target(generic_target): > > def set_snapshot_path(self): > > self.settings["snapshot_path"]=normpath(self.settings["storedir"]+\ > - > "/snapshots/portage-"+self.settings["snapshot"]+".tar.bz2") > + > "/snapshots/portage-"+self.settings["snapshot"]+".tar.xz") > > if os.path.exists(self.settings["snapshot_path"]): > self.settings["snapshot_path_hash"]=\ > generate_hash(self.settings["snapshot_path"],\ > > hash_function=self.settings["hash_function"],verbose=False) > + else: > + > self.settings["snapshot_path"]=normpath(self.settings["storedir"]+\ > + > "/snapshots/portage-"+self.settings["snapshot"]+".tar.bz2") > + > + if os.path.exists(self.settings["snapshot_path"]): > + self.settings["snapshot_path_hash"]=\ > + > generate_hash(self.settings["snapshot_path"],\ > + > hash_function=self.settings["hash_function"],verbose=False) > > def set_snapcache_path(self): > if self.settings.has_key("SNAPCACHE"): > @@ -635,7 +643,7 @@ class generic_stage_target(generic_target): > self.settings["source_path"]+"\nto "+\ > self.settings["chroot_path"]+\ > " (This may take some time) > ...\n" > - unpack_cmd="tar xjpf > "+self.settings["source_path"]+" -C "+\ > + unpack_cmd="tar xpf > "+self.settings["source_path"]+" -C "+\ > self.settings["chroot_path"] > error_msg="Tarball extraction of "+\ > self.settings["source_path"]+" to "+\ > @@ -646,7 +654,7 @@ class generic_stage_target(generic_target): > self.settings["source_path"]+"\nto "+\ > self.settings["chroot_path"]+\ > " (This may take some time) ...\n" > - unpack_cmd="tar xjpf "+self.settings["source_path"]+" > -C "+\ > + unpack_cmd="tar 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." > @@ -744,7 +752,7 @@ class generic_stage_target(generic_target): > > read_from_clst(self.settings["snapshot_cache_path"]+\ > "catalyst-hash") > destdir=self.settings["snapshot_cache_path"] > - unpack_cmd="tar xjpf "+self.settings["snapshot_path"]+" > -C "+destdir > + unpack_cmd="tar 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"]+\ > @@ -760,7 +768,7 @@ class generic_stage_target(generic_target): > cleanup_errmsg="Error removing existing snapshot > directory." > cleanup_msg=\ > "Cleaning up existing portage tree (This can > take a long time)..." > - unpack_cmd="tar xjpf "+self.settings["snapshot_path"]+" > -C "+\ > + unpack_cmd="tar xpf "+self.settings["snapshot_path"]+" > -C "+\ > self.settings["chroot_path"]+"/usr" > unpack_errmsg="Error unpacking snapshot" > >
