[Libreoffice-commits] .: 4 commits - scp2/source solenv/bin

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Sep 28 04:07:21 PDT 2012


 scp2/source/ooo/file_ooo.scp                |   12 -
 solenv/bin/modules/installer/windows/msp.pm |  264 ++--------------------------
 2 files changed, 25 insertions(+), 251 deletions(-)

New commits:
commit 52e61794edd630261b34cd5a20cccc220231877c
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Thu Jul 19 10:55:35 2012 +0200

    set MSP name
    
    Change-Id: Ib1120ea82a8e3e9d15d524ff413a1342dec3dad0

diff --git a/solenv/bin/modules/installer/windows/msp.pm b/solenv/bin/modules/installer/windows/msp.pm
index a5e9ad2..e144c45 100644
--- a/solenv/bin/modules/installer/windows/msp.pm
+++ b/solenv/bin/modules/installer/windows/msp.pm
@@ -311,41 +311,7 @@ sub set_mspfilename
 {
     my ($allvariables, $mspdir, $languagesarrayref) = @_;
 
-    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'}; }
-
-    # Adding patch info to database name
-    # if ( $installer::globals::buildid ) { $databasename = $databasename . "_" . $installer::globals::buildid; }
-
-    # if ( $allvariables->{'VENDORPATCHVERSION'} ) { $databasename = $databasename . "_" . $allvariables->{'VENDORPATCHVERSION'}; }
-
-
-    if (( $allvariables->{'SERVICEPACK'} ) && ( $allvariables->{'SERVICEPACK'} == 1 ))
-    {
-        my $windowspatchlevel = 0;
-        if ( $allvariables->{'MSPPATCHLEVEL'} ) { $windowspatchlevel = $allvariables->{'MSPPATCHLEVEL'}; }
-        $databasename = $databasename . "_servicepack_" . $windowspatchlevel;
-        my $languagestring = create_langstring($languagesarrayref);
-        $databasename = $databasename . $languagestring;
-    }
-    else
-    {
-        my $hotfixaddon = "hotfix_";
-        $hotfixaddon = $hotfixaddon . $installer::globals::buildid;
-        my $cwsname = "";
-        if ( $allvariables->{'OVERWRITE_CWSNAME'} ) { $hotfixaddon = $allvariables->{'OVERWRITE_CWSNAME'}; }
-        $databasename = $databasename . "_" . $hotfixaddon;
-    }
-
-    $databasename = $databasename . ".msp";
+    my $databasename = $allvariables->{'PRODUCTNAME'} . "-PTF-" . $allvariables->{'PRODUCTVERSION'} . "-" . $allvariables->{'WINDOWSPATCHLEVEL'} . ".msp";
 
     my $fullmspname = $mspdir . $installer::globals::separator . $databasename;
 
commit 997bfce2df6648160ccec41e0a4e440d8711b429
Author: Andras Timar <atimar at suse.com>
Date:   Fri Jul 20 22:55:26 2012 +0200

    work around unexpected behaviour of msidb.exe from SDK 7.1
    
    Change-Id: I48cfa19c40140dc81b105e27051f99e8f1a0c8ae

diff --git a/solenv/bin/modules/installer/windows/msp.pm b/solenv/bin/modules/installer/windows/msp.pm
index 7816cec..a5e9ad2 100644
--- a/solenv/bin/modules/installer/windows/msp.pm
+++ b/solenv/bin/modules/installer/windows/msp.pm
@@ -175,23 +175,27 @@ sub include_tables_into_pcpfile
         $localworkdir =~ s/\//\\\\/g;
     }
 
-    $systemcall = $msidb . " -d " . $localfullpcpfilepath . " -f " . $localworkdir . " -i " . $tables;
-
-    $returnvalue = system($systemcall);
+    my @tables = split(' ', $tables); # I found that msidb from Windows SDK 7.1 did not accept more than one table.
+    foreach my $table (@tables)
+    {
+        $systemcall = $msidb . " -d " . $localfullpcpfilepath . " -f " . $localworkdir . " -i " . $table;
 
-    $infoline = "Systemcall: $systemcall\n";
-    push( @installer::globals::logfileinfo, $infoline);
+        $returnvalue = system($systemcall);
 
-    if ($returnvalue)
-    {
-        $infoline = "ERROR: Could not execute $systemcall !\n";
-        push( @installer::globals::logfileinfo, $infoline);
-        installer::exiter::exit_program("ERROR: Could not include tables into pcp file: $fullpcpfilepath !", "include_tables_into_pcpfile");
-    }
-    else
-    {
-        $infoline = "Success: Executed $systemcall successfully!\n";
+        $infoline = "Systemcall: $systemcall\n";
         push( @installer::globals::logfileinfo, $infoline);
+
+        if ($returnvalue)
+        {
+            $infoline = "ERROR: Could not execute $systemcall !\n";
+            push( @installer::globals::logfileinfo, $infoline);
+            installer::exiter::exit_program("ERROR: Could not include tables into pcp file: $fullpcpfilepath !", "include_tables_into_pcpfile");
+        }
+        else
+        {
+            $infoline = "Success: Executed $systemcall successfully!\n";
+            push( @installer::globals::logfileinfo, $infoline);
+        }
     }
 }
 
commit 609583db3f83343e3e42e6c94fd4cf218f11327c
Author: Andras Timar <atimar at suse.com>
Date:   Sun Jul 22 09:11:14 2012 +0200

    revert fc1e9f253dd07362065f2be9691be89fb9b3f84f
    
    I don't know, if it made sense, but it definitely broke MSP
    patch creation in SUSE environment, so I reverted it.
    
    Change-Id: Ib6cea4a59993b4edadabfa1fdca42264a8eb2311

diff --git a/solenv/bin/modules/installer/windows/msp.pm b/solenv/bin/modules/installer/windows/msp.pm
index d76d1e4..7816cec 100644
--- a/solenv/bin/modules/installer/windows/msp.pm
+++ b/solenv/bin/modules/installer/windows/msp.pm
@@ -86,196 +86,6 @@ sub install_installation_sets
 }
 
 #################################################################################
-# Collecting the destinations of all files with flag PATCH in a hash.
-#################################################################################
-
-sub collect_patch_file_destinations
-{
-    my ( $filesarray ) = @_;
-
-    my %patchfiledestinations = ();
-    my %nopatchfiledestinations = ();
-    my $patchcounter = 0;
-    my $nopatchcounter = 0;
-
-    for ( my $i = 0; $i <= $#{$filesarray}; $i++ )
-    {
-        my $onefile = ${$filesarray}[$i];
-        my $styles = "";
-
-        if ( $onefile->{'Styles'} ) { $styles = $onefile->{'Styles'} };
-
-        if ( $styles =~ /\bPATCH\b/ )
-        {
-            $patchfiledestinations{$onefile->{'destination'}} = 1;
-            $patchcounter++;
-        }
-        else
-        {
-            $nopatchfiledestinations{$onefile->{'destination'}} = 1;
-            $nopatchcounter++;
-        }
-    }
-
-    return (\%patchfiledestinations, \%nopatchfiledestinations, $patchcounter, $nopatchcounter);
-}
-
-#################################################################################
-# Returning the first path segment of a path
-#################################################################################
-
-sub get_first_path_segment
-{
-    my ( $path ) = @_;
-
-    my $firstsegment = "";
-    my $remainder = $path;
-
-    if ( $path =~ /^\s*(.*?)[\/\\](.*)\s*$/ )
-    {
-        $firstsegment = $1;
-        $remainder = $2;
-    }
-
-    return ($firstsegment, $remainder);
-}
-
-#################################################################################
-# Finding the flexible path in the destinations, that are saved in
-# the hash $nopatchfiledestinations.
-#################################################################################
-
-sub prepare_path_in_nopatchfilehash
-{
-    my ($nopatchfiledestinations, $newpath) = @_;
-
-    my $infoline = "";
-    my $flexiblepath = "";
-    my $found = 0;
-    my %checked_destinations = ();
-
-    foreach my $onedestination ( keys %{$nopatchfiledestinations} )
-    {
-        $flexiblepath = "";
-        $found = 0;
-
-        my $found_first_segement = 1;
-        my $firstsegement = "";
-        my $fixedpath = $onedestination;
-        my $testfile = $newpath . $installer::globals::separator . $fixedpath;
-
-        while (( ! -f $testfile ) && ( $found_first_segement ))
-        {
-            $firstsegement = "";
-            ( $firstsegement, $fixedpath ) = get_first_path_segment($fixedpath);
-
-            if ( $firstsegement ne "" )
-            {
-                $found_first_segement = 1;
-                $flexiblepath = $flexiblepath . $firstsegement . $installer::globals::separator;
-            }
-            else
-            {
-                $found_first_segement = 0;
-            }
-
-            $testfile = $newpath . $installer::globals::separator . $fixedpath;
-        }
-
-        if ( -f $testfile ) { $found = 1; }
-
-        if ( $found ) { last; }
-    }
-
-    if ( ! $found ) { installer::exiter::exit_program("ERROR: Could not determine flexible destination path for msp patch creation!", "prepare_path_in_nopatchfilehash"); }
-
-    $infoline = "Setting flexible path for msp creation: $flexiblepath\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    foreach my $onedestination ( keys %{$nopatchfiledestinations} )
-    {
-        $onedestination =~ s/^\s*\Q$flexiblepath\E//;
-        $checked_destinations{$onedestination} = 1;
-    }
-
-    return \%checked_destinations;
-}
-
-#################################################################################
-# Synchronizing the two installed products in that way, that only
-# files with flag PATCH are different.
-#################################################################################
-
-sub synchronize_installation_sets
-{
-    my ($olddatabase, $newdatabase, $filesarray) = @_;
-
-    my $infoline = "\nSynchronizing installed products because of PATCH flag\n";
-    push( @installer::globals::logfileinfo, $infoline);
-    $infoline = "Old product: $olddatabase\n";
-    push( @installer::globals::logfileinfo, $infoline);
-    $infoline = "New product: $newdatabase\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    my ( $patchfiledestinations, $nopatchfiledestinations, $patchfilecounter, $nopatchfilecounter ) = collect_patch_file_destinations($filesarray);
-
-    $infoline = "Number of files with PATCH flag: $patchfilecounter\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    $infoline = "Number of files without PATCH flag: $nopatchfilecounter\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    foreach my $localfile ( sort keys %{$patchfiledestinations} )
-    {
-        $infoline = "\tPATCH file: $localfile\n";
-        push( @installer::globals::logfileinfo, $infoline);
-    }
-
-    my $oldpath = $olddatabase;
-    if ( $^O =~ /cygwin/i ) { $oldpath =~ s/\\/\//g; }
-    installer::pathanalyzer::get_path_from_fullqualifiedname(\$oldpath);
-    $oldpath =~ s/\\\s*$//;
-    $oldpath =~ s/\/\s*$//;
-
-    my $newpath = $newdatabase;
-    if ( $^O =~ /cygwin/i ) { $newpath =~ s/\\/\//g; }
-    installer::pathanalyzer::get_path_from_fullqualifiedname(\$newpath);
-    $newpath =~ s/\\\s*$//;
-    $newpath =~ s/\/\s*$//;
-
-    # The destination path is not correct. destinations in the hash contain
-    # the flexible installation path, that is not part in the administrative installation
-    $nopatchfiledestinations = prepare_path_in_nopatchfilehash($nopatchfiledestinations, $newpath);
-
-    foreach my $onedestination ( keys %{$nopatchfiledestinations} )
-    {
-        my $source = $oldpath . $installer::globals::separator . $onedestination;
-        my $dest = $newpath . $installer::globals::separator . $onedestination;
-
-        if ( -f $source )
-        {
-            if ( -f $dest )
-            {
-                my $copyreturn = copy($source, $dest);
-                # installer::systemactions::copy_one_file($source, $dest);
-                # $infoline = "Synchronizing file: $source to $dest\n";
-                # push( @installer::globals::logfileinfo, $infoline);
-            }
-            else
-            {
-                $infoline = "Not synchronizing. Destination file \"$dest\" does not exist.\n";
-                push( @installer::globals::logfileinfo, $infoline);
-            }
-        }
-        else
-        {
-            $infoline = "Not synchronizing. Source file \"$source\" does not exist.\n";
-            push( @installer::globals::logfileinfo, $infoline);
-        }
-    }
-}
-
-#################################################################################
 # Extracting all tables from a pcp file
 #################################################################################
 
@@ -1386,12 +1196,6 @@ sub create_msp_patch
     installer::logger::print_message( "... installing products ...\n" );
     my ($olddatabase, $newdatabase) = install_installation_sets($installationdir);
 
-    installer::logger::include_timestamp_into_logfile("\nPerformance Info: Starting synchronization of installation sets");
-
-    # Synchronizing installed products, allowing only different files with PATCH flag
-    installer::logger::print_message( "... synchronizing installation sets ...\n" );
-    synchronize_installation_sets($olddatabase, $newdatabase, $filesarray);
-
     installer::logger::include_timestamp_into_logfile("\nPerformance Info: Starting pcp file creation");
 
     # Create pcp file
commit 53cd03a5336563ab51b3e7fe874640cc24124de5
Author: Andras Timar <atimar at suse.com>
Date:   Sat Jul 21 10:43:33 2012 +0200

    install help xsl files unconditionally, needed for MSP patch creation
    
    Change-Id: Iec60fca2895cffac34290dc8db8954b95dda6606

diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index c283294..a42f683 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -382,6 +382,12 @@ STD_FILTER_FILE( gid_File_Filter_Iti, iti)
 
 STD_RES_FILE( gid_File_Res_Eps, eps )
 
+File gid_File_Help_Help_Zip
+    Dir = gid_Dir_Help;
+    ARCHIVE_TXT_FILE_BODY;
+    Name = "helpxsl.zip";
+End
+
 #if defined WITH_HELP
 File gid_File_Help_Common_Zip
     Dir = gid_Dir_Help_Isolanguage;
@@ -390,12 +396,6 @@ File gid_File_Help_Common_Zip
     Patchfiles = ();
 End
 
-File gid_File_Help_Help_Zip
-    Dir = gid_Dir_Help;
-    ARCHIVE_TXT_FILE_BODY;
-    Name = "helpxsl.zip";
-End
-
 File gid_File_Help_Sbasic_Zip
     Dir = gid_Dir_Help_Isolanguage;
     ARCHIVE_TXT_FILE_BODY_HELPPACK;


More information about the Libreoffice-commits mailing list