summaryrefslogtreecommitdiff
path: root/RELEASING
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2004-10-27 11:59:56 +0000
committerCarl Worth <cworth@cworth.org>2004-10-27 11:59:56 +0000
commit377983fdf320cf98061fed9cec1870712855871a (patch)
treee70bdd521a25eb0111377ef8aa43b1c8a279f676 /RELEASING
parent39d57762a65f8b16e27c56435217cc96e8c68a23 (diff)
Update release instructions for new release-publish target.
Add release-check and release-publish targets copied from libpixman.
Diffstat (limited to 'RELEASING')
-rw-r--r--RELEASING71
1 files changed, 34 insertions, 37 deletions
diff --git a/RELEASING b/RELEASING
index 64ebb43f..5a7ee9d8 100644
--- a/RELEASING
+++ b/RELEASING
@@ -2,38 +2,30 @@ So far, cairo hasn't reached an initial release. But we can still form
good habits now by practicing the release process with the current
snapshots.
-10 easy steps to creating a new cairo snapshot
-==============================================
+A new snapshot is needed whenever significant new features or bug
+fixes are committed. Here are the steps to follow:
-1) Commit code with a significant new feature or backwards
- incompatibility.
+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:
- 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.
+ cvs -d cairographics.org:/cvs/cairo co cairo
-2) Increment CAIRO_VERSION in configure.in
+ But it's probably good enough if "cvs -q update -Ad" generates no
+ output.
- 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.
-
-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 @@ snapshots.
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.
+6) Run "make release-publish" which will perform the following steps
+ for you:
-7) Copy the resulting tar file to the cairo snapshots distribution
- directory:
+ * 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
- scp cairo-X.Y.Z-tar.gz cairographics.org:/home/www/cairo/snapshots
-
-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@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@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.