From 45c2f3b9f984c67a795f18fd26609599941ac21a Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" <kpfleming@digium.com> Date: Mon, 28 Nov 2005 03:59:39 +0000 Subject: [PATCH] make version-string computation based on SVN branch/revision numbers git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7207 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- Makefile | 22 ++++++++------ build_tools/make_svn_branch_name | 50 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 9 deletions(-) create mode 100755 build_tools/make_svn_branch_name diff --git a/Makefile b/Makefile index 69e57fea41..5c18fca0f7 100755 --- a/Makefile +++ b/Makefile @@ -305,22 +305,26 @@ endif # WITHOUT_ZAPTEL LIBEDIT=editline/libedit.a ifneq ($(wildcard .version),) - ASTERISKVERSION=$(shell cat .version) - ASTERISKVERSIONNUM=$(shell awk -F. '{printf "%02d%02d%02d", $$1, $$2, $$3}' .version) - RPMVERSION=$(shell sed 's/[-\/:]/_/g' .version) + ASTERISKVERSION:=$(shell cat .version) + ASTERISKVERSIONNUM:=$(shell awk -F. '{printf "%02d%02d%02d", $$1, $$2, $$3}' .version) + RPMVERSION:=$(shell sed 's/[-\/:]/_/g' .version) else RPMVERSION=unknown endif -ifneq ($(wildcard CVS),) +# CVS mirrors of SVN have .svnrevision files showing +# which SVN revision they are based on, and .svnbranch +# showing the branch they are made from +ifneq ($(wildcard .svnrevision),) ASTERISKVERSIONNUM=999999 - ifneq ($(wildcard CVS/Tag),) - ASTERISKVERSION=$(shell echo "CVS-`sed 's/^T//g' CVS/Tag`-`date +"%D-%T"`") + ASTERISKVERSION:=SVN-$(shell cat .svnbranch)-r$(shell cat .svnrevision) +else + ifneq ($(wildcard .svn),) + ASTERISKVERSIONNUM=999999 + ASTERISKVERSION=SVN-$(shell build_tools/make_svn_branch_name) else - ASTERISKVERSION=CVS HEAD + ASTERISKVERSIONNUM=000000 endif -else - ASTERISKVERSIONNUM=000000 endif ASTCFLAGS+= $(DEBUG_THREADS) diff --git a/build_tools/make_svn_branch_name b/build_tools/make_svn_branch_name new file mode 100755 index 0000000000..e24ba44ccb --- /dev/null +++ b/build_tools/make_svn_branch_name @@ -0,0 +1,50 @@ +#!/bin/sh + +PARTS=`svn info | grep URL | awk '{print $2;}' | sed -e s:^.*/svn/asterisk/:: | sed -e 's:/: :'` +BRANCH=0 +TEAM=0 + +REV=`svn info | grep -e 'Last Changed Rev' | awk '{print $4;}'` + +if [ "${PARTS}" == "trunk" ] +then + echo 'trunk'-r${REV} + exit 0 +fi + +for PART in $PARTS +do + if [ ${BRANCH} != 0 ] + then + RESULT="${RESULT}-${PART}" + break + fi + + if [ ${TEAM} != 0 ] + then + RESULT="${RESULT}-${PART}" + continue + fi + + if [ "${PART}" == "branches" ] + then + BRANCH=1 + RESULT="branch" + continue + fi + + if [ "${PART}" == "tags" ] + then + BRANCH=1 + RESULT="tag" + continue + fi + + if [ "${PART}" == "team" ] + then + TEAM=1 + continue + fi +done + +echo ${RESULT}-r${REV} -- GitLab