summaryrefslogtreecommitdiff
path: root/ReleasingXcb.mdwn
blob: ad4936b258cc79229b1d6fbae93d95cd877acfb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
## Releasing XCB Modules

(based on cairo's release process) (requires the maintainer to have a gpg key to sign the tag)

1. git-pull, no local changes (git diff HEAD is empty), master branch

2. Update README

3. Update NEWS

  - git-log --pretty=short <last version>.. | git-shortlog
  - Skip any fixes to bugs that didn't exist in the last release
  - Skip any typos or similar cosmetic changes

4. Bump the package version in the top-level configure.ac

5. Commit changed README, NEWS, and configure.ac ("Release <name> <version>")

6. autoreconf -vfi && ./configure && make distcheck

7. Tag the repository (git-tag -s -m "Release <name> <version>" <version>)

  - verify with git-verify-tag <version>

8. Compose the release mail (but don't send yet!)

  - template off of last release mail
      - replace version, README, NEWS
      - git tag and keysign
      - MD5 & SHA1 checksums + URL's of tarballs (md5sum, sha1sum)
      - note names of releasers

9. Push the tag and copy the .gz and .bz2 tarballs to xcb.freedesktop.org/dist

  - git-push origin <version> && git-push origin
  - xcb.freedesktop.org:/srv/xcb.freedesktop.org/www/dist/

10. Send the release mail to xorg and xcb lists

  - Subject: [ANNOUNCE] <name> <version>

11. Update the xcb wiki (main page, if necessary)

12. Bug Jamey to release a Debian package