Release/Makefile
author Thijs Alkemade <me@thijsalkema.de>
Fri, 14 Jun 2013 14:09:06 +0200
branchadium-1.6
changeset 5567 f5f2b36c2143
parent 5419 37fb8f8a23c8
child 5577 404f347badab
permissions -rw-r--r--
Enable support for generating deltas for nightlies. Should work, but old dmgs/deltas aren't created yet.
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     1
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     2
# What to do before running this script:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     3
# - openUp needs to be installed.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     4
# - Set VERSION, BUILD_IN_DEBUG_MODE, BETA, and OFFICIAL_BUILD below.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     5
#    * The Adium plists will automatically updated to match these values.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     6
#    * BETA should be TRUE for all beta builds and FALSE for all releases.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     7
#      It primarily affects the appcast used by Adium for detecting updates.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     8
#    * BUILD_IN_DEBUG_MODE should be set to FALSE for the last beta
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     9
#      in addition to the release itself. If FALSE, debug logging is disabled
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    10
#      and certain space optimizations for nibs and strings are done which
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    11
#      also prevent modification.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    12
#    * OFFICIAL_BUILD is TRUE for the benefit of our Adium build machine, which signs 
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    13
#      official release builds. When building a release yourself, set this to FALSE, 
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    14
#      since you don't have the Adium certificate on your machine.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    15
#
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    16
# How to run this script:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    17
# - make all
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    18
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    19
4996
b423dc1963a4 Merged adium-1.5.3 into adium-1.6.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4968 4991
diff changeset
    20
VERSION=1.6hg
5390
2b58c4030980 Branching off 1.5.7.
Thijs Alkemade <me@thijsalkema.de>
parents: 5385
diff changeset
    21
BUILD_IN_DEBUG_MODE?=TRUE
2b58c4030980 Branching off 1.5.7.
Thijs Alkemade <me@thijsalkema.de>
parents: 5385
diff changeset
    22
BETA?=TRUE
2241
171c884ac6b4 Yes, official build please!
Zachary West <zacw@adium.im>
parents: 2239
diff changeset
    23
OFFICIAL_BUILD?=TRUE
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    24
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    25
# Always builds in debug mode.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    26
NIGHTLY?=FALSE
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
    27
NIGHTLY_REPO?=adium #change to adium-1.4 on the 1.4 branch
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
    28
NIGHTLY_BRANCH?=default
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    29
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    30
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    31
# To release!
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    32
# Releasing requires cachefly access and adiumx.com access.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    33
#
4710
5dbc321fe34c One more RC to check some last minute changes.
Eric Richie
parents: 4696
diff changeset
    34
# First upload to cachefly. If you don't have access and need to do a release, get with Evan, Eric, or Zac.
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    35
# Triggering the version checker once the release is up:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    36
# 1) Build Adium
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    37
# 2) Get the number out of the 'buildnum' file in Adium.app/Contents/Resources
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    38
# 3) Paste that number into the appropriate place (adium version or adium-beta version, depending on which you're triggering) in the version.plist file in our public_html folder.  *** (2) and (3) are to support the old version checker, in Adium 0.8x and earlier ***
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    39
# 4) Update and commit the appcast.xml file in the adium checkout root
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    40
# 5) Run the appcast update php script.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    41
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    42
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    43
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    44
# No need for changes below this point
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    45
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    46
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    47
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    48
# Variables
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    49
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    50
SRC_DIR=..
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    51
BUILD_DIR=build
5567
f5f2b36c2143 Enable support for generating deltas for nightlies. Should work, but old dmgs/deltas aren't created yet.
Thijs Alkemade <me@thijsalkema.de>
parents: 5419
diff changeset
    52
OLD_DMGS=dmgs
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    53
ART_DIR=Artwork
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    54
ADIUM_DIR=$(BUILD_DIR)/Adium
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    55
RELEASE_NAME=Adium_$(VERSION)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    56
VERSION_ESCAPED=$(VERSION)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    57
RELEASE_NAME_ESCAPED=Adium_$(VERSION_ESCAPED)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    58
TARBALL_DIR=adium-$(VERSION)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    59
2107
6dcbf494dbd6 Use `hg parent` for identifying builds. Fixes #11943.
Zachary West <zacw@adium.im>
parents: 2073
diff changeset
    60
REVISION = r$(shell hg parent --template {rev})
1787
0b6cac9151ee Mercurialize the Release Makefile. The if(svn) stuff can die off when we move over.
Zachary West <zacw@adiumx.com>
parents: 1632
diff changeset
    61
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    62
ifeq ($(NIGHTLY),TRUE)
2239
22859a003ed4 Never build nightlies as betas.
Zachary West <zacw@adium.im>
parents: 2237
diff changeset
    63
	BETA=FALSE
1787
0b6cac9151ee Mercurialize the Release Makefile. The if(svn) stuff can die off when we move over.
Zachary West <zacw@adiumx.com>
parents: 1632
diff changeset
    64
	ADIUM_DIR:=$(ADIUM_DIR)\ $(REVISION)
0b6cac9151ee Mercurialize the Release Makefile. The if(svn) stuff can die off when we move over.
Zachary West <zacw@adiumx.com>
parents: 1632
diff changeset
    65
	VERSION_ESCAPED:=$(VERSION_ESCAPED)\ $(REVISION)
0b6cac9151ee Mercurialize the Release Makefile. The if(svn) stuff can die off when we move over.
Zachary West <zacw@adiumx.com>
parents: 1632
diff changeset
    66
	VERSION:=$(VERSION)$(REVISION)
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    67
	BUILD_IN_DEBUG_MODE=TRUE
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    68
	BUILDFLAGS+="ADIUM_CFLAGS=-DNIGHTLY_RELEASE"
4481
f6191276f60e CACHE_ROOT to /var/tmp
Adrian Godoroja <robotive@me.com>
parents: 4480
diff changeset
    69
	BUILDFLAGS+="ADIUM_NIGHTLY_FLAGS=CACHE_ROOT=/var/tmp/buildbot/com.apple.Xcode.$(strip $(shell id -u))/nightly/$(strip $(NIGHTLY_REPO))/$(strip $(NIGHTLY_BRANCH))" # Required, otherwise wrong precompiled headers are used.
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    70
endif
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    71
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    72
ifeq ($(BUILD_IN_DEBUG_MODE),TRUE)
4911
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
    73
	BUILDSTYLE=Release-Debug
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    74
else
4911
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
    75
	BUILDSTYLE=Release
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    76
endif
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    77
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    78
BUILDFLAGS+="BUILDCONFIGURATION=$(BUILDSTYLE)"
4480
ccef3ee414cb An attempt to fix the nightly builds failing due to inclusion of wrong precompiled headers.
Adrian Godoroja <robotive@me.com>
parents: 4467
diff changeset
    79
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    80
ifeq ($(BETA),TRUE)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    81
	BUILDFLAGS+="ADIUM_CFLAGS=-DBETA_RELEASE"
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    82
endif
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    83
2456
aa9e171af640 Borrowed from Growl: Fix how our Release Makefile finds Xcode's global custom build directory.
Peter Hosey <hg@boredzo.org>
parents: 2455
diff changeset
    84
PRODUCT_DIR=$(shell defaults read com.apple.Xcode PBXApplicationwideBuildSettings 2> /dev/null > XcodeBuildSettings.plist && defaults read $PWD/XcodeBuildSettings SYMROOT 2> /dev/null; rm XcodeBuildSettings.plist)
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    85
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    86
ifeq ($(strip $(PRODUCT_DIR)),)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    87
	ADIUM_BUILD_DIR=$(SRC_DIR)/build/$(BUILDSTYLE)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    88
else
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    89
	TARGET_BUILD_DIR=$(PRODUCT_DIR)/$(BUILDSTYLE)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    90
	ADIUM_BUILD_DIR=$(TARGET_BUILD_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    91
endif
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    92
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    93
PLIST_DIR=`pwd`/../Plists
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    94
ADIUM_PLIST=$(PLIST_DIR)/Info
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    95
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    96
###########
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    97
# Targets
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    98
###########
1341
ce7d1b9dbc15 As CFM pointed out, we should run "prepare-release-bundle" for nightlies, reducing filesize.
Zachary West <zacw@adiumx.com>
parents: 1340
diff changeset
    99
.PHONY: all all-withlocalchanges all-withlocalchanges-noclean all-nopackage-noclean all-nightly update assertnochanges assertnoconflicts version compile clean release source prepare-release-bundle createfolder diskimage nightly tarball
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   100
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   101
all: update assertnochanges version clean compile release
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   102
all-withlocalchanges: update assertnoconflicts version clean compile release
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   103
all-withlocalchanges-noclean: update assertnoconflicts version compile release
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   104
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   105
#doesn't bother putting things in a dmg
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   106
#useful for builds not intended for distribution
1341
ce7d1b9dbc15 As CFM pointed out, we should run "prepare-release-bundle" for nightlies, reducing filesize.
Zachary West <zacw@adiumx.com>
parents: 1340
diff changeset
   107
all-nopackage-noclean: update assertnoconflicts version compile createfolder prepare-release-bundle
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   108
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   109
update:
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   110
	hg pull -uf
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   111
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   112
assertnochanges: assertnoconflicts
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   113
	if [[ 0 -ne `hg st $(SRC_DIR) | egrep --invert-match '\?|Info\.plist' | wc -l` ]]; then \
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   114
		echo 'You have local changes. Please do not build releases from an unclean checkout. You must revert the changes, commit them, or check out another working copy and build from that.' 1>&2; \
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   115
		exit 1; \
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   116
	fi
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   117
assertnoconflicts:
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   118
	if [[ 0 -ne `hg st $(SRC_DIR) | egrep '^C' | wc -l` ]]; then \
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   119
		echo 'You have conflicts in your checkout. You will not be able to build until these are resolved. Also, remember that even after you have fixed all conflict marks, you must use "hg resolve"; otherwise, hg will still believe the files are conflicted.' 1>&2; \
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   120
		exit 2; \
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   121
	fi
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   122
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   123
version:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   124
	@# update the plists
4567
f1639fcfbc1e "Standardize" copyright messages. Forgot the Make file.
Adrian Godoroja <robotive@me.com>
parents: 4517
diff changeset
   125
	defaults write $(ADIUM_PLIST) CFBundleGetInfoString "$(VERSION), Copyright ?? 2001-$(shell date +"%Y") The Adium Team"
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   126
	defaults write $(ADIUM_PLIST) CFBundleVersion "$(VERSION)"
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   127
	defaults write $(ADIUM_PLIST) CFBundleShortVersionString "$(VERSION)"
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   128
ifeq ($(NIGHTLY),TRUE)
4077
d4acb9e23fe3 Tab fix.
Adrian Godoroja <robotive@me.com>
parents: 4075
diff changeset
   129
	defaults write $(ADIUM_PLIST) AINightlyRepo "$(NIGHTLY_REPO)"
d4acb9e23fe3 Tab fix.
Adrian Godoroja <robotive@me.com>
parents: 4075
diff changeset
   130
	defaults write $(ADIUM_PLIST) AINightlyBranch "$(NIGHTLY_BRANCH)"
4078
ef1b7274dce5 Endif fix.
Adrian Godoroja <robotive@me.com>
parents: 4077
diff changeset
   131
endif
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   132
	plutil -convert xml1 $(ADIUM_PLIST).plist
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   133
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   134
compile:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   135
	$(MAKE) $(BUILDFLAGS) -C $(SRC_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   136
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   137
testcompile:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   138
	$(MAKE) $(BUILDFLAGS) -C $(SRC_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   139
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   140
clean:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   141
	rm -rf $(BUILD_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   142
	$(MAKE) $(BUILDFLAGS) -C $(SRC_DIR) clean
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   143
1341
ce7d1b9dbc15 As CFM pointed out, we should run "prepare-release-bundle" for nightlies, reducing filesize.
Zachary West <zacw@adiumx.com>
parents: 1340
diff changeset
   144
release: createfolder prepare-release-bundle diskimage
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   145
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   146
prepare-release-bundle:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   147
	@# Convert all nibs to the smaller binary format
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   148
	@echo Converting nibs to binary format...
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   149
	find $(BUILD_DIR) -name keyedobjects.nib -print0 | xargs -0 plutil -convert binary1
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   150
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   151
	@# delete unneeded nib files for non-beta builds
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   152
	@echo Cleaning Adium.app for release
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   153
ifeq ($(BUILD_IN_DEBUG_MODE),FALSE)
3098
3eaf93c20b5a For releases, also clean designable.nib.
Smew
parents: 2646
diff changeset
   154
	find $(BUILD_DIR) \( -name classes.nib -or -name info.nib -or -name designable.nib \) -type f -delete
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   155
endif
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   156
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   157
	@# delete backup files
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   158
	find $(BUILD_DIR) \( -name "*~" -or -name .DS_Store \) -type f -delete
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   159
1807
0b0818399524 Make the delete headers step something we do in the release makefile instead of the xcodeproj
David Smith <catfish.man@gmail.com>
parents: 1790
diff changeset
   160
	@# delete header files
1843
08622fed1e87 Fixing a missing quote in the Makefile.
Zachary West <zacw@adiumx.com>
parents: 1842
diff changeset
   161
	find $(BUILD_DIR) \( -name "*.h" \) -type f -delete
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   162
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   163
	@# sign the executable
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   164
ifeq ($(OFFICIAL_BUILD),TRUE)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   165
	if [ -e ~/adium-password ]; then \
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   166
		security unlock-keychain -p `cat ~/adium-password`; \
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   167
	fi
5101
bdcf20050785 Codesign AdiumApplescriptRunner too, before codesigning Adium.app itself. Maybe this stops the Gatekeeper warning.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 5003
diff changeset
   168
	codesign --verbose --force --sign "Developer ID Application: Instant Messaging Freedom, Inc." --requirements "=designated => anchor apple generic  and identifier \"com.adiumX.adiumX\" and ((cert leaf[field.1.2.840.113635.100.6.1.9] exists) or ( certificate 1[field.1.2.840.113635.100.6.2.6] exists and certificate leaf[field.1.2.840.113635.100.6.1.13] exists and certificate leaf[subject.OU] = \"VQ6ZEL8UD3\" ))" $(ADIUM_DIR)/Adium.app/Contents/Resources/AdiumApplescriptRunner
4810
f8c02c748e9a The entire app bundle should be signed, not just the executable.
Evan Schoenberg
parents: 4809
diff changeset
   169
	codesign --verbose --force --sign "Developer ID Application: Instant Messaging Freedom, Inc." --requirements "=designated => anchor apple generic  and identifier \"com.adiumX.adiumX\" and ((cert leaf[field.1.2.840.113635.100.6.1.9] exists) or ( certificate 1[field.1.2.840.113635.100.6.2.6] exists and certificate leaf[field.1.2.840.113635.100.6.1.13] exists and certificate leaf[subject.OU] = \"VQ6ZEL8UD3\" ))" $(ADIUM_DIR)/Adium.app
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   170
endif
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   171
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   172
createfolder:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   173
	@# clean build directory
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   174
	rm -rf $(BUILD_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   175
	mkdir $(BUILD_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   176
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   177
	mkdir $(ADIUM_DIR)
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   178
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   179
	@# copy the app
2455
8596de478b13 Fix handling of custom build directories containing spaces.
Peter Hosey <hg@boredzo.org>
parents: 2452
diff changeset
   180
	cp -R "$(ADIUM_BUILD_DIR)/Adium.app" $(ADIUM_DIR)
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   181
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   182
	@# copy the text files
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   183
	cp $(SRC_DIR)/ChangeLogs/Changes.txt $(ADIUM_DIR)
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   184
	cp $(SRC_DIR)/License.txt $(ADIUM_DIR)
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   185
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   186
	@# symlink /Applications
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   187
	./mkalias -r /Applications $(ADIUM_DIR)/Applications
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   188
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   189
diskimage:
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   190
	rm "$(BUILD_DIR)/$(RELEASE_NAME).dmg" || true
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   191
	@# make Adium disk image
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   192
	mkdir -p $(ADIUM_DIR)/.background
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   193
	cp $(ART_DIR)/dmgBackground.png $(ADIUM_DIR)/.background
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   194
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   195
	./ensureCustomIconsExtracted $(ART_DIR)
2073
a19bc2ad5103 Unquoting.
Zachary West <zacw@adiumx.com>
parents: 2072
diff changeset
   196
	./make-diskimage.sh $(BUILD_DIR)/$(RELEASE_NAME).dmg $(ADIUM_DIR) "Adium $(VERSION)" dmg_adium.scpt $(ART_DIR)
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   197
1329
8fd6d3b09119 Adding a slightly untested DSA-signing step to our release process.
Zachary West <zacw@adiumx.com>
parents: 1323
diff changeset
   198
ifeq ($(OFFICIAL_BUILD),TRUE)
4912
b7a2621399c5 Apparently that's not how Makefiles work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4911
diff changeset
   199
	$(eval DSA := $(shell ruby sign_update.rb $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg ~/adium-dsa-sign/dsa_priv.pem))
b7a2621399c5 Apparently that's not how Makefiles work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4911
diff changeset
   200
	@echo DSA for Sparkle: $(DSA)
1329
8fd6d3b09119 Adding a slightly untested DSA-signing step to our release process.
Zachary West <zacw@adiumx.com>
parents: 1323
diff changeset
   201
endif
8fd6d3b09119 Adding a slightly untested DSA-signing step to our release process.
Zachary West <zacw@adiumx.com>
parents: 1323
diff changeset
   202
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   203
	$(eval MDFIVEHASH := $(shell md5 -q $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg))
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   204
	@echo Build finished. $(MDFIVEHASH)
4911
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   205
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   206
ifeq ($(OFFICIAL_BUILD),TRUE)
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   207
ifeq ($(BETA),TRUE)
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   208
	@echo Add this to beta/index.php:
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   209
	@echo "					array("
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   210
	@echo "					\"ver\" => \"$(VERSION)\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   211
	@echo "					\"rev\" => \"`hg parent --template {node\|short}`\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   212
	@echo "					\"date\" => \"`date +"%Y-%m-%d"`\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   213
	@echo "					\"md5\" => \"$(MDFIVEHASH)\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   214
	@echo "					\"dsa\" => \"$(DSA)\""
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   215
	@echo "					),"
4911
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   216
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   217
	@echo
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   218
	@echo Add this to sparkle/appcast-beta.xml:
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   219
	@echo "	<item>"
4916
dae37892125a Setting the SDKROOT to Latest, but leaving the Deployment target 10.6 should make it possible to build on 10.6 - 10.8 for 10.6 - 10.8.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4913
diff changeset
   220
	@echo "	    <title>Adium $(VERSION)</title>"
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   221
	@echo "	    <pubDate>`date +"%a, %d %b %Y %H:%M:%S %z"`</pubDate>"
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   222
	@echo "	    <sparkle:releaseNotesLink>http://beta.adium.im/?notemplate</sparkle:releaseNotesLink>"
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   223
	@echo "	    <sparkle:minimumSystemVersion>10.6.8</sparkle:minimumSystemVersion>"
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   224
	@echo "	    <enclosure sparkle:dsaSignature=\"$(DSA)\" sparkle:version=\"$(VERSION)\" url=\"http://download.adium.im/Adium_$(VERSION).dmg\" length=\"`stat -f %z $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg`\" type=\"application/octet-stream\"/>"
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   225
	@echo "	</item>"
4911
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   226
endif
f5af8aae6bfa Make the Release/Makefile somewhat easier to use by automatically generating the required updates for Sparkle and beta/index.php
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4897
diff changeset
   227
endif
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   228
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   229
#This is what nightly builds use. Does not update because buildbot does.
2071
b39da310cf6c Produce a dmg file for the nightly (seeing whether or not this works, mostly).
Zachary West <zacw@adiumx.com>
parents: 1976
diff changeset
   230
nightly: version clean compile createfolder prepare-release-bundle diskimage
1976
5d4e03677729 Rename "latest" to "latest.info" for the sake of the nightly information file, so "latest" can be a fake symbolic link to the latest file.
Zachary West <zacw@adiumx.com>
parents: 1849
diff changeset
   231
	echo $(RELEASE_NAME) > $(BUILD_DIR)/latest.info
5d4e03677729 Rename "latest" to "latest.info" for the sake of the nightly information file, so "latest" can be a fake symbolic link to the latest file.
Zachary West <zacw@adiumx.com>
parents: 1849
diff changeset
   232
	echo $(REVISION) >> $(BUILD_DIR)/latest.info
2071
b39da310cf6c Produce a dmg file for the nightly (seeing whether or not this works, mostly).
Zachary West <zacw@adiumx.com>
parents: 1976
diff changeset
   233
	md5 -q $(BUILD_DIR)/$(RELEASE_NAME).dmg >> $(BUILD_DIR)/latest.info
b39da310cf6c Produce a dmg file for the nightly (seeing whether or not this works, mostly).
Zachary West <zacw@adiumx.com>
parents: 1976
diff changeset
   234
	md5 -q $(BUILD_DIR)/$(RELEASE_NAME).dmg >> $(BUILD_DIR)/$(RELEASE_NAME).dmg.md5
b39da310cf6c Produce a dmg file for the nightly (seeing whether or not this works, mostly).
Zachary West <zacw@adiumx.com>
parents: 1976
diff changeset
   235
	ls -l $(BUILD_DIR)/$(RELEASE_NAME).dmg | awk '{print $$5}' >>$(BUILD_DIR)/latest.info
1976
5d4e03677729 Rename "latest" to "latest.info" for the sake of the nightly information file, so "latest" can be a fake symbolic link to the latest file.
Zachary West <zacw@adiumx.com>
parents: 1849
diff changeset
   236
	echo $(VERSION) >> $(BUILD_DIR)/latest.info
5567
f5f2b36c2143 Enable support for generating deltas for nightlies. Should work, but old dmgs/deltas aren't created yet.
Thijs Alkemade <me@thijsalkema.de>
parents: 5419
diff changeset
   237
	@mkdir $(OLD_DMGS) || true
f5f2b36c2143 Enable support for generating deltas for nightlies. Should work, but old dmgs/deltas aren't created yet.
Thijs Alkemade <me@thijsalkema.de>
parents: 5419
diff changeset
   238
	cp $(BUILD_DIR)/$(RELEASE_NAME).dmg $(OLD_DMGS)/$(RELEASE_NAME).dmg
f5f2b36c2143 Enable support for generating deltas for nightlies. Should work, but old dmgs/deltas aren't created yet.
Thijs Alkemade <me@thijsalkema.de>
parents: 5419
diff changeset
   239
	sh createDeltas.sh
1340
794a1111b8fa Codesign nightlies, and only run the DSA keygen when we're doing an official build.
Zachary West <zacw@adiumx.com>
parents: 1339
diff changeset
   240
ifeq ($(OFFICIAL_BUILD),TRUE)
2071
b39da310cf6c Produce a dmg file for the nightly (seeing whether or not this works, mostly).
Zachary West <zacw@adiumx.com>
parents: 1976
diff changeset
   241
	ruby sign_update.rb $(BUILD_DIR)/$(RELEASE_NAME).dmg ~/adium-dsa-sign/dsa_priv.pem >> $(BUILD_DIR)/latest.info
1340
794a1111b8fa Codesign nightlies, and only run the DSA keygen when we're doing an official build.
Zachary West <zacw@adiumx.com>
parents: 1339
diff changeset
   242
endif
1316
68e8612d0fa2 Create a tarball when `make nightly`-ing. Produce a 'latest' file we can use.
Zachary West <zacw@adiumx.com>
parents: 1315
diff changeset
   243
68e8612d0fa2 Create a tarball when `make nightly`-ing. Produce a 'latest' file we can use.
Zachary West <zacw@adiumx.com>
parents: 1315
diff changeset
   244
tarballapp:
1848
548b22f58674 Evaluate the revision number, don't pass around a piped message. Replace + in the hg revision number with nothing, since the buildbot will always have a changed local repository.
Zachary West <zacw@adiumx.com>
parents: 1844
diff changeset
   245
	rm $(BUILD_DIR)/$(RELEASE_NAME).tgz || true
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   246
	cd $(BUILD_DIR) && tar zcf $(RELEASE_NAME).tgz Adium*/ && cd ..
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   247
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
   248
tarball:
4852
8b73767eed26 I closed the adium-1.5.1 branch, but I propose branching 1.5.2 from here, if we ever do it.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4849
diff changeset
   249
	hg archive -t tgz $(TARBALL_DIR).tgz