[cairo-commit] cairo ChangeLog, 1.247, 1.248 Makefile.am, 1.5, 1.6 RELEASING, 1.3, 1.4

Carl Worth commit at pdx.freedesktop.org
Wed Oct 27 11:59:58 PDT 2004


Committed by: cworth

Update of /cvs/cairo/cairo
In directory gabe:/tmp/cvs-serv8487

Modified Files:
	ChangeLog Makefile.am RELEASING 
Log Message:

        * RELEASING: Update release instructions for new release-publish
        target.

        * Makefile.am: Add release-check and release-publish targets
        copied from libpixman.


Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo/ChangeLog,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -d -r1.247 -r1.248
--- ChangeLog	27 Oct 2004 18:42:45 -0000	1.247
+++ ChangeLog	27 Oct 2004 18:59:56 -0000	1.248
@@ -1,5 +1,11 @@
 2004-10-27  Carl Worth  <cworth at cworth.org>
 
+	* RELEASING: Update release instructions for new release-publish
+	target.
+
+	* Makefile.am: Add release-check and release-publish targets
+	copied from libpixman.
+
 	* test/Makefile.am (AM_LDFLAGS): Fix to always link tests against
 	locally built library, not installed version.
 

Index: Makefile.am
===================================================================
RCS file: /cvs/cairo/cairo/Makefile.am,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Makefile.am	26 Oct 2004 21:38:43 -0000	1.5
+++ Makefile.am	27 Oct 2004 18:59:56 -0000	1.6
@@ -8,3 +8,43 @@
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = cairo.pc
+
+# Some custom targets to make it easier to release things.
+# Use either:
+#		make release-check
+# or		make release-publish
+
+RELEASE_UPLOAD_DIR = 	cairographics.org:/home/www/cairo/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-publish: release-check
+	mkdir -p releases
+	scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_DIR)
+	mv $(tar_file) $(md5_file) releases
+	@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."
+

Index: RELEASING
===================================================================
RCS file: /cvs/cairo/cairo/RELEASING,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- RELEASING	11 May 2004 15:19:47 -0000	1.3
+++ RELEASING	27 Oct 2004 18:59:56 -0000	1.4
@@ -2,38 +2,30 @@
 good habits now by practicing the release process with the current
 snapshots.
 
-10 easy steps to creating a new cairo snapshot
-==============================================
-
-1) Commit code with a significant new feature or backwards
-   incompatibility.
+A new snapshot is needed whenever significant new features or bug
+fixes are committed. Here are the steps to follow:
 
-	Either of these events triggers the need for a new snapshot.
-	Users of cairo snapshots need to be able to specify snapshot
-	version numbers in order to get access to a specific set of
-	features.
+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:
 
-2) Increment CAIRO_VERSION in configure.in
+	cvs -d cairographics.org:/cvs/cairo co cairo
 
-	Right now, in its pre-release form, we are incrementing
-	CAIRO_VERSION for each snapshot but we are not changing the
-	libtool shared library version information. Until now, we've
-	only incremented the sub-minor version. We'll invent rules for
-	incrementing major and minor numbers when the time is right.
+   But it's probably good enough if "cvs -q update -Ad" generates no
+   output.
 
-3) Verify that the code passes "make distcheck"
+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:
 
-	=============================================
+	================================================
 	cairo-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).
 
-4) Fill out an entry in the NEWS file
+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
@@ -41,33 +33,38 @@
 	incompatible changes in the API. These should be easy to find
 	by looking for cairo.h in the ChangeLog.
 
+4) Increment CAIRO_VERSION in configure.in
+
+	Right now, in its pre-release form, we are incrementing
+	CAIRO_VERSION for each snapshot but we are not changing
+	the libtool shared library version information. Increment the
+	subminor version for bug fixes and backwards-compatible
+	additions to the API. Increment the minor number (and reset
+	the subminor) for backward-incompatible changes to the API
+	(including removals). Leave the major number at 0 until we are
+	ready for the first 1.0 release, (at which point these rules
+	will change).
+
 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 distcheck" to generate the final tar file including the
-   changes to NEWS and ChangeLog.
-
-7) Copy the resulting tar file to the cairo snapshots distribution
-   directory:
+6) Run "make release-publish" which will perform the following steps
+   for you:
 
-	scp cairo-X.Y.Z-tar.gz cairographics.org:/home/www/cairo/snapshots
+	* Verify that make distcheck completes successfully
+	* Generate the final tar file with the correct version number
+	* Generate an md5sum file
+	* scp both files to cairographics.org:/home/www/cairo/snapshots
+	* Place local copies of both files in the releases directory
+	* Provide some text for the release announcement
 
-8) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:
+7) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:
 
 	cvs tag SNAPSHOT_X_Y_Z
 
-9) Send a message to cairo-announce at cairographics.org to announce the
-   new snapshot.
-
-	The message should provide the URL for the snapshot:
-
-		http://cairographics.org/snapshots/cairo-X.Y.Z.tar.gz
-
-	and should also include the relevant section from the NEWS
-	file.
+8) Send a message to cairo-announce at cairographics.org to announce the
+   new snapshot using the text provided by the previous step.
 
-10) Sit back and relax in confidence, or alternately, brace yourself
-    for a flood of new bug reports.




More information about the cairo-commit mailing list