2004-04-06 20:13:11 +00:00
|
|
|
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.
|
|
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
A new snapshot is needed whenever significant new features or bug
|
|
|
|
|
fixes are committed. Here are the steps to follow:
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
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:
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
cvs -d cairographics.org:/cvs/cairo co cairo
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
But it's probably good enough if "cvs -q update -Ad" generates no
|
|
|
|
|
output.
|
2004-05-11 08:19:47 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
2) Verify that the code passes "make distcheck"
|
2004-04-06 20:13:11 +00:00
|
|
|
|
|
|
|
|
Running "make distcheck" should result in no warnings or
|
|
|
|
|
errors and end with a message of the form:
|
|
|
|
|
|
2005-05-17 09:08:23 +00:00
|
|
|
==================================================
|
|
|
|
|
cairo-X.Y.Z-head archives ready for distribution:
|
|
|
|
|
caioo-X.Y.Z-head.tar.gz
|
|
|
|
|
==================================================
|
2004-04-06 20:13:11 +00:00
|
|
|
|
|
|
|
|
(But the tar file isn't actually ready yet, as we still have
|
|
|
|
|
some more steps to follow).
|
|
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
3) Fill out an entry in the NEWS file
|
2004-04-06 20:13:11 +00:00
|
|
|
|
|
|
|
|
Sift through the information in ChangeLog since the last
|
|
|
|
|
snapshot. Summarize major changes briefly in a style similar
|
2004-05-11 08:19:47 +00:00
|
|
|
to other entries in NEWS. Take special care to note any
|
|
|
|
|
incompatible changes in the API. These should be easy to find
|
2005-05-17 09:13:02 +00:00
|
|
|
by looking for cairo*.h in the ChangeLog. Additionally, the
|
2005-01-21 11:20:55 +00:00
|
|
|
output of the following command should be examined using the
|
|
|
|
|
previous snapshot tag:
|
2004-10-27 13:13:39 +00:00
|
|
|
|
2005-05-17 09:13:02 +00:00
|
|
|
cvs diff -r SNAPSHOT_X_Y_Z src/*.h
|
|
|
|
|
|
|
|
|
|
[Hmm, it would be nice to have a pattern for that command that
|
|
|
|
|
would exclude private header files.]
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
4) Increment CAIRO_VERSION in configure.in
|
|
|
|
|
|
2005-01-23 12:49:56 +00:00
|
|
|
First, remove the "-head" suffix, then increment the version
|
|
|
|
|
as follows:
|
|
|
|
|
|
|
|
|
|
If there are backward-incompatible changes in the API,
|
|
|
|
|
(function removals, or semantic changes), increment the minor
|
|
|
|
|
number and reset the sub-minor number to 0.
|
|
|
|
|
|
|
|
|
|
Otherwise, (that is, if there are only bug fixes and perhaps
|
|
|
|
|
API additions), then increment only the sub-minor number.
|
|
|
|
|
|
|
|
|
|
Prior to the initial "1.0" release of cairo, leave the major
|
|
|
|
|
number at 0. Also, do not modify the "libtool shared library
|
|
|
|
|
version" variables, (LT_CURRENT, LT_VERSION, LT_AGE).
|
2004-10-27 11:59:56 +00:00
|
|
|
|
2004-04-06 20:13:11 +00:00
|
|
|
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.
|
|
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
6) Run "make release-publish" which will perform the following steps
|
|
|
|
|
for you:
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-11-04 14:23:50 +00:00
|
|
|
* Check that no release exists with the current version
|
2004-10-27 11:59:56 +00:00
|
|
|
* Verify that make distcheck completes successfully
|
2004-10-28 08:36:42 +00:00
|
|
|
* Generate the final tar file
|
2004-10-27 11:59:56 +00:00
|
|
|
* Generate an md5sum file
|
2005-01-21 11:20:55 +00:00
|
|
|
* scp both files to appear on http://cairographics.org/snapshots
|
2004-10-28 08:36:42 +00:00
|
|
|
* Create a LATEST-package-version file (after deleting any old one)
|
2004-10-27 11:59:56 +00:00
|
|
|
* Place local copies of both files in the releases directory
|
2004-10-28 08:36:42 +00:00
|
|
|
* Provide some text for the release announcement (see below).
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2004-10-27 11:59:56 +00:00
|
|
|
7) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:
|
2004-04-06 20:13:11 +00:00
|
|
|
|
|
|
|
|
cvs tag SNAPSHOT_X_Y_Z
|
|
|
|
|
|
2005-01-23 12:49:56 +00:00
|
|
|
8) Add a "-head" to CAIRO_VERSION in configure, and commit.
|
|
|
|
|
|
2005-07-28 15:38:50 +00:00
|
|
|
9) Send a message to cairo-announce@cairographics.org and CC
|
|
|
|
|
gnome-announce-list to announce the
|
2004-10-28 08:36:42 +00:00
|
|
|
new snapshot using the text provided from "make release-publish".
|
2004-04-07 11:03:40 +00:00
|
|
|
|