You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by af...@apache.org on 2014/02/12 09:14:20 UTC

svn commit: r1567556 - in /openoffice/trunk/main/solenv/bin: make_installer.pl modules/installer/windows/msiglobal.pm release_prepare.pl

Author: af
Date: Wed Feb 12 08:14:20 2014
New Revision: 1567556

URL: http://svn.apache.org/r1567556
Log:
123531: Installer can handle new languages.

Modified:
    openoffice/trunk/main/solenv/bin/make_installer.pl
    openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
    openoffice/trunk/main/solenv/bin/release_prepare.pl

Modified: openoffice/trunk/main/solenv/bin/make_installer.pl
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/make_installer.pl?rev=1567556&r1=1567555&r2=1567556&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/make_installer.pl (original)
+++ openoffice/trunk/main/solenv/bin/make_installer.pl Wed Feb 12 08:14:20 2014
@@ -1711,16 +1711,37 @@ for (;1;last) 
     if ($installer::globals::is_release
         && $installer::globals::iswindowsbuild)
     {
-        $installer::logger::Info->printf("preparing MSI object for source version %s\n",
-            $installer::globals::source_version);
-        my $source_version_string = join(
-            "",
-            installer::patch::Version::StringToNumberArray($installer::globals::source_version));
-        $installer::globals::source_msi = installer::patch::Msi->FindAndCreate(
-            $installer::globals::source_version,
-            0,
-            $$languagestringref,
-            $installer::globals::product);
+        my $releases = installer::patch::ReleasesList::Instance()->{$installer::globals::source_version};
+        if ( ! defined $releases)
+        {
+            $installer::logger::Info->printf(
+                "there is no recorded information about previous version %s\n",
+                $installer::globals::source_version);
+            $installer::logger::Info->printf("    reverting to non-release build\n");
+            $installer::globals::is_release = 0;
+        }
+        elsif ( ! defined $releases->{'msi'}->{installer::languages::get_normalized_language($$languagestringref)})
+        {
+            $installer::logger::Info->printf(
+                "there is no recorded information about language '%s' in previous version %s\n",
+                $$languagestringref,
+                $installer::globals::source_version);
+            $installer::logger::Info->printf("    reverting to non-release build\n");
+            $installer::globals::is_release = 0;
+        }
+        else
+        {
+            $installer::logger::Info->printf("preparing MSI object for source version %s\n",
+                $installer::globals::source_version);
+            my $source_version_string = join(
+                "",
+                installer::patch::Version::StringToNumberArray($installer::globals::source_version));
+            $installer::globals::source_msi = installer::patch::Msi->FindAndCreate(
+                $installer::globals::source_version,
+                0,
+                $$languagestringref,
+                $installer::globals::product);
+        }
     }
 
 	############################################################

Modified: openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm?rev=1567556&r1=1567555&r2=1567556&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm Wed Feb 12 08:14:20 2014
@@ -1512,7 +1512,11 @@ sub get_source_codes ($)
 {
     my ($languagesref) = @_;
     
-    if ( ! defined $installer::globals::source_version)
+    if ( ! $installer::globals::is_release)
+    {
+        return (undef, undef);
+    }
+    elsif ( ! defined $installer::globals::source_version)
     {
         $installer::logger::Lang->printf("no source version defined\n");
         return (undef, undef);

Modified: openoffice/trunk/main/solenv/bin/release_prepare.pl
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/release_prepare.pl?rev=1567556&r1=1567555&r2=1567556&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/release_prepare.pl (original)
+++ openoffice/trunk/main/solenv/bin/release_prepare.pl Wed Feb 12 08:14:20 2014
@@ -115,17 +115,31 @@ sub ProcessLanguage ($$$$$)
     $installer::logger::Info->printf("%s\n", $language);
     $installer::logger::Info->increase_indentation();
 
-    # For every language we need
-    # 1. have downloadable installation set available (download if missing)
-    # 2. unpack it to get access to .cab and .msi
-    # 3. unpack .cab so that msimsp.exe can be run
-
-    installer::patch::InstallationSet::ProvideUnpackedCab(
-        $version,
-        $is_current_version,
-        $language,
-        $package_format,
-        $product_name);
+    if ( ! defined installer::patch::ReleasesList::Instance()
+        ->{$version}
+        ->{$package_format}
+        ->{$language})
+    {
+        $installer::logger::Info->printf(
+            "there is no recorded information about language '%s' in version '%s'\n",
+            $language,
+            $version);
+        $installer::logger::Info->printf("    skipping\n");
+    }
+    else
+    {
+        # For every language we need
+        # 1. have downloadable installation set available (download if missing)
+        # 2. unpack it to get access to .cab and .msi
+        # 3. unpack .cab so that msimsp.exe can be run
+
+        installer::patch::InstallationSet::ProvideUnpackedCab(
+            $version,
+            $is_current_version,
+            $language,
+            $package_format,
+            $product_name);
+    }
 
     $installer::logger::Info->decrease_indentation();
 }