diff options
author | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2016-06-20 21:55:08 +0200 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2016-06-21 03:43:12 +0000 |
commit | 3491a1a7d17bc12a30af900fa83df44ddbd75108 (patch) | |
tree | 5734ba3f824beea987f133bd9e1cbc33ed664520 /solenv | |
parent | 97b0b8c1f7310c3ca85229a9455decf35e08811f (diff) |
tdf#89657 sign Mac languagepack installer and force-start-close LO
starting LO once satisfies Gatekeeper's verification, even when the
langaugepack's content are added afterwards
Change-Id: Ie548df39a7ec07cc485c40148e4ca75101346798
(cherry picked from commit 78c7929ac4f03d90e956cc1052208c646feaabf3)
Reviewed-on: https://gerrit.libreoffice.org/26528
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/modules/installer/simplepackage.pm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm index ac337988af6e..95ccfe75255f 100644 --- a/solenv/bin/modules/installer/simplepackage.pm +++ b/solenv/bin/modules/installer/simplepackage.pm @@ -379,19 +379,27 @@ sub create_package $destfile = $subdir . "/" . $iconfile; installer::systemactions::copy_one_file($iconfileref, $destfile); - my $installname = "Info.plist"; my $infoplistfile = $ENV{'SRCDIR'} . "/setup_native/source/mac/Info.plist.langpack"; if (! -f $infoplistfile) { installer::exiter::exit_program("ERROR: Could not find Apple script Info.plist: $infoplistfile!", "create_package"); } - $destfile = $contentsfolder . "/" . $installname; - installer::systemactions::copy_one_file($infoplistfile, $destfile); - + $destfile = "$contentsfolder/Info.plist"; # Replacing variables in Info.plist - $scriptfilecontent = installer::files::read_file($destfile); + $scriptfilecontent = installer::files::read_file($infoplistfile); # replace_one_variable_in_shellscript($scriptfilecontent, $volume_name, "FULLPRODUCTNAME" ); replace_one_variable_in_shellscript($scriptfilecontent, $volume_name_classic_app, "FULLAPPPRODUCTNAME" ); # OpenOffice.org Language Pack + replace_one_variable_in_shellscript($scriptfilecontent, $ENV{'MACOSX_BUNDLE_IDENTIFIER'}, "BUNDLEIDENTIFIER" ); installer::files::save_file($destfile, $scriptfilecontent); chdir $localfrom; + + if ( defined($ENV{'MACOSX_CODESIGNING_IDENTITY'}) && $ENV{'MACOSX_CODESIGNING_IDENTITY'} ne "" ) { + my @lp_sign = ('codesign', '--verbose', '--sign', $ENV{'MACOSX_CODESIGNING_IDENTITY'}, '--deep', $appfolder); + if (system(@lp_sign) == 0) { + $infoline = "Success: \"@lp_sign\" executed successfully!\n"; + } else { + $infoline = "ERROR: Could not codesign the languagepack using \"@lp_sign\"!\n"; + } + push( @installer::globals::logfileinfo, $infoline); + } } elsif ($volume_name_classic_app eq 'LibreOffice' || $volume_name_classic_app eq 'LibreOfficeDev') { |