mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
* Thanks to the excellent work of Mark A. Hershberger <mah@everybody.org>,
alien now supports converting to and from Solaris "pkg" packages (which
are really SysV packages). You probably need to run it on Solaris for this
to work, though. This brings the number of possible conversions alien can
do up from 12 to a monstrous 20!
* Mark also had to patch Deb.pm a bit so the by-hand deb extraction could
work with solaris's ar and tar.
* Documented the EMAIL environment variable. Closes: #116754
* Threw out a lot of old patches, circa 1999. Probably useless today.
* When converting to debs, move files as follows, if possible, for better
FHS compliance:
/usr/man => /usr/share/man
/usr/info => /usr/share/info
/usr/doc' => /usr/share/doc
* Also moves files as follows, to avoid possibly confusing dpkg with
installing over symlinks (?). Closes: #40012
/usr/bin/X11 should be /usr/X11R6/bin
/usr/lib/X11 should be /usr/X11R6/lib/X11
/usr/include/X11 should be /usr/X11R6/include/X11
* Reverse these moves in the cleantree stage.
* Debian users who have installed alien packages in the past may want to
re-convert and reinstall them, to take advantage of the new FHS
conversions.
This commit is contained in:
@@ -97,9 +97,19 @@ sub getcontrolfile {
|
|||||||
return `dpkg-deb --info $file $controlfile 2>/dev/null`;
|
return `dpkg-deb --info $file $controlfile 2>/dev/null`;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
# Solaris tar doesn't support O
|
||||||
|
sub tar_out {
|
||||||
|
my $file = shift;
|
||||||
|
|
||||||
|
return "(mkdir /tmp/tar_out.$$ &&".
|
||||||
|
" cd /tmp/tar_out.$$ &&".
|
||||||
# Have to handle old debs without a leading ./ and
|
# Have to handle old debs without a leading ./ and
|
||||||
# new ones with it.
|
# new ones with it.
|
||||||
return `ar p $file control.tar.gz | gzip -dc | tar Oxf - $controlfile ./$controlfile 2>/dev/null`
|
" tar xf - $file ./$file &&".
|
||||||
|
" cat $file; cd /; rm -rf /tmp/tar_out.$$)";
|
||||||
|
}
|
||||||
|
my $getcontrol = "ar -p $file control.tar.gz | gzip -dc | ".tar_out($controlfile)." 2>/dev/null";
|
||||||
|
return `$getcontrol`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +125,8 @@ sub scan {
|
|||||||
my $file=$this->filename;
|
my $file=$this->filename;
|
||||||
|
|
||||||
my @control=$this->getcontrolfile('control');
|
my @control=$this->getcontrolfile('control');
|
||||||
|
die "Control file couldn't be read!"
|
||||||
|
if @control == 0;
|
||||||
# Parse control file and extract fields. Use a translation table
|
# Parse control file and extract fields. Use a translation table
|
||||||
# to map between the debian names and the internal field names,
|
# to map between the debian names and the internal field names,
|
||||||
# which more closely resemble those used by rpm (for historical
|
# which more closely resemble those used by rpm (for historical
|
||||||
@@ -170,7 +181,7 @@ sub scan {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@filelist=map { chomp; s:\./::; "/$_" }
|
@filelist=map { chomp; s:\./::; "/$_" }
|
||||||
`ar p $file data.tar.gz | gzip -dc | tar tf -`;
|
`ar -p $file data.tar.gz | gzip -dc | tar tf -`;
|
||||||
}
|
}
|
||||||
$this->filelist(\@filelist);
|
$this->filelist(\@filelist);
|
||||||
|
|
||||||
@@ -198,7 +209,7 @@ sub unpack {
|
|||||||
or die "Unpacking of `$file' failed: $!";
|
or die "Unpacking of `$file' failed: $!";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
system("ar p $file data.tar.gz | gzip -dc | (cd ".$this->unpacked_tree."; tar xpf -)") == 0
|
system("ar -p $file data.tar.gz | gzip -dc | (cd ".$this->unpacked_tree."; tar xpf -)") == 0
|
||||||
or die "Unpacking of `$file' failed: $!";
|
or die "Unpacking of `$file' failed: $!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
debian/changelog
vendored
4
debian/changelog
vendored
@@ -1,10 +1,12 @@
|
|||||||
alien (7.30pre) unstable; urgency=low
|
alien (7.30) unstable; urgency=low
|
||||||
|
|
||||||
* Thanks to the excellent work of Mark A. Hershberger <mah@everybody.org>,
|
* Thanks to the excellent work of Mark A. Hershberger <mah@everybody.org>,
|
||||||
alien now supports converting to and from Solaris "pkg" packages (which
|
alien now supports converting to and from Solaris "pkg" packages (which
|
||||||
are really SysV packages). You probably need to run it on Solaris for this
|
are really SysV packages). You probably need to run it on Solaris for this
|
||||||
to work, though. This brings the number of possible conversions alien can
|
to work, though. This brings the number of possible conversions alien can
|
||||||
do up from 12 to a monstrous 20!
|
do up from 12 to a monstrous 20!
|
||||||
|
* Mark also had to patch Deb.pm a bit so the by-hand deb extraction could
|
||||||
|
work with solaris's ar and tar.
|
||||||
* Documented the EMAIL environment variable. Closes: #116754
|
* Documented the EMAIL environment variable. Closes: #116754
|
||||||
* Threw out a lot of old patches, circa 1999. Probably useless today.
|
* Threw out a lot of old patches, circa 1999. Probably useless today.
|
||||||
* When converting to debs, move files as follows, if possible, for better
|
* When converting to debs, move files as follows, if possible, for better
|
||||||
|
|||||||
Reference in New Issue
Block a user