and that you are up to date with the latest commits in the central
repository. Here are a couple of useful commands:
- # This should report "nothing to commit (working directory clean")
- git status
+ git diff (no output)
+
+ git status (should report "nothing to commit")
- # This should give no output, (note there are *3* dots)
- git log master...origin
+ git log master...origin (no output; note: *3* dots)
-2) Verify that the code passes "make distcheck".
+2) Increment pixman_(major|minor|micro) in configure.ac according to
+ the directions in that file.
- NOTE: There is some test code in the test directory, but it's
- not yet integrated into "make distcheck" yet. It might be
- useful to run those programs, (but I don't know how to
- interpret those results). Another very useful thing to do is
- to run the cairo test suite against pixman. This can be done
- by running the following commands with the latest cairo
- release:
+3) Make sure that new version works, including
- tar xzf cairo-X.Y.Z.tar.gz
- cd cairo
- CAIRO_TEST_TARGET=image make test
+ - make distcheck passes
-3) Fill out an entry in the NEWS file
+ - the X server still works with the new pixman version
+ installed
- Sift through the logs since the last release. This is most
- easily done with a command such as:
+ - the cairo test suite hasn't gained any new failures compared
+ to last pixman version.
- git log --stat pixman-X.Y.Z..
+4) Use "git commit" to record the changes made in step 2 and 3.
- where X.Y.Z is the previous release version.
+5) Generate and publish the tar files by running
- Summarize major changes briefly in a style similar to other
- entries in NEWS. Take special care to note any additions in
- the API. These should be easy to find by noting modifications
- to pixman.h in the log command above. And more specifically,
- the following command will show each patch that has changed the
- public header file since the given version:
+ make PREV=<last version> GPGKEY=<your gpg key id> release-publish
- git log -p pixman-X..Z.. -- pixman/pixman.h
+ If your freedesktop user name is different from your local one,
+ then also set the variable USER to your freedesktop user name.
-4) Increment pixman_{major|minor|micro} in configure.ac according to
- the directions in that file. Also note that if there is an ABI
- change then there is further work to be done, (also described in
- configure.in).
+6) Run
-5) Use "git commit" and "git push" to publish any changes made in steps
- 3 and 4.
+ make release-publish-message
-6) Generate the final tar files with:
+ to generate a draft release announcement. Edit it as appropriate and
+ send it to
+
+ cairo-announce@cairographics.org
+
+ pixman@lists.freedesktop.org
+
+ xorg-announce@lists.freedesktop.org
+
+7) Increment pixman_micro to the next larger (odd) number in
+ configure.ac. Commit this change, and push all commits created
+ during this process using
+
+ git push
+ git push --tags
+
+ You must use "--tags" here; otherwise the new tag will not
+ be pushed out.
- make distcheck