From 5867f263e2f8d60aab3592300204d5619d61c761 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Tue, 15 Aug 2017 15:18:21 -0400 Subject: [PATCH] Generate version number from git state Copies script from GNU ease.js. * .gitignore: Do not ignore `build-aux/vergen'. * build-aux/vergen: Add file from GNU ease.js. * configure.ac: Use `vergen' to generate version string. --- .gitignore | 3 ++- build-aux/vergen | 44 ++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 5 ++++- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100755 build-aux/vergen diff --git a/.gitignore b/.gitignore index 7634d5d..89c1bde 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # generated by autotools -build-aux/ +build-aux/* +!build-aux/vergen aclocal.m4 autom4te.cache configure diff --git a/build-aux/vergen b/build-aux/vergen new file mode 100755 index 0000000..efef66c --- /dev/null +++ b/build-aux/vergen @@ -0,0 +1,44 @@ +#!/bin/sh +# Generates version string +# +# Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc. +# +# This file is part of GNU ease.js. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# This script has been modified slightly by LoVullo Associates to support +# liza's versioning scheme (`v'-prefixed). +## + +# for distributions +if [ -s version ]; then + cat version + exit +fi + +git rev-parse --show-toplevel >/dev/null 2>&1 || { + echo 'fatal: git repository is not available' +} + +version=$( + git describe --match='v[0-9]\.*' --abbrev=7 HEAD 2>/dev/null \ + | sed 's/^v//' +) + +git update-index -q --refresh +test -z "$( git diff-index --name-only HEAD)" || version="$version-dirty" + +echo -n "$version" + diff --git a/configure.ac b/configure.ac index fb8d969..cc58591 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,10 @@ # along with this program. If not, see . ## -AC_INIT([liza], [1.3.0], [dev@lovullo.com]) +m4_define([ver], m4_esyscmd(build-aux/vergen)) +m4_if(ver, [], [m4_exit(1)]) + +AC_INIT([liza], [ver], [dev@lovullo.com]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign])