Disable dynamic versionning for releases, and allow generating version out of subversion.

This should be a definitive fix for systems with non-compilant make programs as the version will be taken from $(PACKAGE_VERSION) instead.

At the same time I added code for generating svn-based version strings.
This commit is contained in:
Thomas Guyot-Sionnest 2008-11-26 05:42:48 -05:00
parent ed9a088b37
commit 9bcfa9cded
6 changed files with 32 additions and 22 deletions

View file

@ -19,7 +19,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\"
dist-hook:
make THANKS nagios-plugins.spec pkg/fedora/nagios-plugins.spec
echo ${VERSION} >$(distdir)/version
echo ${VERSION} >$(distdir)/release
install-root:
cd plugins-root && $(MAKE) $@

View file

@ -11,12 +11,8 @@ DEF_VER=1.4.13.git
LF='
'
# First see if there is a version file (included in release tarballs),
# then try git-describe, then default.
if test -f $SRC_ROOT/version
then
VN=`cat $SRC_ROOT/version` || VN="$DEF_VER"
elif test -d $SRC_ROOT/.git -o -f $SRC_ROOT/.git &&
# First try git-describe, then svn info, then default.
if test -d $SRC_ROOT/.git -o -f $SRC_ROOT/.git &&
VN=`cd $SRC_ROOT; git describe --abbrev=4 HEAD 2>/dev/null` &&
case "$VN" in
*$LF*) (exit 1) ;;
@ -27,6 +23,17 @@ elif test -d $SRC_ROOT/.git -o -f $SRC_ROOT/.git &&
esac
then
VN=`echo "$VN" | sed -e 's/^release-//' | sed -e 's/-/./g'`;
elif test -d $SRC_ROOT/.svn -o -f $SRC_ROOT/.svn &&
VN=`cd $SRC_ROOT; svn info 2>/dev/null | grep '^Revision'` &&
case "$VN" in
*$LF*) (exit 1) ;;
Revision:*)
VN=`echo $VN | awk '{print $NF}'`
test "`svn status 2>/dev/null | grep '^[AMD]' | wc -l`" = 0 ||
VN="$VN-dirty" ;;
esac
then
VN=`echo "trunk.$VN" | sed -e 's/-/./g'`;
else
VN="$DEF_VER"
fi

View file

@ -98,6 +98,9 @@ AC_SUBST(PKG_ARCH)
AC_SUBST(REV_DATESTAMP)
AC_SUBST(REV_TIMESTAMP)
dnl Check if version file is present
AM_CONDITIONAL([RELEASE_PRESENT], [test -f release])
dnl Checks for programs.
AC_PATH_PROG(PYTHON,python)
AC_PATH_PROG(SH,sh)

View file

@ -1,13 +1,13 @@
## Process this file with automake to produce Makefile.in
if RELEASE_PRESENT
NP_VERSION = $(PACKAGE_VERSION)
else
NP-VERSION-FILE: .FORCE-NP-VERSION-FILE
@$(SHELL_PATH) $(top_srcdir)/NP-VERSION-GEN
.FORCE-NP-VERSION-FILE:
## This is undocumented and could possibly break in future versions of
## automake. See:
## http://article.gmane.org/gmane.comp.sysutils.automake.general/10036
@am__include@ @am__quote@NP-VERSION-FILE@am__quote@
-include NP-VERSION-FILE
endif
AM_CFLAGS = -DNP_VERSION='"$(NP_VERSION)"'

View file

@ -1,13 +1,13 @@
## Process this file with automake to produce Makefile.in
if RELEASE_PRESENT
NP_VERSION = $(PACKAGE_VERSION)
else
NP-VERSION-FILE: .FORCE-NP-VERSION-FILE
@$(SHELL_PATH) $(top_srcdir)/NP-VERSION-GEN
.FORCE-NP-VERSION-FILE:
## This is undocumented and could possibly break in future versions of
## automake. See:
## http://article.gmane.org/gmane.comp.sysutils.automake.general/10036
@am__include@ @am__quote@NP-VERSION-FILE@am__quote@
-include NP-VERSION-FILE
endif
SUFFIXES = .pl .sh

View file

@ -1,13 +1,13 @@
## Process this file with automake to produce Makefile.in
if RELEASE_PRESENT
NP_VERSION = $(PACKAGE_VERSION)
else
NP-VERSION-FILE: .FORCE-NP-VERSION-FILE
@$(SHELL_PATH) $(top_srcdir)/NP-VERSION-GEN
.FORCE-NP-VERSION-FILE:
## This is undocumented and could possibly break in future versions of
## automake. See:
## http://article.gmane.org/gmane.comp.sysutils.automake.general/10036
@am__include@ @am__quote@NP-VERSION-FILE@am__quote@
-include NP-VERSION-FILE
endif
AM_CFLAGS = -DNP_VERSION='"$(NP_VERSION)"'