Merge commit 'inte/sampling'
[profile/ivi/pixman.git] / RELEASING
1 Here are the steps to follow to create a new pixman release:
2
3 1) Ensure that there are no uncommitted changes or unpushed commits,
4    and that you are up to date with the latest commits in the central
5    repository. Here are a couple of useful commands:
6
7         # This should report "nothing to commit (working directory clean")
8         git status
9
10         # This should give no output, (note there are *3* dots)
11         git log master...origin
12
13 2) Verify that the code passes "make distcheck".
14
15         NOTE: There is some test code in the test directory, but it's
16         not yet integrated into "make distcheck" yet. It might be
17         useful to run those programs, (but I don't know how to
18         interpret those results). Another very useful thing to do is
19         to run the cairo test suite against pixman. This can be done
20         by running the following commands with the latest cairo
21         release:
22
23                 tar xzf cairo-X.Y.Z.tar.gz
24                 cd cairo
25                 CAIRO_TEST_TARGET=image make test
26
27 3) Fill out an entry in the NEWS file
28
29         Sift through the logs since the last release. This is most
30         easily done with a command such as:
31
32                 git log --stat pixman-X.Y.Z..
33
34         where X.Y.Z is the previous release version.
35
36         Summarize major changes briefly in a style similar to other
37         entries in NEWS. Take special care to note any additions in
38         the API. These should be easy to find by noting modifications
39         to pixman.h in the log command above. And more specifically,
40         the following command will show each patch that has changed the
41         public header file since the given version:
42
43                 git log -p pixman-X..Z.. -- pixman/pixman.h
44
45 4) Increment pixman_{major|minor|micro} in configure.ac according to
46    the directions in that file. Also note that if there is an ABI
47    change then there is further work to be done, (also described in
48    configure.in).
49
50 5) Use "git commit" and "git push" to publish any changes made in steps
51    3 and 4.
52
53 6) Generate the final tar files with:
54
55         make distcheck