Bug 287262 - Build locale packages by unpacking final en-US packages and repacking them with localized content r+a=Chase

This commit is contained in:
bsmedberg%covad.net 2005-04-20 23:10:56 +00:00
Родитель b4c2699199
Коммит 4f9c552ea7
6 изменённых файлов: 125 добавлений и 81 удалений

Просмотреть файл

@ -42,6 +42,8 @@ relativesrcdir = browser/locales
include $(DEPTH)/config/autoconf.mk
_ABS_DIST := $(shell cd $(DIST) && pwd)
# This makefile uses target-specific variable assignments to override
# the AB_CD variable when making non-default language JARs and XPIs
# below. If you don't understand what this means, talk to bsmedberg
@ -88,13 +90,13 @@ endif
PROFILE_CHROME = userChrome-example.css userContent-example.css
libs:: $(addprefix $(LOCALE_SRCDIR)/,$(README_FILES))
$(INSTALL) $^ $(DIST)/bin
$(INSTALL) $^ $(FINAL_TARGET)
libs realchrome:: $(addprefix $(LOCALE_SRCDIR)/profile/,$(PROFILE_FILES))
$(INSTALL) $^ $(DIST)/bin/defaults/profile
libs:: $(addprefix $(LOCALE_SRCDIR)/profile/,$(PROFILE_FILES))
$(INSTALL) $^ $(FINAL_TARGET)/defaults/profile
libs realchrome:: $(addprefix $(LOCALE_SRCDIR)/profile/chrome/,$(PROFILE_CHROME))
$(INSTALL) $^ $(DIST)/bin/defaults/profile/chrome
libs:: $(addprefix $(LOCALE_SRCDIR)/profile/chrome/,$(PROFILE_CHROME))
$(INSTALL) $^ $(FINAL_TARGET)/defaults/profile/chrome
install:: $(addprefix $(LOCALE_SRCDIR)/profile/,$(PROFILE_FILES))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile
@ -105,57 +107,111 @@ install:: $(addprefix $(LOCALE_SRCDIR)/profile/chrome/,$(PROFILE_CHROME))
SEARCH_PLUGINS = $(shell cat $(LOCALE_SRCDIR)/searchplugins/list.txt)
SEARCH_PLUGIN_PREFIX = $(addprefix $(LOCALE_SRCDIR)/searchplugins/,$(SEARCH_PLUGINS))
libs realchrome:: $(addsuffix .src,$(SEARCH_PLUGIN_PREFIX)) $(foreach base,$(SEARCH_PLUGIN_PREFIX),$(wildcard $(base).gif)$(wildcard $(base).png))
$(INSTALL) $^ $(DIST)/bin/searchplugins
libs:: $(addsuffix .src,$(SEARCH_PLUGIN_PREFIX)) $(foreach base,$(SEARCH_PLUGIN_PREFIX),$(wildcard $(base).gif)$(wildcard $(base).png))
$(INSTALL) $^ $(FINAL_TARGET)/searchplugins
install:: $(addsuffix .src,$(SEARCH_PLUGIN_PREFIX)) $(foreach base,$(SEARCH_PLUGIN_PREFIX),$(wildcard $(base).gif)$(wildcard $(base).png))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/searchplugins
# Let's imagine we wanted to create a language JARfile without registering it
# the following targets only work with JARed chrome: flat chrome is not supported
jar-%: AB_CD = $*
xpi-%: AB_CD = $*
jar-%: %
@$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
-I$(LOCALE_SRCDIR)/defines.inc $(srcdir)/jar.mn | \
$(PERL) -I$(topsrcdir)/config $(topsrcdir)/config/make-jars.pl \
$(if $(filter gtk gtk2 xlib,$(MOZ_WIDGET_TOOLKIT)),-x) \
$(if $(CROSS_COMPILE),-o $(OS_ARCH)) $(_NO_FLOCK) \
-f jar -d $(DIST)/bin/chrome -s $(srcdir) -t $(topsrcdir) -z $(ZIP) \
-c $(LOCALE_SRCDIR) \
-p $(topsrcdir)/config/preprocessor.pl -- \
"$(DEFINES) $(ACDEFINES)"
xpi-%: %
@$(MAKE) -C ../../toolkit/locales jar-$*
@$(MAKE) jar-$*
@$(RM) -rf $(DIST)/install/xpi-$*
@$(INSTALL) $(DIST)/bin/chrome/$*.jar $(DIST)/install/xpi-$*/chrome
@$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) -I$(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/defines.inc -I$(LOCALE_SRCDIR)/defines.inc $(srcdir)/generic/install.rdf > $(DIST)/install/xpi-$*/install.rdf
@cd $(DIST)/install/xpi-$*; $(ZIP) -r9D ../firefox-$(MOZ_APP_VERSION).$*.langpack.xpi install.rdf chrome
clean-l10n:
@$(RM) $(DIST)/bin/defaults/pref/firefox-l10n.js
@$(RM) -r $(DIST)/bin/searchplugins
@find $(DIST)/bin/chrome -name "??-??.jar" -o -name "???-??.jar" -o -name "??-???.jar" -o -name "??-??" -o -name "???-??" -o -name "??-???" | xargs $(RM) -r dummy
@$(PERL) -pi -e '$$_ = "" if m~^locale,install,url,jar:resource:/chrome/[a-z]{2,3}-[A-Z]{2,3}\.jar~' $(DIST)/bin/chrome/installed-chrome.txt
installers-%: % clean-l10n
@$(MAKE) -C ../../toolkit/locales AB_CD=$*
@$(MAKE) AB_CD=$* # build/register the chrome
ifdef MOZ_USE_OFFICIAL_BRANDING
@$(MAKE) -C ../../other-licenses/branding/firefox/content locale AB_CD=$*
else
@$(MAKE) -C ../base locale AB_CD=$*
libs-%:
@$(MAKE) -C ../../toolkit/locales libs-$*
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$*
ifneq (,$(filter reporter,$(MOZ_EXTENSIONS)))
@$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$*
endif
@$(MAKE) xpi-$* # build the langpack
ifdef MOZ_USE_OFFICIAL_BRANDING
@$(MAKE) -C ../../other-licenses/branding/firefox/locales libs-$*
endif
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)."
$(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 $(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
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
-I$(topsrcdir)/xpinstall/packager/common/share.t $(topsrcdir)/browser/installer/windows/ab-CD.jst | \
sed -e 's/\$SpaceRequired\$:bin/50/' > $(DIST)/l10n-temp-stage/install.js
cd $(DIST)/l10n-temp-stage && \
$(ZIP) -D -0 -r ../l10n-stage/$(AB_CD).xpi .
iconv -f UTF-8 -t $(WIN_INSTALLER_CHARSET) $(call EXPAND_LOCALE_SRCDIR,browser/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)/browser/installer/windows/install.it > $(DIST)/l10n-stage/install.ini
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
$(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)
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)))
@$(MAKE) -C ../app repackage AB_CD=$*
STAGEDIST = $(_ABS_DIST)/l10n-stage/$(MOZ_PKG_APPNAME)/Contents/MacOS
else
STAGEDIST = $(_ABS_DIST)/l10n-stage/$(MOZ_PKG_APPNAME)
endif
@$(MAKE) -C ../installer AB_CD=$* # build the tarball/ZIP
@$(MAKE) -C ../installer installer AB_CD=$* # build the installer
.PHONY: clean-l10n
repackage-zip: ZIP_OUT=$(_ABS_DIST)/$(PACKAGE)
repackage-zip: UNPACKAGE=$(ZIP_IN)
repackage-zip: $(ZIP_IN)
$(RM) -r $(DIST)/l10n-stage
mkdir $(DIST)/l10n-stage
cd $(DIST)/l10n-stage && \
$(UNMAKE_PACKAGE)
$(RM) $(STAGEDIST)/chrome/en-US.jar \
$(STAGEDIST)/chrome/en-US.manifest \
$(STAGEDIST)/chrome/defaults/pref/firefox-l10n.js
$(RM) -r $(STAGEDIST)/searchplugins \
$(STAGEDIST)/defaults/profile
$(RM) -rf $(DIST)/xpi-stage/locale-$(AB_CD)
$(MAKE) libs-$(AB_CD)
cd $(DIST)/xpi-stage/locale-$(AB_CD) && \
tar $(TAR_CREATE_FLAGS) - * | ( cd $(STAGEDIST) && tar -xf - )
cd $(DIST)/l10n-stage; \
$(MAKE_PACKAGE)
mv -f $(DIST)/l10n-stage/$(PACKAGE) $(DIST)
repackage-zip-%: ZIP_IN=$(_ABS_DIST)/$(PACKAGE)
repackage-zip-%: $(ZIP_IN)
@$(MAKE) repackage-zip AB_CD=$* ZIP_IN=$(ZIP_IN)
langpack-%: LANGPACK_FILE=$(DIST)/firefox-$(MOZ_APP_VERSION).$(AB_CD).langpack.xpi
langpack-%: AB_CD=$*
langpack-%: XPI_NAME=locale-$*
langpack-%:
@echo "Making langpack $(LANGPACK_FILE)"
@$(RM) -rf $(DIST)/xpi-stage/locale-$(AB_CD)
@$(MAKE) libs-$(AB_CD)
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) -I$(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/defines.inc -I$(LOCALE_SRCDIR)/defines.inc $(srcdir)/generic/install.rdf > $(FINAL_TARGET)/install.rdf
cd $(DIST)/xpi-stage/locale-$(AB_CD) && \
$(ZIP) -r9D $(shell cygpath -a $(LANGPACK_FILE)) install.rdf chrome
# This is a generic target that will make a langpack, repack ZIP (+tarball)
# builds, and repack an installer if applicable. It is called from the
# tinderbox scripts. Alter it with caution.
installers-%:
@$(MAKE) langpack-$*
@$(MAKE) repackage-$*
ifeq (WINNT,$(OS_ARCH))
@$(MAKE) win32-installer-$*
endif

Просмотреть файл

@ -66,11 +66,7 @@ GRE_DIST = $(DIST)/gre
#
# It will usually be the well-loved $(DIST)/bin, today, but can also be an
# XPI-contents staging directory for ambitious and right-thinking extensions.
ifdef XPI_NAME
FINAL_TARGET = $(DIST)/xpi-stage/$(XPI_NAME)
else
FINAL_TARGET = $(DIST)/bin
endif
FINAL_TARGET = $(if $(XPI_NAME),$(DIST)/xpi-stage/$(XPI_NAME),$(DIST)/bin)
#
# The VERSION_NUMBER is suffixed onto the end of the DLLs we ship.

Просмотреть файл

@ -1629,7 +1629,7 @@ libs realchrome:: $(CHROME_DEPS)
ifndef NO_DIST_INSTALL
@$(EXIT_ON_ERROR) \
if test -f $(JAR_MANIFEST); then \
if test ! -d $(FINAL_TARGET)/chrome; then mkdir $(FINAL_TARGET)/chrome; fi; \
if test ! -d $(FINAL_TARGET)/chrome; then $(NSINSTALL) -D $(FINAL_TARGET)/chrome; fi; \
$(PERL) $(MOZILLA_DIR)/config/preprocessor.pl $(XULPPFLAGS) $(DEFINES) $(ACDEFINES) \
$(JAR_MANIFEST) | \
$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/make-jars.pl \

Просмотреть файл

@ -42,13 +42,6 @@ relativesrcdir = toolkit/locales
include $(DEPTH)/config/autoconf.mk
# This makefile uses target-specific variable assignments to override
# the AB_CD variable when making non-default language JARs below. If
# you don't understand what this means, talk to bsmedberg before
# altering this makefile.
AB_CD = en-US
DEFINES += -DAB_CD=$(AB_CD)
ifeq (,$(filter-out pref,$(MOZ_EXTENSIONS)))
@ -57,17 +50,10 @@ endif
XULPPFLAGS += -I$(LOCALE_SRCDIR)/defines.inc
# Let's imagine we wanted to create a language JARfile without registering it
jar-%: AB_CD = $*
jar-%: %
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $(srcdir)/jar.mn | \
$(PERL) -I$(topsrcdir)/config $(topsrcdir)/config/make-jars.pl \
$(if $(filter gtk gtk2 xlib,$(MOZ_WIDGET_TOOLKIT)),-x) \
$(if $(CROSS_COMPILE),-o $(OS_ARCH)) $(_NO_FLOCK) \
-f jar -d $(DIST)/bin/chrome -s $(srcdir) -t $(topsrcdir) -z $(ZIP) \
-p $(topsrcdir)/config/preprocessor.pl -- \
"-I$(srcdir)/$*/defines.inc $(DEFINES) $(ACDEFINES)"
include $(topsrcdir)/config/rules.mk
libs-%:
@$(MAKE) -C ../../netwerk/locales/ libs AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../dom/locales/ libs AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../security/manager/locales/ libs AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$*

Просмотреть файл

@ -35,10 +35,6 @@
#
# ***** END LICENSE BLOCK *****
ifndef AB_CD
AB_CD = $(MOZ_UI_LOCALE)
endif
ifndef MOZ_PKG_APPNAME
MOZ_PKG_APPNAME = $(MOZ_APP_NAME)
endif
@ -80,4 +76,4 @@ endif
endif #MOZ_SVG
endif #MOZ_PKG_PLATFORM
PKG_BASENAME := $(MOZ_PKG_APPNAME)-$(MOZ_PKG_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
PKG_BASENAME = $(MOZ_PKG_APPNAME)-$(MOZ_PKG_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)

Просмотреть файл

@ -72,22 +72,27 @@ TAR_CREATE_FLAGS = -cvLf
endif
CREATE_FINAL_TAR = tar -c --owner=0 --group=0 --numeric-owner --mode="go-w" -f
UNPACK_TAR = tar -x
ifeq ($(MOZ_PKG_FORMAT),TAR)
PKG_SUFFIX = .tar
MAKE_PACKAGE = $(CREATE_FINAL_TAR) - $(MOZ_PKG_APPNAME) > $(PACKAGE)
UNMAKE_PACKAGE = $(UNPACK_TAR) < $(UNPACKAGE)
endif
ifeq ($(MOZ_PKG_FORMAT),TGZ)
PKG_SUFFIX = .tar.gz
MAKE_PACKAGE = $(CREATE_FINAL_TAR) - $(MOZ_PKG_APPNAME) | gzip -vf9 > $(PACKAGE)
UNMAKE_PACKAGE = gunzip -c $(UNPACKAGE) | $(UNPACK_TAR)
endif
ifeq ($(MOZ_PKG_FORMAT),BZ2)
PKG_SUFFIX = .tar.bz2
MAKE_PACKAGE = $(CREATE_FINAL_TAR) - $(MOZ_PKG_APPNAME) | bzip2 -vf > $(PACKAGE)
UNMAKE_PACKAGE = bunzip2 -c $(UNPACKAGE) | $(UNPACK_TAR)
endif
ifeq ($(MOZ_PKG_FORMAT),ZIP)
PKG_SUFFIX = .zip
MAKE_PACKAGE = $(ZIP) -r9D $(PACKAGE) $(MOZ_PKG_APPNAME)
UNMAKE_PACKAGE = $(UNZIP) $(UNPACKAGE)
endif
ifeq ($(MOZ_PKG_FORMAT),DMG)
ifdef MOZ_DEBUG
@ -98,6 +103,7 @@ endif
PKG_SUFFIX = .dmg
_ABS_TOPSRCDIR = $(shell cd $(topsrcdir) && pwd)
MAKE_PACKAGE = $(_ABS_TOPSRCDIR)/build/package/mac_osx/make-diskimage $(PKG_BASENAME).dmg $(MOZ_PKG_APPNAME) $(MOZ_APP_DISPLAYNAME)
UNMAKE_PACKAGE = $(error XXX Need to implement this!)
endif
# dummy macro if we don't have PSM built
@ -152,7 +158,11 @@ NO_PKG_FILES += \
chrome/app-chrome.manifest \
$(NULL)
# browser/locales/Makefile uses this makefile for it's variable defs, but
# doesn't want the libs:: rule.
ifndef PACKAGER_NO_LIBS
libs:: $(PACKAGE)
endif
GARBAGE += $(DIST)/$(PACKAGE) $(PACKAGE)