From e39ce1c5ae8bd4bcd5a6e6997d994919f402fcf6 Mon Sep 17 00:00:00 2001 From: Jeff Bailey Date: Fri, 14 Mar 2014 08:49:10 +0800 Subject: [PATCH] autotools: Make petitboot autoreconfable The standard way to regenerate the autotools bits is with 'autoreconf', but that doesn't work with our custom bootstrap script. We only need the bootstrap script to generate the version in configure.ac, which we can easily do with m4_esyscmd_s instead. This change allows autoreconfiguration with `autoreconf -f -i`. Includes changes proposed by Yann E. Morin , and modifications from the original patch from Jeremy Kerr Signed-off-by: Jeff Bailey Signed-off-by: Jeremy Kerr --- Makefile.am | 2 +- bootstrap | 45 ++------------------------------- configure.ac.in => configure.ac | 4 ++- version.sh | 34 +++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 45 deletions(-) rename configure.ac.in => configure.ac (98%) create mode 100755 version.sh diff --git a/Makefile.am b/Makefile.am index 42921b3..0eca29c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,7 @@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status libtool -EXTRA_DIST = bootstrap configure.ac.in $(srcdir)/m4 +EXTRA_DIST = version.sh configure.ac $(srcdir)/m4 MAINTAINERCLEANFILES = aclocal.m4 config.* configure configure.ac depcomp \ install-sh ltmain.sh Makefile.in missing ylwrap $(PACKAGE)-*.gz diff --git a/bootstrap b/bootstrap index 91ba8c8..e72dad6 100755 --- a/bootstrap +++ b/bootstrap @@ -1,44 +1,3 @@ -#! /bin/bash -# bootstrap -- Use this script to create generated files from a VCS checkout -# +#!/bin/sh -version= - -if [ "$1" ]; then - version=$1 -elif head=$(git rev-parse --short --verify HEAD 2>/dev/null); then - - # If available, use the git commit revision for the package version. - - # Add a date prefix for easy reading. - # date='2010-11-30 16:36:09 -0800' - - date=$(git log --pretty=format:"%ci" -1 HEAD) - date=${date##20} - date=${date%%:[0-9][0-9] *} - date=${date//-/.} - date=${date// /.} - date=${date//:/.} - - version=$(printf '%s-%s%s' ${date} g ${head}) - - # Add a '-dirty' postfix for uncommitted changes. - - if git diff-index HEAD | read dummy; then - version=`printf '%s%s' ${version} -dirty` - fi -else - # Default to current date and time. - - version="dev-$(date +%y.%m.%d-%H.%M.%S)" -fi - -set -x - -sed -e s,@version@,${version},g configure.ac.in > configure.ac - -aclocal -libtoolize --force --copy -autoheader -automake --add-missing --copy -autoconf +exec autoreconf -f -i diff --git a/configure.ac.in b/configure.ac similarity index 98% rename from configure.ac.in rename to configure.ac index 332c718..3d2ec18 100644 --- a/configure.ac.in +++ b/configure.ac @@ -14,7 +14,9 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -AC_INIT([petitboot], [@version@], [Geoff Levand ]) +AC_INIT([petitboot], + [m4_esyscmd_s([./version.sh])], + [Geoff Levand ]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/version.sh b/version.sh new file mode 100755 index 0000000..eed8d3a --- /dev/null +++ b/version.sh @@ -0,0 +1,34 @@ +#! /bin/bash +# +# version.sh: create a version string for use by configure.ac + +version= + +if head=$(git rev-parse --short --verify HEAD 2>/dev/null); then + + # If available, use the git commit revision for the package version. + + # Add a date prefix for easy reading. + # date='2010-11-30 16:36:09 -0800' + + date=$(git log --pretty=format:"%ci" -1 HEAD) + date=${date##20} + date=${date%%:[0-9][0-9] *} + date=${date//-/.} + date=${date// /.} + date=${date//:/.} + + version=$(printf '%s-%s%s' ${date} g ${head}) + + # Add a '-dirty' postfix for uncommitted changes. + + if git diff-index HEAD | read dummy; then + version=`printf '%s%s' ${version} -dirty` + fi +else + # Default to current date and time. + + version="dev-$(date +%y.%m.%d-%H.%M.%S)" +fi + +echo $version -- 2.39.2