21 Commits
8.66 ... 8.72

Author SHA1 Message Date
Joey Hess
ee792cb76c releasing version 8.72 2008-05-01 15:41:14 -04:00
Joey Hess
ecabe240bc When generating a debian changelog file, work around bug #478925 by including the alien changelog text inside the debian changelog entry. 2008-05-01 15:40:57 -04:00
Joey Hess
b2421b584a Improve parsing of tgz filenames, to avoid confusion when the filename includes the package type (ie, "noarch"). Patch from Andrej Ricnik-Bay. 2008-04-29 18:26:16 -04:00
Joey Hess
7893ffb4ed Use debhelper 7, rules file minimisation. 2008-04-24 02:02:59 -04:00
Joey Hess
5e1d2c9fa4 * Deal with rpms that relocate ie, /usr into /usr/local, and don't
try to move /usr into /usr/local in this case. Closes: #470905
2008-03-14 13:35:41 -04:00
Joey Hess
3c8631f8fd don't try to modify a constant value 2008-03-12 11:10:09 -04:00
Joey Hess
17bcd710f7 * Extract prefixes field before extracting scripts so that
RPM_INSTALL_PREFIX gets set.
2008-03-12 11:05:39 -04:00
Joey Hess
ac38739a74 lintin fixes 2008-01-05 14:50:46 -05:00
Joey Hess
dbf7fdfa5b typo 2007-11-27 15:47:42 -05:00
Joey Hess
15b2f7ff92 add homepage field 2007-11-06 15:54:02 -05:00
Joey Hess
7a06220ed7 * Improve the short description. 2007-10-19 20:34:22 -04:00
Joey Hess
d39d884f1b * Minor improvement to debian/rules clean. 2007-10-19 20:32:58 -04:00
Joey Hess
9edefc1c48 add 2007-10-19 20:32:35 -04:00
Joey Hess
13b74f3141 * Alien's repository has moved from subversion to git. 2007-10-15 23:35:16 -04:00
joey
6230493dfe Vcs- fields now official 2007-10-10 22:24:21 +00:00
joey
cfc242e886 releasing version 8.68 2007-05-24 18:11:25 +00:00
joey
ffcb91fa04 * Show output of installation of package with -i, since some packages
install scripts may have important output or even be interactive.
  Closes; #425732
2007-05-23 18:03:47 +00:00
joey
f0c859c1c4 typo 2007-05-23 17:30:22 +00:00
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
15 changed files with 133 additions and 81 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
alien.lsm
alien.spec

View File

@@ -446,7 +446,8 @@ sub do {
}
else {
# parent
return (waitpid($pid, 0) > 0);
my $ret=(waitpid($pid, 0) > 0);
return ! $ret || ! $?;
}
}

View File

@@ -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
@@ -332,9 +335,13 @@ sub prep {
print OUT "\n";
print OUT " * Converted from .".$this->origformat." format to .deb by alien version $Alien::Version\n";
print OUT " \n";
print OUT " -- ".$this->username." <".$this->email."> ".$this->date."\n";
if (defined $this->changelogtext) {
my $ct=$this->changelogtext;
$ct=~s/^/ /gm;
print OUT $ct."\n";
}
print OUT "\n";
print OUT $this->changelogtext."\n" if defined $this->changelogtext;
print OUT " -- ".$this->username." <".$this->email."> ".$this->date."\n";
close OUT;
# Control file.

View File

@@ -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";

View File

@@ -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
@@ -75,18 +78,20 @@ sub scan {
POSTUN => 'postrm',
);
# These fields need no translation except case.
foreach (qw{name version release arch changelogtext summary
description copyright prefixes}) {
$fieldtrans{uc $_}=$_;
}
# Use --queryformat to pull out all the fields we need.
foreach my $field (keys(%fieldtrans)) {
$_=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file");
$field=$fieldtrans{$field};
$_='' if $_ eq '(none)';
$this->$field($_);
foreach my $field (qw{NAME VERSION RELEASE ARCH CHANGELOGTEXT
SUMMARY DESCRIPTION COPYRIGHT PREFIXES},
keys(%fieldtrans)) {
my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file");
my $key;
if (exists $fieldtrans{$field}) {
$key=$fieldtrans{$field};
}
else {
$key=lc($field);
}
$value='' if $value eq '(none)';
$this->$key($value);
}
# Get the conffiles list.
@@ -182,6 +187,8 @@ sub unpack {
#
# Test to see if the package contains the prefix directory already.
if (defined $this->prefixes && ! -e "$workdir/".$this->prefixes) {
my $relocate=1;
# Get the files to move.
my @filelist=glob("$workdir/*");
@@ -190,9 +197,21 @@ sub unpack {
foreach (split m:/:, $this->prefixes) {
if ($_ ne '') { # this keeps us from using anything but relative paths.
$collect.="/$_";
if (-d $collect) {
# The package contains a parent
# directory of the relocation
# directory. Since it's impossible
# to move a parent directory into
# its child, bail out and do
# nothing.
$relocate=0;
last;
}
$this->do("mkdir", $collect) || die "unable to mkdir $collect: $!";
}
}
if ($relocate) {
# Now move all files in the package to the directory we made.
if (@filelist) {
$this->do("mv", @filelist, "$workdir/".$this->prefixes)
@@ -207,6 +226,7 @@ sub unpack {
}
$this->conffiles([@cf]);
}
}
# rpm files have two sets of permissions; the set in the cpio
# archive, and the set in the control data; which override them.

View File

@@ -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

View File

@@ -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"
@@ -92,7 +95,7 @@ sub scan {
# Strip out any tar extentions.
$basename=~s/\.(tgz|tar\.(gz|Z))$//;
if ($basename=~m/(.*)-(.*?[0-9]+.*)/) {
if ($basename=~m/([\w-]+)-([0-9\.?]+).*/) {
$this->name($1);
$this->version($2);
}

16
README
View File

@@ -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

View File

@@ -137,7 +137,7 @@ built.
Be less strict about which patch file is used, perhaps attempting to use a patch
file for an older verson of the package. This is not guaranteed to always work;
older patches may necessarily not work with newer packages.
older patches may not necessarily work with newer packages.
=item B<--nopatch>
@@ -159,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.

48
debian/changelog vendored
View File

@@ -1,3 +1,51 @@
alien (8.72) unstable; urgency=low
* Use debhelper 7, rules file minimisation.
* Improve parsing of tgz filenames, to avoid confusion when the filename
includes the package type (ie, "noarch"). Patch from Andrej Ricnik-Bay.
* When generating a debian changelog file, work around bug #478925 by
including the alien changelog text inside the debian changelog entry.
-- Joey Hess <joeyh@debian.org> Thu, 01 May 2008 15:40:34 -0400
alien (8.71) unstable; urgency=low
* Deal with rpms that relocate ie, /usr into /usr/local, and don't
try to move /usr into /usr/local in this case. Closes: #470905
-- Joey Hess <joeyh@debian.org> Fri, 14 Mar 2008 13:35:33 -0400
alien (8.70) unstable; urgency=low
* Extract prefixes field before extracting scripts so that
RPM_INSTALL_PREFIX gets set.
-- Joey Hess <joeyh@debian.org> Wed, 12 Mar 2008 11:05:40 -0400
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.

2
debian/compat vendored
View File

@@ -1 +1 @@
4
7

9
debian/control vendored
View File

@@ -1,17 +1,18 @@
Source: alien
Section: admin
Priority: optional
Build-Depends: debhelper (>= 4), dpkg-dev (>= 1.9.0)
Build-Depends: debhelper (>= 7)
Maintainer: Joey Hess <joeyh@debian.org>
Standards-Version: 3.7.2
XS-Vcs-Svn: svn://svn.kitenet.net/joey/trunk/src/packages/alien
Standards-Version: 3.7.3
Vcs-Git: git://git.kitenet.net/alien
Homepage: http://kitenet.net/~joey/code/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
View File

@@ -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:

2
debian/docs vendored Normal file
View File

@@ -0,0 +1,2 @@
README
gendiff.txt

38
debian/rules vendored
View File

@@ -1,47 +1,21 @@
#!/usr/bin/make -f
%:
dh $@
build: build-stamp
build-stamp:
dh_testdir
perl Makefile.PL
$(MAKE)
build:
dh build
# simple smoke test
./alien.pl -V
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
perl Makefile.PL
-$(MAKE) realclean
dh_clean
binary-arch: build
binary-indep: build
dh_testdir
dh_testroot
dh_clean -k
dh install --before dh_auto_install
$(MAKE) pure_install INSTALLDIRS=vendor \
PREFIX=$(shell pwd)/debian/alien/$(shell perl -MConfig -e 'print $$Config{prefix}') \
VARPREFIX=$(shell pwd)/debian/alien
# Why does it make this empty directory? Sigh.
rm -rf debian/alien/usr/lib
dh_installdocs README gendiff.txt
dh_installexamples
dh_installchangelogs
dh_compress
dh_fixperms
dh_perl
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh install --after dh_auto_install
# 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