mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a06220ed7 | ||
|
|
d39d884f1b | ||
|
|
9edefc1c48 | ||
|
|
13b74f3141 | ||
|
|
6230493dfe | ||
|
|
cfc242e886 | ||
|
|
ffcb91fa04 | ||
|
|
f0c859c1c4 | ||
|
|
2ea474e531 | ||
|
|
f81986d554 | ||
|
|
0f3f0ab92c | ||
|
|
a712ba401f | ||
|
|
cc5c0ade81 | ||
|
|
4697a558d0 | ||
|
|
c1a3316e71 | ||
|
|
7382aaf75f | ||
|
|
ebf2cb2f06 | ||
|
|
50908ed5ed | ||
|
|
f84c8a6b7e |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
alien.lsm
|
||||
alien.spec
|
||||
@@ -306,6 +306,21 @@ the filename of the generated package.
|
||||
|
||||
sub build {}
|
||||
|
||||
=item incrementrelease
|
||||
|
||||
This method should increment the release field of the package by
|
||||
the specified number.
|
||||
|
||||
=cut
|
||||
|
||||
sub incrementrelease {
|
||||
my $this=shift;
|
||||
my $number=shift;
|
||||
$^W=0; # Shut of possible "is not numeric" warning.
|
||||
$this->release($this->release + $number);
|
||||
$^W=1; # Re-enable warnings.
|
||||
}
|
||||
|
||||
=item DESTROY
|
||||
|
||||
When an object is destroyed, it cleans some stuff up. In particular, if the
|
||||
@@ -431,7 +446,8 @@ sub do {
|
||||
}
|
||||
else {
|
||||
# parent
|
||||
return (waitpid($pid, 0) > 0);
|
||||
my $ret=(waitpid($pid, 0) > 0);
|
||||
return ! $ret || ! $?;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -87,8 +87,11 @@ sub install {
|
||||
my $this=shift;
|
||||
my $deb=shift;
|
||||
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("dpkg", "--no-force-overwrite", "-i", $deb)
|
||||
or die "Unable to install";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
|
||||
=item test
|
||||
@@ -227,7 +230,7 @@ sub scan {
|
||||
|
||||
=item unpack
|
||||
|
||||
Implment the unpack method to unpack a deb file.
|
||||
Implement the unpack method to unpack a deb file.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -522,7 +525,7 @@ sub cleantree {
|
||||
Set/get package name.
|
||||
|
||||
Always returns the packge name in lowercase with all invalid characters
|
||||
returned. The name is however, stored unchanged.
|
||||
rmoved. The name is however, stored unchanged.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -578,7 +581,7 @@ sub version {
|
||||
# Make sure the version contains digets.
|
||||
unless (/[0-9]/) {
|
||||
# Drat. Well, add some. dpkg-deb won't work
|
||||
# # on a version w/o numbers!
|
||||
# on a version w/o numbers!
|
||||
return $_."0";
|
||||
}
|
||||
return $_;
|
||||
@@ -646,10 +649,10 @@ Returns the date, in rfc822 format.
|
||||
sub date {
|
||||
my $this=shift;
|
||||
|
||||
my $date=$this->runpipe(1, "822-date");
|
||||
my $date=$this->runpipe(1, "date -R");
|
||||
chomp $date;
|
||||
if (!$date) {
|
||||
die "822-date did not return a valid result. You probably need to install the dpkg-dev debian package";
|
||||
die "date -R did not return a valid result.";
|
||||
}
|
||||
|
||||
return $date;
|
||||
|
||||
@@ -103,7 +103,7 @@ the package.
|
||||
|
||||
sub build {
|
||||
my $this=shift;
|
||||
my $buildcmd=shift || 'rpm';
|
||||
my $buildcmd=shift || 'rpmbuild';
|
||||
foreach (split(/:/,$ENV{PATH})) {
|
||||
if (-x "$_/lsb-rpm") {
|
||||
$buildcmd='lsb-rpm';
|
||||
@@ -113,6 +113,14 @@ sub build {
|
||||
$this->SUPER::build($buildcmd);
|
||||
}
|
||||
|
||||
=item incrementrelease
|
||||
|
||||
LSB package versions are not changed.
|
||||
|
||||
=cut
|
||||
|
||||
sub incrementrelease {}
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
@@ -106,8 +106,11 @@ sub install {
|
||||
my $pkg=shift;
|
||||
|
||||
if (-x "/usr/sbin/pkgadd") {
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("/usr/sbin/pkgadd", "-d .", "$pkg")
|
||||
or die "Unable to install";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
else {
|
||||
die "Sorry, I cannot install the generated .pkg file because /usr/sbin/pkgadd is not present.\n";
|
||||
|
||||
@@ -53,8 +53,11 @@ sub install {
|
||||
my $this=shift;
|
||||
my $rpm=shift;
|
||||
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("rpm -ivh ".(exists $ENV{RPMINSTALLOPT} ? $ENV{RPMINSTALLOPT} : '').$rpm)
|
||||
or die "Unable to install";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
|
||||
=item scan
|
||||
@@ -448,6 +451,10 @@ are typically shell scripts, but often lack the leading #!/bin/sh
|
||||
This can confuse dpkg, so add the #!/bin/sh if it looks like there
|
||||
is no shebang magic already in place.
|
||||
|
||||
Also, if the rpm is relocatable, the script could refer to
|
||||
RPM_INSTALL_PREFIX, which is set by rpm at run time. Deal with this by
|
||||
adding code to the script to set RPM_INSTALL_PREFIX.
|
||||
|
||||
=cut
|
||||
|
||||
# This helper function deals with all the scripts.
|
||||
@@ -457,9 +464,18 @@ sub _script_helper {
|
||||
|
||||
# set
|
||||
if (@_) {
|
||||
my $prefixcode="";
|
||||
if (defined $this->prefixes) {
|
||||
$prefixcode="RPM_INSTALL_PREFIX=".$this->prefixes."\n";
|
||||
$prefixcode.="export RPM_INSTALL_PREFIX\n";
|
||||
}
|
||||
|
||||
my $value=shift;
|
||||
if (length $value and $value !~ m/^#!\s*\//) {
|
||||
$value="#!/bin/sh\n$value";
|
||||
$value="#!/bin/sh\n$prefixcode$value";
|
||||
}
|
||||
else {
|
||||
$value=~s/\n/\n$prefixcode/s;
|
||||
}
|
||||
$this->{$script} = $value;
|
||||
}
|
||||
|
||||
@@ -114,8 +114,11 @@ sub install {
|
||||
my $this=shift;
|
||||
my $slp=shift;
|
||||
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("slpi", $slp)
|
||||
or die "Unable to install";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
|
||||
=item getfooter
|
||||
|
||||
@@ -66,8 +66,11 @@ sub install {
|
||||
my $tgz=shift;
|
||||
|
||||
if (-x "/sbin/installpkg") {
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("/sbin/installpkg", "$tgz")
|
||||
or die "Unable to install";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
else {
|
||||
die "Sorry, I cannot install the generated .tgz file because /sbin/installpkg is not present. You can use tar to install it yourself.\n"
|
||||
|
||||
16
README
16
README
@@ -3,14 +3,7 @@ Please read alien's man page for general documentation.
|
||||
Getting alien:
|
||||
|
||||
The newest versions of alien are available at the alien home page; drop by
|
||||
http://kitenet.net/programs/alien/
|
||||
|
||||
On metalab and its mirrors, alien is located in the
|
||||
pub/Linux/utils/scripts/ directory.
|
||||
|
||||
You can also get rpm or deb packages of alien:
|
||||
deb: ftp://ftp.debian.org/debian/unstable/binary-all/admin/alien_*.deb
|
||||
rpm: ftp://ftp.redhat.com/pub/contrib/noarch/alien-*.rpm
|
||||
http://kitenet.net/~joey/code/alien/
|
||||
|
||||
Other things you'll need:
|
||||
|
||||
@@ -27,8 +20,7 @@ Other things you'll need:
|
||||
dpkg, dpkg-dev, and debhelper (version 3 or above) packages, which are
|
||||
available on http://packages.debian.org
|
||||
|
||||
To convert to/from stampede packages, you will need bzip2, get it from
|
||||
http://sourceware.cygnus.com/bzip2/index.html
|
||||
To convert to/from stampede packages, you will need bzip2.
|
||||
|
||||
Attention, Slackware, Red Hat, and Stampede users: Bruce S. Babcock
|
||||
<babcock@math.psu.edu> has put together an "alien-extra"
|
||||
@@ -43,10 +35,6 @@ Other things you'll need:
|
||||
The Stampede version is at
|
||||
ftp://ykbsb2.yk.psu.edu/pub/alien/alien-extra.slp
|
||||
|
||||
Solaris users can find pkg's of much of the above software,
|
||||
at http://mah.everybody.org/hacks/os/solaris/ , thanks to Mark
|
||||
A. Hershberger <mah@everybody.org>.
|
||||
|
||||
Note:
|
||||
|
||||
Alien is really designed to be used to convert from alien file formats to
|
||||
|
||||
13
alien.pl
13
alien.pl
@@ -18,10 +18,6 @@ package format and install it. It also supports LSB packages.
|
||||
|
||||
=head1 WARNING
|
||||
|
||||
Despite the high version number, B<alien> is still (and will probably always
|
||||
be) rather experimental software. It's been under development for many
|
||||
years now, but there are still many bugs and limitations.
|
||||
|
||||
B<alien> should not be used to replace important system packages, like
|
||||
init, libc, or other things that are essential for the functioning of
|
||||
your system. Many of these packages are set up differently by the
|
||||
@@ -54,6 +50,9 @@ No guarantees are made that the generated lsb packages will be fully LSB
|
||||
compliant, and it's rather unlikely they will unless you build them in the
|
||||
lsbdev environment.
|
||||
|
||||
Note that unlike other package formats, converting an LSB package to
|
||||
another format will not cause its minor version number to be changed.
|
||||
|
||||
=item deb
|
||||
|
||||
For converting to (but not from) deb format, the gcc, make, debhelper,
|
||||
@@ -160,7 +159,7 @@ Note that without an argument, this displays the version of B<alien> instead.
|
||||
=item B<-c>, B<--scripts>
|
||||
|
||||
Try to convert the scripts that are meant to be run when the
|
||||
package is installed and removed. Use this with caution, becuase these
|
||||
package is installed and removed. Use this with caution, because these
|
||||
scripts might be designed to work on a system unlike your own, and could
|
||||
cause problems. It is recommended that you examine the scripts by hand
|
||||
and check to see what they do before using this option.
|
||||
@@ -462,9 +461,7 @@ foreach my $file (@ARGV) {
|
||||
|
||||
# Increment release.
|
||||
unless (defined $keepversion) {
|
||||
$^W=0; # Shut of possible "is not numeric" warning.
|
||||
$package->release($package->release + $versionbump);
|
||||
$^W=1; # Re-enable warnings.
|
||||
$package->incrementrelease($versionbump);
|
||||
}
|
||||
|
||||
foreach my $format (keys %destformats) {
|
||||
|
||||
@@ -4,7 +4,7 @@ Packager: Joey Hess <joey@kitenet.net>
|
||||
Version: @version@
|
||||
Release: 1
|
||||
Source: ftp://kitenet.net/pub/code/debian/alien_@version@.tar.gz
|
||||
Copyright: GPL
|
||||
License: GPL
|
||||
Group: Utilities/File
|
||||
Buildroot: /tmp/alien-@version@.build
|
||||
Requires: perl
|
||||
|
||||
40
debian/changelog
vendored
40
debian/changelog
vendored
@@ -1,3 +1,43 @@
|
||||
alien (8.69) unstable; urgency=low
|
||||
|
||||
* Alien's repository has moved from subversion to git.
|
||||
* Minor improvement to debian/rules clean.
|
||||
* Improve the short description.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Fri, 19 Oct 2007 20:27:53 -0400
|
||||
|
||||
alien (8.68) unstable; urgency=low
|
||||
|
||||
* Show output of installation of package with -i, since some packages
|
||||
install scripts may have important output or even be interactive.
|
||||
Closes: #425732
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Thu, 24 May 2007 14:08:39 -0400
|
||||
|
||||
alien (8.67) unstable; urgency=low
|
||||
|
||||
* Update the url to the web page, and remove several other broken urls from
|
||||
the README.
|
||||
* Correct a bug that caused alien to ignore failing commands. Closes: #424858
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Thu, 17 May 2007 13:34:36 -0400
|
||||
|
||||
alien (8.66) unstable; urgency=low
|
||||
|
||||
* Use date -R as 822-date will soon be deprecated.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Thu, 22 Mar 2007 17:45:24 -0400
|
||||
|
||||
alien (8.65) unstable; urgency=low
|
||||
|
||||
* Fix alien's own spec file, s/Copyright/License/.
|
||||
* Add support for rpm scripts that use RPM_INSTALL_PREFIX, by setting
|
||||
RPM_INSTALL_PREFIX as part of the converted script. Closes: #400863
|
||||
* When converting LSB packages, do not increment the release number.
|
||||
* Use rpmbuild to build lsb packages, not rpm, if lsb-rpm is not available.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Fri, 15 Dec 2006 13:46:38 -0500
|
||||
|
||||
alien (8.64) unstable; urgency=low
|
||||
|
||||
* Minor improvement to usage message as reported in [some random blog
|
||||
|
||||
5
debian/control
vendored
5
debian/control
vendored
@@ -3,14 +3,15 @@ Section: admin
|
||||
Priority: optional
|
||||
Build-Depends: debhelper (>= 4), dpkg-dev (>= 1.9.0)
|
||||
Maintainer: Joey Hess <joeyh@debian.org>
|
||||
Standards-Version: 3.6.2
|
||||
Standards-Version: 3.7.2
|
||||
Vcs-Git: git://git.kitenet.net/alien
|
||||
|
||||
Package: alien
|
||||
Architecture: all
|
||||
Section: admin
|
||||
Depends: debhelper (>= 3), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio
|
||||
Suggests: patch, bzip2, lsb-rpm, lintian
|
||||
Description: install non-native packages with dpkg
|
||||
Description: convert and install rpm and other packages
|
||||
Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages
|
||||
into Debian packages, which can be installed with dpkg.
|
||||
.
|
||||
|
||||
2
debian/copyright
vendored
2
debian/copyright
vendored
@@ -12,7 +12,7 @@ This program is now maintained by Joey Hess <joeyh@debian.org>.
|
||||
Copyright 1996, 1997 Christoph Lameter
|
||||
Portions copyright 1997 Randolph Chung
|
||||
Portions copyright 2001 Mark A. Hershberger
|
||||
Copyright 1997-2005 Joey Hess
|
||||
Copyright 1997-2007 Joey Hess
|
||||
|
||||
License:
|
||||
|
||||
|
||||
14
debian/rules
vendored
14
debian/rules
vendored
@@ -14,7 +14,7 @@ clean:
|
||||
dh_testroot
|
||||
rm -f build-stamp
|
||||
perl Makefile.PL
|
||||
-$(MAKE) realclean
|
||||
if [ -e Makefile ]; then $(MAKE) realclean; fi
|
||||
dh_clean
|
||||
|
||||
binary-arch: build
|
||||
@@ -39,15 +39,9 @@ binary-indep: build
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
|
||||
|
||||
# Update the web page. Not intended for use by anyone except the author.
|
||||
DIR=/home/web/kitenet.net/programs/alien
|
||||
installhook:
|
||||
cp debian/changelog $(DIR)/CHANGES
|
||||
echo -n $(VERSION) > $(DIR)/LATEST-VERSION-IS
|
||||
rm -f $(DIR)/*.tar.gz
|
||||
ln -sf /home/joey/lib/debian/unstable/alien_$(VERSION).tar.gz $(DIR)
|
||||
# Not intended for use by anyone except the author.
|
||||
announcedir:
|
||||
@echo ${HOME}/src/joeywiki/code/alien/news
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary
|
||||
|
||||
Reference in New Issue
Block a user