diff options
author | Callum McKenzie <callum@spooky-possum.org> | 2009-05-29 10:46:13 +1200 |
---|---|---|
committer | Callum McKenzie <callum@spooky-possum.org> | 2009-05-29 10:48:50 +1200 |
commit | fb2454e1aae19b5afb45c649d90e377fb0900adb (patch) | |
tree | b8344b3ac32bd88eb31e68c48c54b1003dd602a6 /HACKING | |
parent | 464aa3b5861666d42ae094210436b003b369c4a3 (diff) |
Autogenerate the ChangeLogs
We no longer keep explicit ChangeLogs. Instead they get generated at
make dist time from the git logs. Automake recipe stolen from gnome-
games. Commit message guidelines stolen from GTK+.
Diffstat (limited to 'HACKING')
-rw-r--r-- | HACKING | 144 |
1 files changed, 94 insertions, 50 deletions
@@ -1,15 +1,16 @@ -If you are the maintainer of an applet, feel free to commit - unless we're -very close to a release. In that case, contact us. - -If you just want to hack, let us know. Most of the applets are unmaintained, -but you should try to contact the maintainer (or past maintainer) before -working on them, to avoid duplicate work and stepping on any toes. If unsure, -ask us about it. - -The list of official maintainers is in the MAINTAINERS file. If you're a -MAINTAINER and you're not listed, contact one of the overall maintainers to get -yourself added. If you want to get bug reports for GNOME-Applets you can add -yourself to listen to the gnome-applets-maint@bugzilla.gnome.org alias in your +If you are the maintainer of an applet, feel free to commit - unless +we're very close to a release. In that case, contact us. + +If you just want to hack, let us know. Most of the applets are +unmaintained, but you should try to contact the maintainer (or past +maintainer) before working on them, to avoid duplicate work and +stepping on any toes. If unsure, ask us about it. + +The list of official maintainers is in the MAINTAINERS file. If you're +a MAINTAINER and you're not listed, contact one of the overall +maintainers to get yourself added. If you want to get bug reports for +GNOME-Applets you can add yourself to listen to the +gnome-applets-maint@bugzilla.gnome.org alias in your preferences. Filter on X-Bugzilla-Component: if required. Release planning for GNOME Applets is online at @@ -19,54 +20,97 @@ We share a mailing list with GNOME Utilities, you can subscribe to Please attach your patches to a bug in http://bugzilla.gnome.org, either by filing new bugs or attaching it to an old one. -Patches should be generated with `diff -uprN` (you can add "diff -up" to your -~/.cvsrc). +Patches should be generated with `diff -uprN`. + +If you are committing directly into the git repository, then follow +these guidelines for the commit message (see also ChangeLog.README): + +The expected format for git commit messages is as follows: + +=== begin example commit === +Short explanation of the commit + +Longer explanation explaining exactly what's changed, whether any +external or private interfaces changed, what bugs were fixed (with bug +tracker reference if applicable) and so forth. Be concise but not too brief. +=== end example commit === + + - Always add a brief description of the commit to the _first_ line of + the commit and terminate by two newlines (it will work without the + second newline, but that is not nice for the interfaces). + + - First line (the brief description) must only be one sentence and + should start with a capital letter unless it starts with a lowercase + symbol or identifier. Don't use a trailing period either. Don't exceed + 72 characters. + + - The main description (the body) is normal prose and should use normal + punctuation and capital letters where appropriate. Normally, for patches + sent to a mailing list it's copied from there. + + - When committing code on behalf of others use the --author option, e.g. + git commit -a --author "Joe Coder <joe@coder.org>" and --signoff. + + - If the checkin is related to a bug, reference the bug number. + + - Checkin comments MUST use the UTF-8 encoding. + + - Avoid meaningless checkin comments such as "forgotten file" ! + + If you forget to check in some changes that belonged in the same + commit (e.g. you accidentally omitted a file), you must copy the + checkin comment from the previous, incomplete checkin, and + additionally reference that commit's svn revision number. Some tips for hacking/debugging the applets: -1) The Panel Applet Writer's Reference Manual, including the PanelApplet - library documentation, can be found at +1) The Panel Applet Writer's Reference Manual, including the + PanelApplet library documentation, can be found at http://developer.gnome.org/doc/API/2.0/panel-applet/libpanel-applet.html, or in gnome-panel/doc/reference/panel-applet (source). It is not - completely up to date, but it covers the basics of writing an applet. + completely up to date, but it covers the basics of writing an + applet. -2) Look at the other applet implementations. One of the simpler applets is - the fish applet, which lives in gnome-panel/applets/fish. +2) Look at the other applet implementations. One of the simpler + applets is the fish applet, which lives in + gnome-panel/applets/fish. -3) Read the article about debugging GNOME Applets at +3) Read the article about debugging GNOME Applets at http://www.davyd.id.au/articles/debugging-gnome-applets.shtml. - This article also contains a list of common considerations when developing - applets. Please, please read this article, it covers everything you're - likely to need to know. If you find anything is missing, then contact - the maintainers. + This article also contains a list of common considerations when + developing applets. Please, please read this article, it covers + everything you're likely to need to know. If you find anything is + missing, then contact the maintainers. 4) Be weary of static, global variables if you plan to allow the user - to be able to add multiple instances of the applet. Each instance will - share the static varible. This is described in the debugging article, under - "Other considerations". - -5) You'd probably want to run the applets from CVS, without nescessarily doing - the same with all of GNOME. To do this, install the applets from CVS to a - different prefix than the rest of GNOME, and change your bonobo servers - directory to $prefix/lib/bonobo/servers. You'll find the config file by - running "bonobo-activation-sysconf --config-file-path". Add the directory to - as an <item> at the top of <searchpath>. Log out, run bonobo-slay and make - sure no bonobo processes are running. When you log in again, your applets - should be running from the new prefix. - Running single applets from CVS is described further in Davyd's debugging - article. - -6) Please make use of the global defines already provided for you, rather - then defining your own in your Makefile.am. Some useful global defines are - GNOME_ICONDIR, GNOME_PIXMAPSDIR, GNOME_LOCALEDIR, GNOME_GLADEDIR, DATADIR, - SYSCONFDIR, LIBDIR and VERSION. - -7) Attempt to use the Nautilus/GNOME-VFS coding style in GNOME-Applets. Code - should be neatly tabbed, with 8 character tabs, and fit on an 80 character - wide terminal. Ideally - functions (will_be_called (LIKE, THIS)); - opening braces will be on a new line and variables will be declared at the - top of the block without assignment, C89 style. + to be able to add multiple instances of the applet. Each instance + will share the static varible. This is described in the debugging + article, under "Other considerations". + +5) You'd probably want to run the applets from git, without + nescessarily doing the same with all of GNOME. To do this, install + the applets from git to a different prefix than the rest of GNOME, + and change your bonobo servers directory to + $prefix/lib/bonobo/servers. You'll find the config file by running + "bonobo-activation-sysconf --config-file-path". Add the directory + to as an <item> at the top of <searchpath>. Log out, run + bonobo-slay and make sure no bonobo processes are running. When you + log in again, your applets should be running from the new prefix. + Running single applets from CVS is described further in Davyd's + debugging article. + +6) Please make use of the global defines already provided for you, + rather then defining your own in your Makefile.am. Some useful + global defines are GNOME_ICONDIR, GNOME_PIXMAPSDIR, + GNOME_LOCALEDIR, GNOME_GLADEDIR, DATADIR, SYSCONFDIR, LIBDIR and + VERSION. + +7) Attempt to use the Nautilus/GNOME-VFS coding style in + GNOME-Applets. Code should be neatly tabbed, with 8 character tabs, + and fit on an 80 character wide terminal. Ideally functions + (will_be_called (LIKE, THIS)); opening braces will be on a new line + and variables will be declared at the top of the block without + assignment, C89 style. Davyd Madeley <davyd@madeley.id.au> Kevin Vandersloot <kfv101 at psu dot edu> |