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
|
==============================================
Notes for contributing to the Zeitgeist engine
==============================================
Coding style
************
In general, follow PEP 8 <http://www.python.org/dev/peps/pep-0008/>.
Especially try to keep the lines shorter than 80 characters. We are also
using TAB for indention.
Zeitgeist supports Python 2.5 and later.
Testing
*******
Before each commit to lp:zeitgeist the commiter must make sure that our
testsuite in test/ is running successfully.
We aim to get as much code tested as possible. New features and bug fixes
should get doc or unittests.
Documentation
*************
Our public API (code in zeitgeist/) must be fully documented. Code in
_zeitgeist/ is private code and should be documented and written in a
way so that others can understand it.
Changes to the public (DBus) API
********************************
changes to the public API are only possible in a major release series.
Code Review
***********
We are using launchpad's 'merge proposal' feature for our code review
process. Significant changes must have at least one positive vote from
one of the core developers (members of <http://launchpad.net/~zeitgeist>)
Release Tasks
*************
1. Bump version number to $VERSION in configure.ac and VERSION files,
and the D-Bus API version in _zeitgeist/engine/remote.py, if there
have been changes to it.
2. Update NEWS file by hand
(hint: you can see the full change log with 'bzr log -n0 -v | less')
3. Commit your changes (with only these changes!) and push you current branch
to lp:zeitgeist and lp:~zeitgeist/zeitgeist/zeitgeist-$VERSION
4. To make sure you have a pristine source tree do a clean checkout of the
newly created branch:
bzr branch lp:~zeitgeist/zeitgeist/zeitgeist-$VERSION
5. Change working dir to your new branch
6. Run './autogen.sh && make && make distcheck'. Unpack the tarball and
generate it again with "tar -czvf zeitgeist-$VERSION.tar.gz
zeitgeist-$VERSION" (distcheck's are bigger and may be corrupt).
7. GPG sign the generated tarball with the command:
gpg --armor --sign --detach-sig zeitgeist-$VERSION.tar.gz
8. Upload the tarball and the generated *.asc GPG signature to the right
milestone on Launchpad
9. Send announcement email to the mailing lists:
+ zeitgeist@lists.launchpad.net
+ gnome-zeitgeist-users@lists.launchpad.net
+ gnome-announce-list@gnome.org
10. Post a news update on the Launchpad project page based on your
announcement email
11. Make sure that the API documentation on zeitgeist-project.com is updated
12. Now you deserve a treat!
|