[asterisk-commits] rmudgett: branch 1.8 r375189 - in /branches/1.8: ./ build_tools/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Oct 18 14:42:58 CDT 2012
Author: rmudgett
Date: Thu Oct 18 14:42:53 2012
New Revision: 375189
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=375189
Log:
build_tools: Allow Asterisk to report git SHAs in version string.
Make git more attractive for managing work-in-progress. Especially
convenient when a potential patch set needs to be tested on multiple
platforms since one can use git to keep all the test environments in sync
independent of a subversion server.
Now the Asterisk version will show the exact git SHA5 that was used when
building (still appended by "M" if there are local modifications) from a
git clone of the Asterisk repository so the developer can more easily know
what is actually under test.
You will now get this:
$ asterisk -V
Asterisk GIT-1698298
Instead of this:
$ asterisk -V
Asterisk UNKNOWN__and_probably_unsupported
This has zero impact for those not using git with the exception of an
extra test in the configure script to gather git's path. This is
necessary to prevent "sudo make install" from failing since git may not be
in the path in make's shell environment.
(closes issue ASTERISK-20483)
Reported by: Shaun Ruffell
Patches:
0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch (license #5417) patch uploaded by Shaun Ruffell
Modified
Modified:
branches/1.8/Makefile
branches/1.8/build_tools/make_version
branches/1.8/configure
branches/1.8/configure.ac
branches/1.8/makeopts.in
Modified: branches/1.8/Makefile
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/Makefile?view=diff&rev=375189&r1=375188&r2=375189
==============================================================================
--- branches/1.8/Makefile (original)
+++ branches/1.8/Makefile Thu Oct 18 14:42:53 2012
@@ -204,7 +204,7 @@
_ASTCFLAGS+=-Wcast-align -DSOLARIS -I../include/solaris-compat -I/opt/ssl/include -I/usr/local/ssl/include -D_XPG4_2 -D__EXTENSIONS__
endif
-ASTERISKVERSION:=$(shell GREP=$(GREP) AWK=$(AWK) build_tools/make_version .)
+ASTERISKVERSION:=$(shell GREP=$(GREP) AWK=$(AWK) GIT=$(GIT) build_tools/make_version .)
ifneq ($(wildcard .version),)
ASTERISKVERSIONNUM:=$(shell $(AWK) -F. '{printf "%01d%02d%02d", $$1, $$2, $$3}' .version)
Modified: branches/1.8/build_tools/make_version
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/build_tools/make_version?view=diff&rev=375189&r1=375188&r2=375189
==============================================================================
--- branches/1.8/build_tools/make_version (original)
+++ branches/1.8/build_tools/make_version Thu Oct 18 14:42:53 2012
@@ -2,7 +2,7 @@
if [ -f ${1}/.version ]; then
cat ${1}/.version
-elif [ -d .svn ]; then
+elif [ -d ${1}/.svn ]; then
PARTS=`LANG=C svn info ${1} | ${GREP} URL | ${AWK} '{print $2;}' | sed -e 's:^.*/svn/asterisk/::' | sed -e 's:/: :g'`
BRANCH=0
TEAM=0
@@ -36,11 +36,7 @@
fi
if [ ${BRANCH} != 0 ] ; then
- if [ -z "${RESULT}" ] ; then
- RESULT="${PART}"
- else
- RESULT="${RESULT}-${PART}"
- fi
+ RESULT="${RESULT}-${PART}"
if [ ${FEATURE} != 0 ] ; then
RESULT="${RESULT}-${FEATURE_NAME}"
fi
@@ -84,6 +80,104 @@
else
echo SVN-${RESULT}-r${REV}${BASE:+-${BASE}}
fi
+elif [ -d ${1}/.git ]; then
+ if [ -z ${GIT} ]; then
+ GIT="git"
+ fi
+
+ if ! command -v ${GIT} >/dev/null 2>&1; then
+ echo "UNKNOWN__and_probably_unsupported"
+ exit 1
+ fi
+ # If the first log commit messages indicates that this is checked into
+ # subversion, we'll just use the SVN- form of the revision.
+ MODIFIED=""
+ SVN_REV=`${GIT} log --pretty=full -1 | grep -F "git-svn-id:" | sed -e "s/.*\@\([^\s]*\)\s.*/\1/g"`
+ if [ -z "$SVN_REV" ]; then
+ VERSION=GIT-`${GIT} describe --long --always --tags --dirty=M 2> /dev/null`
+ if [ $? -ne 0 ]; then
+ if [ "`${GIT} ls-files -m | wc -l`" != "0" ]; then
+ MODIFIED="M"
+ fi
+ # Some older versions of git do not support all the above
+ # options.
+ VERSION=GIT-`${GIT} rev-parse --short --verify HEAD`${MODIFIED}
+ fi
+ echo ${VERSION}
+ else
+ PARTS=`LANG=C ${GIT} log --pretty=full | grep -F "git-svn-id:" | head -1 | awk '{print $2;}' | sed -e s:^.*/svn/$2/:: | sed -e 's:/: :g' | sed -e 's/@.*$//g'`
+ BRANCH=0
+ TEAM=0
+ TAG=0
+ FEATURE=0
+
+ if [ "`${GIT} ls-files -m | wc -l`" != "0" ]; then
+ MODIFIED="M"
+ fi
+
+ for PART in $PARTS ; do
+ if [ ${TAG} != 0 ] ; then
+ if [ "${PART}" = "autotag_for_be" ] ; then
+ continue
+ fi
+ if [ "${PART}" = "autotag_for_sx00i" ] ; then
+ continue
+ fi
+ RESULT="${PART}"
+ break
+ fi
+
+ if [ ${BRANCH} != 0 ] ; then
+ RESULT="${RESULT}-${PART}"
+ if [ ${FEATURE} != 0 ] ; then
+ RESULT="${RESULT}-${FEATURE_NAME}"
+ fi
+ break
+ fi
+
+ if [ ${TEAM} != 0 ] ; then
+ if [ -z "${RESULT}" ] ; then
+ RESULT="${PART}"
+ else
+ RESULT="${RESULT}-${PART}"
+ fi
+ continue
+ fi
+
+ if [ "${PART}" = "certified" ] ; then
+ FEATURE=1
+ FEATURE_NAME="cert"
+ continue
+ fi
+
+ if [ "${PART}" = "branches" ] ; then
+ BRANCH=1
+ RESULT="branch"
+ continue
+ fi
+
+ if [ "${PART}" = "tags" ] ; then
+ TAG=1
+ continue
+ fi
+
+ if [ "${PART}" = "team" ] ; then
+ TEAM=1
+ continue
+ fi
+
+ if [ "${PART}" = "trunk" ]; then
+ echo SVN-trunk-r${SVN_REV}${MODIFIED}
+ exit 0
+ fi
+ done
+
+ if [ ${TAG} != 0 ] ; then
+ echo ${RESULT}
+ else
+ echo SVN-${RESULT##-}-r${SVN_REV}${MODIFIED}
+ fi
+ fi
else
echo "UNKNOWN__and_probably_unsupported"
fi
Modified: branches/1.8/configure.ac
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/configure.ac?view=diff&rev=375189&r1=375188&r2=375189
==============================================================================
--- branches/1.8/configure.ac (original)
+++ branches/1.8/configure.ac Thu Oct 18 14:42:53 2012
@@ -255,6 +255,7 @@
AC_PATH_PROG([KPATHSEA], [kpsewhich], :)
AC_PATH_PROG([XMLLINT], [xmllint], :)
AC_PATH_PROG([XMLSTARLET], [xmlstarlet], :)
+AC_PATH_PROG([GIT], [git], :)
if test "${WGET}" != ":" ; then
DOWNLOAD=${WGET}
else if test "${CURL}" != ":" ; then
Modified: branches/1.8/makeopts.in
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/makeopts.in?view=diff&rev=375189&r1=375188&r2=375189
==============================================================================
--- branches/1.8/makeopts.in (original)
+++ branches/1.8/makeopts.in Thu Oct 18 14:42:53 2012
@@ -34,6 +34,7 @@
MD5=@MD5@
SHA1SUM=@SHA1SUM@
OPENSSL=@OPENSSL@
+GIT=@GIT@
BUILD_PLATFORM=@BUILD_PLATFORM@
BUILD_CPU=@BUILD_CPU@
More information about the asterisk-commits
mailing list