[virt-tools-list] [PATCH virt-viewer] Auto-generate AUTHORS file from GIT logs

Daniel P. Berrange berrange at redhat.com
Wed Feb 13 15:05:04 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

Rather than trying to manually keep track of authors,
just auto-generate the list from GIT logs

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 AUTHORS      | 77 ------------------------------------------------------------
 AUTHORS.in   | 21 +++++++++++++++++
 Makefile.am  | 15 +++++++++---
 acinclude.m4 |  2 +-
 autogen.sh   |  6 +++++
 cfg.mk       | 15 ------------
 6 files changed, 40 insertions(+), 96 deletions(-)
 delete mode 100644 AUTHORS
 create mode 100644 AUTHORS.in

diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index 9f24c26..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,77 +0,0 @@
- Virt Viewer Authors
- ===================
-
-The Virt Viewer application is maintained by
-
-    Daniel P. Berrange <berrange at redhat.com> (Original author)
-    Christophe Fergeau <cfergeau at redhat.com>
-    Marc-André Lureau <marcandre.lureau at redhat.com>
-    Hans de Goede <hdegoede at redhat.com>
-    Michal Privoznik <mprivozn at redhat.com>
-
-With additional patches from:
-
-    Atsushi SAKAI <sakaia at jp.fujitsu.com>
-    Chris Lalancette <clalance at redhat.com>
-    Dave Allan <dallan at redhat.com>
-    Doug Goldstein <cardoe at cardoe.com>
-    Guannan Ren <gren at redhat.com>
-    Guido G\374nther <agx at sigxcpu.org>
-    Hans de Goede <hdegoede at redhat.com>
-    Hiroyuki Kaguchi <fj7025cf at aa.jp.fujitsu.com>
-    Jiri Denemark <Jiri.Denemark at gmail.com>
-    Pavel Raiskup <praiskup at redhat.com>
-    Richard W.M. Jones <rjones at redhat.com>
-    Ronnie Sahlberg <ronniesahlberg at gmail.com>
-    Yann E. MORIN <yann.morin.1998 at anciens.enib.fr>
-    Yonit Halperin <yhalperi at redhat.com>
-    Zeeshan Ali (Khattak) <zeeshanak at gnome.org>
-
-   ...send patches to get your name here...
-
-Translations have been provided by
-
-    <amitakhya at fedoraproject.org>
-    <andreyjktl at fedoraproject.org>
-    <anipeter at fedoraproject.org>
-    <ankit at fedoraproject.org>
-    <aron at fedoraproject.org>
-    <bozzo at fedoraproject.org>
-    <elsupergomez at fedoraproject.org>
-    <enshahar at fedoraproject.org>
-    <fdaluisio at fedoraproject.org>
-    <gcintra at fedoraproject.org>
-    <giallu at fedoraproject.org>
-    <hedda at fedoraproject.org>
-    <htaira at fedoraproject.org>
-    <ifelix at fedoraproject.org>
-    <jassy at fedoraproject.org>
-    <khasida at fedoraproject.org>
-    <kkrothap at fedoraproject.org>
-    <leahliu at fedoraproject.org>
-    <mgiri at fedoraproject.org>
-    <mospina at fedoraproject.org>
-    <mvdz at fedoraproject.org>
-    <rajesh at fedoraproject.org>
-    <raven at fedoraproject.org>
-    <renault at fedoraproject.org>
-    <runab at fedoraproject.org>
-    <samfreemanz at fedoraproject.org>
-    <sandeeps at fedoraproject.org>
-    <shanky at fedoraproject.org>
-    <snicore at fedoraproject.org>
-    <swkothar at fedoraproject.org>
-    <tchuang at fedoraproject.org>
-    <tombo at fedoraproject.org>
-    <tomspur at fedoraproject.org>
-    <warrink at fedoraproject.org>
-    <webappz at fedoraproject.org>
-    <ypoyarko at fedoraproject.org>
-    <yurchor at fedoraproject.org>
-    <zoltanh721 at fedoraproject.org>
-    ...and more...
-
-For full translation credits see the header of the individual
-files in the po/ directory.
-
--- End
diff --git a/AUTHORS.in b/AUTHORS.in
new file mode 100644
index 0000000..e5d7307
--- /dev/null
+++ b/AUTHORS.in
@@ -0,0 +1,21 @@
+ Virt Viewer Authors
+ ===================
+
+The Virt Viewer application is maintained by
+
+    Daniel P. Berrange <berrange at redhat.com> (Original author)
+    Christophe Fergeau <cfergeau at redhat.com>
+    Marc-André Lureau <marcandre.lureau at redhat.com>
+    Hans de Goede <hdegoede at redhat.com>
+    Michal Privoznik <mprivozn at redhat.com>
+
+With additional patches & translations from:
+
+#authorslist#
+
+   ...send patches to get your name here...
+
+For full translation credits see the header of the individual
+files in the po/ directory.
+
+-- End
diff --git a/Makefile.am b/Makefile.am
index 2407b1b..35de950 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,7 @@ EXTRA_DIST =					\
 	build-aux/gitlog-to-changelog		\
 	build-aux/useless-if-before-free	\
 	build-aux/vc-list-files			\
+	AUTHORS.in				\
 	$(NULL)
 
 DISTCLEAN_FILES =				\
@@ -44,11 +45,11 @@ MAINTAINERCLEANFILES =				\
 	$(srcdir)/m4/lt~obsolete.m4		\
 	$(NULL)
 
-dist-hook: gen-ChangeLog
+dist-hook: gen-ChangeLog gen-AUTHORS
 
 # Generate the ChangeLog file (with all entries since the switch to git)
 # and insert it into the directory we're about to use to create a tarball.
-.PHONY: gen-ChangeLog
+.PHONY: gen-ChangeLog gen-AUTHORS
 gen-ChangeLog:
 	if test -d .git || test -d ../.git; then		\
 	  $(top_srcdir)/build-aux/gitlog-to-changelog		\
@@ -57,8 +58,16 @@ gen-ChangeLog:
 	  mv $(distdir)/cl-t $(distdir)/ChangeLog;		\
 	fi
 
+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
+
 if OS_WIN32
-.PHONY: nsis
+.PHONY:: nsis
 nsis:
 	make -C $(builddir)/data virt-viewer-$(VERSION).exe
 endif
diff --git a/acinclude.m4 b/acinclude.m4
index 625413f..a9561c4 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -34,7 +34,7 @@ AC_DEFUN([VIRT_VIEWER_COMPILE_WARNINGS],[
 	try_compiler_flags="$try_compiler_flags -Wall -Wmissing-prototypes -std=c99 -Wnested-externs -Wpointer-arith"
         try_compiler_flags="$try_compiler_flags -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return"
         # Removed -Wstrict-prototypes to avoid GTK bug
-	try_compiler_flags="$try_compiler_flags -Winline -Wredundant-decls -Wno-sign-compare"
+	try_compiler_flags="$try_compiler_flags -Winline -Wredundant-decls -Wno-sign-compare -Wno-deprecated-declarations"
 	if test "$enable_compile_warnings" = "error" ; then
 	    try_compiler_flags="$try_compiler_flags -Werror"
 	fi
diff --git a/autogen.sh b/autogen.sh
index a850132..b8d3c4d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -2,6 +2,7 @@
 # Run this to generate all the initial makefiles, etc.
 
 set -e
+
 srcdir=`dirname $0`
 test -z "$srcdir" && srcdir=.
 
@@ -21,6 +22,11 @@ if test "x$1" = "x--system"; then
     EXTRA_ARGS="--prefix=$prefix --sysconfdir=$sysconfdir --localstatedir=$localstatedir --libdir=$libdir"
 fi
 
+# Real ChangeLog/AUTHORS is auto-generated from GIT logs at
+ # make dist time, but automake requires that it
+ # exists at all times :-(
+touch ChangeLog AUTHORS
+
 intltoolize --force
 autoreconf -vfi
 
diff --git a/cfg.mk b/cfg.mk
index 30392d4..fcba213 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				\
@@ -111,20 +110,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_ at -]\)/\\\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_preprocessor_indentation = ^*/*.[ch]
 exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch]
-- 
1.8.1




More information about the virt-tools-list mailing list