Release/Makefile
author Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
Thu, 23 Mar 2017 16:07:11 -0400
branchadium-1.5.10.3
changeset 5974 fa26ff639b88
parent 5973 495038a4da5d
child 5979 6d760b7b1d69
permissions -rw-r--r--
Delete empty folders prior to code signing
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
5951
971bc583acb4 Branched adium-1.5.10.3.
Thijs Alkemade <me@thijsalkema.de>
parents: 5929
diff changeset
    20
VERSION=1.5.10.3
5929
1be7a134356c 1.5.10.2, emergency release for libotr bug CVE-2016-2851.
Thijs Alkemade <me@thijsalkema.de>
parents: 5927
diff changeset
    21
BUILD_IN_DEBUG_MODE?=FALSE
1be7a134356c 1.5.10.2, emergency release for libotr bug CVE-2016-2851.
Thijs Alkemade <me@thijsalkema.de>
parents: 5927
diff changeset
    22
BETA?=FALSE
5875
7ad57fbf4c17 We want an official, not debug build. Not the other way around.
Thijs Alkemade <me@thijsalkema.de>
parents: 5874
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
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
    52
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
    53
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
    54
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
    55
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
    56
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
    57
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
    58
2107
6dcbf494dbd6 Use `hg parent` for identifying builds. Fixes #11943.
Zachary West <zacw@adium.im>
parents: 2073
diff changeset
    59
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
    60
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
    61
ifeq ($(NIGHTLY),TRUE)
2239
22859a003ed4 Never build nightlies as betas.
Zachary West <zacw@adium.im>
parents: 2237
diff changeset
    62
	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
    63
	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
    64
	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
    65
	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
    66
	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
    67
	BUILDFLAGS+="ADIUM_CFLAGS=-DNIGHTLY_RELEASE"
4481
f6191276f60e CACHE_ROOT to /var/tmp
Adrian Godoroja <robotive@me.com>
parents: 4480
diff changeset
    68
	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
    69
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
    70
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
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
    72
	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
    73
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
    74
	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
    75
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
    76
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
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
    78
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
    79
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
    80
	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
    81
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
    82
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
    83
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
    84
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
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
    86
	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
    87
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
    88
	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
    89
	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
    90
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
    91
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
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
    93
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
    94
5973
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
    95
SIGNING_CERT_NAME="Developer ID Application: Instant Messaging Freedom, Inc."
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
    96
SIGNING_REQUIREMENTS="=designated => anchor apple generic 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\" ))"
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
    97
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
    98
###########
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
    99
# 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
   100
###########
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
   101
.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
   102
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: 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
   104
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
   105
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
   106
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
   107
#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
   108
#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
   109
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
   110
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
update:
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   112
	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
   113
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
assertnochanges: assertnoconflicts
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   115
	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
   116
		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
   117
		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
   118
	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
   119
assertnoconflicts:
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   120
	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
   121
		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
   122
		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
   123
	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
   124
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
   125
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
   126
	@# update the plists
4567
f1639fcfbc1e "Standardize" copyright messages. Forgot the Make file.
Adrian Godoroja <robotive@me.com>
parents: 4517
diff changeset
   127
	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
   128
	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
   129
	defaults write $(ADIUM_PLIST) CFBundleShortVersionString "$(VERSION)"
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   130
ifeq ($(NIGHTLY),TRUE)
4077
d4acb9e23fe3 Tab fix.
Adrian Godoroja <robotive@me.com>
parents: 4075
diff changeset
   131
	defaults write $(ADIUM_PLIST) AINightlyRepo "$(NIGHTLY_REPO)"
d4acb9e23fe3 Tab fix.
Adrian Godoroja <robotive@me.com>
parents: 4075
diff changeset
   132
	defaults write $(ADIUM_PLIST) AINightlyBranch "$(NIGHTLY_BRANCH)"
4078
ef1b7274dce5 Endif fix.
Adrian Godoroja <robotive@me.com>
parents: 4077
diff changeset
   133
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
   134
	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
   135
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
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
   137
	$(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
   138
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
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
   140
	$(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
   141
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
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
	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
   144
	$(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
   145
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
   146
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
   147
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
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
   149
	@# 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
   150
	@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
   151
	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
   152
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
	@# 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
   154
	@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
   155
ifeq ($(BUILD_IN_DEBUG_MODE),FALSE)
3098
3eaf93c20b5a For releases, also clean designable.nib.
Smew
parents: 2646
diff changeset
   156
	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
   157
endif
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   158
1790
e892b322a74f Changing the release Makefile to be entirely mercurial.
Zachary West <zacwest@gmail.com>
parents: 1787
diff changeset
   159
	@# 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
   160
	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
   161
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
   162
	@# delete header files
1843
08622fed1e87 Fixing a missing quote in the Makefile.
Zachary West <zacw@adiumx.com>
parents: 1842
diff changeset
   163
	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
   164
5974
fa26ff639b88 Delete empty folders prior to code signing
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5973
diff changeset
   165
	@# delete empty folders (which would interfere with framework signing)
fa26ff639b88 Delete empty folders prior to code signing
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5973
diff changeset
   166
	find $(BUILD_DIR) -type d -empty -delete
fa26ff639b88 Delete empty folders prior to code signing
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5973
diff changeset
   167
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
   168
	@# 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
   169
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
   170
	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
   171
		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
   172
	fi
5973
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   173
	
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   174
	@# One approach would be to sign each framework and other bundle individually....
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   175
	@# codesign --verbose --force --sign $(SIGNING_CERT_NAME) --deep --requirements $(SIGNING_REQUIREMENTS) $(ADIUM_DIR)/Adium.app/Contents/Frameworks/*.framework
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   176
	@# codesign --verbose --force --sign $(SIGNING_CERT_NAME) --requirements $(SIGNING_REQUIREMENTS) $(ADIUM_DIR)/Adium.app/Contents/Library/Spotlight/*.mdimporter
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   177
	@# codesign --verbose --force --sign $(SIGNING_CERT_NAME) --requirements $(SIGNING_REQUIREMENTS) $(ADIUM_DIR)/Adium.app/Contents/Resources/AdiumApplescriptRunner
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   178
	@# codesign --verbose --force --sign $(SIGNING_CERT_NAME) --requirements $(SIGNING_REQUIREMENTS) $(ADIUM_DIR)/Adium.app
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   179
	
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   180
	@# However, it appears fine to use --deep and get it all recursively
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   181
	codesign --verbose --force --deep --sign $(SIGNING_CERT_NAME) --requirements $(SIGNING_REQUIREMENTS) $(ADIUM_DIR)/Adium.app
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   182
	
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   183
	@# verify successful signing of the full bundle
495038a4da5d Fix code signing to: 1) sign the bundle deeply 2) not depend on each signed bundle having bundle ID com.adiumX.adiumX
Evan D. Schoenberg, M.D. <evan@regularrateandrhythm.com>
parents: 5951
diff changeset
   184
	codesign --verbose --verify --deep $(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
   185
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
   186
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
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
   188
	@# 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
   189
	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
   190
	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
   191
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 $(ADIUM_DIR)
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   193
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
   194
	@# copy the app
2455
8596de478b13 Fix handling of custom build directories containing spaces.
Peter Hosey <hg@boredzo.org>
parents: 2452
diff changeset
   195
	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
   196
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
   197
	@# 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
   198
	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
   199
	cp $(SRC_DIR)/License.txt $(ADIUM_DIR)
4075
566837fb8868 Multi-Nightly Support
Adrian Godoroja <robotive@me.com>
parents: 3848
diff changeset
   200
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
   201
	@# 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
   202
	./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
   203
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
   204
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
   205
	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
   206
	@# 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
   207
	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
   208
	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
   209
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
   210
	./ensureCustomIconsExtracted $(ART_DIR)
2073
a19bc2ad5103 Unquoting.
Zachary West <zacw@adiumx.com>
parents: 2072
diff changeset
   211
	./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
   212
1329
8fd6d3b09119 Adding a slightly untested DSA-signing step to our release process.
Zachary West <zacw@adiumx.com>
parents: 1323
diff changeset
   213
ifeq ($(OFFICIAL_BUILD),TRUE)
4912
b7a2621399c5 Apparently that's not how Makefiles work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4911
diff changeset
   214
	$(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
   215
	@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
   216
endif
8fd6d3b09119 Adding a slightly untested DSA-signing step to our release process.
Zachary West <zacw@adiumx.com>
parents: 1323
diff changeset
   217
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   218
	$(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
   219
	@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
   220
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
   221
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
   222
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
   223
	@echo Add this to beta/index.php:
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   224
	@echo "					array("
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   225
	@echo "					\"ver\" => \"$(VERSION)\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   226
	@echo "					\"rev\" => \"`hg parent --template {node\|short}`\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   227
	@echo "					\"date\" => \"`date +"%Y-%m-%d"`\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   228
	@echo "					\"md5\" => \"$(MDFIVEHASH)\","
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   229
	@echo "					\"dsa\" => \"$(DSA)\""
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   230
	@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
   231
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
   232
	@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
   233
	@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
   234
	@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
   235
	@echo "	    <title>Adium $(VERSION)</title>"
4913
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   236
	@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
   237
	@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
   238
	@echo "	    <sparkle:minimumSystemVersion>10.6.8</sparkle:minimumSystemVersion>"
122a7de9b4f7 Fix escaping. Now it should work.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 4912
diff changeset
   239
	@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
   240
	@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
   241
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
   242
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
   243
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
   244
#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
   245
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
   246
	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
   247
	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
   248
	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
   249
	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
   250
	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
   251
	echo $(VERSION) >> $(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
   252
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
   253
	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
   254
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
   255
68e8612d0fa2 Create a tarball when `make nightly`-ing. Produce a 'latest' file we can use.
Zachary West <zacw@adiumx.com>
parents: 1315
diff changeset
   256
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
   257
	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
   258
	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
   259
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
   260
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
   261
	hg archive -t tgz $(TARBALL_DIR).tgz