[gnome-applets] Autogenerate the ChangeLogs



commit fb2454e1aae19b5afb45c649d90e377fb0900adb
Author: Callum McKenzie <callum spooky-possum org>
Date:   Fri May 29 10:46:13 2009 +1200

    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+.
---
 ChangeLog.README                                 |   47 +++++++
 ChangeLog => ChangeLog.old                       |    0
 HACKING                                          |  144 ++++++++++++++--------
 Makefile.am                                      |   16 ++-
 accessx-status/{ChangeLog => ChangeLog.old}      |    0
 accessx-status/docs/{ChangeLog => ChangeLog.old} |    0
 battstat/{ChangeLog => ChangeLog.old}            |    0
 charpick/{ChangeLog => ChangeLog.old}            |    0
 cpufreq/{ChangeLog => ChangeLog.old}             |    0
 cpufreq/help/{ChangeLog => ChangeLog.old}        |    0
 drivemount/{ChangeLog => ChangeLog.old}          |    0
 drivemount/help/{ChangeLog => ChangeLog.old}     |    0
 geyes/{ChangeLog => ChangeLog.old}               |    0
 geyes/docs/{ChangeLog => ChangeLog.old}          |    0
 gkb-new/{ChangeLog => ChangeLog.old}             |    0
 gswitchit/{ChangeLog => ChangeLog.old}           |    0
 gweather/{ChangeLog => ChangeLog.old}            |    0
 invest-applet/{ChangeLog => ChangeLog.old}       |    0
 mini-commander/{ChangeLog => ChangeLog.old}      |    0
 mixer/{ChangeLog => ChangeLog.old}               |    0
 modemlights/{ChangeLog => ChangeLog.old}         |    0
 multiload/{ChangeLog => ChangeLog.old}           |    0
 null_applet/{ChangeLog => ChangeLog.old}         |    0
 po/{ChangeLog => ChangeLog.old}                  |    0
 stickynotes/{ChangeLog => ChangeLog.old}         |    0
 trashapplet/{ChangeLog => ChangeLog.old}         |    0
 trashapplet/docs/{ChangeLog => ChangeLog.old}    |    0
 27 files changed, 155 insertions(+), 52 deletions(-)

diff --git a/ChangeLog.README b/ChangeLog.README
new file mode 100644
index 0000000..9d30748
--- /dev/null
+++ b/ChangeLog.README
@@ -0,0 +1,47 @@
+Gnome Applets doesn't directly use the ChangeLog system anymore. Instead a 
+ChangeLog is generated from git commit messages at "make dist" time.
+
+When committing a patch using git, you must use a checkin comment that
+fully describes the changes made. The following guidelines were
+largely stolen from the GTK+ project
+(http://git.gnome.org/cgit/gtk+/tree/README.commits):
+
+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.
+
+Do NOT commit to this module without permission from a maintainer.
+See the MAINTAINERS file for who they are.
diff --git a/ChangeLog b/ChangeLog.old
similarity index 100%
rename from ChangeLog
rename to ChangeLog.old
diff --git a/HACKING b/HACKING
index 92a7899..c9cd715 100644
--- a/HACKING
+++ b/HACKING
@@ -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>
diff --git a/Makefile.am b/Makefile.am
index 6647131..a048679 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,3 @@
-## Again, remove the comments on an applet you want to work on
 
 gtop_applets = multiload
 if BUILD_GTOP_APPLETS
@@ -100,7 +99,20 @@ EXTRA_DIST = \
 	gnome-doc-utils.make
 
 DISTCHECK_CONFIGURE_FLAGS =	\
-	--disable-scrollkeeper
+	--disable-scrollkeeper \
+	--enable-mini-commander \
+	--enable-mixer-applet
+
+# We build the ChangeLog from the git log
+ChangeLog:
+	@if test -f $(top_srcdir)/.git/HEAD; then \
+		git log --stat --no-color --since=2009-05-23 > $@; \
+	fi
+
+dist: ChangeLog
+
+# Make sure the ChangeLog is updated every time
+.PHONY: ChangeLog
 
 # hack from sound-juicer to get around scrollkeeper's leaving a big
 # mess behind.
diff --git a/accessx-status/ChangeLog b/accessx-status/ChangeLog.old
similarity index 100%
rename from accessx-status/ChangeLog
rename to accessx-status/ChangeLog.old
diff --git a/accessx-status/docs/ChangeLog b/accessx-status/docs/ChangeLog.old
similarity index 100%
rename from accessx-status/docs/ChangeLog
rename to accessx-status/docs/ChangeLog.old
diff --git a/battstat/ChangeLog b/battstat/ChangeLog.old
similarity index 100%
rename from battstat/ChangeLog
rename to battstat/ChangeLog.old
diff --git a/charpick/ChangeLog b/charpick/ChangeLog.old
similarity index 100%
rename from charpick/ChangeLog
rename to charpick/ChangeLog.old
diff --git a/cpufreq/ChangeLog b/cpufreq/ChangeLog.old
similarity index 100%
rename from cpufreq/ChangeLog
rename to cpufreq/ChangeLog.old
diff --git a/cpufreq/help/ChangeLog b/cpufreq/help/ChangeLog.old
similarity index 100%
rename from cpufreq/help/ChangeLog
rename to cpufreq/help/ChangeLog.old
diff --git a/drivemount/ChangeLog b/drivemount/ChangeLog.old
similarity index 100%
rename from drivemount/ChangeLog
rename to drivemount/ChangeLog.old
diff --git a/drivemount/help/ChangeLog b/drivemount/help/ChangeLog.old
similarity index 100%
rename from drivemount/help/ChangeLog
rename to drivemount/help/ChangeLog.old
diff --git a/geyes/ChangeLog b/geyes/ChangeLog.old
similarity index 100%
rename from geyes/ChangeLog
rename to geyes/ChangeLog.old
diff --git a/geyes/docs/ChangeLog b/geyes/docs/ChangeLog.old
similarity index 100%
rename from geyes/docs/ChangeLog
rename to geyes/docs/ChangeLog.old
diff --git a/gkb-new/ChangeLog b/gkb-new/ChangeLog.old
similarity index 100%
rename from gkb-new/ChangeLog
rename to gkb-new/ChangeLog.old
diff --git a/gswitchit/ChangeLog b/gswitchit/ChangeLog.old
similarity index 100%
rename from gswitchit/ChangeLog
rename to gswitchit/ChangeLog.old
diff --git a/gweather/ChangeLog b/gweather/ChangeLog.old
similarity index 100%
rename from gweather/ChangeLog
rename to gweather/ChangeLog.old
diff --git a/invest-applet/ChangeLog b/invest-applet/ChangeLog.old
similarity index 100%
rename from invest-applet/ChangeLog
rename to invest-applet/ChangeLog.old
diff --git a/mini-commander/ChangeLog b/mini-commander/ChangeLog.old
similarity index 100%
rename from mini-commander/ChangeLog
rename to mini-commander/ChangeLog.old
diff --git a/mixer/ChangeLog b/mixer/ChangeLog.old
similarity index 100%
rename from mixer/ChangeLog
rename to mixer/ChangeLog.old
diff --git a/modemlights/ChangeLog b/modemlights/ChangeLog.old
similarity index 100%
rename from modemlights/ChangeLog
rename to modemlights/ChangeLog.old
diff --git a/multiload/ChangeLog b/multiload/ChangeLog.old
similarity index 100%
rename from multiload/ChangeLog
rename to multiload/ChangeLog.old
diff --git a/null_applet/ChangeLog b/null_applet/ChangeLog.old
similarity index 100%
rename from null_applet/ChangeLog
rename to null_applet/ChangeLog.old
diff --git a/po/ChangeLog b/po/ChangeLog.old
similarity index 100%
rename from po/ChangeLog
rename to po/ChangeLog.old
diff --git a/stickynotes/ChangeLog b/stickynotes/ChangeLog.old
similarity index 100%
rename from stickynotes/ChangeLog
rename to stickynotes/ChangeLog.old
diff --git a/trashapplet/ChangeLog b/trashapplet/ChangeLog.old
similarity index 100%
rename from trashapplet/ChangeLog
rename to trashapplet/ChangeLog.old
diff --git a/trashapplet/docs/ChangeLog b/trashapplet/docs/ChangeLog.old
similarity index 100%
rename from trashapplet/docs/ChangeLog
rename to trashapplet/docs/ChangeLog.old



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]