Lines 38-44
Link Here
|
38 |
fi |
38 |
fi |
39 |
RELEASE="${REVISION}-${BRANCH}" |
39 |
RELEASE="${REVISION}-${BRANCH}" |
40 |
VERSION="${TYPE} ${RELEASE}" |
40 |
VERSION="${TYPE} ${RELEASE}" |
41 |
SYSDIR=$(dirname $0)/.. |
41 |
|
|
|
42 |
# These are here so we don't have to work in reverse later on. |
43 |
SRCDIR=$(dirname $0)/../.. |
44 |
SYSDIR=${SRCDIR}/sys |
42 |
|
45 |
|
43 |
if [ "X${PARAMFILE}" != "X" ]; then |
46 |
if [ "X${PARAMFILE}" != "X" ]; then |
44 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
47 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
Lines 78-134
Link Here
|
78 |
" |
81 |
" |
79 |
|
82 |
|
80 |
LC_ALL=C; export LC_ALL |
83 |
LC_ALL=C; export LC_ALL |
81 |
if [ ! -r version ] |
84 |
if [ ! -r version ]; then |
82 |
then |
85 |
echo 0 >version |
83 |
echo 0 > version |
|
|
84 |
fi |
86 |
fi |
85 |
|
87 |
|
86 |
touch version |
|
|
87 |
v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date` |
88 |
v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date` |
88 |
i=`${MAKE:-make} -V KERN_IDENT` |
89 |
i=`${MAKE:-make} -V KERN_IDENT` |
89 |
|
90 |
|
90 |
for dir in /bin /usr/bin /usr/local/bin; do |
91 |
if [ -d "${SRCDIR}/.svn" -o -d "${SYSDIR}/.svn" ]; then |
91 |
if [ -d "${SYSDIR}/.svn" -a -x "${dir}/svnversion" ] ; then |
92 |
for dir in /usr/bin ${LOCALBASE:-/usr/local}/bin; do |
92 |
svnversion=${dir}/svnversion |
93 |
if [ -x "${dir}/svn" ]; then |
93 |
break |
94 |
svnversion=${dir}/svnversion |
|
|
95 |
break |
96 |
fi |
97 |
done |
98 |
if [ -n "$svnversion" ] ; then |
99 |
svnrev=" r`cd ${SYSDIR} && $svnversion`" |
94 |
fi |
100 |
fi |
95 |
if [ -d "${SYSDIR}/../.git" -a -x "${dir}/git" ] ; then |
101 |
fi |
96 |
git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" |
102 |
|
97 |
break |
103 |
if [ -d "${SRCDIR}/.hg" -o -d "${SYSDIR}/.hg" ]; then |
|
|
104 |
for dir in /usr/bin ${LOCALBASE:-/usr/local}/bin; do |
105 |
if [ -x "${dir}/hg" ]; then |
106 |
hg=${dir}/hg |
107 |
break |
108 |
fi |
109 |
done |
110 |
if [ -n "$hg" ]; then |
111 |
hgrev=" `cd ${SYSDIR} && $hg tip --template '{rev}:{node|short}'`" |
98 |
fi |
112 |
fi |
99 |
done |
113 |
fi |
|
|
114 |
|
115 |
if [ -d "${SRCDIR}/.git" -o -d "${SYSDIR}/.git" ]; then |
116 |
for dir in /usr/bin ${LOCALBASE:-/usr/local}; do |
117 |
if [ -x "${dir}/git" ]; then |
118 |
if [ -d "${SRCDIR}/.git" ]; then |
119 |
git="${dir}/git --git-dir=${SRCDIR}/.git" |
120 |
git="${git} --work-tree=${SRCDIR}" |
121 |
else |
122 |
git="${dir}/git --git-dir=${SYSDIR}/.git" |
123 |
git="${git} --work-tree=${SYSDIR}" |
124 |
fi |
125 |
break |
126 |
fi |
127 |
done |
100 |
|
128 |
|
101 |
if [ -n "$svnversion" ] ; then |
129 |
if [ -n "$git" ] ; then |
102 |
echo "$svnversion" |
130 |
gitrev="`$git rev-parse --verify --short HEAD 2>/dev/null`" |
103 |
svn=" r`cd ${SYSDIR} && $svnversion`" |
131 |
gitsvnrev="`$git svn find-rev $gitrev 2>/dev/null`" |
104 |
fi |
132 |
if [ -n "${gitsvnrev}" ] ; then |
105 |
|
133 |
svnrev=" r${gitsvnrev}" |
106 |
if [ -n "$git_cmd" ] ; then |
134 |
gitrev=" ${gitrev}" |
107 |
git=`$git_cmd rev-parse --verify --short HEAD 2>/dev/null` |
|
|
108 |
svn=`$git_cmd svn find-rev $git 2>/dev/null` |
109 |
if [ -n "$svn" ] ; then |
110 |
svn=" r${svn}" |
111 |
git="=${git}" |
112 |
else |
113 |
svn=`$git_cmd log | fgrep 'git-svn-id:' | head -1 | \ |
114 |
sed -n 's/^.*@\([0-9][0-9]*\).*$/\1/p'` |
115 |
if [ -n $svn ] ; then |
116 |
svn=" r${svn}" |
117 |
git="+${git}" |
118 |
else |
135 |
else |
119 |
git=" ${git}" |
136 |
gitsvnid="`$git log |sed -n '/git-svn-id:/ { |
|
|
137 |
s/.*@\([[:digit:]]\{1,\}\).*/\1/p; q; }'`" |
138 |
if [ -n "${gitsvnid}" ]; then |
139 |
svnrev=" r${gitsvnid}" |
140 |
gitrev="+${gitrev}" |
141 |
else |
142 |
gitrev=" ${gitrev}" |
143 |
fi |
144 |
fi |
145 |
if [ -n "`$git diff-index --name-only HEAD`" ]; then |
146 |
gitrev="${gitrev}-dirty" |
120 |
fi |
147 |
fi |
121 |
fi |
|
|
122 |
if $git_cmd --work-tree=${SYSDIR}/.. diff-index \ |
123 |
--name-only HEAD | read dummy; then |
124 |
git="${git}-dirty" |
125 |
fi |
148 |
fi |
126 |
fi |
149 |
fi |
127 |
|
150 |
|
128 |
cat << EOF > vers.c |
151 |
cat << EOF > vers.c |
129 |
$COPYRIGHT |
152 |
$COPYRIGHT |
130 |
#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}: ${t}" |
153 |
#define SCCSSTR "@(#)${VERSION} #${v}${svnrev}${gitrev}${hgrev} ${t}" |
131 |
#define VERSTR "${VERSION} #${v}${svn}${git}: ${t}\\n ${u}@${h}:${d}\\n" |
154 |
#define VERSTR "${VERSION} #${v}${svnrev}${gitrev}${hgrev} ${t}\\n ${u}@${h}:${d}\\n" |
132 |
#define RELSTR "${RELEASE}" |
155 |
#define RELSTR "${RELEASE}" |
133 |
|
156 |
|
134 |
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |
157 |
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |
Lines 139-142
Link Here
|
139 |
char kern_ident[] = "${i}"; |
162 |
char kern_ident[] = "${i}"; |
140 |
EOF |
163 |
EOF |
141 |
|
164 |
|
142 |
echo `expr ${v} + 1` > version |
165 |
echo $((${v}+1)) >version |