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:
benjamin%smedbergs.us
2006-06-29 20:25:04 +00:00
parent 9d0f29a5ab
commit ca1628da3d
6 changed files with 92 additions and 66 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>;
}