From 6fa2870cb33c7793d30df2fc10ecdbe2a0772d3a Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 31 May 2009 23:13:38 -0400 Subject: [PATCH] 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 . Report Gentoo bugs to . GNU coreutils home page: . General help using GNU software: . * 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 --- ChangeLog | 29 +++++++++++++++++++++++++++++ lib/version-etc.c | 13 +++++++++++++ m4/version-etc.m4 | 33 +++++++++++++++++++++++++++++++++ modules/version-etc | 2 ++ 4 files changed, 77 insertions(+) create mode 100644 m4/version-etc.m4 diff --git a/ChangeLog b/ChangeLog index 78667e63d..5bec1daf1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +2009-06-03 Mike Frysinger + + 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 . + Report Gentoo bugs to . + GNU coreutils home page: . + General help using GNU software: . + * 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 * tests/test-alignof.c: Include . Check also 'long double' diff --git a/lib/version-etc.c b/lib/version-etc.c index 2258c2e21..c3b028926 100644 --- a/lib/version-etc.c +++ b/lib/version-etc.c @@ -59,6 +59,15 @@ version_etc_va (FILE *stream, 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 @@ emit_bug_reporting_address (void) "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: .\n"), PACKAGE_NAME, PACKAGE); fputs (_("General help using GNU software: .\n"), diff --git a/m4/version-etc.m4 b/m4/version-etc.m4 new file mode 100644 index 000000000..14d6eb6dc --- /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 +]) diff --git a/modules/version-etc b/modules/version-etc index aac2311eb..589c8c9e6 100644 --- a/modules/version-etc +++ b/modules/version-etc @@ -4,12 +4,14 @@ Print --version and bug-reporting information in a consistent format. 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 -- 2.11.0