Bug 339714 - locale repackaging for NSIS installer, and various complementary changes, r=robstrong/axel a=beltzner for drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@201273 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -45,7 +45,7 @@ include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
|
||||
|
||||
CONFIG_DIR := $(shell pwd)/instgen
|
||||
CONFIG_DIR = instgen
|
||||
SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
|
||||
|
||||
PP_LOCALIZED_FILES = \
|
||||
@@ -79,21 +79,24 @@ include $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/charset.m
|
||||
|
||||
installer::
|
||||
$(MAKE) -C .. installer-stage
|
||||
$(RM) -rf instgen && mkdir instgen
|
||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) instgen
|
||||
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) instgen
|
||||
cp $(topsrcdir)/browser/EULA instgen/license.txt
|
||||
$(MAKE) $(CONFIG_DIR)/setup.exe
|
||||
|
||||
$(CONFIG_DIR)/setup.exe::
|
||||
$(RM) -rf $(CONFIG_DIR) && mkdir $(CONFIG_DIR)
|
||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) $(CONFIG_DIR)
|
||||
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) $(CONFIG_DIR)
|
||||
cp $(topsrcdir)/browser/EULA $(CONFIG_DIR)/license.txt
|
||||
$(EXIT_ON_ERROR) \
|
||||
for i in $(PP_LOCALIZED_FILES); do \
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/$$i > instgen/$$i; \
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/$$i > $(CONFIG_DIR)/$$i; \
|
||||
done
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/make-installremoves.pl \
|
||||
../removed-files > instgen/removed-files.log
|
||||
../removed-files > $(CONFIG_DIR)/removed-files.log
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl -Fsubstitution $(DEFINES) $(ACDEFINES) \
|
||||
$(srcdir)/nsis/defines.nsi.in > instgen/defines.nsi
|
||||
$(srcdir)/nsis/defines.nsi.in > $(CONFIG_DIR)/defines.nsi
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl \
|
||||
$(topsrcdir) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer $(AB_CD) \
|
||||
$(WIN_INSTALLER_CHARSET)
|
||||
$(WIN_INSTALLER_CHARSET) $(CONFIG_DIR)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/makensis.mk
|
||||
|
||||
@@ -52,7 +52,10 @@ run_for_effects := $(shell if ! test -d $(DIST); then $(NSINSTALL) -D $(DIST); f
|
||||
_ABS_DIST := $(shell cd $(DIST) && pwd)
|
||||
|
||||
ifdef MOZ_BRANDING_DIRECTORY
|
||||
SUBMAKEFILES += $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile
|
||||
SUBMAKEFILES += \
|
||||
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
|
||||
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
# This makefile uses variable overrides from the libs-% target to
|
||||
@@ -168,46 +171,32 @@ include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
||||
include $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/charset.mk
|
||||
|
||||
repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
repackage-win32-installer: $(WIN32_INSTALLER_IN)
|
||||
repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES)
|
||||
@echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
|
||||
ifdef MOZ_BRANDING_DIRECTORY
|
||||
$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
|
||||
else
|
||||
$(MAKE) -C ../installer/windows export
|
||||
endif
|
||||
if test ! -d $(dir $(WIN32_INSTALLER_OUT)); then \
|
||||
$(NSINSTALL) -D $(dir $(WIN32_INSTALLER_OUT)); \
|
||||
fi
|
||||
$(RM) -rf $(DIST)/l10n-stage
|
||||
mkdir $(DIST)/l10n-stage
|
||||
cd $(DIST)/l10n-stage && \
|
||||
$(CYGWIN_WRAPPER) 7z e $(WIN32_INSTALLER_IN)
|
||||
$(RM) $(DIST)/l10n-stage/en-US.xpi
|
||||
$(RM) -rf l10n-stage
|
||||
mkdir l10n-stage
|
||||
$(CYGWIN_WRAPPER) 7z x -ol10n-stage $(WIN32_INSTALLER_IN)
|
||||
$(RM) -r l10n-stage/localized
|
||||
$(RM) l10n-stage/setup.exe
|
||||
$(RM) -rf $(DIST)/xpi-stage/locale-$(AB_CD)
|
||||
$(MAKE) libs-$(AB_CD)
|
||||
$(RM) -rf $(DIST)/l10n-temp-stage
|
||||
mkdir $(DIST)/l10n-temp-stage
|
||||
mv $(DIST)/xpi-stage/locale-$(AB_CD) $(DIST)/l10n-temp-stage/bin
|
||||
iconv -f UTF-8 -t $(WIN_INSTALLER_CHARSET) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer/installer.inc > \
|
||||
installer.inc
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
|
||||
-Iinstaller.inc \
|
||||
-I$(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/install.it \
|
||||
$(topsrcdir)/browser/installer/windows/install.it > install.it
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
|
||||
$(topsrcdir)/browser/installer/windows/installer.cfg > installer.cfg
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/makeinstallini.pl \
|
||||
installer.cfg install.it
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
|
||||
$(topsrcdir)/browser/installer/windows/ab-CD.jst > $(AB_CD).jst
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/parseandmakejs.pl \
|
||||
installer.cfg $(AB_CD).jst $(DIST)/l10n-temp-stage
|
||||
cp $(AB_CD).js $(DIST)/l10n-temp-stage/install.js
|
||||
cd $(DIST)/l10n-temp-stage && \
|
||||
$(ZIP) -D -0 -r ../l10n-stage/$(AB_CD).xpi .
|
||||
$(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 --best -o $(DIST)/l10n-temp-stage/7zSD.sfxc $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
|
||||
$(INSTALL) $(topsrcdir)/browser/installer/windows/app.tag $(DIST)/l10n-temp-stage
|
||||
cd $(DIST)/l10n-temp-stage && \
|
||||
$(CYGWIN_WRAPPER) cmd /C copy /b 7zSD.sfxc+app.tag+app.7z firefox-installer.exe
|
||||
mv -f $(DIST)/l10n-temp-stage/firefox-installer.exe $(WIN32_INSTALLER_OUT)
|
||||
mv $(DIST)/xpi-stage/locale-$(AB_CD) l10n-stage/localized
|
||||
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
|
||||
cp ../installer/windows/l10ngen/setup.exe l10n-stage
|
||||
rm -f app.7z
|
||||
cd l10n-stage && \
|
||||
$(CYGWIN_WRAPPER) 7z a -r -t7z ../app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
|
||||
cat ../installer/windows/l10ngen/7zSD.sfx \
|
||||
$(topsrcdir)/browser/installer/windows/app.tag \
|
||||
app.7z > $(WIN32_INSTALLER_OUT)
|
||||
|
||||
repackage-win32-installer-%: WIN32_INSTALLER_IN=$(_ABS_DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
repackage-win32-installer-%: $(WIN32_INSTALLER_IN)
|
||||
|
||||
@@ -79,21 +79,21 @@ installer::
|
||||
$(MAKE) $(CONFIG_DIR)/setup.exe
|
||||
|
||||
$(CONFIG_DIR)/setup.exe::
|
||||
$(RM) -rf instgen && mkdir instgen
|
||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) instgen
|
||||
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) instgen
|
||||
cp $(topsrcdir)/calendar/EULA.txt instgen/license.txt
|
||||
$(RM) -rf $(CONFIG_DIR) && mkdir $(CONFIG_DIR)
|
||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) $(CONFIG_DIR)
|
||||
$(INSTALL) $(addprefix $(DIST)/branding/,$(BRANDING_FILES)) $(CONFIG_DIR)
|
||||
cp $(topsrcdir)/calendar/EULA.txt $(CONFIG_DIR)/license.txt
|
||||
$(EXIT_ON_ERROR) \
|
||||
for i in $(PP_LOCALIZED_FILES); do \
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/$$i > instgen/$$i; \
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/$$i > $(CONFIG_DIR)/$$i; \
|
||||
done
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/make-installremoves.pl \
|
||||
../removed-files > instgen/removed-files.log
|
||||
../removed-files > $(CONFIG_DIR)/removed-files.log
|
||||
$(PERL) $(topsrcdir)/config/preprocessor.pl -Fsubstitution $(DEFINES) $(ACDEFINES) \
|
||||
$(srcdir)/nsis/defines.nsi.in > instgen/defines.nsi
|
||||
$(srcdir)/nsis/defines.nsi.in > $(CONFIG_DIR)/defines.nsi
|
||||
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.pl \
|
||||
$(topsrcdir) $(call EXPAND_LOCALE_SRCDIR,calendar/locales)/installer $(AB_CD) \
|
||||
$(WIN_INSTALLER_CHARSET)
|
||||
$(WIN_INSTALLER_CHARSET) $(CONFIG_DIR)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/makensis.mk
|
||||
|
||||
@@ -110,6 +110,33 @@ PACKAGER_NO_LIBS = 1
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
||||
include $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/charset.mk
|
||||
|
||||
repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
repackage-win32-installer: $(WIN32_INSTALLER_IN)
|
||||
@echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
|
||||
if test ! -d $(dir $(WIN32_INSTALLER_OUT)); then \
|
||||
$(NSINSTALL) -D $(dir $(WIN32_INSTALLER_OUT)); \
|
||||
fi
|
||||
$(RM) -rf l10n-stage
|
||||
mkdir l10n-stage
|
||||
$(CYGWIN_WRAPPER) 7z x -ol10n-stage $(WIN32_INSTALLER_IN)
|
||||
$(RM) -r l10n-stage/localized
|
||||
$(RM) l10n-stage/setup.exe
|
||||
$(RM) -rf $(DIST)/xpi-stage/locale-$(AB_CD)
|
||||
$(MAKE) libs-$(AB_CD)
|
||||
mv $(DIST)/xpi-stage/locale-$(AB_CD) l10n-stage/localized
|
||||
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
|
||||
cp ../installer/windows/l10ngen/setup.exe l10n-stage
|
||||
rm -f app.7z
|
||||
cd l10n-stage && \
|
||||
$(CYGWIN_WRAPPER) 7z a -r -t7z ../app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
|
||||
cat ../installer/windows/l10ngen/7zSD.sfx \
|
||||
$(topsrcdir)/calendar/installer/windows/app.tag \
|
||||
app.7z > $(WIN32_INSTALLER_OUT)
|
||||
|
||||
repackage-win32-installer-%: WIN32_INSTALLER_IN=$(_ABS_DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
repackage-win32-installer-%: $(WIN32_INSTALLER_IN)
|
||||
@$(MAKE) repackage-win32-installer AB_CD=$* WIN32_INSTALLER_IN=$(WIN32_INSTALLER_IN)
|
||||
|
||||
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
|
||||
STAGEDIST = $(_ABS_DIST)/l10n-stage/$(MOZ_PKG_APPNAME)/$(_APPNAME)/Contents/MacOS
|
||||
else
|
||||
|
||||
@@ -40,9 +40,10 @@
|
||||
ifndef CONFIG_DIR
|
||||
$(error CONFIG_DIR must be set before including makensis.mk)
|
||||
endif
|
||||
ifndef SFX_MODULE
|
||||
$(error SFX_MODULE must be set before including makensis.mk)
|
||||
endif
|
||||
|
||||
ABS_CONFIG_DIR := $(shell pwd)/$(CONFIG_DIR)
|
||||
|
||||
SFX_MODULE ?= $(error SFX_MODULE is not defined)
|
||||
|
||||
TOOLKIT_NSIS_FILES = \
|
||||
common.nsh \
|
||||
@@ -51,13 +52,18 @@ TOOLKIT_NSIS_FILES = \
|
||||
version.nsh \
|
||||
$(NULL)
|
||||
|
||||
installer::
|
||||
$(CONFIG_DIR)/setup.exe::
|
||||
$(INSTALL) $(addprefix $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/,$(TOOLKIT_NSIS_FILES)) $(CONFIG_DIR)
|
||||
$(INSTALL) $(topsrcdir)/toolkit/mozapps/installer/windows/wizard/setuprsc/setup.ico $(CONFIG_DIR)
|
||||
cd $(CONFIG_DIR) && makensis.exe installer.nsi
|
||||
$(INSTALL) $(CONFIG_DIR)/removed-files.log $(CONFIG_DIR)/setup.exe $(DEPTH)/installer-stage
|
||||
cd $(DEPTH)/installer-stage && $(CYGWIN_WRAPPER) 7z a -r -t7z $(CONFIG_DIR)/app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
|
||||
|
||||
$(CONFIG_DIR)/7zSD.sfx:
|
||||
$(CYGWIN_WRAPPER) upx --best -o $(CONFIG_DIR)/7zSD.sfx $(SFX_MODULE)
|
||||
|
||||
installer::
|
||||
$(INSTALL) $(CONFIG_DIR)/removed-files.log $(CONFIG_DIR)/setup.exe $(DEPTH)/installer-stage
|
||||
cd $(DEPTH)/installer-stage && $(CYGWIN_WRAPPER) 7z a -r -t7z $(ABS_CONFIG_DIR)/app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
|
||||
$(MAKE) $(CONFIG_DIR)/7zSD.sfx
|
||||
$(NSINSTALL) -D $(DIST)/install/sea
|
||||
cat $(CONFIG_DIR)/7zSD.sfx $(CONFIG_DIR)/app.tag $(CONFIG_DIR)/app.7z > $(DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
chmod 0755 $(DIST)/install/sea/$(PKG_BASENAME).installer.exe
|
||||
|
||||
@@ -38,6 +38,7 @@ my $topsrcdir = "$ARGV[0]";
|
||||
my $appLocaleDir = "$ARGV[1]";
|
||||
my $AB_CD = "$ARGV[2]";
|
||||
my $langCP = "$ARGV[3]";
|
||||
my $configDir = "$ARGV[4]";
|
||||
my $nsisVer = "v6";
|
||||
# Set the language ID to 0 to make this locale the default locale. An actual
|
||||
# ID will need to be used to create a multi-language installer (e.g. for CD
|
||||
@@ -80,7 +81,7 @@ if ($codepage != "CP1252") {
|
||||
|
||||
# Create the main NSIS language file with just the codepage, font, and
|
||||
# RTL information
|
||||
open(outfile, ">instgen/nlf.in");
|
||||
open(outfile, ">$configDir/nlf.in");
|
||||
print outfile "# Header, don't edit\r\nNLF $nsisVer\r\n# Start editing here\r\n";
|
||||
print outfile "# Language ID\r\n$langID\r\n";
|
||||
print outfile "# Font and size - dash (-) means default\r\n$fontName\r\n$fontSize\r\n";
|
||||
@@ -96,7 +97,7 @@ if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/override.properties");
|
||||
open(outfile, ">$configDir/override.properties");
|
||||
$lnum = 1;
|
||||
while( $line = <infile> ) {
|
||||
$line =~ s/[\r\n]*//g; # remove \r and \n
|
||||
@@ -120,7 +121,7 @@ if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/mui.properties");
|
||||
open(outfile, ">$configDir/mui.properties");
|
||||
print outfile ";NSIS Modern User Interface - Language File\r\n";
|
||||
print outfile ";Compatible with Modern UI 1.68\r\n";
|
||||
print outfile ";Language: baseLocale ($langID)\r\n";
|
||||
@@ -152,7 +153,7 @@ if (!-e $inFile) {
|
||||
die "Error $inFile does not exist!";
|
||||
}
|
||||
open(infile, "<$inFile");
|
||||
open(outfile, ">instgen/custom.properties");
|
||||
open(outfile, ">$configDir/custom.properties");
|
||||
|
||||
$lnum = 1;
|
||||
while( $line = <infile> ) {
|
||||
@@ -179,8 +180,8 @@ sub cpConvert
|
||||
my $srcFile = $_[0];
|
||||
my $targetFile = $_[1];
|
||||
my $targetCodepage = $_[2];
|
||||
print "iconv -f UTF-8 -t $targetCodepage instgen/$srcFile > instgen/$targetFile\n";
|
||||
system("iconv -f UTF-8 -t $targetCodepage instgen/$srcFile > instgen/$targetFile") &&
|
||||
die "Error converting codepage to $targetCodepage for instgen/$srcFile";
|
||||
unlink <instgen/$srcFile>;
|
||||
print "iconv -f UTF-8 -t $targetCodepage $configDir/$srcFile > $configDir/$targetFile\n";
|
||||
system("iconv -f UTF-8 -t $targetCodepage $configDir/$srcFile > $configDir/$targetFile") &&
|
||||
die "Error converting codepage to $targetCodepage for $configDir/$srcFile";
|
||||
unlink <$configDir/$srcFile>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user