mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e1d2c9fa4 | ||
|
|
3c8631f8fd | ||
|
|
17bcd710f7 | ||
|
|
ac38739a74 | ||
|
|
dbf7fdfa5b | ||
|
|
15b2f7ff92 | ||
|
|
7a06220ed7 | ||
|
|
d39d884f1b | ||
|
|
9edefc1c48 | ||
|
|
13b74f3141 | ||
|
|
6230493dfe |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
alien.lsm
|
||||||
|
alien.spec
|
||||||
@@ -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
|
||||||
|
|||||||
2
alien.pl
2
alien.pl
@@ -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
22
debian/changelog
vendored
@@ -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
9
debian/control
vendored
@@ -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
2
debian/rules
vendored
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user