13 Commits
8.63 ... 8.67

Author SHA1 Message Date
joey
2ea474e531 releasing version 8.67 2007-05-17 17:35:16 +00:00
joey
f81986d554 * Correct a bug that caused alien to ignore failing commands. Closes: #424858 2007-05-17 17:34:20 +00:00
joey
0f3f0ab92c * Update the url to the web page, and remove several other broken urls from
the README.
2007-05-17 04:11:15 +00:00
joey
a712ba401f releasing version 8.66 2007-03-22 21:46:04 +00:00
joey
cc5c0ade81 releasing version 8.65 2006-12-15 18:47:58 +00:00
joey
4697a558d0 * When converting LSB packages, do not increment the release number.
* Use rpmbuild to build lsb packages, not rpm.
2006-12-15 18:46:37 +00:00
joey
c1a3316e71 * Add support for rpm scripts that use RPM_INSTALL_PREFIX, by setting
RPM_INSTALL_PREFIX as part of the converted script. Closes: #400863
2006-12-15 18:34:39 +00:00
joey
7382aaf75f * Fix alien's own spec file, s/Copyright/License/. 2006-12-14 22:35:37 +00:00
joey
ebf2cb2f06 add XS-Vcs-Svn fields 2006-10-04 17:25:11 +00:00
joey
50908ed5ed foo 2006-04-23 03:06:10 +00:00
joey
f84c8a6b7e new announcement system 2006-03-30 20:15:44 +00:00
joey
2bb90cb16a releasing version 8.64 2006-03-30 17:52:16 +00:00
joey
00018b6425 * Minor improvement to usage message as reported in [some random blog
somewhere that I happened to read by accident].
2006-03-30 17:51:22 +00:00
11 changed files with 90 additions and 42 deletions

View File

@@ -306,6 +306,21 @@ the filename of the generated package.
sub build {} 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 =item DESTROY
When an object is destroyed, it cleans some stuff up. In particular, if the When an object is destroyed, it cleans some stuff up. In particular, if the
@@ -431,7 +446,8 @@ sub do {
} }
else { else {
# parent # parent
return (waitpid($pid, 0) > 0); my $ret=(waitpid($pid, 0) > 0);
return ! $ret || ! $?;
} }
} }

View File

@@ -227,7 +227,7 @@ sub scan {
=item unpack =item unpack
Implment the unpack method to unpack a deb file. Implement the unpack method to unpack a deb file.
=cut =cut
@@ -522,7 +522,7 @@ sub cleantree {
Set/get package name. Set/get package name.
Always returns the packge name in lowercase with all invalid characters 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 =cut
@@ -578,7 +578,7 @@ sub version {
# Make sure the version contains digets. # Make sure the version contains digets.
unless (/[0-9]/) { unless (/[0-9]/) {
# Drat. Well, add some. dpkg-deb won't work # Drat. Well, add some. dpkg-deb won't work
# # on a version w/o numbers! # on a version w/o numbers!
return $_."0"; return $_."0";
} }
return $_; return $_;
@@ -646,10 +646,10 @@ Returns the date, in rfc822 format.
sub date { sub date {
my $this=shift; my $this=shift;
my $date=$this->runpipe(1, "822-date"); my $date=$this->runpipe(1, "date -R");
chomp $date; chomp $date;
if (!$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; return $date;

View File

@@ -103,7 +103,7 @@ the package.
sub build { sub build {
my $this=shift; my $this=shift;
my $buildcmd=shift || 'rpm'; my $buildcmd=shift || 'rpmbuild';
foreach (split(/:/,$ENV{PATH})) { foreach (split(/:/,$ENV{PATH})) {
if (-x "$_/lsb-rpm") { if (-x "$_/lsb-rpm") {
$buildcmd='lsb-rpm'; $buildcmd='lsb-rpm';
@@ -113,6 +113,14 @@ sub build {
$this->SUPER::build($buildcmd); $this->SUPER::build($buildcmd);
} }
=item incrementrelease
LSB package versions are not changed.
=cut
sub incrementrelease {}
=back =back
=head1 AUTHOR =head1 AUTHOR

View File

@@ -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 This can confuse dpkg, so add the #!/bin/sh if it looks like there
is no shebang magic already in place. 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 =cut
# This helper function deals with all the scripts. # This helper function deals with all the scripts.
@@ -457,9 +461,18 @@ sub _script_helper {
# set # set
if (@_) { if (@_) {
my $prefixcode="";
if (defined $this->prefixes) {
$prefixcode="RPM_INSTALL_PREFIX=".$this->prefixes."\n";
$prefixcode.="export RPM_INSTALL_PREFIX\n";
}
my $value=shift; my $value=shift;
if (length $value and $value !~ m/^#!\s*\//) { 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; $this->{$script} = $value;
} }

16
README
View File

@@ -3,14 +3,7 @@ Please read alien's man page for general documentation.
Getting alien: Getting alien:
The newest versions of alien are available at the alien home page; drop by The newest versions of alien are available at the alien home page; drop by
http://kitenet.net/programs/alien/ http://kitenet.net/~joey/code/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
Other things you'll need: 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 dpkg, dpkg-dev, and debhelper (version 3 or above) packages, which are
available on http://packages.debian.org available on http://packages.debian.org
To convert to/from stampede packages, you will need bzip2, get it from To convert to/from stampede packages, you will need bzip2.
http://sourceware.cygnus.com/bzip2/index.html
Attention, Slackware, Red Hat, and Stampede users: Bruce S. Babcock Attention, Slackware, Red Hat, and Stampede users: Bruce S. Babcock
<babcock@math.psu.edu> has put together an "alien-extra" <babcock@math.psu.edu> has put together an "alien-extra"
@@ -43,10 +35,6 @@ Other things you'll need:
The Stampede version is at The Stampede version is at
ftp://ykbsb2.yk.psu.edu/pub/alien/alien-extra.slp 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: Note:
Alien is really designed to be used to convert from alien file formats to Alien is really designed to be used to convert from alien file formats to

View File

@@ -18,10 +18,6 @@ package format and install it. It also supports LSB packages.
=head1 WARNING =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 B<alien> should not be used to replace important system packages, like
init, libc, or other things that are essential for the functioning of init, libc, or other things that are essential for the functioning of
your system. Many of these packages are set up differently by the 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 compliant, and it's rather unlikely they will unless you build them in the
lsbdev environment. 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 =item deb
For converting to (but not from) deb format, the gcc, make, debhelper, For converting to (but not from) deb format, the gcc, make, debhelper,
@@ -334,7 +333,7 @@ Usage: alien [options] file [...]
--version=<version> Specify package version. --version=<version> Specify package version.
-p, --to-pkg Generate a Solaris pkg package. -p, --to-pkg Generate a Solaris pkg package.
-i, --install Install generated 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. -c, --scripts Include scripts in package.
-v, --verbose Display each command alien runs. -v, --verbose Display each command alien runs.
--veryverbose Be verbose, and also display output of run commands. --veryverbose Be verbose, and also display output of run commands.
@@ -462,9 +461,7 @@ foreach my $file (@ARGV) {
# Increment release. # Increment release.
unless (defined $keepversion) { unless (defined $keepversion) {
$^W=0; # Shut of possible "is not numeric" warning. $package->incrementrelease($versionbump);
$package->release($package->release + $versionbump);
$^W=1; # Re-enable warnings.
} }
foreach my $format (keys %destformats) { foreach my $format (keys %destformats) {

View File

@@ -4,7 +4,7 @@ Packager: Joey Hess <joey@kitenet.net>
Version: @version@ Version: @version@
Release: 1 Release: 1
Source: ftp://kitenet.net/pub/code/debian/alien_@version@.tar.gz Source: ftp://kitenet.net/pub/code/debian/alien_@version@.tar.gz
Copyright: GPL License: GPL
Group: Utilities/File Group: Utilities/File
Buildroot: /tmp/alien-@version@.build Buildroot: /tmp/alien-@version@.build
Requires: perl Requires: perl

31
debian/changelog vendored
View File

@@ -1,3 +1,34 @@
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 alien (8.63) unstable; urgency=low
* Correct code to properly use RPMBUILDOPT (not RPMBUILDOPTS). Closes: #352816 * Correct code to properly use RPMBUILDOPT (not RPMBUILDOPTS). Closes: #352816

3
debian/control vendored
View File

@@ -3,7 +3,8 @@ Section: admin
Priority: optional Priority: optional
Build-Depends: debhelper (>= 4), dpkg-dev (>= 1.9.0) Build-Depends: debhelper (>= 4), dpkg-dev (>= 1.9.0)
Maintainer: Joey Hess <joeyh@debian.org> 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 Package: alien
Architecture: all Architecture: all

2
debian/copyright vendored
View File

@@ -12,7 +12,7 @@ This program is now maintained by Joey Hess <joeyh@debian.org>.
Copyright 1996, 1997 Christoph Lameter Copyright 1996, 1997 Christoph Lameter
Portions copyright 1997 Randolph Chung Portions copyright 1997 Randolph Chung
Portions copyright 2001 Mark A. Hershberger Portions copyright 2001 Mark A. Hershberger
Copyright 1997-2005 Joey Hess Copyright 1997-2007 Joey Hess
License: License:

12
debian/rules vendored
View File

@@ -39,15 +39,9 @@ binary-indep: build
dh_md5sums dh_md5sums
dh_builddeb dh_builddeb
VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)') # Not intended for use by anyone except the author.
announcedir:
# Update the web page. Not intended for use by anyone except the author. @echo ${HOME}/src/joeywiki/code/alien/news
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)
binary: binary-indep binary-arch binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary .PHONY: build clean binary-indep binary-arch binary