11 Commits
8.68 ... 8.71

Author SHA1 Message Date
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
6 changed files with 71 additions and 29 deletions

2
.gitignore vendored Normal file
View File

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

View File

@@ -78,18 +78,20 @@ sub scan {
POSTUN => 'postrm', 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. # Use --queryformat to pull out all the fields we need.
foreach my $field (keys(%fieldtrans)) { foreach my $field (qw{NAME VERSION RELEASE ARCH CHANGELOGTEXT
$_=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file"); SUMMARY DESCRIPTION COPYRIGHT PREFIXES},
$field=$fieldtrans{$field}; keys(%fieldtrans)) {
$_='' if $_ eq '(none)'; my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file");
$this->$field($_); 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. # Get the conffiles list.
@@ -185,6 +187,8 @@ sub unpack {
# #
# Test to see if the package contains the prefix directory already. # Test to see if the package contains the prefix directory already.
if (defined $this->prefixes && ! -e "$workdir/".$this->prefixes) { if (defined $this->prefixes && ! -e "$workdir/".$this->prefixes) {
my $relocate=1;
# Get the files to move. # Get the files to move.
my @filelist=glob("$workdir/*"); my @filelist=glob("$workdir/*");
@@ -193,22 +197,35 @@ sub unpack {
foreach (split m:/:, $this->prefixes) { foreach (split m:/:, $this->prefixes) {
if ($_ ne '') { # this keeps us from using anything but relative paths. if ($_ ne '') { # this keeps us from using anything but relative paths.
$collect.="/$_"; $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: $!"; $this->do("mkdir", $collect) || die "unable to mkdir $collect: $!";
} }
} }
# Now move all files in the package to the directory we made.
if (@filelist) {
$this->do("mv", @filelist, "$workdir/".$this->prefixes)
or die "error moving unpacked files into the default prefix directory: $!";
}
# Deal with relocating conffiles. if ($relocate) {
my @cf; # Now move all files in the package to the directory we made.
foreach my $cf (@{$this->conffiles}) { if (@filelist) {
$cf=$this->prefixes.$cf; $this->do("mv", @filelist, "$workdir/".$this->prefixes)
push @cf, $cf; or die "error moving unpacked files into the default prefix directory: $!";
}
# Deal with relocating conffiles.
my @cf;
foreach my $cf (@{$this->conffiles}) {
$cf=$this->prefixes.$cf;
push @cf, $cf;
}
$this->conffiles([@cf]);
} }
$this->conffiles([@cf]);
} }
# rpm files have two sets of permissions; the set in the cpio # rpm files have two sets of permissions; the set in the cpio

View File

@@ -137,7 +137,7 @@ built.
Be less strict about which patch file is used, perhaps attempting to use a patch 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; 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> =item B<--nopatch>

22
debian/changelog vendored
View File

@@ -1,3 +1,25 @@
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 alien (8.68) unstable; urgency=low
* Show output of installation of package with -i, since some packages * Show output of installation of package with -i, since some packages

9
debian/control vendored
View File

@@ -1,17 +1,18 @@
Source: alien Source: alien
Section: admin Section: admin
Priority: optional Priority: optional
Build-Depends: debhelper (>= 4), dpkg-dev (>= 1.9.0) Build-Depends: debhelper (>= 4)
Maintainer: Joey Hess <joeyh@debian.org> Maintainer: Joey Hess <joeyh@debian.org>
Standards-Version: 3.7.2 Standards-Version: 3.7.3
XS-Vcs-Svn: svn://svn.kitenet.net/joey/trunk/src/packages/alien Vcs-Git: git://git.kitenet.net/alien
Homepage: http://kitenet.net/~joey/code/alien/
Package: alien Package: alien
Architecture: all Architecture: all
Section: admin Section: admin
Depends: debhelper (>= 3), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio Depends: debhelper (>= 3), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio
Suggests: patch, bzip2, lsb-rpm, lintian 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 Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages
into Debian packages, which can be installed with dpkg. into Debian packages, which can be installed with dpkg.
. .

2
debian/rules vendored
View File

@@ -14,7 +14,7 @@ clean:
dh_testroot dh_testroot
rm -f build-stamp rm -f build-stamp
perl Makefile.PL perl Makefile.PL
-$(MAKE) realclean if [ -e Makefile ]; then $(MAKE) realclean; fi
dh_clean dh_clean
binary-arch: build binary-arch: build