From 8811516e2e9e71dd45198081d26c748cdf4d831a Mon Sep 17 00:00:00 2001 From: Christian Lohmaier Date: Thu, 5 Sep 2019 14:23:24 +0200 Subject: split msi signing from creation to reduce number of singtool calls as with private key on crypto-smartcard you'd have to enter your pin over a hundred times while creating full-lang builds and that is not fun. This reduces it to * once for dll/exe (at least in case for mergelib is is less than 350 objects and that doesn't break commandline limits - previously it was set to only sign 20 objects at a time, forcing a pin-entry over 15 times) and * once for main installation set * once for SDK * once for all the helppacks (signing description previously also contained the language, this change drops that to just " Helppack" and last three are not scattered timewise, but are done after all packaging is complete, so the build only waits twice for user-input. Change-Id: Ibb8bb233e967556f9654573ad30d0ed5883b533f Reviewed-on: https://gerrit.libreoffice.org/78649 Tested-by: Jenkins Reviewed-by: Christian Lohmaier --- postprocess/CustomTarget_signing.mk | 1 + postprocess/signing/signing.pl | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'postprocess') diff --git a/postprocess/CustomTarget_signing.mk b/postprocess/CustomTarget_signing.mk index 3a7097fcbd77..7ba7c5832f17 100644 --- a/postprocess/CustomTarget_signing.mk +++ b/postprocess/CustomTarget_signing.mk @@ -36,6 +36,7 @@ ifneq ($(ENABLE_DBGUTIL),TRUE) $(PERL) $(SRCDIR)/postprocess/signing/signing.pl \ -e $$EXCLUDELIST \ -l $(subst .done,_log.txt,$@) \ + $(if $(verbose),-v) \ $(if $(PFXFILE),-f $(PFXFILE)) \ $(if $(PFXPASSWORD),-p $(PFXPASSWORD)) \ $(if $(TIMESTAMPURL),-t $(TIMESTAMPURL)) \ diff --git a/postprocess/signing/signing.pl b/postprocess/signing/signing.pl index bd5c2e3fe0d1..ed8065399f05 100644 --- a/postprocess/signing/signing.pl +++ b/postprocess/signing/signing.pl @@ -23,11 +23,11 @@ use strict; use Getopt::Long; my $debug = 0; -my $max_files = 20; # sign $max_files with one command line +my $max_files = 400; # sign $max_files with one command line #### globals ##### my $myname = ""; -my $opt_dir = ""; +my $opt_desc = ""; my $opt_exclude = ""; # file with a list of not signable dll and exe files my $opt_verbose = 0; my $opt_help = 0; @@ -72,7 +72,7 @@ sub parse_options #09.07.2007 08:13 # e exclude list file # v verbose my $success = GetOptions('h' => \$opt_help, - 'd=s' => \$opt_dir, 'e=s'=>\$opt_exclude, 'f=s'=>\$opt_pfxfile, 'l=s'=>\$opt_log, + 'd=s' => \$opt_desc, 'e=s'=>\$opt_exclude, 'f=s'=>\$opt_pfxfile, 'l=s'=>\$opt_log, 'p=s'=>\$opt_pass,'v'=>\$opt_verbose, 't=s'=>\$opt_timestamp_url); if ( !$success || $opt_help ) { usage(); @@ -150,6 +150,7 @@ sub sign_files #09.07.2007 10:36 $commandline_base .= " -f $opt_pfxfile" if ($opt_pfxfile ne ""); $commandline_base .= " -p $opt_pass" if ($opt_pass ne ""); $commandline_base .= " -t $opt_timestamp_url" if ($opt_timestamp_url ne ""); + $commandline_base .= " -d \"$opt_desc\"" if ($opt_desc ne ""); # Here switch between: # one command line for multiple files (all doesn't work, too much) / for each file one command line -- cgit