[cairo-commit] xsvg ChangeLog, 1.26, 1.27 Makefile.am, 1.2, 1.3 RELEASING, NONE, 1.1

Carl Worth commit at pdx.freedesktop.org
Tue Feb 15 19:53:47 PST 2005


Committed by: cworth

Update of /cvs/cairo/xsvg
In directory gabe:/tmp/cvs-serv22115

Modified Files:
	ChangeLog Makefile.am 
Added Files:
	RELEASING 
Log Message:

        * RELEASING: Add notes on release process.

        * Makefile.am: Add release-publish target.


Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/xsvg/ChangeLog,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- ChangeLog	16 Feb 2005 03:52:08 -0000	1.26
+++ ChangeLog	16 Feb 2005 03:53:45 -0000	1.27
@@ -1,5 +1,9 @@
 2005-02-15  Carl Worth  <cworth at cworth.org>
 
+	* RELEASING: Add notes on release process.
+
+	* Makefile.am: Add release-publish target.
+
 	* NEWS: Add notes for 0.2.0.
 
 	* configure.in: Bump XSVG_VERSION to 0.2.0 indicating removal of

Index: Makefile.am
===================================================================
RCS file: /cvs/cairo/xsvg/Makefile.am,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Makefile.am	16 Dec 2003 20:44:52 -0000	1.2
+++ Makefile.am	16 Feb 2005 03:53:45 -0000	1.3
@@ -3,3 +3,51 @@
 EXTRA_DIST =\
 	COPYING
 
+# Some custom targets to make it easier to release things.
+# Use either:
+#		make release-check
+# or		make release-publish
+
+RELEASE_UPLOAD_HOST =   cairographics.org
+RELEASE_UPLOAD_DIR =    /srv/cairo.freedesktop.org/www/snapshots
+RELEASE_URL_BASE = 	http://cairographics.org/snapshots
+RELEASE_ANNOUNCE_LIST = cairo-announce at cairographics.org
+
+tar_file = $(PACKAGE)-$(VERSION).tar.gz
+md5_file = $(tar_file).md5
+
+$(md5_file): $(tar_file)
+	md5sum $^ > $@
+
+release-remove-old:
+	rm -f $(tar_file) $(md5_file)
+
+release-check: release-remove-old distcheck $(md5_file)
+
+release-verify-newer:
+	@echo -n "Checking that no $(VERSION) release already exists..."
+	@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
+		|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
+		&& echo "The version in configure.in must be incremented before a new release." \
+		&& false)
+	@echo "Good."
+
+release-publish: release-verify-newer release-check
+	mkdir -p releases
+	scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
+	mv $(tar_file) $(md5_file) releases
+	ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && touch $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
+	@echo ""
+	@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
+	@echo "including the following:"
+	@echo ""
+	@echo "Subject: $(PACKAGE) snapshot $(VERSION) now available"
+	@echo ""
+	@echo "A new $(PACKAGE) snapshot $(VERSION) is now available from:"
+	@echo ""
+	@echo "	$(RELEASE_URL_BASE)/$(tar_file)"
+	@echo "	$(RELEASE_URL_BASE)/$(md5_file)"
+	@echo -n "	"
+	@cat releases/$(md5_file)
+	@echo ""
+	@echo "Also, please include the new entries from the NEWS file."

--- NEW FILE: RELEASING ---
So far, xsvg hasn't reached an initial release. But we can still form
good habits now by practicing the release process with the current
snapshots.

A new snapshot is needed whenever significant new features or bug
fixes are committed. Here are the steps to follow:

1) Ensure that there are no local, uncommitted modifications. The best
   thing to do here may be to begin with a fresh checkout from CVS:

	cvs -d cairographics.org:/cvs/cairo co xsvg

   But it's probably good enough if "cvs -q update -Ad" generates no
   output.

2) Verify that the code passes "make distcheck"

	Running "make distcheck" should result in no warnings or
	errors and end with a message of the form:

	================================================
	xsvg-X.Y.Z.tar.gz is ready for distribution
	================================================

	(But the tar file isn't actually ready yet, as we still have
	some more steps to follow).

3) Fill out an entry in the NEWS file

	Sift through the information in ChangeLog since the last
	snapshot. Summarize major changes briefly in a style similar
	to other entries in NEWS.

4) Increment XSVG_VERSION in configure.in

5) Commit the changes to NEWS and configure.in

	Don't forget to fill out the ChangeLog just like with any
	other commit. It's especially important to mention the new
	version number in the ChangeLog.

6) Run "make release-publish" which will perform the following steps
   for you:

	* Check that no release exists with the current version
	* Verify that make distcheck completes successfully
	* Generate the final tar file
	* Generate an md5sum file
	* scp both files to appear on http://cairographics.org/snapshots
	* Create a LATEST-package-version file (after deleting any old one)
	* Place local copies of both files in the releases directory
	* Provide some text for the release announcement (see below).

7) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:

	cvs tag SNAPSHOT_X_Y_Z

8) Send a message to cairo-announce at cairographics.org to announce the
   new snapshot using the text provided from "make release-publish".





More information about the cairo-commit mailing list