From: Simon Ruderich Date: Sun, 18 May 2014 15:20:23 +0000 (+0200) Subject: add option -v to display current version X-Git-Url: https://ruderich.org/simon/gitweb/?p=wall-notify%2Fwall-notify.git;a=commitdiff_plain;h=69c5d0cd4e891afaf104d286f7266559afa5a08e add option -v to display current version This includes the current Git commit id if a git checkout is used. --- diff --git a/.gitignore b/.gitignore index caf945d..2dc54ac 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ /src/.deps/ /src/Makefile /src/Makefile.in +/src/git_version /src/wall-notify /src/wall-notify.o /stamp-h1 diff --git a/man/wall-notify.txt b/man/wall-notify.txt index e059204..4a53825 100644 --- a/man/wall-notify.txt +++ b/man/wall-notify.txt @@ -10,7 +10,7 @@ wall-notify - receive wall messages and pass them to a notification program SYNOPSIS -------- -*wall-notify* ['-X'] ['-m'] 'cmd' ['args'].. +*wall-notify* ['-X'] ['-m'] ['-v'] 'cmd' ['args'].. DESCRIPTION @@ -35,6 +35,9 @@ OPTIONS only messages from root are allowed. Be careful when using this option, it might be abused by local users to send fake messages. +*-v*:: + Display version. + AUTHORS ------- diff --git a/src/Makefile.am b/src/Makefile.am index 5b18bbe..e6a1295 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1 +1,10 @@ bin_PROGRAMS = wall-notify + +# Provide current Git commit id as macro. +AM_CPPFLAGS = -DGIT_VERSION="\"`cat $(srcdir)/git_version`\"" +wall-notify.$(OBJEXT): $(srcdir)/git_version + +$(srcdir)/git_version: $(SOURCES) + test -d $(top_srcdir)/.git && git describe --always >$@ || :>$@ +clean-local: + rm -f $(srcdir)/git_version diff --git a/src/wall-notify.c b/src/wall-notify.c index bd1e8ad..9056af3 100644 --- a/src/wall-notify.c +++ b/src/wall-notify.c @@ -361,11 +361,12 @@ static void *x11_event_loop_thread(void *unused) { #endif static void usage(const char *argv0) { - fprintf(stderr, "usage: %s [-X] [-m] \n", argv0); + fprintf(stderr, "usage: %s [-X] [-m] [-v] \n", argv0); fprintf(stderr, "Pass wall messages to .\n"); fprintf(stderr, "\n"); fprintf(stderr, "-X quit when the current X session terminates\n"); fprintf(stderr, "-m allow messages from normal users (like `mesg y`)\n"); + fprintf(stderr, "-v display version\n"); #ifdef DONT_USE_X11 fprintf(stderr, "\n"); fprintf(stderr, "compiled without X11 support, -X disabled\n"); @@ -392,7 +393,7 @@ int main(int argc, char **argv) { * the optstring with "+" fixes this behaver. This is not POSIX * compatible, but the option should be ignored on other systems. */ - while ((option = getopt(argc, argv, "+Xmh")) != -1) { + while ((option = getopt(argc, argv, "+Xmhv")) != -1) { switch (option) { case 'X': enable_x11 = 1; @@ -403,6 +404,12 @@ int main(int argc, char **argv) { case 'h': usage(argv[0]); break; + case 'v': + printf("%s%s\n", + PACKAGE_STRING, + strlen(GIT_VERSION) ? " (Git " GIT_VERSION ")" : ""); + exit(0); + break; default: fprintf(stderr, "%s: unknown option '%s'!\n\n", argv[0], argv[optind - 1]);