summaryrefslogtreecommitdiff
path: root/RELEASING
blob: c243f8e7a901379ee44d06f04da48fd03671938e (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Here are the steps to follow to create a new pycairo release:

1) Fill out an entry in the NEWS file
Sift through the information in 'git log' since the last release. Summarize
major changes briefly in a style similar to other entries in NEWS.

2) Increment pycairo and cairo version numbers in:
   doc/conf.py
   README
   wscript

3) Create the archive
Delete *.pdf *.png *.ps *.svg files in
  examples/
  examples/cairo_snippets/snippets/

$ ./waf distcheck  # ensure there are no errors

$ ./waf clean distclean
$ ./waf dist  # to create pycairo-x.x.x.tar.bz2

create sha1 sum
$ sha1sum pycairo-x.x.x.tar.bz2 > pycairo-x.x.x.tar.bz2.sha1

Copy to /tmp, install from the archive, run tests and examples.

4) git commit  # the changes to NEWS, etc
It's especially important to mention the new version number in the git commit
comment.
Add a '=== Pycairo x.x.x ===' header.

$ git tag X.Y.Z
  push the changes to the freedesktop server.
$ git push origin master

5) Edit Makefile.am and select either 'snapshot' or 'release'.
   Run "make release-publish" which will perform the following steps for you:

* Check that the version number ends with an even micro component
* Check that no release exists with the current version
* Verify that make distcheck completes successfully
* Generate the final tar file
* Generate an md5sum file
* scp both files to appear on http://cairographics.org/releases
* Place local copies of the files in the releases directory
* Create a LATEST-package-version file (after deleting any old one)
* Provide some text for the release announcement (see below).

6) Verify that the tar file arrived at the website.
   Check tar file has read permissions for all.
   Update the pycairo webpage to reference the new release.
   Update http://cheeseshop.python.org entry for pycairo.

7) Edit wscript to increment pycairo_version_micro to the next larger (odd)
number.
$ git push origin master

8) Send a message to cairo-announce@cairographics.org
              and CC python-announce-list@python.org
   to announce the new release using the text provided from
   "make release-publish".


Generating documentation archives
---------------------------------
$ cd doc/
$ vi conf.py  # update the version and release numbers
$ make clean
$ make html
$ cd .build/
$ mv html pycairo-x.x.x-docs-html
$ tar cjf /tmp/pycairo-x.x.x-docs-html.tar.bz2 pycairo-x.x.x-docs-html
$ zip -r  /tmp/pycairo-x.x.x-docs-html.zip     pycairo-x.x.x-docs-html
$ chmod a+r /tmp/pycairo*

untar docs in /tmp and check that they have correct version number and view
OK.
copy file to the 'releases' directory on cairo website:
  scp pycairo-x.x.x-docs-html.tar.bz2 cairographics.org:/srv/cairo.freedesktop.org/www/releases

cd doc
 html_docs_create.sh
 html_docs_upload.sh