Use git description as the tinc version.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 29 Jun 2014 14:22:10 +0000 (15:22 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Mon, 4 May 2015 20:38:23 +0000 (21:38 +0100)
commit120e0567cba17eeb57c12a34686fddbbb491b62f
treec736ee1b93c0ce0eb8ccbf7497db0adb234ce0cb
parent95594f47384b60a6f994f0fca6fd9f79b2b283aa
Use git description as the tinc version.

Instead of using the hardcoded version number in configure.ac, this
makes tinc use the live version reported by "git describe",
queried on-the-fly during the build process and regenerated for every
build.

This makes tinc version output more useful, as tinc will now display the
number of commits since the last tag as well as the commit the binary is
built from, following the format described in git-describe(1).

Here's an example of tincd --version output:

  tinc version release-1.1pre10-48-gc149315 (built Jun 29 2014 15:21:10, protocol 17.3)

When building directly from a release tag, this will look like the following:

  tinc version release-1.1pre10 (built Jun 29 2014 15:21:10, protocol 17.3)

(Note that the format is slightly different - because of the way the
tags are named, it says "release-1.1pre10" instead of just "1.1pre10")

If git describe fails (for example when building from a release
tarball), the build automatically falls back to the autoconf-provided
VERSION macro (i.e. the old behavior).
src/Makefile.am
src/process.c
src/tincctl.c
src/tincd.c
src/version.c
src/version.h