Here's an updated version of the proposed patch, which outputs the version info as something like "zic (tzcode) 2012i"; this follows the GNU coding standards more carefully.
From 89a60086d33916dc355325525b85381033b7e86e Mon Sep 17 00:00:00 2001 From: Paul Eggert <eggert@cs.ucla.edu> Date: Fri, 9 Nov 2012 18:12:22 -0800 Subject: [PATCH] Output version info in a more-typical format.
E.g., "zic (tzcode) 2012i" instead of "tzcode2012i". Thread started by Joseph S. Myers in <http://mm.icann.org/pipermail/tz/2012-November/018439.html>. * Makefile (PACKAGE): New macro. (version.h, tzselect): New constant PKGVERSION, derived from PACKAGE. (tzselect): TZVERSION is now simply VERSION, since PACKAGE is also output. * tzselect.ksh (PKGVERSION): New var, which Makefile substitutes for. (--usage, --version): Exit with nonzero status if we can't output the help or version number. * tzselect.ksh (--version): * zdump.c, zic.c (main): Output versions like this: "zdump (tzcode) 2012i". --- Makefile | 10 +++++++--- tzselect.ksh | 7 ++++--- zdump.c | 2 +- zic.c | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index ea081a3..5a17164 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. +# Package name for the code distribution. +PACKAGE= tzcode + # Version numbers of the code and data distributions. VERSION= 2012i @@ -340,8 +343,8 @@ INSTALL: ALL install date.1 cp date.1 $(MANDIR)/man1/. version.h: - echo >$@ \ - 'static char const TZVERSION[]="tz$(VERSION)";' + (echo 'static char const PKGVERSION[]="($(PACKAGE)) ";' && \ + echo 'static char const TZVERSION[]="$(VERSION)";') >$@ zdump: $(TZDOBJS) $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) @@ -392,8 +395,9 @@ tzselect: tzselect.ksh sed \ -e 's|#!/bin/bash|#!$(KSHELL)|g' \ -e 's|AWK=[^}]*|AWK=$(AWK)|g' \ + -e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \ -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \ - -e 's|\(TZVERSION\)=.*|\1=tz$(VERSION)|' \ + -e 's|\(TZVERSION\)=.*|\1=$(VERSION)|' \ <$? >$@ chmod +x $@ diff --git a/tzselect.ksh b/tzselect.ksh index 279bdf2..51bafc1 100644 --- a/tzselect.ksh +++ b/tzselect.ksh @@ -1,5 +1,6 @@ #!/bin/bash +PKGVERSION='(tzcode) ' TZVERSION=see_Makefile # Ask the user about the time zone, and output the resulting TZ value to stdout. @@ -45,12 +46,12 @@ Select a time zone interactively. Report bugs to tz@iana.org. EOF - exit 0 + exit elif [ "$1" = "--version" ]; then cat <<EOF -tzselect $TZVERSION +tzselect $PKGVERSION$TZVERSION EOF - exit 0 + exit fi # Make sure the tables are readable. diff --git a/zdump.c b/zdump.c index bdbd1d6..626b09d 100644 --- a/zdump.c +++ b/zdump.c @@ -309,7 +309,7 @@ main(int argc, char *argv[]) progname = argv[0]; for (i = 1; i < argc; ++i) if (strcmp(argv[i], "--version") == 0) { - (void) printf("%s\n", TZVERSION); + (void) printf("zdump %s%s\n", PKGVERSION, TZVERSION); exit(EXIT_SUCCESS); } else if (strcmp(argv[i], "--help") == 0) { usage(stdout, EXIT_SUCCESS); diff --git a/zic.c b/zic.c index 35c8d4b..1964a89 100644 --- a/zic.c +++ b/zic.c @@ -462,7 +462,7 @@ main(int argc, char **argv) } for (i = 1; i < argc; ++i) if (strcmp(argv[i], "--version") == 0) { - (void) printf("%s\n", TZVERSION); + (void) printf("zic %s%s\n", PKGVERSION, TZVERSION); exit(EXIT_SUCCESS); } else if (strcmp(argv[i], "--help") == 0) { usage(stdout, EXIT_SUCCESS); -- 1.7.9.5