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
|
2005-08-10 11:30:45 +00:00
|
|
|
release. 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
|
2005-08-10 11:30:45 +00:00
|
|
|
additions 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
|
2005-08-10 11:30:45 +00:00
|
|
|
previous release tag:
|
2004-10-27 13:13:39 +00:00
|
|
|
|
2005-08-12 21:35:31 +00:00
|
|
|
find src/ -name '*.h' -not -name '*-private.h' -not -name 'cairoint.h' | \
|
|
|
|
|
xargs cvs diff -r RELEASE_X_Y_Z
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2005-08-10 11:30:45 +00:00
|
|
|
4) Increment cairo_version_{minor|micro} in configure.in:
|
2004-10-27 11:59:56 +00:00
|
|
|
|
2005-08-10 11:30:45 +00:00
|
|
|
If there are backward-incompatible changes in the API, stop
|
|
|
|
|
now and don't release. Go back and fix the API instead. Cairo
|
|
|
|
|
is intended to remain backwards-compatible as far as API.
|
2005-01-23 12:49:56 +00:00
|
|
|
|
2005-08-10 11:30:45 +00:00
|
|
|
So cairo_version_major will not be incremented unless we come
|
|
|
|
|
up with a new versioning scheme to take advantage of it.
|
2005-01-23 12:49:56 +00:00
|
|
|
|
2005-08-10 11:30:45 +00:00
|
|
|
If there are API additions, then increment
|
|
|
|
|
cairo_version_minor and reset cairo_version_micro to 0.
|
2005-01-23 12:49:56 +00:00
|
|
|
|
2005-08-10 11:30:45 +00:00
|
|
|
Otherwise, (ie. there are only bug fixes), increment
|
|
|
|
|
cairo_version_micro to the next larger (even) number.
|
|
|
|
|
|
|
|
|
|
Adjust LT_CURRENT, LT_VERSION, and LT_AGE as describe in the
|
|
|
|
|
comments in configure.in.
|
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).
|
2005-08-12 23:50:17 +00:00
|
|
|
* Tag the entire source tree with a tag of the form RELEASE_X_Y_Z
|
2004-04-06 20:13:11 +00:00
|
|
|
|
2005-08-12 23:50:17 +00:00
|
|
|
7) Increment cairo_version_micro to the next larger (odd) number in
|
2005-08-10 11:30:45 +00:00
|
|
|
configure, and commit.
|
2005-01-23 12:49:56 +00:00
|
|
|
|
2005-08-12 23:50:17 +00:00
|
|
|
8) Send a message to cairo-announce@cairographics.org and CC
|
2005-08-08 15:50:55 +00:00
|
|
|
gnome-announce-list@gnome.org to announce the
|
2005-08-10 11:30:45 +00:00
|
|
|
new release using the text provided from "make release-publish".
|
2004-04-07 11:03:40 +00:00
|
|
|
|