mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
* Patch from Raul Miller <moth@debian.org> 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
This commit is contained in:
@@ -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: $!";
|
||||
}
|
||||
|
||||
|
||||
@@ -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)";
|
||||
|
||||
Reference in New Issue
Block a user