tools/update-packaging/Makefile.in

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tools/update-packaging/Makefile.in	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,101 @@
     1.4 +# vim:set ts=8 sw=8 sts=8 noet:
     1.5 +#
     1.6 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.7 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.8 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.9 +
    1.10 +STANDALONE_MAKEFILE := 1
    1.11 +
    1.12 +# input location for the build, usually $(DIST)
    1.13 +# set this to $(DIST)/l10n-stage per override for L10n builds
    1.14 +PACKAGE_BASE_DIR	= $(DIST)
    1.15 +
    1.16 +# Default output location for update archive
    1.17 +STAGE_DIR	= $(DIST)/$(PKG_UPDATE_PATH)
    1.18 +
    1.19 +ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
    1.20 +ifdef UNIVERSAL_BINARY
    1.21 +ifneq (,$(filter %/l10n-stage,$(PACKAGE_BASE_DIR)))
    1.22 +PACKAGE_DIR	= $(PACKAGE_BASE_DIR)/$(MOZ_PKG_DIR)/$(MOZ_MACBUNDLE_NAME)
    1.23 +else
    1.24 +PACKAGE_DIR	= $(PACKAGE_BASE_DIR)/universal/$(MOZ_PKG_DIR)/$(MOZ_MACBUNDLE_NAME)
    1.25 +endif
    1.26 +else
    1.27 +PACKAGE_DIR	= $(PACKAGE_BASE_DIR)/$(MOZ_PKG_DIR)/$(MOZ_MACBUNDLE_NAME)
    1.28 +endif
    1.29 +else
    1.30 +PACKAGE_DIR	= $(PACKAGE_BASE_DIR)/$(MOZ_PKG_DIR)
    1.31 +endif
    1.32 +
    1.33 +MAR_BIN	= $(LIBXUL_DIST)/host/bin/mar$(HOST_BIN_SUFFIX)
    1.34 +MBSDIFF_BIN	= $(LIBXUL_DIST)/host/bin/mbsdiff$(HOST_BIN_SUFFIX)
    1.35 +
    1.36 +OVERRIDE_DEFAULT_GOAL := full-update
    1.37 +full-update:: complete-patch $(if $(MOZ_AUTOMATION_UPDATE_PACKAGING),automation-partial-patch)
    1.38 +
    1.39 +ifeq ($(OS_TARGET), WINNT)
    1.40 +MOZ_PKG_FORMAT	:= SFX7Z
    1.41 +UNPACKAGE	= '$(subst $(DIST),$(_ABS_DIST),$(INSTALLER_PACKAGE))'
    1.42 +ifdef AB_CD
    1.43 +UNPACKAGE	= '$(PACKAGE_BASE_DIR)/$(PACKAGE)'
    1.44 +endif
    1.45 +endif
    1.46 +
    1.47 +include $(topsrcdir)/config/rules.mk
    1.48 +include $(topsrcdir)/toolkit/mozapps/installer/signing.mk
    1.49 +include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
    1.50 +
    1.51 +ifdef MOZ_EXTERNAL_SIGNING_FORMAT
    1.52 +# We can't use signcode on mar files
    1.53 +MOZ_EXTERNAL_SIGNING_FORMAT := $(filter-out signcode,$(MOZ_EXTERNAL_SIGNING_FORMAT))
    1.54 +MOZ_EXTERNAL_SIGNING_FORMAT := mar $(MOZ_EXTERNAL_SIGNING_FORMAT)
    1.55 +endif
    1.56 +
    1.57 +dir-stage := $(call mkdir_deps,$(STAGE_DIR))
    1.58 +
    1.59 +complete-patch:: $(dir-stage)
    1.60 +ifeq ($(OS_TARGET), WINNT)
    1.61 +	test -f $(UNPACKAGE)
    1.62 +	$(RM) -rf '$(PACKAGE_DIR)'
    1.63 +	cd $(PACKAGE_BASE_DIR) && $(INNER_UNMAKE_PACKAGE)
    1.64 +endif
    1.65 +	MAR=$(MAR_BIN) \
    1.66 +	  $(srcdir)/make_full_update.sh \
    1.67 +	  '$(DIST)/$(COMPLETE_MAR)' \
    1.68 +	  '$(PACKAGE_DIR)'
    1.69 +ifdef MOZ_SIGN_CMD
    1.70 +	$(MOZ_SIGN_CMD) -f mar '$(DIST)/$(COMPLETE_MAR)'
    1.71 +endif
    1.72 +
    1.73 +partial-patch:: $(dir-stage)
    1.74 +	MAR=$(MAR_BIN) \
    1.75 +	MBSDIFF=$(MBSDIFF_BIN) \
    1.76 +	  $(srcdir)/make_incremental_update.sh \
    1.77 +	  '$(STAGE_DIR)/$(PKG_UPDATE_BASENAME).partial.$(SRC_BUILD_ID)-$(DST_BUILD_ID).mar' \
    1.78 +	  '$(SRC_BUILD)' \
    1.79 +	  '$(DST_BUILD)'
    1.80 +ifdef MOZ_SIGN_CMD
    1.81 +	$(MOZ_SIGN_CMD) -f mar '$(STAGE_DIR)/$(PKG_UPDATE_BASENAME).partial.$(SRC_BUILD_ID)-$(DST_BUILD_ID).mar'
    1.82 +endif
    1.83 +
    1.84 +automation-partial-patch: complete-patch
    1.85 +	rm -rf current current.work previous
    1.86 +	mkdir current previous
    1.87 +	latestmar=$$(ssh -l $(UPLOAD_USER) -i $(UPLOAD_SSH_KEY) $(UPLOAD_HOST) 'ls -1t $(LATEST_MAR_DIR) | grep $(MOZ_PKG_PLATFORM).complete.mar$$ | head -n 1'); \
    1.88 +	  if test -n "$$latestmar"; then \
    1.89 +	    wget -O $(STAGE_DIR)/previous.mar http://$(UPLOAD_HOST)/$(LATEST_MAR_DIR)/$$latestmar && \
    1.90 +	    (cd previous; \
    1.91 +	      MAR=$(MAR_BIN) perl $(topsrcdir)/tools/update-packaging/unwrap_full_update.pl '../$(STAGE_DIR)/previous.mar') && \
    1.92 +	    (cd current; \
    1.93 +	      MAR=$(MAR_BIN) perl $(topsrcdir)/tools/update-packaging/unwrap_full_update.pl '../$(DIST)/$(COMPLETE_MAR)') && \
    1.94 +	    find current -name \*.pgc -print -delete && \
    1.95 +	    find previous -name \*.pgc -print -delete && \
    1.96 +	    rm -f $(STAGE_DIR)/*.partial.*.mar && \
    1.97 +	    SRC_BUILD_ID=$$(python $(topsrcdir)/config/printconfigsetting.py $$(find previous -maxdepth 4 -type f -name application.ini) App BuildID) \
    1.98 +	    DST_BUILD_ID=$$(cat $(DEPTH)/config/buildid) \
    1.99 +	    SRC_BUILD=previous DST_BUILD=current \
   1.100 +	      $(MAKE) partial-patch && \
   1.101 +	    rm -f $(STAGE_DIR)/previous.mar; \
   1.102 +	  else \
   1.103 +	    echo "No previous MAR found; not creating a partial MAR"; \
   1.104 +	  fi

mercurial