cluster: STABLE2 - build: add release script to help release management task

Fabio M. Di Nitto fabbione@fedoraproject.org
Thu Jan 22 12:35:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=8a854f0009b6f2d8441a6e44d40665e868e2328f
Commit:        8a854f0009b6f2d8441a6e44d40665e868e2328f
Parent:        6de42139dae71500a35e0bbfeb978f00810cc999
Author:        Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate:    Thu Jan 22 13:33:51 2009 +0100
Committer:     Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Thu Jan 22 13:33:51 2009 +0100

build: add release script to help release management task

generally nobody, except who does releases, should need this

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
 make/release.mk |   80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/make/release.mk b/make/release.mk
new file mode 100644
index 0000000..c1dd226
--- /dev/null
+++ b/make/release.mk
@@ -0,0 +1,80 @@
+# NOTE: this make file snippet is only used by the release manager
+# to build official release tarballs, handle tagging and publish.
+#
+# do _NOT_ use for anything else!!!!!!!!!
+
+## do sanity checks
+
+ifndef VERSION
+
+all:
+	@echo WARNING: VERSION= is not defined!
+	@exit 1
+
+else ifndef OLDVER
+
+all:
+	@echo WARNING: OLDVER= is not defined!
+	@exit 1
+
+else
+
+## setup stuff
+
+PROJECT=cluster
+PV=$(PROJECT)-$(VERSION)
+TGZ=$(PV).tar.gz
+TESTTGZ=TEST-$(TGZ)
+
+all: test-tarball
+
+test-tarball:
+	git archive \
+		--format=tar \
+		--prefix=$(PV)/ \
+		HEAD | \
+		gzip -9 \
+		> ../$(TESTTGZ)
+
+release: tag tarballs
+
+tag:
+	git tag -a -m "$(PV) release" $(PV) HEAD
+
+tarballs: master-tarball
+
+master-tarball:
+	git archive \
+		--format=tar \
+		--prefix=$(PV)/ \
+		$(PV) | \
+		tar xp
+	sed -i -e \
+		's#<CVS>#$(VERSION)#g' \
+		$(PV)/gfs-kernel/src/gfs/gfs.h
+	echo "VERSION \"$(VERSION)\"" \
+		>> $(PV)/make/official_release_version
+	tar cp $(PV) | \
+		gzip -9 \
+		> ../$(TGZ)
+	rm -rf $(PV)
+
+publish: master-publish
+
+master-publish:
+	git push --tags origin
+	scp ../$(TGZ) \
+		fedorahosted.org:$(PROJECT)
+	cp ../$(TGZ) \
+		../ftp/$(TGZ)
+	cd ../ftp && \
+		cvs add $(TGZ) && \
+		cvs commit $(TGZ) -m "$(PV) release"
+	git log $(PROJECT)-$(OLDVER)..$(PV) | \
+		git shortlog > ../$(PV).emaildata
+	git diff --stat $(PROJECT)-$(OLDVER)..$(PV) \
+		>> ../$(PV).emaildata
+	@echo Hey you!.. yeah you looking somewhere else!
+	@echo remember to update the wiki and send the email to cluster-devel and linux-cluster
+
+endif



More information about the Cluster-cvs mailing list