summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-07-16 14:59:24 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-07-16 14:59:24 +0000
commit830873068a3fa3d973831d81f3215fba7faae69d (patch)
treea441da8a8ca9e26e6691681f4af3ae39e63b3b44
parentf46813f452685d41abfa389a4634e02dffc2c4bd (diff)
CWS-TOOLING: integrate CWS native255_DEV300
2009-07-10 11:34:13 +0200 is r273881 : #158814# naming schema of windows patches 2009-07-08 17:50:35 +0200 is r273842 : #158814# msp naming schema 2009-07-08 15:46:43 +0200 is r273836 : #158814# msp naming schema
-rw-r--r--solenv/bin/make_installer.pl2
-rw-r--r--solenv/bin/modules/installer/windows/admin.pm12
-rw-r--r--solenv/bin/modules/installer/windows/msp.pm28
3 files changed, 33 insertions, 9 deletions
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index f20cab0365fe..13052fa1a116 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -2311,7 +2311,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# Temp path for administrative installations: $installer::globals::temppath
# Path of new installation set: $finalinstalldir
# Path of old installation set: $installer::globals::updatedatabasepath
- my $mspdir = installer::windows::msp::create_msp_patch($finalinstalldir, $includepatharrayref, $allvariableshashref, $languagestringref, $filesinproductlanguageresolvedarrayref);
+ my $mspdir = installer::windows::msp::create_msp_patch($finalinstalldir, $includepatharrayref, $allvariableshashref, $languagestringref, $languagesarrayref, $filesinproductlanguageresolvedarrayref);
($is_success, $finalinstalldir) = installer::worker::analyze_and_save_logfile($loggingdir, $mspdir, $installlogdir, $allsettingsarrayref, $languagestringref, $current_install_number);
installer::worker::clean_output_tree(); # removing directories created in the output tree
}
diff --git a/solenv/bin/modules/installer/windows/admin.pm b/solenv/bin/modules/installer/windows/admin.pm
index 7e8a14a94123..8cd2b402561c 100644
--- a/solenv/bin/modules/installer/windows/admin.pm
+++ b/solenv/bin/modules/installer/windows/admin.pm
@@ -58,11 +58,17 @@ sub unpack_cabinet_file
# But this wrong expand.exe is typically in the PATH before this expand.exe, to unpack
# cabinet files.
+# if ( $^O =~ /cygwin/i )
+# {
+# $expandfile = $ENV{'SYSTEMROOT'} . "/system32/expand.exe"; # Has to be located in the systemdirectory
+# $expandfile =~ s/\\/\//;
+# if ( ! -f $expandfile ) { exit_program("ERROR: Did not find file $expandfile in the Windows system folder!"); }
+# }
+
if ( $^O =~ /cygwin/i )
{
- $expandfile = $ENV{'SYSTEMROOT'} . "/system32/expand.exe"; # Has to be located in the systemdirectory
- $expandfile =~ s/\\/\//;
- if ( ! -f $expandfile ) { exit_program("ERROR: Did not find file $expandfile in the Windows system folder!"); }
+ $expandfile = qx(cygpath -u "$ENV{WINDIR}"/System32/expand.exe);
+ chomp $expandfile;
}
my $expandlogfile = $unpackdir . $installer::globals::separator . "expand.log";
diff --git a/solenv/bin/modules/installer/windows/msp.pm b/solenv/bin/modules/installer/windows/msp.pm
index e65b649885f0..0a5a35f05693 100644
--- a/solenv/bin/modules/installer/windows/msp.pm
+++ b/solenv/bin/modules/installer/windows/msp.pm
@@ -287,19 +287,35 @@ sub check_and_save_tables
}
####################################################################
+# Setting the languages for the service packs
+####################################################################
+
+sub create_langstring
+{
+ my ( $languagesarrayref ) = @_;
+
+ my $langstring = "";
+ for ( my $i = 0; $i <= $#{$languagesarrayref}; $i++ ) { $langstring = $langstring . "_" . ${$languagesarrayref}[$i]; }
+
+ return $langstring;
+}
+
+####################################################################
# Setting the name of the msp database
####################################################################
sub set_mspfilename
{
- my ($allvariables, $mspdir) = @_;
+ my ($allvariables, $mspdir, $languagesarrayref) = @_;
- my $databasename = $allvariables->{'PRODUCTNAME'} . $allvariables->{'PRODUCTVERSION'};
+ my $databasename = $allvariables->{'PRODUCTNAME'};
$databasename = lc($databasename);
$databasename =~ s/\.//g;
$databasename =~ s/\-//g;
$databasename =~ s/\s//g;
+ if ( $allvariables->{'MSPPRODUCTVERSION'} ) { $databasename = $databasename . $allvariables->{'MSPPRODUCTVERSION'}; }
+
# possibility to overwrite the name with variable DATABASENAME
# if ( $allvariables->{'DATABASENAME'} ) { $databasename = $allvariables->{'DATABASENAME'}; }
@@ -312,8 +328,10 @@ sub set_mspfilename
if (( $allvariables->{'SERVICEPACK'} ) && ( $allvariables->{'SERVICEPACK'} == 1 ))
{
my $windowspatchlevel = 0;
- if ( $allvariables->{'WINDOWSPATCHLEVEL'} ) { $windowspatchlevel = $allvariables->{'WINDOWSPATCHLEVEL'}; }
+ if ( $allvariables->{'MSPPATCHLEVEL'} ) { $windowspatchlevel = $allvariables->{'MSPPATCHLEVEL'}; }
$databasename = $databasename . "_servicepack_" . $windowspatchlevel;
+ my $languagestring = create_langstring($languagesarrayref);
+ $databasename = $databasename . $languagestring;
}
else
{
@@ -1139,7 +1157,7 @@ sub analyze_msimsp_logfile
sub create_msp_patch
{
- my ($installationdir, $includepatharrayref, $allvariables, $languagestringref, $filesarray) = @_;
+ my ($installationdir, $includepatharrayref, $allvariables, $languagestringref, $languagesarrayref, $filesarray) = @_;
my $force = 1; # print this message even in 'quiet' mode
installer::logger::print_message( "\n******************************************\n" );
@@ -1221,7 +1239,7 @@ sub create_msp_patch
check_and_save_tables($tablelist, $localmspdir);
# Setting the name of the new msp file
- my $mspfilename = set_mspfilename($allvariables, $mspdir);
+ my $mspfilename = set_mspfilename($allvariables, $mspdir, $languagesarrayref);
# Editing tables
edit_tables($tablelist, $localmspdir, $olddatabase, $newdatabase, $mspfilename, $allvariables, $languagestringref);