1301
by David Reveman
Add release documentation and makefile rules that will ease |
1 |
Here are the steps to follow to create a new compiz release: |
2 |
||
3 |
1) Ensure that there are no local, uncommitted modifications. |
|
4 |
It's probably good enough if "git diff HEAD" doesn't output |
|
5 |
anything and your "master" and "origin" branches are at the |
|
6 |
current revision. |
|
7 |
||
8 |
2) Verify that the code passes "make distcheck" |
|
9 |
||
10 |
Running "make distcheck" should result in no warnings or |
|
11 |
errors and end with a message of the form: |
|
12 |
||
13 |
==============================================
|
|
14 |
compiz-X.Y.Z archives ready for distribution: |
|
15 |
compiz-X.Y.Z.tar.gz |
|
16 |
==============================================
|
|
17 |
||
18 |
(But the tar file isn't actually ready yet, as we still have |
|
19 |
some more steps to follow).
|
|
20 |
||
21 |
3) Fill out an entry in the NEWS file
|
|
22 |
||
23 |
Shift through the logs since the last release. This is most
|
|
24 |
easily done with a comand such as:
|
|
25 |
||
26 |
git log --stat compiz-X.Y.Z..
|
|
27 |
||
28 |
where X.Y.Z is the previous release version.
|
|
29 |
||
30 |
Summarize major changes briefly in a style similar to other
|
|
31 |
entries in NEWS.
|
|
32 |
||
33 |
4) Increment version number in configure.ac:
|
|
34 |
||
35 |
Increment to the micro version number to the next larger
|
|
36 |
(even) number.
|
|
37 |
||
38 |
5) Commit the changes to NEWS and configure.ac
|
|
39 |
||
40 |
It's especially important to mention the new version number in your |
|
41 |
commit log. |
|
42 |
||
43 |
6) Run "make release-publish" which will perform the following steps |
|
44 |
for you: |
|
45 |
||
46 |
* Check that the version number ends with an even micro component |
|
47 |
* Check that no release exists with the current version |
|
48 |
* Verify that make distcheck completes successfully |
|
49 |
* Generate the final tar file |
|
50 |
* Generate an sha1sum file |
|
51 |
* Sign the sha1sum using your GPG setup (asks for your GPG password) |
|
52 |
* scp the three files to appear on |
|
53 |
http://xorg.freedesktop.org/archive/individual/app |
|
54 |
* Place local copies of the three files in the releases directory |
|
55 |
* Tag the entire source tree with a tag of the form compiz-X.Y.Z, and |
|
56 |
sign the tag with your GPG key (asks for your GPG password, and you |
|
57 |
may need to set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to match |
|
58 |
your public-key's setting or this fails.) |
|
59 |
* Provide some text for the release announcement (see below). |
|
60 |
If for some reason you lost this message, |
|
61 |
"make release-publish-message" prints it for you. |
|
62 |
||
63 |
7) Increment compiz_version_micro to the next larger (odd) number in |
|
64 |
configure, commit, and push. |
|
65 |
||
66 |
8) Push the newly created tag out to the central tree with a command |
|
67 |
something like: |
|
68 |
||
69 |
git push compiz-X.Y.Z |
|
70 |
||
71 |
9) Send a message to compiz@list.freedesktop.org to announce the |
|
72 |
new release using the text provided from "make release-publish", |
|
73 |
adding the excerpt from NEWS, your signature, followed by |
|
74 |
tacking on the detailed changelog-ish thing that gets mailed |
|
75 |
out when you push the tag (but not the diffstat thing). |