| 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. |