summaryrefslogtreecommitdiff
path: root/RELEASING
blob: 87bb14d91770df4cc94e82c67c08acd0f337f24f (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
84
85
86
87
88
89
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:
   configure.ac
   doc/conf.py
   README
   setup.py
   wscript

Increment pycairo_major/minor/micro_version in configure.ac
Increase the cairo_required_version - to an even numbered version.
Increment pycairo_major/minor version to match the cairo major/minor version
that pycairo requires (and increment the micro version if necessary for any
subsequent pycairo updates).

3) Run "make distcheck" and verify that it gives no warnings or errors and
   ends with a message of the form:

	===============================================
	pycairo-X.Y.Z archives ready for distribution:
	pycairo-X.Y.Z.tar.gz
	===============================================

Install from the tar.gz archive, run tests and examples.

4) Commit the changes to NEWS, configure.ac 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:
   configure.ac
   setup.py
   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-xxx cairographics.org:/srv/cairo.freedesktop.org/www/releases

cd doc
 html_docs_create.sh
 html_docs_upload.sh