[Libreoffice-commits] .: 5 commits - instsetoo_native/util oowintool post_download.in scp2/source solenv/bin

Andras Timar timar at kemper.freedesktop.org
Wed Nov 16 06:51:24 PST 2011


 instsetoo_native/util/openoffice.lst              |    4 -
 oowintool                                         |   20 +++++++++
 post_download.in                                  |   11 +++++
 scp2/source/ooo/vc_redist.scp                     |   24 +++++++++++
 solenv/bin/modules/installer/globals.pm           |    2 
 solenv/bin/modules/installer/windows/msiglobal.pm |   45 +++++++++++++++++++++-
 6 files changed, 102 insertions(+), 4 deletions(-)

New commits:
commit 1b6d2c7f465cb1249e33d9e873f11756be634a3a
Author: Andras Timar <atimar at suse.com>
Date:   Wed Nov 16 12:03:50 2011 +0100

    fix SDK database version number

diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst
index 83a53b2..22a5227 100644
--- a/instsetoo_native/util/openoffice.lst
+++ b/instsetoo_native/util/openoffice.lst
@@ -293,7 +293,7 @@ LibreOffice_SDK
             PACK_INSTALLED 1
             POOLPRODUCT 0
             DMG_VOLUMEEXTENSION SDK
-            DATABASENAME libreoffice33sdk
+            DATABASENAME libreoffice35sdk
             NO_README_IN_ROOTDIR 1
             LICENSENAME LGPL
             IGNOREDIRECTORYLAYER 1
@@ -345,7 +345,7 @@ LibreOffice_Dev_SDK
             PACK_INSTALLED 1
             POOLPRODUCT 0
             DMG_VOLUMEEXTENSION SDK
-            DATABASENAME libreoffice33devsdk
+            DATABASENAME libreoffice35devsdk
             NO_README_IN_ROOTDIR 1
             LICENSENAME LGPL
             IGNOREDIRECTORYLAYER 1
commit ee53055d7dd33a886702f3a5ebc2e304dc32aff4
Author: Andras Timar <atimar at suse.com>
Date:   Wed Nov 16 11:43:07 2011 +0100

    merge transforms to msi as substorages and update summary information

diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index 7c31eff..082afb2 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -981,6 +981,15 @@ sub create_transforms
     installer::logger::include_header_into_logfile("Creating Transforms");
 
     my $msitran = "msitran.exe";    # Has to be in the path
+    my $msidb = "msidb.exe";    # Has to be in the path
+    my $msiinfo = "msiinfo.exe";    # Has to be in the path
+
+    my $from = cwd();
+
+    my $architecture = "Intel";
+    if (( $allvariableshashref->{'64BITPRODUCT'} ) && ( $allvariableshashref->{'64BITPRODUCT'} == 1 )) { $architecture = "x64"; }
+
+    my $templatevalue = "\"" . $architecture . ";1033";
 
     $installdir = installer::converter::make_path_conform($installdir);
 
@@ -1003,7 +1012,8 @@ sub create_transforms
         my $referencedbname = get_msidatabasename($allvariableshashref, $onelanguage);
         $referencedbname = $installdir . $installer::globals::separator . $referencedbname;
 
-        my $transformfile = $installdir . $installer::globals::separator . "trans_" . $onelanguage . ".mst";
+        my $windowslanguage = installer::windows::language::get_windows_language($onelanguage);
+        my $transformfile = $installdir . $installer::globals::separator .  $windowslanguage;
 
         my $systemcall = $msitran . " " . " -g " . $basedbname . " " . $referencedbname . " " . $transformfile . " " . $errorhandling;
 
@@ -1098,6 +1108,39 @@ sub create_transforms
             push( @installer::globals::logfileinfo, $infoline);
             installer::exiter::exit_program($infoline, "create_transforms");
         }
+
+        chdir($installdir);
+        $systemcall = $msidb . " " . " -d " . $basedbname . " -r " . $windowslanguage;
+        system($systemcall);
+        chdir($from);
+        unlink($transformfile);
+
+        $infoline = "Systemcall: $systemcall\n";
+        push( @installer::globals::logfileinfo, $infoline);
+
+        if ( $windowslanguage ne '1033')
+        {
+            $templatevalue = $templatevalue . "," . $windowslanguage;
+        }
+    }
+
+    $templatevalue = $templatevalue . "\"";                     # adding ending '"'
+    $systemcall = $msiinfo . " " . $basedbname . " -p " . $templatevalue;
+
+    $returnvalue = system($systemcall);
+
+    $infoline = "Systemcall: $systemcall\n";
+    push( @installer::globals::logfileinfo, $infoline);
+
+    if ($returnvalue)
+    {
+        $infoline = "ERROR: Could not execute $msiinfo!\n";
+        push( @installer::globals::logfileinfo, $infoline);
+    }
+    else
+    {
+        $infoline = "Success: Executed $msiinfo successfully!\n";
+        push( @installer::globals::logfileinfo, $infoline);
     }
 }
 
commit fa3495bfdaa10569580f041a6b8bd1c2fc51c0ff
Author: Andras Timar <atimar at suse.com>
Date:   Fri Oct 21 10:36:45 2011 +0200

    add merge modules to scp2

diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp
index 5c5c557..c4989a9 100644
--- a/scp2/source/ooo/vc_redist.scp
+++ b/scp2/source/ooo/vc_redist.scp
@@ -41,4 +41,28 @@ ScpAction scp_Copy_vcredist_x64
     Subdir = "redist";
 End
 
+MergeModule gid_MergeModule_Microsoft_VC90_CRT_x86
+    Feature = gm_Root;
+    Name = "Microsoft_VC90_CRT_x86.msm";
+    RootDir = "TARGETDIR";
+End
+
+MergeModule gid_MergeModule_policy_9_0_Microsoft_VC90_CRT_x86
+    Feature = gm_Root;
+    Name = "policy_9_0_Microsoft_VC90_CRT_x86.msm";
+    RootDir = "TARGETDIR";
+End
+
+MergeModule gid_MergeModule_Microsoft_VC90_CRT_x86_x64
+    Feature = gm_Root;
+    Name = "Microsoft_VC90_CRT_x86_x64.msm";
+    RootDir = "TARGETDIR";
+End
+
+MergeModule gid_MergeModule_policy_9_0_Microsoft_VC90_CRT_x86_x64
+    Feature = gm_Root;
+    Name = "policy_9_0_Microsoft_VC90_CRT_x86_x64.msm";
+    RootDir = "TARGETDIR";
+End
+
 #endif
commit 1ed7b50b43c21f866e332e9e2b059e2b3804f627
Author: Andras Timar <atimar at suse.com>
Date:   Fri Oct 21 10:35:50 2011 +0200

    include cab in msi

diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index eeb3760..45290dd 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -422,7 +422,7 @@ BEGIN
     $cab_file_per_component = 0;
     $cabfilecompressionlevel = 21; # Using LZX compression, possible values are: 15 | 16 | ... | 21 (best compression)
     $number_of_cabfiles = 1;    # only for $fix_number_of_cab_files = 1
-    $include_cab_in_msi = 0;
+    $include_cab_in_msi = 1;
     $use_packages_for_cabs = 0;
     $msidatabasename = "";
     $prepare_winpatch = 0;
commit b667ca53f4cfff9ac5c8f124b1cd1756bc0af948
Author: Andras Timar <atimar at suse.com>
Date:   Fri Oct 21 10:13:48 2011 +0200

    copy msvcrt merge modules into the tree

diff --git a/oowintool b/oowintool
index bc75736..bf5c5d9 100755
--- a/oowintool
+++ b/oowintool
@@ -46,6 +46,7 @@ sub print_syntax()
     print " commands:\n";
     print "   --msvc-ver              - print version of MSVC eg. 6.0\n";
     print "   --msvc-copy-dlls <dest> - copy msvc[pr]??.dlls into <dest>/msvcp??/\n";
+    print "   --msvc-copy-msms <dest> - copy mscrt merge modules  <dest>/msm90/\n";
     print "   --msvc-productdir       - print productdir\n";
     print "   --msvs-productdir       - print productdir\n";
     print "   --dotnetsdk-dir         - print .NET SDK path\n";
@@ -284,6 +285,21 @@ sub msvc_copy_dlls($)
     }
 }
 
+sub msvc_copy_msms($)
+{
+    my $dest = shift;
+    my $common_files_path = $ENV{"CommonProgramFiles(x86)"};
+    if (!defined $common_files_path) {
+        $common_files_path = $ENV{CommonProgramFiles};
+    }
+    defined $common_files_path || return;
+    my $msm_path = (cygpath $common_files_path . "\\Merge Modules", 'w', $output_format);
+    foreach $fname ('Microsoft_VC90_CRT_x86.msm', 'Microsoft_VC90_CRT_x86_x64.msm', 'policy_9_0_Microsoft_VC90_CRT_x86.msm', 'policy_9_0_Microsoft_VC90_CRT_x86_x64.msm') {
+	print STDERR "Copying $msm_path/$fname to $dest\n";
+        copy ("$msm_path/$fname", $dest) || die "copy failed: $!";
+    }
+}
+
 if (!@ARGV) {
     print_syntax();
     exit 1;
@@ -311,6 +327,10 @@ while (@commands) {
 	my $dest = shift @commands;
 	defined $dest || die "copy-dlls requires a destination directory";
 	msvc_copy_dlls( $dest );
+    } elsif ($opt eq '--msvc-copy-msms') {
+	my $dest = shift @commands;
+	defined $dest || die "copy-msms requires a destination directory";
+	msvc_copy_msms( $dest );
     } elsif ($opt eq '--msvs-productdir') {
 	print_msvs_productdir();
     } elsif ($opt eq '--msvc-productdir') {
diff --git a/post_download.in b/post_download.in
index 34aeba8..c93cd27 100644
--- a/post_download.in
+++ b/post_download.in
@@ -46,6 +46,17 @@ if test "$COM" = "MSC"; then
 fi
 
 dnl ===================================================================
+dnl Windows builds - use oowintool to copy VC redist merge modules
+dnl ===================================================================
+if test "$COM" = "MSC"; then
+   if ./oowintool --msvc-copy-msms ./external/msm90 ; then
+       :
+    else
+       AC_MSG_ERROR([oowintool failed to copy merge modules])
+    fi
+fi
+
+dnl ===================================================================
 dnl Windows builds need gdiplus.dll in external/gdiplus/
 dnl ===================================================================
 if test "$_os" = "WINNT"; then


More information about the Libreoffice-commits mailing list