changeset 11603:95f56b9a5977

version-etc: extend for packagers Add three new configure options, intended for packagers: --with-packager="packager name" --with-packager-version="packager-specific version" --with-packager-bug-reports="packager bug reporting" An example with coreutils: $ ./configure \ --with-packager=Gentoo \ --with-packager-bug-report=http://bugs.gentoo.org/ \ --with-packager-version="patchset 1.6" $ ./src/ls --version | head -n3 ls (GNU coreutils) 7.1-dirty Packaged by Gentoo (patchset 1.6) Copyright (C) 2009 Free Software Foundation, Inc. Note that the bug reporting info via --help doesn't show up because coreutils uses its own custom emit_bug_reporting_address() implementation in src/system.h. If it didn't, it'd look like: $ ./src/ls --help | tail -n4 Report bugs to <bug-coreutils@gnu.org>. Report Gentoo bugs to <http://bugs.gentoo.org/>. GNU coreutils home page: <http://www.gnu.org/software/coreutils/>. General help using GNU software: <http://www.gnu.org/gethelp/>. * lib/version-etc.c: Print new information, if provided. * m4/version-etc.m4: New file. * modules/version-etc (Files): Add m4/version-etc.m4. (configure.ac): Add gl_VERSION_ETC. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
author Mike Frysinger <vapier@gentoo.org>
date Sun, 31 May 2009 23:13:38 -0400
parents 41b768a8fa98
children 6855551f304d
files ChangeLog lib/version-etc.c m4/version-etc.m4 modules/version-etc
diffstat 4 files changed, 77 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2009-06-03  Mike Frysinger  <vapier@gentoo.org>
+
+	version-etc: extend for packagers
+	Add three new configure options, intended for packagers:
+	  --with-packager="packager name"
+	  --with-packager-version="packager-specific version"
+	  --with-packager-bug-reports="packager bug reporting"
+	An example with coreutils:
+	  $ ./configure \
+	    --with-packager=Gentoo \
+	    --with-packager-bug-report=http://bugs.gentoo.org/ \
+	    --with-packager-version="patchset 1.6"
+	  $ ./src/ls --version | head -n3
+	  ls (GNU coreutils) 7.1-dirty
+	  Packaged by Gentoo (patchset 1.6)
+	  Copyright (C) 2009 Free Software Foundation, Inc.
+	Note that the bug reporting info via --help doesn't show up because
+	coreutils uses its own custom emit_bug_reporting_address() implementation
+	in src/system.h.  If it didn't, it'd look like:
+	  $ ./src/ls --help | tail -n4
+	  Report bugs to <bug-coreutils@gnu.org>.
+	  Report Gentoo bugs to <http://bugs.gentoo.org/>.
+	  GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
+	  General help using GNU software: <http://www.gnu.org/gethelp/>.
+	* lib/version-etc.c: Print new information, if provided.
+	* m4/version-etc.m4: New file.
+	* modules/version-etc (Files): Add m4/version-etc.m4.
+	(configure.ac): Add gl_VERSION_ETC.
+
 2009-05-31  Bruno Haible  <bruno@clisp.org>
 
 	* tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
--- a/lib/version-etc.c
+++ b/lib/version-etc.c
@@ -59,6 +59,15 @@
   else
     fprintf (stream, "%s %s\n", package, version);
 
+#ifdef PACKAGE_PACKAGER
+# ifdef PACKAGE_PACKAGER_VERSION
+  fprintf (stream, _("Packaged by %s (%s)\n"), PACKAGE_PACKAGER,
+	   PACKAGE_PACKAGER_VERSION);
+# else
+  fprintf (stream, _("Packaged by %s\n"), PACKAGE_PACKAGER);
+# endif
+#endif
+
   /* TRANSLATORS: Translate "(C)" to the copyright symbol
      (C-in-a-circle), if this symbol is available in the user's
      locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
@@ -179,6 +188,10 @@
      "Report translation bugs to <...>\n" with the address for translation
      bugs (typically your translation team's web or email address).  */
   printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+#ifdef PACKAGE_PACKAGER_BUG_REPORTS
+  printf (_("Report %s bugs to <%s>.\n"), PACKAGE_PACKAGER,
+	  PACKAGE_PACKAGER_BUG_REPORTS);
+#endif
   printf (_("%s home page: <http://www.gnu.org/software/%s/>.\n"),
 	  PACKAGE_NAME, PACKAGE);
   fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>.\n"),
new file mode 100644
--- /dev/null
+++ b/m4/version-etc.m4
@@ -0,0 +1,33 @@
+# version-etc.m4 serial 1
+# Copyright (C) 2009 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl $1 - configure flag and define name
+dnl $2 - human readable description
+m4_define([gl_VERSION_ETC_FLAG],
+[dnl
+  AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [$2])],
+    [dnl
+      case $withval in
+	yes|no) ;;
+	*) AC_DEFINE_UNQUOTED(AS_TR_CPP([PACKAGE_$1]), ["$withval"], [$2]) ;;
+      esac
+    ])
+])
+
+AC_DEFUN([gl_VERSION_ETC],
+[dnl
+  gl_VERSION_ETC_FLAG([packager],
+		      [String identifying the packager of this software])
+  gl_VERSION_ETC_FLAG([packager-version],
+		      [Packager-specific version information])
+  gl_VERSION_ETC_FLAG([packager-bug-reports],
+		      [Packager info for bug reports (URL/e-mail/...)])
+  if test "X$with_packager" = "X" && \
+     test "X$with_packager_version$with_packager_bug_reports" != "X"
+  then
+    AC_MSG_ERROR([The --with-packager-{bug-reports,version} options require --with-packager])
+  fi
+])
--- a/modules/version-etc
+++ b/modules/version-etc
@@ -4,12 +4,14 @@
 Files:
 lib/version-etc.h
 lib/version-etc.c
+m4/version-etc.m4
 
 Depends-on:
 gettext-h
 stdarg
 
 configure.ac:
+gl_VERSION_ETC
 
 Makefile.am:
 lib_SOURCES += version-etc.h version-etc.c