blob: 330e5e3e0c3391c6ace3dad7e40693fb24574696 [file] [log] [blame]
Here are the steps to follow to create a new pixman release:
1) Ensure that there are no uncommitted changes or unpushed commits,
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
# This should give no output, (note there are *3* dots)
git log master...origin
2) Verify that the code passes "make distcheck".
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:
tar xzf cairo-X.Y.Z.tar.gz
cd cairo
CAIRO_TEST_TARGET=image make test
3) Fill out an entry in the NEWS file
Sift through the logs since the last release. This is most
easily done with a command such as:
git log --stat pixman-X.Y.Z..
where X.Y.Z is the previous release version.
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:
git log -p pixman-X..Z.. -- pixman/pixman.h
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).
5) Use "git commit" record any changes made in steps 3 and 4.
6) Generate the final tar files with
make distcheck
And publish the tar files to everywhere appropriate.
Note: There's a "make release-publish" target to help with this
step, (creating the tar file and publishing it), but it depends on
getting gpg setup first. It's probably the right way to go in the
future, though.
7) Increment pixman_micro to the next larger (odd) number in
configure.ac. Commit this change, and push all commits created
during this process.
8) Send email announcements of the release to everywhere appropriate.