mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-25 14:00:17 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
143131c8c0 | ||
|
|
0d765b965d | ||
|
|
efeddebd32 | ||
|
|
3a44b767ac | ||
|
|
291db35466 | ||
|
|
66b2a2a226 | ||
|
|
574490fb79 | ||
|
|
e7e9f10486 | ||
|
|
a320ae144c | ||
|
|
f6529d9be0 | ||
|
|
38bf42863d | ||
|
|
b4bdd3818d |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
debian/changelog merge=dpkg-mergechangelogs
|
||||||
@@ -331,6 +331,8 @@ package was unpacked, it is time now to wipe out the temporary directory.
|
|||||||
sub DESTROY {
|
sub DESTROY {
|
||||||
my $this=shift;
|
my $this=shift;
|
||||||
|
|
||||||
|
my $exitcode=$?;
|
||||||
|
|
||||||
return if (! defined $this->unpacked_tree || $this->unpacked_tree eq '');
|
return if (! defined $this->unpacked_tree || $this->unpacked_tree eq '');
|
||||||
# This should never happen, but it pays to check.
|
# This should never happen, but it pays to check.
|
||||||
if ($this->unpacked_tree eq '/') {
|
if ($this->unpacked_tree eq '/') {
|
||||||
@@ -345,6 +347,8 @@ sub DESTROY {
|
|||||||
$this->do('rm', '-rf', $this->unpacked_tree)
|
$this->do('rm', '-rf', $this->unpacked_tree)
|
||||||
or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
|
or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
|
||||||
$this->unpacked_tree('');
|
$this->unpacked_tree('');
|
||||||
|
|
||||||
|
$?=$exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
=item AUTOLOAD
|
=item AUTOLOAD
|
||||||
|
|||||||
@@ -383,6 +383,11 @@ sub prep {
|
|||||||
close OUT;
|
close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Use debhelper v7
|
||||||
|
open (OUT, ">$dir/debian/compat") || die "$dir/debian/compat: $!";
|
||||||
|
print OUT "7\n";
|
||||||
|
close OUT;
|
||||||
|
|
||||||
# A minimal rules file.
|
# A minimal rules file.
|
||||||
open (OUT, ">$dir/debian/rules") || die "$dir/debian/rules: $!";
|
open (OUT, ">$dir/debian/rules") || die "$dir/debian/rules: $!";
|
||||||
my $fixpermscomment = $this->fixperms ? "" : "#";
|
my $fixpermscomment = $this->fixperms ? "" : "#";
|
||||||
@@ -390,12 +395,6 @@ sub prep {
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
# debian/rules for alien
|
# 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)
|
PACKAGE=\$(shell dh_listpackages)
|
||||||
|
|
||||||
build:
|
build:
|
||||||
@@ -411,7 +410,7 @@ binary-indep: build
|
|||||||
binary-arch: build
|
binary-arch: build
|
||||||
dh_testdir
|
dh_testdir
|
||||||
dh_testroot
|
dh_testroot
|
||||||
dh_clean -k -d
|
dh_prep
|
||||||
dh_installdirs
|
dh_installdirs
|
||||||
|
|
||||||
dh_installdocs
|
dh_installdocs
|
||||||
@@ -489,12 +488,26 @@ Build a deb.
|
|||||||
sub build {
|
sub build {
|
||||||
my $this=shift;
|
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;
|
chdir $this->unpacked_tree;
|
||||||
my $log=$this->runpipe(1, "debian/rules binary 2>&1");
|
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;
|
die "Package build failed. Here's the log:\n", $log;
|
||||||
}
|
}
|
||||||
chdir "..";
|
|
||||||
|
|
||||||
return $this->name."_".$this->version."-".$this->release."_".$this->arch.".deb";
|
return $this->name."_".$this->version."-".$this->release."_".$this->arch.".deb";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,7 +159,13 @@ sub unpack {
|
|||||||
$this->SUPER::unpack(@_);
|
$this->SUPER::unpack(@_);
|
||||||
my $workdir=$this->unpacked_tree;
|
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";
|
or die "Unpacking of '".$this->filename."' failed";
|
||||||
|
|
||||||
# cpio does not necessarily store all parent directories in an
|
# 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
|
# Find those directories and make them mode 755, which is more
|
||||||
# reasonable.
|
# reasonable.
|
||||||
my %seenfiles;
|
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";
|
or die "File list of '".$this->filename."' failed";
|
||||||
while (<RPMLIST>) {
|
while (<RPMLIST>) {
|
||||||
chomp;
|
chomp;
|
||||||
@@ -265,15 +271,20 @@ sub unpack {
|
|||||||
}
|
}
|
||||||
$gid=0;
|
$gid=0;
|
||||||
}
|
}
|
||||||
if (defined($owninfo{$file}) && ($mode & 07000 > 0)) {
|
if (defined($owninfo{$file}) && (($mode & 07000) > 0)) {
|
||||||
$modeinfo{$file} = sprintf "%lo", $mode;
|
$modeinfo{$file} = sprintf "%lo", $mode;
|
||||||
}
|
}
|
||||||
if ($> == 0) {
|
# Note that ghost files exist in the metadata but not
|
||||||
$this->do("chown", "$uid:$gid", "$workdir/$file")
|
# in the cpio archive, so check that the file exists
|
||||||
|| die "failed chowning $file to $uid\:$gid\: $!";
|
# 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->owninfo(\%owninfo);
|
||||||
$this->modeinfo(\%modeinfo);
|
$this->modeinfo(\%modeinfo);
|
||||||
|
|||||||
36
debian/changelog
vendored
36
debian/changelog
vendored
@@ -1,3 +1,39 @@
|
|||||||
|
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
|
alien (8.80) unstable; urgency=low
|
||||||
|
|
||||||
* Support querying rpm LICENSE field. (Alexey Khoroshilov)
|
* Support querying rpm LICENSE field. (Alexey Khoroshilov)
|
||||||
|
|||||||
6
debian/control
vendored
6
debian/control
vendored
@@ -3,15 +3,15 @@ Section: admin
|
|||||||
Priority: optional
|
Priority: optional
|
||||||
Build-Depends: debhelper (>= 7.0.50)
|
Build-Depends: debhelper (>= 7.0.50)
|
||||||
Maintainer: Joey Hess <joeyh@debian.org>
|
Maintainer: Joey Hess <joeyh@debian.org>
|
||||||
Standards-Version: 3.8.3
|
Standards-Version: 3.9.1
|
||||||
Vcs-Git: git://git.kitenet.net/alien
|
Vcs-Git: git://git.kitenet.net/alien
|
||||||
Homepage: http://kitenet.net/~joey/code/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, rpm2cpio
|
Depends: debhelper (>= 7), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio, rpm2cpio
|
||||||
Suggests: patch, bzip2, lsb-rpm, lintian
|
Suggests: patch, bzip2, lsb-rpm, lintian, lzma
|
||||||
Description: convert and install rpm and other packages
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user