[Libreoffice-commits] .: solenv/bin

Jan Holesovsky kendy at kemper.freedesktop.org
Tue Jul 24 08:31:19 PDT 2012


 solenv/bin/make_installer.pl                      |    2 +-
 solenv/bin/modules/installer/control.pm           |   16 +++++++++++++++-
 solenv/bin/modules/installer/globals.pm           |    2 +-
 solenv/bin/modules/installer/windows/msiglobal.pm |    2 +-
 4 files changed, 18 insertions(+), 4 deletions(-)

New commits:
commit e8ddf693e69ea768e4cb1bd4c0445990149af07d
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Tue Jul 24 17:29:28 2012 +0200

    Cross-compiling-msi-related changes; not finished.
    
    Change-Id: Ib0d3d43a291f01c4c0d9c5adb0055c180b3ab40a

diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index e58bd4d..1a7dd57 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -261,7 +261,7 @@ if (!($installer::globals::is_copy_only_project)) { installer::ziplist::set_manu
 # Checking version of makecab.exe
 ##############################################
 
-if ( $installer::globals::iswindowsbuild && (!defined($ENV{'CROSS_COMPILING'}) || $ENV{'CROSS_COMPILING'} ne 'YES' || $ENV{'PKGFORMAT'} eq 'msi')) { installer::control::check_makecab_version(); }
+if ( $installer::globals::iswindowsbuild && (!defined($ENV{'CROSS_COMPILING'}) || $ENV{'CROSS_COMPILING'} ne 'YES' || $installer::globals::packageformat eq 'msi')) { installer::control::check_makecab_version(); }
 
 ##########################################################
 # Getting the include path from the settings in zip list
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm
index efc6331..57659a1 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -79,6 +79,12 @@ sub check_system_path
     # All platforms: zip
     # Windows only: "msiinfo.exe", "msidb.exe", "uuidgen.exe", "makecab.exe", "msitran.exe", "expand.exe" for msi database and packaging
 
+    if ($ENV{'CROSS_COMPILING'} eq 'YES')
+    {
+        # we build our own msi* etc. tools when cross-compiling
+        $ENV{'PATH'} .= $installer::globals::pathseparator . $ENV{'OUTDIR_FOR_BUILD'} . '/bin';
+    }
+
     my $onefile;
     my $error = 0;
     my $pathvariable = $ENV{'PATH'};
@@ -103,7 +109,11 @@ sub check_system_path
 
     if (($installer::globals::iswin) && ($installer::globals::iswindowsbuild))
     {
-        @needed_files_in_path = ("zip.exe", "msiinfo.exe", "msidb.exe", "uuidgen.exe", "makecab.exe", "msitran.exe", "expand.exe");
+        @needed_files_in_path = ("zip.exe", "msiinfo.exe", "msidb.exe", "uuidgen", "makecab.exe", "msitran.exe", "expand.exe");
+    }
+    elsif ($installer::globals::isunix && $installer::globals::packageformat eq 'msi')
+    {
+        @needed_files_in_path = ("zip", "msiinfo.exe", "msidb.exe", "uuidgen", "makecab.exe", "msitran.exe", "cabextract");
     }
     elsif ($installer::globals::iswin)
     {
@@ -168,6 +178,10 @@ sub get_makecab_version
     my $makecabversion = -1;
 
     my $systemcall = "makecab.exe |";
+    if ( $installer::globals::isunix )
+    {
+        $systemcall = "$ENV{'OUTDIR_FOR_BUILD'}/bin/makecab.exe |";
+    }
     my @makecaboutput = ();
 
     open (CAB, $systemcall);
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index ddc2e21..09b3b2d 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -462,7 +462,7 @@ BEGIN
         $libextension = "\.dll";
         $isunix = 0;
         $iswin = 1;
-                $archiveformat = ".zip";
+        $archiveformat = ".zip";
         %savedmapping = ();
         %savedrevmapping = ();
         %savedrev83mapping = ();
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index 93cc78c..e9bd828 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -1272,7 +1272,7 @@ sub get_guid_list
     # "-c" for uppercase output
 
     my $systemcall = "$uuidgen -n$number |";
-    if ( $ENV{'CROSS_COMPILING'} eq 'YES' )
+    if ( $installer::globals::isunix )
     {
         # -n is not present in the non-windows uuidgen
         $systemcall = "for I in `seq 1 $number` ; do uuidgen ; done |";


More information about the Libreoffice-commits mailing list