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>
Sun, 29 Jun 2014 15:57:19 +0000 (16:57 +0100)
commite024b7a2c50e23311834e6d180e5acc72783b339
tree0840a1550a2295a9f5e1308820a5761503517ffe
parentaec82bb1c94af6d3142cdef0c51f42f38e9be3e0
Use git description as the tinc version.

Instead of using a 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 provides several advantages:
 - Less redundancy: git is now the source of truth for version
   information, no need to store it in the repository itself.
 - Simpler release process: just creating a git tag automatically
   updates the version. No need to change files.
 - More useful version information: 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 would 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")
configure.ac
src/Makefile.am
src/process.c
src/tincctl.c
src/tincd.c
src/version.c
src/version.h