Skip to content

Commit e56f161

Browse files
committed
Added support for roll auto-versioning
1 parent 97c12bf commit e56f161

File tree

2 files changed

+104
-1
lines changed

2 files changed

+104
-1
lines changed

version.mk

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ROLLNAME = sdsc
2-
RELEASE = 0
2+
VERSION :=$(shell bash version.sh -v)
3+
RELEASE :=$(shell bash version.sh -h)
34
COLOR = orange
45

56
REDHAT.ROOT = $(PWD)

version.sh

+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#!/bin/sh
2+
3+
ROCKS_VERSION=`cat /etc/rocks-release 2>/dev/null | awk '{print $3}'`
4+
DESC_CMD="git describe --match 'v${ROCKS_VERSION}' 2>/dev/null | sed \"s/v\([0-9\.]*\)-*\([0-9]*\)-*\([0-9a-z]*\)/\1 \2 \3/\""
5+
DESC=`eval ${DESC_CMD}`
6+
#DESC=`git describe --match 'v*' 2>/dev/null | sed "s/v\([0-9\.]*\)-*\([0-9]*\)-*\([0-9a-z]*\)/\1 \2 \3/"`
7+
8+
if [ ! -d "./.git" ] && [ -z "${DESC}" ]
9+
then
10+
# Try to support using the tagged downloads
11+
DESC=`pwd | grep -oe 'sdsc-roll-.\+' | sed 's/sdsc-roll-//g'`
12+
LOCAL_REV="-github_archive"
13+
fi
14+
15+
VERSION=`echo ${DESC} | awk '{ print $1 }' | tr "." " "`
16+
COMMIT=`echo ${DESC} | awk '{ print $2 }'`
17+
HASH=`echo ${DESC} | awk '{ print $3}'`
18+
19+
VERSION_MAJ=`echo ${VERSION} | awk '{ print $1 }'`
20+
if [ -z "${VERSION_MAJ}" ]; then
21+
VERSION_MAJ="0"
22+
fi
23+
24+
VERSION_MIN=`echo ${VERSION} | awk '{ print $2 }'`
25+
if [ -z "${VERSION_MIN}" ]; then
26+
VERSION_MIN="0"
27+
fi
28+
29+
VERSION_DOT=`echo ${VERSION} | awk '{ print $3 }'`
30+
if [ -n "${VERSION_DOT}" ]; then
31+
VERSION_DOT="."${VERSION_DOT}
32+
fi
33+
34+
VERSION_REV=${COMMIT}
35+
if [ -z "${VERSION_REV}" ]; then
36+
VERSION_REV="0"
37+
fi
38+
39+
VERSION_HASH=${HASH}
40+
if [ -z "${VERSION_HASH}" ]; then
41+
VERSION_HASH="g"
42+
fi
43+
44+
45+
#Allow local revision identifiers
46+
#mimicing backports this is "-<identifier>"
47+
if [ -e localversion ]; then
48+
LOCAL_REV=$(cat localversion)
49+
if [ -n "${LOCAL_REV}" ];
50+
then
51+
LOCAL_REV="-${LOCAL_REV}"
52+
fi
53+
fi
54+
55+
while getopts "avmndrh" opt; do
56+
case $opt in
57+
a)
58+
# Major.Minor-Release.Hash
59+
echo "${VERSION_MAJ}.${VERSION_MIN}${VERSION_DOT}-${VERSION_REV}.${VERSION_HASH}"
60+
exit 0
61+
;;
62+
v)
63+
# Major.Minor.Dot Version
64+
echo "${VERSION_MAJ}.${VERSION_MIN}${VERSION_DOT}"
65+
exit 0
66+
;;
67+
m)
68+
# Major Version
69+
echo "${VERSION_MAJ}"
70+
exit 0
71+
;;
72+
n)
73+
# Minor Version
74+
echo "${VERSION_MIN}"
75+
exit 0
76+
;;
77+
d)
78+
# Dot Version
79+
echo `echo ${VERSION_DOT} | cut -d. -f2`
80+
exit 0
81+
;;
82+
r)
83+
# Revision Version
84+
echo "${VERSION_REV}"
85+
exit 0
86+
;;
87+
h)
88+
# Revision Hash
89+
echo "${VERSION_REV}.${VERSION_HASH}"
90+
exit 0
91+
;;
92+
\?)
93+
echo "Invalid option: -$OPTARG" >&2
94+
exit 1
95+
;;
96+
esac
97+
done
98+
99+
VERSION="${VERSION_MAJ}.${VERSION_MIN}.${VERSION_REV}${LOCAL_REV}"
100+
101+
echo $VERSION
102+

0 commit comments

Comments
 (0)