summaryrefslogtreecommitdiff
path: root/HACKING
blob: bebc68513c4e819bdce5686817a39b81db4ec9fc (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
The mainline git tree for this code is at
git://anongit.freedesktop.org/git/dbus/dbus-glib.

= Creating changes =

Be sure to match the existing code style (Emacs: "gnu").

If you are making major changes which you wish to be incorporated upstream,
please do as small commits to your local git tree, so there is a good
history of your changes.

When you consider changes ready for merging to mainline, use 
"git-format-patch" or otherwise generate unified diffs.  Post those diffs
to a new bug at http://bugs.freedesktop.org, project DBus, component GLib.

For nontrivial changes *please* try to extend the test suite to cover it.  The
test infrastructure is in test/core/. If possible, use a GTester-style test
like registrations.c; or if necessary, add things to the giant catch-all
test, test-dbus-glib.c.

Run "make check" to run the test suite.

= dbus-gmain =

dbus-gmain is maintained via `git subtree`. To update, assuming you have
a checkout of the dbus-gmain branch of the dbus-glib repository in
../dbus-gmain:

    git subtree pull -P dbus-gmain ../dbus-gmain HEAD

= Committing =

If applying a patch from someone else that created them via 
"git-format-patch", you can use "git-am -s" to apply.  Otherwise
apply the patch and then use "git commit --author ..."

Regardless:

== Nontrivial changes ==
Nontrivial patches should always go through Bugzilla for peer review, so
you should have a bug number.  The commit should be of the form:

Bug XXXXXX: Single line summary here

	* dbus/filename.c: Why I changed this.
	* dbus/otherfile.c: Why I changed this.

== Trivial changes ==

Just use a single line summary, like:

Fix typo in NEWS

= Making a release =

DBus-Glib now uses an even-stable odd-development release numbering
system.  The current number in configure.ac should be odd.

To make a release (please replace use of 0.76 with the new version)

* make
* make distcheck
* edit configure.ac, change version to even (e.g. 0.75 -> 0.76)
* also in configure.ac, update LT_CURRENT, LT_REVISION and LT_AGE
* edit NEWS, summarize notable changes since the last release
* ./autogen.sh
* make
* make distcheck
* sign the tarball (or use: make dbus-glib-0.76.tar.gz.asc)
* make maintainer-upload-release
* git commit -m "Release"
* git tag -a dbus-glib_0.76
* edit configure.ac, change version to odd (e.g. 0.76 -> 0.77)
* git commit -m "Bump version for development"
* Update the wiki: http://www.freedesktop.org/wiki/Software/DBusBindings
* Announce the release on the mailing list, quoting the notable changes
  from NEWS.

NEWS is now maintained again (Simon finds it easier this way, and he
does most of the releases).