Skip to content
Snippets Groups Projects
Commit 4ea294bf authored by George Nachman's avatar George Nachman
Browse files

Use a different plist file for preview releases so early adopters can get...

Use a different plist file for preview releases so early adopters can get updates before the rest of the users
parent 884e18ed
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -79,4 +79,10 @@ release:
cp plists/release-iTerm2.plist plists/iTerm2.plist
make Deployment
 
preview:
echo "You need to unlock your keychain for signing to work."
security unlock-keychain ~/Library/Keychains/login.keychain
cp plists/preview-iTerm2.plist plists/iTerm2.plist
make Deployment
force:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSHumanReadableCopyright</key>
<string>GPL v2</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>command</string>
<string>tool</string>
<string>sh</string>
<string>zsh</string>
<string>csh</string>
<string>pl</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>iTerm2.icns</string>
<key>CFBundleTypeName</key>
<string>Terminal scripts</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeOSTypes</key>
<array>
<string>fold</string>
</array>
<key>CFBundleTypeName</key>
<string>Folders</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>itermcolors</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>iTerm2.icns</string>
<key>CFBundleTypeName</key>
<string>iTerm2 Color Presets</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Shell</string>
<key>LSItemContentTypes</key>
<array>
<string>public.unix-executable</string>
</array>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>iTerm2</string>
<key>CFBundleGetInfoString</key>
<string>unknown</string>
<key>CFBundleHelpBookFolder</key>
<string>iTerm2 Help</string>
<key>CFBundleHelpBookName</key>
<string>iTerm2 Help</string>
<key>CFBundleIconFile</key>
<string>iTerm2.icns</string>
<key>CFBundleIdentifier</key>
<string>com.googlecode.iterm2</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>iTerm2</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>unknown</string>
<key>CFBundleSignature</key>
<string>ITRM</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>http URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>http</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>https URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>https</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>ftp URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ftp</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>gopher URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gopher</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>mailto URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>mailto</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>news URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>news</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>nntp URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>nntp</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>ssh URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ssh</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>telnet URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>telnet</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>wais URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>wais</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>whois URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>whois</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>x-man-page URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>x-man-page</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>unknown</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>NSAppleScriptEnabled</key>
<string>YES</string>
<key>OSAScriptingDefinition</key>
<string>iTerm2.sdef</string>
<key>NSExtensions</key>
<dict/>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>iTermApplication</string>
<key>SUPublicDSAKeyFile</key>
<string>dsa_pub.pem</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>SUFeedURLForTesting</key>
<string>https://iterm2.com/appcasts/testing3.xml</string>
<key>SUFeedURLForFinal</key>
<string>https://iterm2.com/appcasts/final.xml</string>
</dict>
</plist>
#!/bin/bash
function die {
echo $1
exit
}
test -f "$PRIVKEY" || die "Set PRIVKEY environment variable to point at a valid private key (not set or nonexistent)"
# Usage: SparkleSign testing.xml template.xml
function SparkleSign {
LENGTH=$(ls -l iTerm2-${NAME}.zip | awk '{print $5}')
ruby "../../ThirdParty/SparkleSigningTools/sign_update.rb" iTerm2-${NAME}.zip $PRIVKEY > /tmp/sig.txt || die SparkleSign
SIG=$(cat /tmp/sig.txt)
DATE=$(date +"%a, %d %b %Y %H:%M:%S %z")
XML=$1
TEMPLATE=$2
cp $SVNDIR/source/appcasts/${TEMPLATE} /tmp
cat /tmp/${TEMPLATE} | \
sed -e "s/%XML%/${XML}/" | \
sed -e "s/%VER%/${VERSION}/" | \
sed -e "s/%DATE%/${DATE}/" | \
sed -e "s/%NAME%/${NAME}/" | \
sed -e "s/%LENGTH%/$LENGTH/" |
sed -e "s,%SIG%,${SIG}," > $SVNDIR/source/appcasts/$1
cp iTerm2-${NAME}.zip ~/iterm2-website/downloads/beta/
}
# First arg is build directory name (e.g., Deployment)
# Second arg is suffix for name that goes before .zip.
# Third arg describes system requirements
# Fourth arg is the default description for the build and can be longer.
# Fifth arg is a prefix for sparkle files.
# Sixth arg is extra args for codesign
function Build {
BUILDTYPE=$1
NAME=$(echo $VERSION | sed -e "s/\\./_/g")$2
SUMMARY=$3
DESCRIPTION=$4
SPARKLE_PREFIX=$5
codesign -s "Developer ID Application: GEORGE NACHMAN" -f "build/$BUILDTYPE/iTerm2.app/Contents/Frameworks/Growl.framework"
codesign -s "Developer ID Application: GEORGE NACHMAN" -f "build/$BUILDTYPE/iTerm2.app/Contents/Frameworks/NMSSH.framework"
codesign -s "Developer ID Application: GEORGE NACHMAN" -f "build/$BUILDTYPE/iTerm2.app/Contents/Frameworks/Sparkle.framework"
codesign -s "Developer ID Application: GEORGE NACHMAN" -f "build/$BUILDTYPE/iTerm2.app/Contents/Frameworks/ColorPicker.framework"
codesign -s "Developer ID Application: GEORGE NACHMAN" -f "build/$BUILDTYPE/iTerm2.app"
codesign --verify --verbose "build/$BUILDTYPE/iTerm2.app" || die "Signature not verified"
pushd "build/$BUILDTYPE"
# Create the zip file
# For the purposes of auto-update, the app's folder must be named iTerm.app
# since Sparkle won't accept a name change.
rm -rf iTerm.app
mv iTerm2.app iTerm.app
zip -ry iTerm2-${NAME}.zip iTerm.app
# Update the list of changes
vi $SVNDIR/source/appcasts/testing_changes3.txt
# Place files in website git.
cp iTerm2-${NAME}.zip $SVNDIR/downloads/beta/
test -f $SVNDIR/downloads/beta/iTerm2-${NAME}.summary || (echo "iTerm2 "$VERSION" beta ($SUMMARY)" > $SVNDIR/downloads/beta/iTerm2-${NAME}.summary)
test -f $SVNDIR/downloads/beta/iTerm2-${NAME}.description || (echo "$DESCRIPTION" > $SVNDIR/downloads/beta/iTerm2-${NAME}.description)
vi $SVNDIR/downloads/beta/iTerm2-${NAME}.description
echo 'SHA-256 of the zip file is' > $SVNDIR/downloads/beta/iTerm2-${NAME}.changelog
shasum -a256 iTerm2-${NAME}.zip | awk '{print $1}' >> $SVNDIR/downloads/beta/iTerm2-${NAME}.changelog
vi $SVNDIR/downloads/beta/iTerm2-${NAME}.changelog
pushd $SVNDIR
git add downloads/beta/iTerm2-${NAME}.summary downloads/beta/iTerm2-${NAME}.description downloads/beta/iTerm2-${NAME}.changelog downloads/beta/iTerm2-${NAME}.zip source/appcasts/testing3.xml source/appcasts/testing_changes3.txt
popd
# Prepare the sparkle xml file
SparkleSign ${SPARKLE_PREFIX}testing3.xml ${SPARKLE_PREFIX}template3.xml
popd
}
COMPACTDATE=$(date +"%Y%m%d")
VERSION=$(cat version.txt | sed -e "s/%(extra)s/$COMPACTDATE/")
SVNDIR=~/iterm2-website
ORIG_DIR=`pwd`
echo "Build deployment release"
make clean
make preview
Build Deployment "" "OS 10.8+" "This is the recommended beta build for most users. It contains a bunch of bug fixes, including fixes for some crashers." "" "--deep"
#set -x
git tag v${VERSION}
git commit -am ${VERSION}
git push origin master
git push --tags
cd $SVNDIR
git commit -am v${VERSION}
git push origin master
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment