mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
releasing version 8.60
This commit is contained in:
@@ -147,11 +147,29 @@ 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")
|
$this->do("rpm2cpio ".$this->filename." | (cd $workdir; 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
|
||||||
|
# archive, and so some directories, if it has to make them and has
|
||||||
|
# no permission info, will come out with some random permissions.
|
||||||
|
# Find those directories and make them mode 755, which is more
|
||||||
|
# reasonable.
|
||||||
|
my %seenfiles;
|
||||||
|
open (RPMLIST, "rpm2cpio ".$this->filename." | cpio -it --quiet |")
|
||||||
|
or die "File list of '".$this->filename."' failed";
|
||||||
|
while (<RPMLIST>) {
|
||||||
|
chomp;
|
||||||
|
$seenfiles{$_}=1;
|
||||||
|
}
|
||||||
|
close RPMLIST;
|
||||||
|
foreach my $file (`cd $workdir; find ./`) {
|
||||||
|
chomp $file;
|
||||||
|
if (! $seenfiles{$file} && -d $file && ! -l $file) {
|
||||||
|
$this->do("chmod 755 $file");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# If the package is relocatable. We'd like to move it to be under
|
# If the package is relocatable. We'd like to move it to be under
|
||||||
# the $this->prefixes directory. However, it's possible that that
|
# the $this->prefixes directory. However, it's possible that that
|
||||||
# directory is in the package - it seems some rpm's are marked as
|
# directory is in the package - it seems some rpm's are marked as
|
||||||
@@ -189,18 +207,6 @@ sub unpack {
|
|||||||
}
|
}
|
||||||
$this->conffiles([@cf]);
|
$this->conffiles([@cf]);
|
||||||
}
|
}
|
||||||
|
|
||||||
# cpio does not necessarily store all parent directories in an
|
|
||||||
# archive, and so some directories, if it has to make them and has
|
|
||||||
# no permission info, will come out with whatever the default mode
|
|
||||||
# is for the current umask. Here I just chown all such directories
|
|
||||||
# to mode 755, which is more reasonable. Note that the next section
|
|
||||||
# overrides these default permissions, if override data exists in
|
|
||||||
# the rpm permissions info, but it won't always exist for parent
|
|
||||||
# directories.
|
|
||||||
$this->do("find $workdir -type d -perm ".
|
|
||||||
(sprintf "%lo", 0777 &~ umask).
|
|
||||||
" -print0 | xargs --no-run-if-empty -0 chmod 755");
|
|
||||||
|
|
||||||
# rpm files have two sets of permissions; the set in the cpio
|
# rpm files have two sets of permissions; the set in the cpio
|
||||||
# archive, and the set in the control data; which override them.
|
# archive, and the set in the control data; which override them.
|
||||||
|
|||||||
7
debian/changelog
vendored
7
debian/changelog
vendored
@@ -1,3 +1,10 @@
|
|||||||
|
alien (8.60) unstable; urgency=low
|
||||||
|
|
||||||
|
* Make cpio leading directory permission fixup code work with new cpio
|
||||||
|
default permissions too. Closes: #340588
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@debian.org> Sun, 27 Nov 2005 17:02:41 -0500
|
||||||
|
|
||||||
alien (8.59) unstable; urgency=low
|
alien (8.59) unstable; urgency=low
|
||||||
|
|
||||||
* Hmm, seems rpm renamed Copyright to License and fails w/o the new field.
|
* Hmm, seems rpm renamed Copyright to License and fails w/o the new field.
|
||||||
|
|||||||
Reference in New Issue
Block a user