[gtk-vnc] Auto-generate AUTHORS file from GIT logs



commit 877d90b06a79a69b9cfb4241e45cecb94ef7bb7c
Author: Daniel P. Berrange <berrange redhat com>
Date:   Thu Jan 31 12:17:08 2013 +0000

    Auto-generate AUTHORS file from GIT logs
    
    Rather than trying to manually keep track of authors,
    just auto-generate the list from GIT logs
    
    Signed-off-by: Daniel P. Berrange <berrange redhat com>

 AUTHORS      |   79 ----------------------------------------------------------
 AUTHORS.in   |   20 ++++++++++++++
 Makefile.am  |   25 ++++++++++++++---
 autogen.sh   |    4 +-
 cfg.mk       |   15 -----------
 configure.ac |    2 +-
 6 files changed, 43 insertions(+), 102 deletions(-)
---
diff --git a/AUTHORS.in b/AUTHORS.in
new file mode 100644
index 0000000..afb979e
--- /dev/null
+++ b/AUTHORS.in
@@ -0,0 +1,20 @@
+   GTK VNC Authors
+   ===============
+
+GTK VNC was initially written by:
+
+   Anthony Liguori <anthony codemonkey ws>
+   Daniel Berrange <dan berrange com>
+   John Wendell  <jwendell gnome org>
+
+GTK VNC is currently maintained by
+
+   Daniel Berrange <dan berrange com>
+
+Patches have been received from
+
+#authorslist#
+
+    ...send patches to get your name here...
+
+-- End
diff --git a/Makefile.am b/Makefile.am
index 2696cec..8f2c9c8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,6 +22,7 @@ EXTRA_DIST =				\
 	cfg.mk				\
 	GNUmakefile			\
 	maint.mk			\
+	AUTHORS.in			\
 	ChangeLog-old			\
 	$(NULL)
 
@@ -64,10 +65,24 @@ MAINTAINERCLEANFILES = 		\
 GITIGNOREFILES = plugin/gtk-vnc-plugin.la plugin/gtk-vnc-plugin.so
 
 gen_start_date = 2008-12-07
-dist-hook:
-	$(top_srcdir)/build-aux/gitlog-to-changelog           \
-            --since=$(gen_start_date) > $(distdir)/cl-t;      \
-        rm -f $(distdir)/ChangeLog;                           \
-        mv $(distdir)/cl-t $(distdir)/ChangeLog;
+dist-hook: gen-ChangeLog gen-AUTHORS
+
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+	$(AM_V_GEN)if test -d .git; then		\
+	  $(top_srcdir)/build-aux/gitlog-to-changelog	\
+	    --since=$(gen_start_date) > $(distdir)/cl-t;\
+	  rm -f $(distdir)/ChangeLog;			\
+	  mv $(distdir)/cl-t $(distdir)/ChangeLog;	\
+	fi
+
+.PHONY: gen-AUTHORS
+gen-AUTHORS:
+	$(AM_V_GEN)if test -d $(srcdir)/.git; then 			\
+	    out="`cd $(srcdir) && git log --pretty=format:'%aN <%aE>' | sort -u`" && \
+	    perl -p -e "s/#authorslist#// and print '$$out'"		\
+	      < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp &&	\
+	    mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ;		\
+	fi
 
 -include $(top_srcdir)/git.mk
diff --git a/autogen.sh b/autogen.sh
index 508846c..9764ab1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -36,8 +36,8 @@ else
     fi
 fi
 
-# Real changelog is auto-generated from GIT logs at
+# Real ChangeLog/AUTHORS is auto-generated from GIT logs at
 # make dist time, but automake requires that it
 # exists at all times :-(
-touch $srcdir/ChangeLog
+touch $srcdir/ChangeLog $srcdir/AUTHORS
 ACLOCAL_FLAGS="$ACLOCAL_FLAGS" USE_GNOME2_MACROS=1 . gnome-autogen.sh $EXTRA_ARGS "$@"
diff --git a/cfg.mk b/cfg.mk
index a3849ec..524a330 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -18,7 +18,6 @@
 # Tests not to run as part of "make distcheck".
 local-checks-to-skip =			\
   changelog-check			\
-  check-AUTHORS				\
   makefile-check			\
   makefile_path_separator_check		\
   patch-check				\
@@ -109,20 +108,6 @@ sc_copyright_format:
 # We don't use this feature of maint.mk.
 prev_version_file = /dev/null
 
-# Give credit where due:
-# Ensure that each commit author email address (possibly mapped via
-# git log's .mailmap) appears in our AUTHORS file.
-sc_check_author_list:
-	@fail=0;							\
-	for i in $$(git log --pretty=format:%aE%n|sort -u|grep -v '^$$'); do \
-	  sanitized=$$(echo "$$i"|LC_ALL=C sed 's/\([^a-zA-Z0-9_ -]\)/\\\1/g'); \
-	  grep -iq "<$$sanitized>" $(srcdir)/AUTHORS			\
-	    || { printf '%s\n' "$$i" >&2; fail=1; };			\
-	done;								\
-	test $$fail = 1							\
-	  && echo '$(ME): committer(s) not listed in AUTHORS' >&2;	\
-	test $$fail = 0
-
 
 exclude_file_name_regexp--sc_bindtextdomain = ^examples/
 
diff --git a/configure.ac b/configure.ac
index 8766ff1..22402e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
 
 dnl Make automake keep quiet about wildcards & other GNUmake-isms
-AM_INIT_AUTOMAKE([1.10 -Wno-portability])
+AM_INIT_AUTOMAKE([1.10 -Wno-portability dist-xz])
 
 LT_PREREQ([2.2.6])
 LT_INIT([win32-dll disable-static])



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