You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by ns...@apache.org on 2013/03/08 02:30:53 UTC
git commit: Add tag_candidate.sh and fix up other files
Updated Branches:
refs/heads/master 462dc2bda -> c718864a6
Add tag_candidate.sh and fix up other files
Project: http://git-wip-us.apache.org/repos/asf/couchdb-admin/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-admin/commit/c718864a
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-admin/tree/c718864a
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-admin/diff/c718864a
Branch: refs/heads/master
Commit: c718864a62a743f83d5ce0a412b54af73ad1dc05
Parents: 462dc2b
Author: Noah Slater <ns...@apache.org>
Authored: Fri Mar 8 01:30:36 2013 +0000
Committer: Noah Slater <ns...@apache.org>
Committed: Fri Mar 8 01:30:36 2013 +0000
----------------------------------------------------------------------
release/build_candidate.sh | 43 ++++++-------
release/publish_candidate.sh | 37 +++++------
release/tag_candidate.sh | 132 +++++++++++++++++++++++++++++++++++++
3 files changed, 168 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-admin/blob/c718864a/release/build_candidate.sh
----------------------------------------------------------------------
diff --git a/release/build_candidate.sh b/release/build_candidate.sh
index a56aff6..d2184d0 100755
--- a/release/build_candidate.sh
+++ b/release/build_candidate.sh
@@ -82,11 +82,11 @@ EOF
build_file=$tmp_dir/build.mk
cat > $build_file <<EOF
-URL=https://git-wip-us.apache.org/repos/asf/couchdb.git
+GIR_URL=https://git-wip-us.apache.org/repos/asf/couchdb.git
TMP_DIR=$tmp_dir
-SRC_DIR=\$(TMP_DIR)/git
+GIT_DIR=\$(TMP_DIR)/git
DIFF_FILE=$diff_file
@@ -96,30 +96,27 @@ VERSION=$version
PACKAGE=apache-couchdb-\$(VERSION)
-SRC_FILE=\$(SRC_DIR)/\$(PACKAGE).tar.gz
+GIT_FILE=\$(GIT_DIR)/\$(PACKAGE).tar.gz
-TGZ_FILE=\$(TMP_DIR)/\$(PACKAGE).tar.gz
+TMP_FILE=\$(TMP_DIR)/\$(PACKAGE).tar.gz
all: \$(TMP_DIR)/\$(PACKAGE).tar.gz
-\$(TMP_DIR)/\$(PACKAGE).tar.gz: \$(TGZ_FILE).ish
- cd \$(SRC_DIR) && \
+\$(TMP_FILE): \$(TMP_FILE).ish
+ cd \$(GIT_DIR) && \
./bootstrap
- cd \$(SRC_DIR) && \
+ cd \$(GIT_DIR) && \
./configure --enable-strictness --disable-tests
- cd \$(SRC_DIR) && \
+ cd \$(GIT_DIR) && \
DISTCHECK_CONFIGURE_FLAGS="--disable-tests" make -j distcheck
- mv \$(SRC_FILE) \$(TGZ_FILE)
+ mv \$(GIT_FILE) \$(TMP_FILE)
-\$(TGZ_FILE).ish: \$(SRC_DIR)
- cd \$(SRC_DIR) && git show HEAD | head -n 1 | cut -d " " -f 2 > \$@
+\$(TMP_FILE).ish: \$(GIT_DIR)
+ cd \$(GIT_DIR) && git show HEAD | head -n 1 | cut -d " " -f 2 > \$@
-\$(SRC_DIR): \$(TMP_DIR)
- git clone \$(URL) \$@
- cd \$(SRC_DIR) && git checkout -b \$(BRANCH) origin/\$(BRANCH)
-
-\$(TMP_DIR):
- mkdir \$@
+\$(GIT_DIR):
+ git clone \$(GIR_URL) \$@
+ cd \$(GIT_DIR) && git checkout -b \$(BRANCH) origin/\$(BRANCH)
check: check-files
@@ -134,18 +131,18 @@ check-files: check-diff
grep `date +%Y` share/doc/src/conf.py
check-diff: check-file-size
- cd \$(SRC_DIR) && git archive \
+ cd \$(GIT_DIR) && git archive \
--prefix=\$(BRANCH)/ -o ../\$(BRANCH).tar \
- \`cat \$(TGZ_FILE).ish\`
+ \`cat \$(TMP_FILE).ish\`
cd \$(TMP_DIR) && tar -xf \$(TMP_DIR)/\$(BRANCH).tar
- cd \$(TMP_DIR) && tar -xzf \$(TGZ_FILE)
+ cd \$(TMP_DIR) && tar -xzf \$(TMP_FILE)
diff -r \$(TMP_DIR)/\$(PACKAGE) \$(TMP_DIR)/\$(BRANCH) \
| grep --include= -vEf \$(DIFF_FILE); \
- test "\$\$?" -eq 1
+ test "\$\$?" -eq 1
check-file-size:
- test -s \$(TGZ_FILE)
- test -s \$(TGZ_FILE).ish
+ test -s \$(TMP_FILE)
+ test -s \$(TMP_FILE).ish
EOF
log_file=$tmp_dir/log.txt
http://git-wip-us.apache.org/repos/asf/couchdb-admin/blob/c718864a/release/publish_candidate.sh
----------------------------------------------------------------------
diff --git a/release/publish_candidate.sh b/release/publish_candidate.sh
index f996f4a..4ac837a 100755
--- a/release/publish_candidate.sh
+++ b/release/publish_candidate.sh
@@ -55,19 +55,17 @@ tmp_dir=`mktemp -d /tmp/$basename.XXXXXX` || exit 1
echo $tmp_dir
-build_file=build.mk
+build_file=$tmp_dir/build.mk
cat > $build_file <<EOF
# SVN_URL=https://dist.apache.org/repos/dist/dev/couchdb
-SVN_URL=https://svn.apache.org/repos/asf/couchdb/site/test
+SVN_URL=https://svn.apache.org/repos/asf/couchdb/site/test/dev
TMP_DIR=$tmp_dir
SVN_DIR=\$(TMP_DIR)/svn
-SVN_DOT_DIR=\$(TMP_DIR)/.svn
-
EMAIL_TPL=$EMAIL_TPL
EMAIL_FILE=\$(TMP_DIR)/email.txt
@@ -76,19 +74,19 @@ VERSION=$version
CANDIDATE=$candidate
+PACKAGE=apache-couchdb-\$(VERSION)
+
CANDIDATE_DIR=$candidate_dir
CANDIDATE_URL=\$(SVN_URL)/source/\$(VERSION)/rc.\$(CANDIDATE)
-PACKAGE=apache-couchdb-\$(VERSION)
-
CANDIDATE_TGZ_FILE=\$(CANDIDATE_DIR)/\$(PACKAGE).tar.gz
SVN_TGZ_FILE=\$(SVN_DIR)/\$(PACKAGE).tar.gz
-COMMIT_MSG_DIR="Add \$(VERSION) rc.\$(CANDIDATE) dir"
+COMMIT_MSG_DIR="Add \$(VERSION)-rc.\$(CANDIDATE) dir"
-COMMIT_MSG_FILES="Add \$(VERSION) rc.\$(CANDIDATE) files"
+COMMIT_MSG_FILES="Add \$(VERSION)-rc.\$(CANDIDATE) files"
GPG=gpg --armor --detach-sig \$(GPG_ARGS)
@@ -97,14 +95,14 @@ SVN=svn --config-dir \$(SVN_DOT_DIR) --no-auth-cache
all: checkin
checkin: sign
- cd \$(SVN_DIR) && \$(SVN) add \$(SVN_TGZ_FILE)
- cd \$(SVN_DIR) && \$(SVN) add \$(SVN_TGZ_FILE).asc
- cd \$(SVN_DIR) && \$(SVN) add \$(SVN_TGZ_FILE).ish
- cd \$(SVN_DIR) && \$(SVN) add \$(SVN_TGZ_FILE).md5
- cd \$(SVN_DIR) && \$(SVN) add \$(SVN_TGZ_FILE).sha
- cd \$(SVN_DIR) && \$(SVN) status
+ cd \$(SVN_DIR) && svn add \$(SVN_TGZ_FILE)
+ cd \$(SVN_DIR) && svn add \$(SVN_TGZ_FILE).asc
+ cd \$(SVN_DIR) && svn add \$(SVN_TGZ_FILE).ish
+ cd \$(SVN_DIR) && svn add \$(SVN_TGZ_FILE).md5
+ cd \$(SVN_DIR) && svn add \$(SVN_TGZ_FILE).sha
+ cd \$(SVN_DIR) && svn status
sleep 10
- cd \$(SVN_DIR) && \$(SVN) ci -m \$(COMMIT_MSG_FILES)
+ cd \$(SVN_DIR) && svn ci -m \$(COMMIT_MSG_FILES)
sign: copy
\$(GPG) < \$(SVN_TGZ_FILE) > \$(SVN_TGZ_FILE).asc
@@ -120,12 +118,9 @@ check: \$(SVN_DIR)
test -s \$(CANDIDATE_TGZ_FILE).ish
\$(SVN_DIR): \$(SVN_DOT_DIR)
- \$(SVN) mkdir --parents \$(CANDIDATE_URL) -m \$(COMMIT_MSG_DIR)
+ svn mkdir --parents \$(CANDIDATE_URL) -m \$(COMMIT_MSG_DIR)
sleep 10
- \$(SVN) co \$(CANDIDATE_URL) \$@
-
-\$(SVN_DOT_DIR):
- mkdir \$@
+ svn co \$(CANDIDATE_URL) \$@
email: \$(EMAIL_FILE)
@@ -137,7 +132,7 @@ email: \$(EMAIL_FILE)
\$@ < \$<
EOF
-log "Checking candidate into Subversion..."
+log "Adding candidate to the release dist directory..."
make -f $build_file
http://git-wip-us.apache.org/repos/asf/couchdb-admin/blob/c718864a/release/tag_candidate.sh
----------------------------------------------------------------------
diff --git a/release/tag_candidate.sh b/release/tag_candidate.sh
new file mode 100755
index 0000000..99f2f0e
--- /dev/null
+++ b/release/tag_candidate.sh
@@ -0,0 +1,132 @@
+#!/bin/sh -e
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+# This script is for use by committers.
+#
+# It should be used in accordance with the project release procedure.
+#
+# cf. http://wiki.apache.org/couchdb/Release_Procedure
+
+if test -n "$1"; then
+ version=$1
+else
+ echo "error: no version"
+ exit
+fi
+
+if test -n "$2"; then
+ candidate=$2
+else
+ echo "error: no candidate number"
+ exit
+fi
+
+if test -n "$3"; then
+ gpg_key=$3
+else
+ echo "error: no GPG key"
+ exit
+fi
+
+log () {
+ printf "\033[1;31m$1\033[0m\n"
+}
+
+cd `dirname $0`
+
+basename=`basename $0`
+
+log "Creating temporary directory..."
+
+tmp_dir=`mktemp -d /tmp/$basename.XXXXXX` || exit 1
+
+echo $tmp_dir
+
+build_file=$tmp_dir/build.mk
+
+cat > $build_file <<EOF
+GIR_URL=https://git-wip-us.apache.org/repos/asf/couchdb.git
+
+# SVN_DEV_URL=https://dist.apache.org/repos/dist/dev/couchdb
+
+# SVN_RELEASE_URL=https://dist.apache.org/repos/dist/release/couchdb
+
+SVN_DEV_URL=https://svn.apache.org/repos/asf/couchdb/site/test/dev
+
+SVN_RELEASE_URL=https://svn.apache.org/repos/asf/couchdb/site/test/release
+
+TMP_DIR=$tmp_dir
+
+GIT_DIR=\$(TMP_DIR)/git
+
+RC_FILE=\$(TMP_DIR)/rc.txt
+
+ISH_FILE=\$(TMP_DIR)/ish.txt
+
+VERSION=$version
+
+CANDIDATE=$candidate
+
+GPG_KEY=$gpg_key
+
+PACKAGE=apache-couchdb-\$(VERSION)
+
+VERSION_DEV_URL=\$(SVN_DEV_URL)/source/\$(VERSION)
+
+VERSION_RELEASE_URL=\$(SVN_RELEASE_URL)/source/\$(VERSION)
+
+CANDIDATE_DEV_URL=\$(VERSION_DEV_URL)/rc.\$(CANDIDATE)
+
+CANDIDATE_ISH_DEV_URL=\$(CANDIDATE_DEV_URL)/\$(PACKAGE).tar.gz.ish
+
+COMMIT_MSG_TAG="Apache CouchDB \$(VERSION)"
+
+COMMIT_MSG_DIR="Release Apache CouchDB \$(VERSION)"
+
+all:
+
+release:
+ svn cp \$(CANDIDATE_DEV_URL) \$(VERSION_RELEASE_URL) \
+ -m \$(COMMIT_MSG_DIR)
+ echo "Release dist directory: \$(VERSION_RELEASE_URL)"
+
+tag: \$(GIT_DIR)
+ echo git tag -u \$(GPG_KEY) \$(VERSION) \
+ \`cat \$(ISH_FILE)\` -m \$(COMMIT_MSG_TAG)
+ echo git push origin \$(VERSION)
+
+\$(GIT_DIR): check
+ git clone \$(GIR_URL) \$@
+
+check: \$(ISH_FILE)
+ test "\`cat \$(RC_FILE)\`" = "rc.\$(CANDIDATE)/"
+ svn info \$(VERSION_RELEASE_URL) > /dev/null 2>&1; \
+ test "\$\$?" -eq 1
+
+\$(ISH_FILE): \$(RC_FILE)
+ svn cat \$(CANDIDATE_ISH_DEV_URL) > \$@
+
+\$(RC_FILE): \$(SVN_DOT_DIR)
+ svn ls \$(VERSION_DEV_URL) | sort -r | head -n 1 > \$@
+EOF
+
+log "Tagging candidate..."
+
+make -f $build_file tag
+
+log "Copying candidate to the release dist directory..."
+
+make -f $build_file release
+
+echo "Files in: $tmp_dir"