solenv/bin/modules/installer/systemactions.pm | 14 ++++++++++++++ solenv/gbuild/Package.mk | 20 ++++++++++++++++++++ sysui/Package_infoplist.mk | 4 +++- 3 files changed, 37 insertions(+), 1 deletion(-)
New commits: commit 47a774fbef8c224e4853de3fdd0230b9442bb716 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Jul 16 15:55:19 2019 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Jul 17 08:10:00 2019 +0200 tdf#125693: On macOS, create empty LibreOffice.app/Contents/Resources/en.lproj ...as otherwise languages like Slovenian (which do not have a full system integration) fall back to other LibreOffice.app/Contents/Resource/*.lproj localizations instead of to English (whose Info.plist is stored as LibreOffice.app/Contents/Info.plist, not as some LibreOffice.app/Contents/Resources/en.lproj/InfoPlist.strings as is done for other languages). Change-Id: Ic69907a066e9afe1d66045016ad6bf9d997c67d0 Reviewed-on: https://gerrit.libreoffice.org/75728 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sysui/Package_infoplist.mk b/sysui/Package_infoplist.mk index 7712b3e77e4e..de53ba5ba769 100644 --- a/sysui/Package_infoplist.mk +++ b/sysui/Package_infoplist.mk @@ -17,9 +17,11 @@ $(eval $(call gb_Package_add_files,infoplist,$(PRODUCTNAME_WITHOUT_SPACES).app/C Info.plist \ )) -$(foreach lang,$(filter ca cs da de el en es fi fr hr hu id it ja ko ms nl no pl pt pt_PT ro ru sk sv th tr uk vi zh_CN zh_TW,$(gb_WITH_LANG)),\ +$(foreach lang,$(filter ca cs da de el es fi fr hr hu id it ja ko ms nl no pl pt pt_PT ro ru sk sv th tr uk vi zh_CN zh_TW,$(gb_WITH_LANG)),\ $(eval $(call gb_Package_add_files,infoplist,$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Resources/$(lang).lproj,\ InfoPlist_$(lang)/InfoPlist.strings \ ))) +$(eval $(call gb_Package_add_empty_directory,infoplist,$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Resources/en.lproj)) + # vim: set noet sw=4 ts=4: commit cabadfc288e5e7324723c62f36b918a80db90323 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Tue Jul 16 12:06:47 2019 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Jul 17 08:09:52 2019 +0200 Introduce gb_Package_add_empty_directories ...which will be needed in a subsequent patch to fix tdf#125693. The installer code could not handle a directory in a .filelist, the simplest hack appears to be to add a special case for an empty source dir to copy_one_file in solenv/bin/modules/installer/systemactions.pm. Includes changes made by Stephan Bergmann <sberg...@redhat.com>. Change-Id: I52dca2543a66eb76117598d77d559592e26ce859 Reviewed-on: https://gerrit.libreoffice.org/75702 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm index 9b12ff63c271..4f7a18bba5e6 100644 --- a/solenv/bin/modules/installer/systemactions.pm +++ b/solenv/bin/modules/installer/systemactions.pm @@ -277,6 +277,16 @@ sub create_directories # Copying one file ######################## +sub is_empty_dir +{ + my ($dir) = @_; + my ($handle, $count); + opendir($handle, $dir) or return 0; + $count = scalar(grep { $_ ne '.' && $_ ne '..' } readdir($handle)); + closedir($handle); + return $count == 0; +} + sub copy_one_file { my ($source, $dest) = @_; @@ -286,6 +296,10 @@ sub copy_one_file if ( -l $source ) { $copyreturn = symlink(readlink("$source"), "$dest"); } + elsif (-d $source && is_empty_dir($source)) { + my $mode = (stat($source))[2] & 07777; + $copyreturn = mkdir($dest, $mode); + } else { $copyreturn = copy($source, $dest); } diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk index b1f2c2f2cfe0..45a56ff44478 100644 --- a/solenv/gbuild/Package.mk +++ b/solenv/gbuild/Package.mk @@ -129,6 +129,26 @@ gb_Package_OUTDIR_$(1) := $(2) endef +# Add empty directory (if it's non-empty, don't use this, use +# gb_Package_add_file for the files in it instead!) +define gb_Package_add_empty_directory +$(call gb_Package__check,$(1)) +$(if $(strip $(2)),,$(call gb_Output_error,gb_Package_add_directory requires 2 arguments)) +$(call gb_Package_get_target,$(1)) :| $$(gb_Package_OUTDIR_$(1))/$(2)/.dir +gb_Package_$(1)_FILES += $$(gb_Package_OUTDIR_$(1))/$(2) +$(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) + +endef + +# Example: +# $(eval $(call gb_Package_add_empty_directories,foo_inc,inc/foo)) +# # -> inc/foo +define gb_Package_add_empty_directories +$(call gb_Package__check,$(1)) +$(foreach file,$(2),$(call gb_Package_add_empty_directory,$(1),$(file))) + +endef + define gb_Package_add_symbolic_link $(call gb_Package__check,$(1)) $(if $(strip $(3)),,$(call gb_Output_error,gb_Package_add_symbolic_link requires 3 arguments)) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits