Lines 39-53
Link Here
|
39 |
RELEASE="${REVISION}-${BRANCH}" |
39 |
RELEASE="${REVISION}-${BRANCH}" |
40 |
VERSION="${TYPE} ${RELEASE}" |
40 |
VERSION="${TYPE} ${RELEASE}" |
41 |
|
41 |
|
|
|
42 |
# These are here so we don't have to work in reverse later on. |
43 |
SRCDIR=$(dirname $0)/../.. |
44 |
SYSDIR=${SRCDIR}/sys |
45 |
|
42 |
if [ "X${PARAMFILE}" != "X" ]; then |
46 |
if [ "X${PARAMFILE}" != "X" ]; then |
43 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
47 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
44 |
${PARAMFILE}) |
48 |
${PARAMFILE}) |
45 |
else |
49 |
else |
46 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
50 |
RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \ |
47 |
$(dirname $0)/../sys/param.h) |
51 |
${SYSDIR}/sys/param.h) |
48 |
fi |
52 |
fi |
49 |
|
53 |
|
50 |
|
|
|
51 |
b=share/examples/etc/bsd-style-copyright |
54 |
b=share/examples/etc/bsd-style-copyright |
52 |
year=`date '+%Y'` |
55 |
year=`date '+%Y'` |
53 |
# look for copyright template |
56 |
# look for copyright template |
Lines 78-142
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 |
case "$d" in |
91 |
if [ -d "${SRCDIR}/.svn" -o -d "${SYSDIR}/.svn" ]; then |
91 |
*/sys/*) |
92 |
for dir in /usr/bin ${LOCALBASE:-/usr/local}/bin; do |
92 |
SRCDIR=${d##*obj} |
93 |
if [ -x "${dir}/svn" ]; then |
93 |
if [ -n "$MACHINE" ]; then |
94 |
svnversion=${dir}/svnversion |
94 |
SRCDIR=${SRCDIR##/$MACHINE} |
95 |
break |
|
|
96 |
fi |
97 |
done |
98 |
if [ -n "$svnversion" ] ; then |
99 |
svnrev=" r`cd ${SYSDIR} && $svnversion`" |
95 |
fi |
100 |
fi |
96 |
SRCDIR=${SRCDIR%%/sys/*} |
101 |
fi |
97 |
|
102 |
|
98 |
for dir in /bin /usr/bin /usr/local/bin; do |
103 |
if [ -d "${SRCDIR}/.hg" -o -d "${SYSDIR}/.hg" ]; then |
99 |
if [ -d "${SRCDIR}/sys/.svn" -a -x "${dir}/svnversion" ] ; then |
104 |
for dir in /usr/bin ${LOCALBASE:-/usr/local}/bin; do |
100 |
svnversion=${dir}/svnversion |
105 |
if [ -x "${dir}/hg" ]; then |
|
|
106 |
hg=${dir}/hg |
101 |
break |
107 |
break |
102 |
fi |
108 |
fi |
103 |
if [ -d "${SRCDIR}/.git" -a -x "${dir}/git" ] ; then |
109 |
done |
104 |
git_cmd="${dir}/git --git-dir=${SRCDIR}/.git" |
110 |
if [ -n "$hg" ]; then |
|
|
111 |
hgrev=" `cd ${SYSDIR} && $hg tip --template '{rev}:{node|short}'`" |
112 |
fi |
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 |
105 |
break |
125 |
break |
106 |
fi |
126 |
fi |
107 |
done |
127 |
done |
108 |
|
128 |
|
109 |
if [ -n "$svnversion" ] ; then |
129 |
if [ -n "$git" ] ; then |
110 |
svn=" r`cd ${SRCDIR}/sys && $svnversion`" |
130 |
gitrev="`$git rev-parse --verify --short HEAD 2>/dev/null`" |
111 |
fi |
131 |
gitsvnrev="`$git svn find-rev $gitrev 2>/dev/null`" |
112 |
if [ -n "$git_cmd" ] ; then |
132 |
if [ -n "${gitsvnrev}" ] ; then |
113 |
git=`$git_cmd rev-parse --verify --short HEAD 2>/dev/null` |
133 |
svnrev=" r${gitsvnrev}" |
114 |
svn=`$git_cmd svn find-rev $git 2>/dev/null` |
134 |
gitrev=" ${gitrev}" |
115 |
if [ -n "$svn" ] ; then |
|
|
116 |
svn=" r${svn}" |
117 |
git="=${git}" |
118 |
else |
135 |
else |
119 |
svn=`$git_cmd log | fgrep 'git-svn-id:' | head -1 | \ |
136 |
gitsvnid="`$git log |sed -n '/git-svn-id:/ { |
120 |
sed -n 's/^.*@\([0-9][0-9]*\).*$/\1/p'` |
137 |
s/.*@\([[:digit:]]\{1,\}\).*/\1/p; q; }'`" |
121 |
if [ -n $svn ] ; then |
138 |
if [ -n "${gitsvnid}" ]; then |
122 |
svn=" r${svn}" |
139 |
svnrev=" r${gitsvnid}" |
123 |
git="+${git}" |
140 |
gitrev="+${gitrev}" |
124 |
else |
141 |
else |
125 |
git=" ${git}" |
142 |
gitrev=" ${gitrev}" |
126 |
fi |
143 |
fi |
127 |
fi |
144 |
fi |
128 |
if $git_cmd --work-tree=${SRCDIR} diff-index \ |
145 |
if [ -n "`$git diff-index --name-only HEAD`" ]; then |
129 |
--name-only HEAD | read dummy; then |
146 |
gitrev="${gitrev}-dirty" |
130 |
git="${git}-dirty" |
|
|
131 |
fi |
147 |
fi |
132 |
fi |
148 |
fi |
133 |
;; |
149 |
fi |
134 |
esac |
|
|
135 |
|
150 |
|
136 |
cat << EOF > vers.c |
151 |
cat << EOF > vers.c |
137 |
$COPYRIGHT |
152 |
$COPYRIGHT |
138 |
#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}: ${t}" |
153 |
#define SCCSSTR "@(#)${VERSION} #${v}${svnrev}${gitrev}${hgrev} ${t}" |
139 |
#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" |
140 |
#define RELSTR "${RELEASE}" |
155 |
#define RELSTR "${RELEASE}" |
141 |
|
156 |
|
142 |
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |
157 |
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |
Lines 147-150
Link Here
|
147 |
char kern_ident[] = "${i}"; |
162 |
char kern_ident[] = "${i}"; |
148 |
EOF |
163 |
EOF |
149 |
|
164 |
|
150 |
echo `expr ${v} + 1` > version |
165 |
echo $((${v}+1)) >version |