28 Commits
8.80 ... 8.88

Author SHA1 Message Date
Joey Hess
db4ea6fa4a releasing version 8.88 2012-08-09 14:45:24 -04:00
Joey Hess
2fb28d27d2 Ensure that version numbers begin with well, a number, when building a deb, otherwise dpkg-deb will refuse to build it. 2012-08-09 14:14:59 -04:00
Joey Hess
363deec1c6 releasing version 8.87 2012-04-05 13:54:58 -04:00
Joey Hess
b69f536367 Fix adding of postinst script to deb, containing rpm permissions fixups code. Closes: #667651 2012-04-05 13:51:24 -04:00
Joey Hess
f717997da1 Use lsb-rpmbuild, not lsb-rpm. Closes: #667044
Note that lsb-rpm has been dropped from rpm in Debian unstable. So
this changes nothing really; it already fell back to rpmbuild.

And I can find no mention of either lsb-rpm or lsb-rpmbuild in the LSB
spec, although I didn't look very hard.
2012-04-04 13:36:18 -04:00
Joey Hess
3faa48b23f update copyright format url 2012-02-25 10:43:13 -04:00
Joey Hess
e745cde2a0 releasing version 8.86 2011-11-12 13:14:11 -04:00
Joey Hess
5e4e122d58 Filter out illegal characters in version number when building a deb. Closes: #648531 2011-11-12 13:12:25 -04:00
Joey Hess
873c3606f3 typo 2011-09-29 21:31:38 -04:00
Joey Hess
7640cb99d4 releasing version 8.85 2011-06-19 15:51:33 -04:00
Joey Hess
585fc93270 Avoid breaking on spaces in filenames. Closes: #618636
The runpipe interface is not a good one, it would be better to use
something that does not expose to the shell.

As a quick fix, quote filenames in runpipe calls. Too bad if you have a
quote character in a file though. Later need to find a better interface
or do full shell escaping.
2011-06-11 13:00:34 -04:00
Joey Hess
5b49be4d3d releasing version 8.84 2011-04-15 14:14:38 -04:00
Joey Hess
2dee87ca02 add bug closure 2011-04-15 14:13:11 -04:00
Joey Hess
5c6bf645b5 DEP5 2011-01-13 18:48:08 -04:00
Joey Hess
1ca19300b4 Squash an uninitialized value when creating a deb. 2011-01-06 13:49:40 -04:00
Joey Hess
9b37ec8545 Silence error message when deleting build tree after making an rpm, if rpmbuild has already deleted it. 2011-01-06 13:47:37 -04:00
Joey Hess
143131c8c0 releasing version 8.83 2010-09-09 08:25:35 -04:00
Joey Hess
0d765b965d Correct handling of arch all packages in deb arch check. Closes: #596209 2010-09-09 08:24:54 -04:00
Joey Hess
efeddebd32 releasing version 8.82 2010-08-30 17:09:52 -04:00
Joey Hess
3a44b767ac Print a nice error message when attempting to build a deb from a package of an unsupported architecture. Closes: #592625 2010-08-30 17:02:26 -04:00
Joey Hess
291db35466 use dpkg-mergechangelog 2010-05-24 11:12:33 -04:00
Joey Hess
66b2a2a226 debhelper updates
* Use debhelper compat level v7 when building packages. All changes
  since v4 seem safe for alien's generated rules files.
* Use dh_prep instead of deprecated dh_clean -k.
2010-05-23 18:56:57 -04:00
Joey Hess
574490fb79 releasing version 8.81 2010-05-17 21:02:47 -04:00
Joey Hess
e7e9f10486 Support RPMs containing ghost files.
(Patch by Ben Webb, who would get his patches applied quicker if he actually communicated them to the program's author.)
2010-05-17 20:54:30 -04:00
Joey Hess
a320ae144c Fix precedence problem that prevented alien from preserving permissions of suid/sgid binaries that are not owned by root.
(Patch by Duane Waddle, on a bug tracking system I don't frequent, that was
about the "expire" it 4 days from now. We got lucky Duane, but please use
the Debian BTS next time!)
2010-05-17 20:48:54 -04:00
Joey Hess
f6529d9be0 Suggest lzma. If not installed, alien will still fail to decompress RPMs using it, but will support most rpms, which are not. 2010-05-17 20:27:12 -04:00
Joey Hess
38bf42863d Support extracting lzma compressed RPMs. (Patch by unnamed person on some bug tracking system I don't frequent.) 2010-05-17 20:24:19 -04:00
Joey Hess
b4bdd3818d Avoid uninitialized value warning when debian/rules fails to run due to alien being run in a noexec directory. Closes: #579216
* Avoid uninitialized value warning when debian/rules fails to run
  due to alien being run in a noexec directory. Closes: #579216
* Prevent DESTROY stomping on alien's exit code sometimes.
2010-04-28 11:30:44 -04:00
10 changed files with 211 additions and 110 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
debian/changelog merge=dpkg-mergechangelogs

View File

@@ -331,20 +331,27 @@ package was unpacked, it is time now to wipe out the temporary directory.
sub DESTROY {
my $this=shift;
my $exitcode=$?;
return if (! defined $this->unpacked_tree || $this->unpacked_tree eq '');
# This should never happen, but it pays to check.
if ($this->unpacked_tree eq '/') {
die "alien internal error: unpacked_tree is set to '/'. Please file a bug report!";
}
# Just in case some dir perms are too screwed up for rm to work and
# we're not running as root. NB: can't use xargs
$this->do('find', $this->unpacked_tree, '-type', 'd',
'-exec', 'chmod', '755', '{}', ';');
if (-d $this->unpacked_tree) {
# Just in case some dir perms are too screwed up for
# rm to work and we're not running as root. NB: can't
# use xargs
$this->do('find', $this->unpacked_tree, '-type', 'd',
'-exec', 'chmod', '755', '{}', ';');
$this->do('rm', '-rf', $this->unpacked_tree)
or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
$this->unpacked_tree('');
$this->do('rm', '-rf', $this->unpacked_tree)
or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
$this->unpacked_tree('');
}
$?=$exitcode;
}
=item AUTOLOAD

View File

@@ -110,7 +110,7 @@ sub test {
return map { s/\n//; $_ }
grep {
! /unknown-section alien/
} $this->runpipe(1, "lintian $deb");
} $this->runpipe(1, "lintian '$deb'");
}
else {
return "lintian not available, so not testing";
@@ -130,7 +130,7 @@ sub getcontrolfile {
my $file=$this->filename;
if ($this->have_dpkg_deb) {
return $this->runpipe(1, "dpkg-deb --info $file $controlfile 2>/dev/null");
return $this->runpipe(1, "dpkg-deb --info '$file' $controlfile 2>/dev/null");
}
else {
# Solaris tar doesn't support O
@@ -139,10 +139,10 @@ sub getcontrolfile {
return "(mkdir /tmp/tar_out.$$ &&".
" cd /tmp/tar_out.$$ &&".
" tar xf - ./$file &&".
" cat $file; cd /; rm -rf /tmp/tar_out.$$)";
" tar xf - './$file' &&".
" cat '$file'; cd /; rm -rf /tmp/tar_out.$$)";
}
my $getcontrol = "ar -p $file control.tar.gz | gzip -dc | ".tar_out($controlfile)." 2>/dev/null";
my $getcontrol = "ar -p '$file' control.tar.gz | gzip -dc | ".tar_out($controlfile)." 2>/dev/null";
return $this->runpipe(1, $getcontrol);
}
}
@@ -212,11 +212,11 @@ sub scan {
my @filelist;
if ($this->have_dpkg_deb) {
@filelist=map { chomp; s:\./::; "/$_" }
$this->runpipe(0, "dpkg-deb --fsys-tarfile $file | tar tf -");
$this->runpipe(0, "dpkg-deb --fsys-tarfile '$file' | tar tf -");
}
else {
@filelist=map { chomp; s:\./::; "/$_" }
$this->runpipe(0, "ar -p $file data.tar.gz | gzip -dc | tar tf -");
$this->runpipe(0, "ar -p '$file' data.tar.gz | gzip -dc | tar tf -");
}
$this->filelist(\@filelist);
@@ -307,7 +307,7 @@ sub prep {
or die "patch error: $!";
# Look for .rej files.
die "patch failed with .rej files; giving up"
if $this->runpipe(1, "find $dir -name \"*.rej\"");
if $this->runpipe(1, "find '$dir' -name \"*.rej\"");
$this->do('find', '.', '-name', '*.orig', '-exec', 'rm', '{}', ';');
$this->do("chmod", 755, "$dir/debian/rules");
@@ -383,6 +383,11 @@ sub prep {
close OUT;
}
# Use debhelper v7
open (OUT, ">$dir/debian/compat") || die "$dir/debian/compat: $!";
print OUT "7\n";
close OUT;
# A minimal rules file.
open (OUT, ">$dir/debian/rules") || die "$dir/debian/rules: $!";
my $fixpermscomment = $this->fixperms ? "" : "#";
@@ -390,12 +395,6 @@ sub prep {
#!/usr/bin/make -f
# debian/rules for alien
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# Use v4 compatability mode, so ldconfig gets added to maint scripts.
export DH_COMPAT=4
PACKAGE=\$(shell dh_listpackages)
build:
@@ -411,7 +410,7 @@ binary-indep: build
binary-arch: build
dh_testdir
dh_testroot
dh_clean -k -d
dh_prep
dh_installdirs
dh_installdocs
@@ -444,17 +443,15 @@ EOF
close OUT;
$this->do("chmod", 755, "$dir/debian/rules");
# Save any scripts.
if ($this->usescripts) {
foreach my $script (qw{postinst postrm preinst prerm}) {
my $data=$this->$script();
next unless defined $data;
next if $data =~ m/^\s*$/;
open (OUT,">$dir/debian/$script") ||
die "$dir/debian/$script: $!";
print OUT $data;
close OUT;
}
$this->savescript($script, $this->$script());
}
}
else {
# There may be a postinst with permissions fixups even when
# scripts are disabled.
$this->savescript("postinst", undef);
}
my %dirtrans=( # Note: no trailing slashes on these directory names!
@@ -488,13 +485,27 @@ Build a deb.
sub build {
my $this=shift;
# Detect architecture mismatch and abort with a comprehensible
# error message.
my $arch=$this->arch;
if ($arch ne 'all') {
my $ret=system("dpkg-architecture", "-i".$arch);
if ($ret != 0) {
die $this->filename." is for architecture ".$this->arch." ; the package cannot be built on this system"."\n";
}
}
chdir $this->unpacked_tree;
my $log=$this->runpipe(1, "debian/rules binary 2>&1");
if ($?) {
chdir "..";
my $err=$?;
if ($err) {
if (! defined $log) {
die "Package build failed; could not run generated debian/rules file.\n";
}
die "Package build failed. Here's the log:\n", $log;
}
chdir "..";
return $this->name."_".$this->version."-".$this->release."_".$this->arch.".deb";
}
@@ -583,12 +594,13 @@ sub version {
# get
return unless defined wantarray; # optimization
$_=$this->{version};
# Make sure the version contains digets.
unless (/[0-9]/) {
# Drat. Well, add some. dpkg-deb won't work
# on a version w/o numbers!
return $_."0";
# Make sure the version contains a digit at the start, as required
# by dpkg-deb.
unless (/^[0-9]/) {
$_="0".$_;
}
# filter out some characters not allowed in debian versions
s/[^-.+~:A-Za-z0-9]//g; # see lib/dpkg/parsehelp.c parseversion
return $_;
}
@@ -714,29 +726,49 @@ sub username {
return $username;
}
=item postinst
=item savescript
Returns the postinst. This may include generated shell code to set owners
and groups from the owninfo field, and update modes from the modeinfo field.
Saves script to debian directory.
=cut
sub postinst {
sub savescript {
my $this=shift;
my $script=shift;
my $data=shift;
if (@_) {
$this->{postinst}=shift;
if ($script eq 'postinst') {
$data=$this->gen_postinst($data);
}
my $dir=$this->unpacked_tree;
return unless defined $data;
next if $data =~ m/^\s*$/;
open (OUT,">$dir/debian/$script") ||
die "$dir/debian/$script: $!";
print OUT $data;
close OUT;
}
=item gen_postinst
Modifies or creates a postinst. This may include generated shell code to set
owners and groups from the owninfo field, and update modes from the modeinfo
field.
=cut
sub gen_postinst {
my $this=shift;
my $postinst=shift;
my $owninfo = $this->owninfo;
my $modeinfo = $this->modeinfo;
my $postinst = $this->{postinst};
return $postinst unless ref $owninfo;
return $postinst unless ref $owninfo && %$owninfo;
# If there is no postinst, let's make one up..
$postinst="#!/bin/sh\n" unless length $postinst;
return $postinst unless %$owninfo;
$postinst="#!/bin/sh\n" unless defined $postinst && length $postinst;
my ($firstline, $rest)=split(/\n/, $postinst, 2);
if ($firstline !~ m/^#!\s*\/bin\/(ba)?sh/) {

View File

@@ -30,7 +30,7 @@ sub checkfile {
my $this=shift;
my $file=shift;
return unless $file =~ m/^lsb-.*\.rpm$/;
my @deps=$this->runpipe(1, "LANG=C rpm -qp -R $file");
my @deps=$this->runpipe(1, "LANG=C rpm -qp -R '$file'");
return 1 if grep { s/\s+//g; $_ eq 'lsb' } @deps;
return;
}
@@ -96,8 +96,8 @@ sub revert {
=item build
Uses the parent's build method. If a lsb-rpm is available, uses it to build
the package.
Uses the parent's build method. If a lsb-rpmbuild is available, uses it to
build the package.
=cut
@@ -105,8 +105,8 @@ sub build {
my $this=shift;
my $buildcmd=shift || 'rpmbuild';
foreach (split(/:/,$ENV{PATH})) {
if (-x "$_/lsb-rpm") {
$buildcmd='lsb-rpm';
if (-x "$_/lsb-rpmbuild") {
$buildcmd='lsb-rpmbuild';
last;
}
}

View File

@@ -83,7 +83,7 @@ sub scan {
foreach my $field (qw{NAME VERSION RELEASE ARCH CHANGELOGTEXT
SUMMARY DESCRIPTION PREFIXES},
keys(%fieldtrans)) {
my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file");
my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} '$file'");
next if $? || $value eq '(none)';
my $key;
if (exists $fieldtrans{$field}) {
@@ -96,16 +96,16 @@ sub scan {
}
# Get the conffiles list.
$this->conffiles([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qcp $file")]);
$this->conffiles([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qcp '$file'")]);
if (defined $this->conffiles->[0] &&
$this->conffiles->[0] eq '(contains no files)') {
$this->conffiles([]);
}
$this->binary_info(scalar $this->runpipe(0, "rpm -qpi $file"));
$this->binary_info(scalar $this->runpipe(0, "rpm -qpi '$file'"));
# Get the filelist.
$this->filelist([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qpl $file")]);
$this->filelist([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qpl '$file'")]);
if (defined $this->filelist->[0] &&
$this->filelist->[0] eq '(contains no files)') {
$this->filelist([]);
@@ -128,7 +128,7 @@ sub scan {
}
unless (defined $this->copyright) {
# Older rpms have no licence tag, but have a copyright.
$this->copyright($this->runpipe(0, "LANG=C rpm -qp --queryformat \%{COPYRIGHT} $file"));
$this->copyright($this->runpipe(0, "LANG=C rpm -qp --queryformat \%{COPYRIGHT} '$file'"));
# Fallback.
if (! $this->copyright) {
@@ -159,7 +159,13 @@ sub unpack {
$this->SUPER::unpack(@_);
my $workdir=$this->unpacked_tree;
$this->do("rpm2cpio ".$this->filename." | (cd $workdir; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1")
# Check if we need to use lzma to uncompress the cpio archive
my $decomp='';
if ($this->do("rpm2cpio ".$this->filename." | lzma -t -q > /dev/null 2>&1")) {
$decomp = 'lzma -d -q |';
}
$this->do("rpm2cpio ".$this->filename." | (cd $workdir; $decomp cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1")
or die "Unpacking of '".$this->filename."' failed";
# cpio does not necessarily store all parent directories in an
@@ -168,7 +174,7 @@ sub unpack {
# Find those directories and make them mode 755, which is more
# reasonable.
my %seenfiles;
open (RPMLIST, "rpm2cpio ".$this->filename." | cpio -it --quiet |")
open (RPMLIST, "rpm2cpio ".$this->filename." | $decomp cpio -it --quiet |")
or die "File list of '".$this->filename."' failed";
while (<RPMLIST>) {
chomp;
@@ -265,15 +271,20 @@ sub unpack {
}
$gid=0;
}
if (defined($owninfo{$file}) && ($mode & 07000 > 0)) {
if (defined($owninfo{$file}) && (($mode & 07000) > 0)) {
$modeinfo{$file} = sprintf "%lo", $mode;
}
if ($> == 0) {
$this->do("chown", "$uid:$gid", "$workdir/$file")
|| die "failed chowning $file to $uid\:$gid\: $!";
# Note that ghost files exist in the metadata but not
# in the cpio archive, so check that the file exists
# before trying to access it
if (-e "$workdir/$file") {
if ($> == 0) {
$this->do("chown", "$uid:$gid", "$workdir/$file")
|| die "failed chowning $file to $uid\:$gid\: $!";
}
$this->do("chmod", sprintf("%lo", $mode), "$workdir/$file")
|| die "failed changing mode of $file to $mode\: $!";
}
$this->do("chmod", sprintf("%lo", $mode), "$workdir/$file")
|| die "failed changing mode of $file to $mode\: $!";
}
$this->owninfo(\%owninfo);
$this->modeinfo(\%modeinfo);
@@ -413,7 +424,7 @@ sub build {
$opts="--buildarch ".$this->arch;
}
else {
# Presumably we're delaing with rpm 3.0 or above, which
# Presumably we're dealing with rpm 3.0 or above, which
# doesn't output rpmdir in any format I'd care to try to
# parse. Instead, rpm is now of a late enough version to
# notice the %define's in the spec file, that will make the
@@ -428,7 +439,7 @@ sub build {
$opts.=" $ENV{RPMBUILDOPT}" if exists $ENV{RPMBUILDOPT};
my $pwd=`pwd`;
chomp $pwd;
my $command="cd $dir; $buildcmd --buildroot=$pwd/$dir -bb $opts ".$this->name."-".$this->version."-".$this->release.".spec";
my $command="cd $dir; $buildcmd --buildroot='$pwd/$dir' -bb $opts '".$this->name."-".$this->version."-".$this->release.".spec'";
my $log=$this->runpipe(1, "$command 2>&1");
if ($?) {
die "Package build failed. Here's the log of the command ($command):\n", $log;

View File

@@ -166,7 +166,7 @@ sub scan {
# Read in the file list.
my @filelist;
# FIXME: support gzip files too!
foreach ($this->runpipe(0, "bzip2 -d < $file | tar -tf -")) {
foreach ($this->runpipe(0, "bzip2 -d < '$file' | tar -tf -")) {
chomp;
s:^\./:/:;
$_="/$_" unless m:^/:;
@@ -179,7 +179,7 @@ sub scan {
$this->distribution('Stampede');
$this->origformat('slp');
$this->changelogtext('');
$this->binary_info($this->runpipe(0, "ls -l $file"));
$this->binary_info($this->runpipe(0, "ls -l '$file'"));
return 1;
}

View File

@@ -118,7 +118,7 @@ sub scan {
$this->group("unknown");
$this->origformat('tgz');
$this->changelogtext('');
$this->binary_info($this->runpipe(0, "ls -l $file"));
$this->binary_info($this->runpipe(0, "ls -l '$file'"));
# Now figure out the conffiles. Assume anything in etc/ is a
# conffile.
@@ -152,7 +152,7 @@ sub scan {
# Now get the scripts.
foreach my $script (keys %{scripttrans()}) {
$this->$script(scalar $this->runpipe(1, "tar Oxf $file install/${scripttrans()}{$script} 2>/dev/null"));
$this->$script(scalar $this->runpipe(1, "tar Oxf '$file' install/${scripttrans()}{$script} 2>/dev/null"));
}
return 1;

72
debian/changelog vendored
View File

@@ -1,3 +1,75 @@
alien (8.88) unstable; urgency=low
* Ensure that version numbers begin with well, a number, when building a
deb, otherwise dpkg-deb will refuse to build it.
-- Joey Hess <joeyh@debian.org> Thu, 09 Aug 2012 14:44:49 -0400
alien (8.87) unstable; urgency=low
* Use lsb-rpmbuild, not lsb-rpm. Closes: #667044
* Fix adding of postinst script to deb, containing rpm permissions
fixups code. Closes: #667651
-- Joey Hess <joeyh@debian.org> Thu, 05 Apr 2012 13:53:29 -0400
alien (8.86) unstable; urgency=low
* Filter out illegal characters in version number when building a deb.
Closes: #648531
-- Joey Hess <joeyh@debian.org> Sat, 12 Nov 2011 13:12:35 -0400
alien (8.85) unstable; urgency=low
* Avoid breaking on spaces in filenames. Closes: #618636
-- Joey Hess <joeyh@debian.org> Sun, 19 Jun 2011 15:43:49 -0400
alien (8.84) unstable; urgency=low
* Silence error message when deleting build tree after making an rpm,
if rpmbuild has already deleted it. Closes: #622846
* Squash an uninitialized value when creating a deb.
-- Joey Hess <joeyh@debian.org> Fri, 15 Apr 2011 14:13:20 -0400
alien (8.83) unstable; urgency=low
* Correct handling of arch all packages in deb arch check. Closes: #596209
-- Joey Hess <joeyh@debian.org> Thu, 09 Sep 2010 08:24:58 -0400
alien (8.82) unstable; urgency=low
* Use debhelper compat level v7 when building packages. All changes
since v4 seem safe for alien's generated rules files.
* Use dh_prep instead of deprecated dh_clean -k.
* Print a nice error message when attempting to build a deb from a package
of an unsupported architecture. Closes: #592625
-- Joey Hess <joeyh@debian.org> Mon, 30 Aug 2010 17:04:24 -0400
alien (8.81) unstable; urgency=low
* Avoid uninitialized value warning when debian/rules fails to run
due to alien being run in a noexec directory. Closes: #579216
* Prevent DESTROY stomping on alien's exit code sometimes.
* Support extracting lzma compressed RPMs.
(Patch by unnamed person on some bug tracking system I don't frequent.)
* Suggest lzma. If not installed, alien will still fail to decompress
RPMs using it, but will support most rpms, which are not.
* Fix precedence problem that prevented alien from preserving permissions
of suid/sgid binaries that are not owned by root.
(Patch by Duane Waddle, on a bug tracking system I don't frequent, that
was about the "expire" it 4 days from now. We got lucky Duane, but please
use the Debian BTS next time!)
* Support RPMs containing ghost files.
(Patch by Ben Webb, who would get his patches applied quicker if he
actually communicated them to the program's author.)
-- Joey Hess <joeyh@debian.org> Mon, 17 May 2010 20:56:59 -0400
alien (8.80) unstable; urgency=low
* Support querying rpm LICENSE field. (Alexey Khoroshilov)

6
debian/control vendored
View File

@@ -3,15 +3,15 @@ Section: admin
Priority: optional
Build-Depends: debhelper (>= 7.0.50)
Maintainer: Joey Hess <joeyh@debian.org>
Standards-Version: 3.8.3
Standards-Version: 3.9.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, rpm2cpio
Suggests: patch, bzip2, lsb-rpm, lintian
Depends: debhelper (>= 7), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio, rpm2cpio
Suggests: patch, bzip2, lsb-rpm, lintian, lzma
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.

44
debian/copyright vendored
View File

@@ -1,35 +1,13 @@
This is a program originally written by Christoph Lameter
<clameter@debian.org>.
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: native package
Deb to rpm conversion code was taken from the Martian program by
Randolph Chung <randolph@tausq.org>.
The Solaris pkg code was written by Mark A. Hershberger
<mah@everybody.org>.
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-2007 Joey Hess
License:
alien is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GPL can be found in
/usr/share/common-licenses/GPL.
Files: *
Copyright:
1996, 1997 Christoph Lameter
1997 Randolph Chung
2001 Mark A. Hershberger
1997-2011 Joey Hess
License: GPL-2+
On Debian systems, the complete text of the GPL can be found in
/usr/share/common-licenses/GPL.