зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
9f3dee1b03
Коммит
62baa07994
|
@ -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)
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче