mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-25 14:00:17 +00:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee792cb76c | ||
|
|
ecabe240bc | ||
|
|
b2421b584a | ||
|
|
7893ffb4ed | ||
|
|
5e1d2c9fa4 | ||
|
|
3c8631f8fd | ||
|
|
17bcd710f7 | ||
|
|
ac38739a74 | ||
|
|
dbf7fdfa5b | ||
|
|
15b2f7ff92 | ||
|
|
7a06220ed7 | ||
|
|
d39d884f1b | ||
|
|
9edefc1c48 | ||
|
|
13b74f3141 | ||
|
|
6230493dfe | ||
|
|
cfc242e886 | ||
|
|
ffcb91fa04 | ||
|
|
f0c859c1c4 | ||
|
|
2ea474e531 | ||
|
|
f81986d554 | ||
|
|
0f3f0ab92c |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
alien.lsm
|
||||
alien.spec
|
||||
@@ -446,7 +446,8 @@ sub do {
|
||||
}
|
||||
else {
|
||||
# parent
|
||||
return (waitpid($pid, 0) > 0);
|
||||
my $ret=(waitpid($pid, 0) > 0);
|
||||
return ! $ret || ! $?;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -331,10 +334,14 @@ sub prep {
|
||||
print OUT $this->name." (".$this->version."-".$this->release.") experimental; urgency=low\n";
|
||||
print OUT "\n";
|
||||
print OUT " * Converted from .".$this->origformat." format to .deb by alien version $Alien::Version\n";
|
||||
print OUT " \n";
|
||||
if (defined $this->changelogtext) {
|
||||
my $ct=$this->changelogtext;
|
||||
$ct=~s/^/ /gm;
|
||||
print OUT $ct."\n";
|
||||
}
|
||||
print OUT "\n";
|
||||
print OUT " -- ".$this->username." <".$this->email."> ".$this->date."\n";
|
||||
print OUT "\n";
|
||||
print OUT $this->changelogtext."\n" if defined $this->changelogtext;
|
||||
close OUT;
|
||||
|
||||
# Control 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";
|
||||
|
||||
@@ -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,22 +197,35 @@ 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: $!";
|
||||
}
|
||||
}
|
||||
# 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
16
README
@@ -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
|
||||
|
||||
4
alien.pl
4
alien.pl
@@ -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
48
debian/changelog
vendored
@@ -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
2
debian/compat
vendored
@@ -1 +1 @@
|
||||
4
|
||||
7
|
||||
|
||||
9
debian/control
vendored
9
debian/control
vendored
@@ -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
2
debian/copyright
vendored
@@ -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
2
debian/docs
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
README
|
||||
gendiff.txt
|
||||
38
debian/rules
vendored
38
debian/rules
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user