From 08d790ed7825b121cca3e9c6d270084ae3b5f5fc Mon Sep 17 00:00:00 2001 From: joey Date: Wed, 9 May 2001 15:13:34 +0000 Subject: [PATCH] * Patch from Raul Miller to make it used gzip -dc | tar everywhere it used to use tar zxvf. The problem with the latter is that, on red hat anyway, tar or gzip seems to be broken, and tar does not see an end-of-file marker, causing alien to hang when converting rpms to debs. Closes: #96200 --- Alien/Package/Deb.pm | 6 +++--- Alien/Package/Slp.pm | 2 +- debian/changelog | 10 ++++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Alien/Package/Deb.pm b/Alien/Package/Deb.pm index e61780a..f42d524 100644 --- a/Alien/Package/Deb.pm +++ b/Alien/Package/Deb.pm @@ -95,7 +95,7 @@ sub getcontrolfile { else { # Have to handle old debs without a leading ./ and # new ones with it. - return `ar p $file control.tar.gz | tar Oxzf - $controlfile ./$controlfile 2>/dev/null` + return `ar p $file control.tar.gz | gzip -dc | tar Oxf - $controlfile ./$controlfile 2>/dev/null` } } @@ -166,7 +166,7 @@ sub scan { } else { @filelist=map { chomp; s:\./::; "/$_" } - `ar p $file data.tar.gz | tar tzf -`; + `ar p $file data.tar.gz | gzip -dc | tar tf -`; } $this->filelist(\@filelist); @@ -194,7 +194,7 @@ sub unpack { or die "Unpacking of `$file' failed: $!"; } else { - system("ar p $file data.tar.gz | (cd ".$this->unpacked_tree."; tar zxpf -)") == 0 + system("ar p $file data.tar.gz | gzip -dc | (cd ".$this->unpacked_tree."; tar xpf -)") == 0 or die "Unpacking of `$file' failed: $!"; } diff --git a/Alien/Package/Slp.pm b/Alien/Package/Slp.pm index d865cb6..3c12e37 100644 --- a/Alien/Package/Slp.pm +++ b/Alien/Package/Slp.pm @@ -199,7 +199,7 @@ sub unpack { system("bzip2 -d < $file | (cd ".$this->unpacked_tree."; tar xpf -)") } elsif ($compresstype == 1) { - system("cat $file | (cd ".$this->unpacked_tree."; tar zxpf -)") + system("gzip -dc $file | (cd ".$this->unpacked_tree."; tar xpf -)") } else { die "package uses an unknown compression type, $compresstype (please file a bug report)"; diff --git a/debian/changelog b/debian/changelog index e044c0c..3ab17b0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +alien (7.24) unstable; urgency=low + + * Patch from Raul Miller to make it used gzip -dc | tar + everywhere it used to use tar zxvf. The problem with the latter is + that, on red hat anyway, tar or gzip seems to be broken, and tar does + not see an end-of-file marker, causing alien to hang when converting + rpms to debs. Closes: #96200 + + -- Joey Hess Wed, 9 May 2001 11:09:16 -0400 + alien (7.23) unstable; urgency=low * Moved files out of perl privlib, Closes: #95512