summaryrefslogtreecommitdiff
path: root/solenv/bin/modules/installer.pm
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2022-10-29 23:38:12 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2022-10-30 09:38:04 +0100
commit8c6467a785037309d2a2cec56c8e38cf52da0aee (patch)
treee63c8562669ed1217b9f5c78de21d7e36002590f /solenv/bin/modules/installer.pm
parent9f0103b3a1ca6dcffcf064736b57d4bf7bbd887b (diff)
MSI: fix handling empty directories
Such empty directories are added e.g. by setup_native/Package_packinfo.mk when using these configuration: ./autogen.sh --with-external-tar=/cygdrive/c/sources/lo-externalsrc --with-junit=/cygdrive/c/sources/junit-4.10.jar --with-ant-home=/cygdrive/c/sources/apache-ant-1.9.5 --enable-pch --disable-ccache --with-visual-studio=2019 --with-jdk-home="C:\Program Files\Microsoft\jdk-17.0.4.101-hotspot" --with-package-format=msi --with-ucrt-dir=/cygdrive/c/cygwin64/opt/ucrt/ Making after that produced this error: : ***************************************************************** : ERROR: Reading from filehandle failed at C:/sources/core/solenv/bin/modules/installer/windows/file.pm line 967. : ***************************************************************** because it tried to create MD5 hash of a directory. Change-Id: I7d2a6dc989f823fabaca1bef07a68ba964ffe34b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142026 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'solenv/bin/modules/installer.pm')
-rw-r--r--solenv/bin/modules/installer.pm12
1 files changed, 6 insertions, 6 deletions
diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index 17ce8f7621ce..99866b2fb7f2 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -650,8 +650,8 @@ sub run {
# It will be possible, that in the setup script only those directories have to be defined,
# that have a CREATE flag. All other directories are created, if they contain at least one file.
- my ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
+ my $alldirectoryhash = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
+ my $directoriesforepmarrayref = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
#########################################################
# language dependent scpactions part
@@ -802,8 +802,8 @@ sub run {
@{$folderitemsinproductlanguageresolvedarrayref} = (); # no folderitems in languagepacks
# Collecting the directories again, to include only the language specific directories
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
+ $alldirectoryhash = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
+ $directoriesforepmarrayref = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
@$directoriesforepmarrayref = sort { $a->{"HostName"} cmp $b->{"HostName"} } @$directoriesforepmarrayref;
if ( $installer::globals::iswindowsbuild )
@@ -823,8 +823,8 @@ sub run {
@{$folderitemsinproductlanguageresolvedarrayref} = (); # no folderitems in helppacks
# Collecting the directories again, to include only the language specific directories
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
+ $alldirectoryhash = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref, $unixlinksinproductlanguageresolvedarrayref);
+ $directoriesforepmarrayref = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
@$directoriesforepmarrayref = sort { $a->{"HostName"} cmp $b->{"HostName"} } @$directoriesforepmarrayref;
if ( $installer::globals::iswindowsbuild )