From 63194d5c12996ba5de20f1e5d18f888d20ea8e43 Mon Sep 17 00:00:00 2001 From: "bsmedberg%covad.net" Date: Thu, 14 Jul 2005 15:46:27 +0000 Subject: [PATCH] Bug 299737 - l10n installer displays entity names (and bug 300092, tb installer displays nothing at all), r+a=chase git-svn-id: svn://10.0.0.236/trunk@176092 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/browser/locales/Makefile.in | 5 +- mozilla/mail/locales/Makefile.in | 7 +- .../toolkit/mozapps/installer/CFGParser.pm | 120 ++++++++++++++++++ .../toolkit/mozapps/installer/build_static.pl | 86 ++----------- .../mozapps/installer/makeinstallini.pl | 59 +++++++++ 5 files changed, 197 insertions(+), 80 deletions(-) create mode 100755 mozilla/toolkit/mozapps/installer/CFGParser.pm create mode 100755 mozilla/toolkit/mozapps/installer/makeinstallini.pl diff --git a/mozilla/browser/locales/Makefile.in b/mozilla/browser/locales/Makefile.in index 330ce63d08a..7f0eb2c8dd1 100644 --- a/mozilla/browser/locales/Makefile.in +++ b/mozilla/browser/locales/Makefile.in @@ -153,7 +153,10 @@ repackage-win32-installer: $(WIN32_INSTALLER_IN) $(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \ -I$(DIST)/l10n-temp-stage/installer.inc \ -I$(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/install.it \ - $(topsrcdir)/browser/installer/windows/install.it > $(DIST)/l10n-stage/install.ini + $(topsrcdir)/browser/installer/windows/install.it > install.it + $(PERL) $(topsrcdir)/toolkit/mozapps/installer/makeinstallini.pl \ + $(topsrcdir)/browser/installer/windows/installer.cfg install.it + $(SYSINSTALL) install.ini $(DIST)/l10n-stage cd $(DIST)/l10n-stage && \ $(CYGWIN_WRAPPER) 7z a -t7z ../l10n-temp-stage/app.7z *.* -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 $(CYGWIN_WRAPPER) upx -9 -o $(DIST)/l10n-temp-stage/7zSD.sfxc $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx diff --git a/mozilla/mail/locales/Makefile.in b/mozilla/mail/locales/Makefile.in index aff735b04fa..af21deca793 100644 --- a/mozilla/mail/locales/Makefile.in +++ b/mozilla/mail/locales/Makefile.in @@ -105,9 +105,12 @@ repackage-win32-installer: $(WIN32_INSTALLER_IN) iconv -f UTF-8 -t $(WIN_INSTALLER_CHARSET) $(call EXPAND_LOCALE_SRCDIR,mail/locales)/installer/installer.inc > \ $(DIST)/l10n-temp-stage/installer.inc $(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \ - -I$(DIST)/l10n-temp-stage/installer.inc \ -I$(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/install.it \ - $(topsrcdir)/mail/installer/windows/install.it > $(DIST)/l10n-stage/install.ini + -I$(DIST)/l10n-temp-stage/installer.inc \ + $(topsrcdir)/mail/installer/windows/install.it > install.it + $(PERL) $(topsrcdir)/toolkit/mozapps/installer/makeinstallini.pl \ + $(topsrcdir)/mail/installer/windows/installer.cfg install.it + $(SYSINSTALL) install.ini $(DIST)/l10n-stage cd $(DIST)/l10n-stage && \ $(CYGWIN_WRAPPER) 7z a -t7z ../l10n-temp-stage/app.7z *.* -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 $(CYGWIN_WRAPPER) upx -9 -o $(DIST)/l10n-temp-stage/7zSD.sfxc $(topsrcdir)/other-licenses/7zstub/thunderbird/7zSD.sfx diff --git a/mozilla/toolkit/mozapps/installer/CFGParser.pm b/mozilla/toolkit/mozapps/installer/CFGParser.pm new file mode 100755 index 00000000000..876dc6f8d33 --- /dev/null +++ b/mozilla/toolkit/mozapps/installer/CFGParser.pm @@ -0,0 +1,120 @@ +#!/usr/bin/perl +# +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1999 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Samir Gehani +# Benjamin Smedberg +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + +# Initialize global installer environment variables. This information comes +# from the application's installer.cfg file which specifies such things as name +# and installer executable file names. + +package CFGParser; + +sub ParseInstallerCfg +{ + my ($cfgFile) = @_; + + $ENV{WIZ_distSubdir} = "bin"; + $ENV{WIZ_packagesFile} = "packages-static"; + + open(fpInstallCfg, $cfgFile) || die"\ncould not open $cfgFile: $!\n"; + + while ($line = ) + { + if (substr($line, -2, 2) eq "\r\n") { + $line = substr($line, 0, length($line) - 2) . "\n"; + } + ($prop, $value) = ($line =~ m/(\w*)\s+=\s+(.*)\n/); + + if ($prop eq "VersionLanguage") { + $ENV{WIZ_versionLanguage} = $value; + } + elsif ($prop eq "NameCompany") { + $ENV{WIZ_nameCompany} = $value; + } + elsif ($prop eq "NameProduct") { + $ENV{WIZ_nameProduct} = $value; + } + elsif ($prop eq "ShortNameProduct") { + $ENV{WIZ_shortNameProduct} = $value; + } + elsif ($prop eq "NameProductInternal") { + $ENV{WIZ_nameProductInternal} = $value; + } + elsif ($prop eq "VersionProduct") { + $ENV{WIZ_versionProduct} = $value; + } + elsif ($prop eq "FileInstallerEXE") { + $ENV{WIZ_fileInstallerExe} = $value; + } + elsif ($prop eq "FileUninstall") { + $ENV{WIZ_fileUninstall} = $value; + } + elsif ($prop eq "FileUninstallZIP") { + $ENV{WIZ_fileUninstallZip} = $value; + } + elsif ($prop eq "FileMainEXE") { + $ENV{WIZ_fileMainExe} = $value; + } + elsif ($prop eq "FileInstallerNETRoot") { + $ENV{WIZ_fileNetStubRootName} = $value; + } + elsif ($prop eq "ComponentList") { + $ENV{WIZ_componentList} = $value; + } + elsif ($prop eq "7ZipSFXModule") { + $ENV{WIZ_sfxModule} = $value; + } + elsif ($prop eq "DistSubdir") { + $ENV{WIZ_distSubdir} = $value; + } + elsif ($prop eq "packagesFile") { + $ENV{WIZ_packagesFile} = $value; + } + elsif ($prop eq "GREVersion") { + $ENV{WIZ_greVersion} = $value; + } + elsif ($prop eq "LicenseFile") { + $ENV{WIZ_licenseFile} = $value; + } + } + + close(fpInstallCfg); +} + +1; + diff --git a/mozilla/toolkit/mozapps/installer/build_static.pl b/mozilla/toolkit/mozapps/installer/build_static.pl index 31191ea8575..9ea303cf69d 100755 --- a/mozilla/toolkit/mozapps/installer/build_static.pl +++ b/mozilla/toolkit/mozapps/installer/build_static.pl @@ -57,6 +57,7 @@ use Cwd; use File::Path; +use File::Basename; $inXpiURL = ""; $inRedirIniURL = ""; @@ -92,8 +93,6 @@ if ($inObjDir eq "") $inObjDir = $inSrcDir; } -ParseInstallerCfg(); - $win32 = ($^O =~ / ((MS)?win32)|cygwin|os2/i) ? 1 : 0; if ($win32) { $platform = 'dos'; @@ -101,7 +100,14 @@ if ($win32) { $platform = 'unix'; } -ParseInstallerCfg(); +# ensure that CFGParser.pm is in @INC, since we might not be called from +# mozilla/toolkit/mozapps/installer +my $top_path = $0; +$top_path =~ s/\\/\//g if $win32; +push(@INC, dirname($top_path)); + +require CFGParser; +CFGParser::ParseInstallerCfg("$inConfigFiles/installer.cfg"); $STAGE = "$inObjDir/stage"; $DIST = "$inObjDir/dist"; @@ -154,80 +160,6 @@ sub copy system ("cp ".$_[0]." ".$_[1]); } -# Initialize global installer environment variables. This information comes -# from the application's installer.cfg file which specifies such things as name -# and installer executable file names. - -sub ParseInstallerCfg -{ - $ENV{WIZ_distSubdir} = "bin"; - $ENV{WIZ_packagesFile} = "packages-static"; - - open(fpInstallCfg, "$inConfigFiles/installer.cfg") || die"\ncould not open $inConfigFiles/installer.cfg: $!\n"; - - while ($line = ) - { - if (substr($line, -2, 2) eq "\r\n") { - $line = substr($line, 0, length($line) - 2) . "\n"; - } - ($prop, $value) = ($line =~ m/(\w*)\s+=\s+(.*)\n/); - - if ($prop eq "VersionLanguage") { - $ENV{WIZ_versionLanguage} = $value; - } - elsif ($prop eq "NameCompany") { - $ENV{WIZ_nameCompany} = $value; - } - elsif ($prop eq "NameProduct") { - $ENV{WIZ_nameProduct} = $value; - } - elsif ($prop eq "ShortNameProduct") { - $ENV{WIZ_shortNameProduct} = $value; - } - elsif ($prop eq "NameProductInternal") { - $ENV{WIZ_nameProductInternal} = $value; - } - elsif ($prop eq "VersionProduct") { - $ENV{WIZ_versionProduct} = $value; - } - elsif ($prop eq "FileInstallerEXE") { - $ENV{WIZ_fileInstallerExe} = $value; - } - elsif ($prop eq "FileUninstall") { - $ENV{WIZ_fileUninstall} = $value; - } - elsif ($prop eq "FileUninstallZIP") { - $ENV{WIZ_fileUninstallZip} = $value; - } - elsif ($prop eq "FileMainEXE") { - $ENV{WIZ_fileMainExe} = $value; - } - elsif ($prop eq "FileInstallerNETRoot") { - $ENV{WIZ_fileNetStubRootName} = $value; - } - elsif ($prop eq "ComponentList") { - $ENV{WIZ_componentList} = $value; - } - elsif ($prop eq "7ZipSFXModule") { - $ENV{WIZ_sfxModule} = $value; - } - elsif ($prop eq "DistSubdir") { - $ENV{WIZ_distSubdir} = $value; - } - elsif ($prop eq "packagesFile") { - $ENV{WIZ_packagesFile} = $value; - } - elsif ($prop eq "GREVersion") { - $ENV{WIZ_greVersion} = $value; - } - elsif ($prop eq "LicenseFile") { - $ENV{WIZ_licenseFile} = $value; - } - } - - close(fpInstallCfg); -} - sub ParseArgv { my(@myArgv) = @_; diff --git a/mozilla/toolkit/mozapps/installer/makeinstallini.pl b/mozilla/toolkit/mozapps/installer/makeinstallini.pl new file mode 100755 index 00000000000..4df0c155bbb --- /dev/null +++ b/mozilla/toolkit/mozapps/installer/makeinstallini.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1999 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Samir Gehani +# Benjamin Smedberg +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + +use File::Basename; + +die ("Usage: $0 ") if (scalar(@ARGV) != 2); + +my ($cfgFile, $itFile) = @ARGV; + +# ensure that CFGParser.pm is in @INC, since we might not be called from +# mozilla/toolkit/mozapps/installer +my $top_path = $0; +$top_path =~ s/\\/\//g if $win32; +$top_path = dirname($top_path); + +push(@INC, $top_path); + +require CFGParser; +CFGParser::ParseInstallerCfg($cfgFile); + +system("perl $top_path/makecfgini.pl $itFile $ENV{WIZ_versionProduct} . . ftp://not.supplied.invalid ftp://not.supplied.invalid") == 0 || + die("Could not create ini file.");