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',
);
# 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.
@@ -185,30 +187,45 @@ 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/*");
# Now, make the destination directory.
my $collect=$workdir;
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: $!";
}
}
# 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.
my @cf;
foreach my $cf (@{$this->conffiles}) {
$cf=$this->prefixes.$cf;
push @cf, $cf;
if ($relocate) {
# 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.
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

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>

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
* Show output of installation of package with -i, since some packages

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 (>= 4)
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/rules vendored
View File

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