[Libreoffice-commits] .: 2 commits - solenv/bin

Jan Holesovsky kendy at kemper.freedesktop.org
Wed Jul 25 04:33:37 PDT 2012


 solenv/bin/make_installer.pl                      |    7 ++--
 solenv/bin/modules/installer/windows/msiglobal.pm |   38 ++++++++++++++++++++++
 2 files changed, 42 insertions(+), 3 deletions(-)

New commits:
commit 575d8a89262280d361b87ba23ad563ab9e50db78
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Wed Jul 25 13:32:51 2012 +0200

    These msi packaging pieces should be executed even when cross-compiling.
    
    Change-Id: I383f9467e708007e006d479967c9fd0e96ca4c87

diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index af2cf7e..914c791 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -1779,7 +1779,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
 
             # Then the language specific msi database can be created
 
-            if ( $installer::globals::iswin )   # only possible on a Windows platform
+            if ( $installer::globals::iswin || $installer::globals::packageformat eq 'msi' )
             {
                 my $msidatabasename = installer::windows::msiglobal::get_msidatabasename($allvariableshashref, $onelanguage);
                 my $msifilename = $languageidtdir . $installer::globals::separator . $msidatabasename;
@@ -1812,7 +1812,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
 
         my $defaultlanguage = installer::languages::get_default_language($languagesarrayref);
 
-        if ( $installer::globals::iswin )   # only possible on a Windows platform
+        if ( $installer::globals::iswin || $installer::globals::packageformat eq 'msi' )
         {
             if  ( $#{$languagesarrayref} > 0 )
             {
@@ -1868,7 +1868,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
         # Only for Windows and only on a windows platform.
         #######################################################
 
-        if ( $installer::globals::iswin )   # only possible on a Windows platform
+        if ( $installer::globals::iswin || $installer::globals::packageformat eq 'msi' )
         {
             installer::logger::print_message( "... packaging installation set ... \n" );
             installer::windows::msiglobal::execute_packaging($packjobref, $loggingdir, $allvariableshashref);
commit 60865562c89f2d9a5d157f809e401d725dee9a86
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Wed Jul 25 13:23:17 2012 +0200

    We have to add the path to solver for the msi* tools when cross-compiling.
    
    Change-Id: I430a7e1a971c847d97b3e3792d03c2dd3b344a0a

diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index 1a7dd57..af2cf7e 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -1953,3 +1953,4 @@ installer::logger::stoptime();
 ####################################
 # Main program end
 ####################################
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index e9bd828..946f816 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -259,6 +259,10 @@ sub generate_cab_file_list
             # Writing the makecab system call
 
             my $oneline = "makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            if ( $installer::globals::isunix )
+            {
+                $oneline = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            }
 
             push(@cabfilelist, $oneline);
 
@@ -352,6 +356,10 @@ sub generate_cab_file_list
             # Writing the makecab system call
 
             my $oneline = "makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            if ( $installer::globals::isunix )
+            {
+                $oneline = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            }
 
             push(@cabfilelist, $oneline);
 
@@ -428,6 +436,10 @@ sub generate_cab_file_list
             # Writing the makecab system call
 
             my $oneline = "makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            if ( $installer::globals::isunix )
+            {
+                $oneline = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+            }
 
             push(@cabfilelist, $oneline);
 
@@ -492,6 +504,10 @@ sub generate_cab_file_list
 
         # my $oneline = "makecab.exe /F " . $ddffilename . "\n";
         my $oneline = "makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+        if ( $installer::globals::isunix )
+        {
+            $oneline = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe /V3 /F " . $ddffilename . " 2\>\&1 |" . "\n";
+        }
 
         push(@cabfilelist, $oneline);
 
@@ -543,6 +559,10 @@ sub generate_cab_file_list
         # Writing the makecab system call
 
         my $oneline = "makecab.exe /F " . $ddffilename . "\n";
+        if ( $installer::globals::isunix )
+        {
+            $oneline = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe /F " . $ddffilename . "\n";
+        }
 
         push(@cabfilelist, $oneline);
 
@@ -696,6 +716,10 @@ sub create_msi_database
     # -i : include the following tables ("*" includes all available tables)
 
     my $msidb = "msidb.exe";    # Has to be in the path
+    if ( $installer::globals::isunix )
+    {
+        $msidb = "$ENV{'OUTDIR_FOR_BUILD'}/bin/msidb.exe";
+    }
     my $extraslash = "";        # Has to be set for non-ActiveState perl
 
     installer::logger::include_header_into_logfile("Creating msi database");
@@ -929,6 +953,10 @@ sub write_summary_into_msi_database
     installer::logger::include_header_into_logfile("Writing summary information stream");
 
     my $msiinfo = "msiinfo.exe";    # Has to be in the path
+    if ( $installer::globals::isunix )
+    {
+        $msiinfo = "$ENV{'OUTDIR_FOR_BUILD'}/bin/msiinfo.exe";
+    }
 
     my $sislanguage = "en-US";  # title, comment, keyword, and appname are always in English
 
@@ -984,6 +1012,11 @@ sub create_transforms
     my $cscript = "cscript.exe";    # Has to be in the path
     my $msitran = "msitran.exe";    # Has to be in the path
     my $msidb = "msidb.exe";    # Has to be in the path
+    if ( $installer::globals::isunix )
+    {
+        $infoline = "ERROR: We cannot create transformations yet (we cannot use cscript.exe when cross-compiling)\n";
+        push( @installer::globals::logfileinfo, $infoline);
+    }
     my $tmpdir = $ENV{TMPDIR};    # Variable %TEMP% will be set to it for WiLangId.vbs to work
     my $wilangid = $ENV{WINDOWS_SDK_HOME} . "/Samples/SysMgmt/Msi/scripts/WiLangId.vbs";
 
@@ -1549,6 +1582,10 @@ sub include_cabs_into_msi
     push( @installer::globals::logfileinfo, $infoline);
 
     my $msidb = "msidb.exe";    # Has to be in the path
+    if ( $installer::globals::isunix )
+    {
+        $msidb = "$ENV{'OUTDIR_FOR_BUILD'}/bin/msidb.exe";
+    }
     my $extraslash = "";        # Has to be set for non-ActiveState perl
 
     my $msifilename = $installer::globals::msidatabasename;
@@ -2094,3 +2131,4 @@ sub read_saved_mappings
 
 1;
 
+# vim:set shiftwidth=4 softtabstop=4 expandtab:


More information about the Libreoffice-commits mailing list