summaryrefslogtreecommitdiff
path: root/solenv/bin
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2012-11-25 17:49:01 +0100
committerMichael Stahl <mstahl@redhat.com>2012-11-27 17:36:34 +0000
commit6215da2dfb96ed6b36ef42bc1afa1ab43c803f3d (patch)
tree20e0cd9c5ad195c7006e58e5660b2b5e0d99c075 /solenv/bin
parent396f374e5c6125b65655703da48def879a5a29f0 (diff)
honor USE_INTERNAL_RIGHTS from scp2
Archive::Zip doensn't restore file permissions when unpacking, so stat'ing the extracted copy is useless. Change-Id: Ifdc586fbe76bc55af35f10c6ad9468ae69947f13 Reviewed-on: https://gerrit.libreoffice.org/1167 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'solenv/bin')
-rw-r--r--solenv/bin/modules/installer/archivefiles.pm3
1 files changed, 1 insertions, 2 deletions
diff --git a/solenv/bin/modules/installer/archivefiles.pm b/solenv/bin/modules/installer/archivefiles.pm
index 6862c6f602dc..396da4fcae12 100644
--- a/solenv/bin/modules/installer/archivefiles.pm
+++ b/solenv/bin/modules/installer/archivefiles.pm
@@ -364,8 +364,7 @@ sub resolving_archive_flag
if (( $use_internal_rights ) && ( ! $installer::globals::iswin ))
{
- my $value = sprintf("%o", (stat($newfile{'sourcepath'}))[2]);
- $newfile{'UnixRights'} = substr($value, 3);
+ $newfile{'UnixRights'} = sprintf("%o", ($zip->memberNamed($zipname)->unixFileAttributes() & 07777);
$infoline = "Setting unix rights for \"$newfile{'sourcepath'}\" to \"$newfile{'UnixRights'}\"\n";
push( @installer::globals::logfileinfo, $infoline);
}