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