mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ea474e531 | ||
|
|
f81986d554 | ||
|
|
0f3f0ab92c | ||
|
|
a712ba401f | ||
|
|
cc5c0ade81 | ||
|
|
4697a558d0 | ||
|
|
c1a3316e71 | ||
|
|
7382aaf75f | ||
|
|
ebf2cb2f06 | ||
|
|
50908ed5ed | ||
|
|
f84c8a6b7e | ||
|
|
2bb90cb16a | ||
|
|
00018b6425 | ||
|
|
33a60c1974 |
@@ -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 || ! $?;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -227,7 +227,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 +522,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 +578,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 +646,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
|
||||
|
||||
@@ -165,8 +165,8 @@ sub unpack {
|
||||
close RPMLIST;
|
||||
foreach my $file (`cd $workdir; find ./`) {
|
||||
chomp $file;
|
||||
if (! $seenfiles{$file} && -d $file && ! -l $file) {
|
||||
$this->do("chmod 755 $file");
|
||||
if (! $seenfiles{$file} && -d "$workdir/$file" && ! -l "$workdir/$file") {
|
||||
$this->do("chmod 755 $workdir/$file");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,7 +397,7 @@ sub build {
|
||||
$opts="--target ".$this->arch;
|
||||
}
|
||||
|
||||
$opts.=" $ENV{RPMBUILDOPTS}" if exists $ENV{RPMBUILDOPTS};
|
||||
$opts.=" $ENV{RPMBUILDOPT}" if exists $ENV{RPMBUILDOPT};
|
||||
my $command="cd $dir; $buildcmd -bb $opts ".$this->name."-".$this->version."-".$this->release.".spec";
|
||||
my $log=$this->runpipe(1, "$command 2>&1");
|
||||
if ($?) {
|
||||
@@ -448,6 +448,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 +461,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;
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
15
alien.pl
15
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,
|
||||
@@ -244,7 +243,7 @@ B<alien> recognizes the following environemnt variables:
|
||||
|
||||
=over 4
|
||||
|
||||
=item RPMBUILDOPT
|
||||
=item RPMBUILDOPTS
|
||||
|
||||
Options to pass to rpm when it is building a package.
|
||||
|
||||
@@ -334,7 +333,7 @@ Usage: alien [options] file [...]
|
||||
--version=<version> Specify package version.
|
||||
-p, --to-pkg Generate a Solaris pkg package.
|
||||
-i, --install Install generated package.
|
||||
-g, --generate Unpack, but do not generate a new package.
|
||||
-g, --generate Generate build tree, but do not build package.
|
||||
-c, --scripts Include scripts in package.
|
||||
-v, --verbose Display each command alien runs.
|
||||
--veryverbose Be verbose, and also display output of run commands.
|
||||
@@ -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
|
||||
|
||||
39
debian/changelog
vendored
39
debian/changelog
vendored
@@ -1,3 +1,42 @@
|
||||
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
|
||||
somewhere that I happened to read by accident].
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Thu, 30 Mar 2006 12:51:45 -0500
|
||||
|
||||
alien (8.63) unstable; urgency=low
|
||||
|
||||
* Correct code to properly use RPMBUILDOPT (not RPMBUILDOPTS). Closes: #352816
|
||||
* Corrected fix for bug #352810 to look at and chmod the right directories.
|
||||
Closes: #352810
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 14 Feb 2006 13:28:22 -0500
|
||||
|
||||
alien (8.62) unstable; urgency=low
|
||||
|
||||
* Fix a bug in conffile script extraction from tgz files (caused by return
|
||||
|
||||
3
debian/control
vendored
3
debian/control
vendored
@@ -3,7 +3,8 @@ 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
|
||||
XS-Vcs-Svn: svn://svn.kitenet.net/joey/trunk/src/packages/alien
|
||||
|
||||
Package: alien
|
||||
Architecture: all
|
||||
|
||||
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:
|
||||
|
||||
|
||||
12
debian/rules
vendored
12
debian/rules
vendored
@@ -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