Generate ChangeLog from git log

* .gitignore: Add ChangeLog
* ChangeLog: Rename to ChangeLog-CVS.
* Makefile.am (gen-changelog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Add ChangeLog-CVS.
* README-hacking: Describe changes.
* gitlog-to-changelog: Import from gnulib.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
diff --git a/README-hacking b/README-hacking
index af2a1f6..becff13 100644
--- a/README-hacking
+++ b/README-hacking
@@ -1,5 +1,24 @@
-
+Requirements
+============
 If you use the GIT version of strace there will be some files missing
 that you need to build strace.  These files are generated by tools from
 the GNU Autoconf and Automake packages.  You need recent versions, which
 provide the `autoreconf -i' command that will do everything you need.
+
+
+No more ChangeLog file
+======================
+Do not create or modify the ChangeLog files.  Starting at 2009-07-09, the
+policy changed.  Before, we would insert the exact same text (or worse,
+sometimes slightly differing) into both the ChangeLog file and the commit
+log.  Now we put that information only in the commit log, and generate
+the top-level ChangeLog file from logs at "make dist" time.  As such,
+there are strict requirements on the form of the commit log messages.
+
+
+Commit log requirements
+=======================
+Each commit log should always start with a one-line summary, the second
+line should be blank, and the remaining lines are usually ChangeLog-style
+entries for all affected files, except the leading TABs which should
+be omitted.