4.4BSD/usr/src/contrib/mh-6.8/config/version.sh
: run this script through /bin/sh
: '@(#)$Id: version.sh,v 1.9 1992/01/30 22:20:41 jromine Exp jromine $'
case $# in
0) set "6.6";;
2) flag="$1"; shift;;
esac
OFS="$IFS" IFS=:
for A in rprompt hostname uname who
do
for D in $PATH
do
if [ ! -f $D/$A ]; then
continue
fi
case $A in
rprompt) LOCAL=`$A %h`
;;
hostname) LOCAL=`$A`
;;
uname) LOCAL=`$A -n`
;;
who) LOCAL=`$A am i | sed -e 's%^\(.*\)!.*$%\1%'`
;;
esac
break
done
if [ "x$LOCAL" != x ]; then
break
fi
done
IFS=" "
Patch="../Patchlevel"
if [ ! -r version ]; then echo "0" > version; fi
if [ ! -r ${Patch} ]; then Patch="" ; fi
rm -f version.c
cat version ${Patch} |\
awk -F. '
BEGIN { split ("'"${1}"'", ver, ".");\
major = ver[1]; minor = ver[2]; patch = ver[3]} \
NR == 1 { local = $(NF) } ;\
NR == 2 { patch = $(NF) } ;\
END { local++;\
if (patch > 0) {\
printf "char *version = \"@(#)MH %s.%s.%s #%d[UCI]", \
major, minor, patch, local > "version.c"; \
printf ".ds MH %s.%s.%s #%d[UCI]\n", \
major, minor, patch, local > "../doc/version.rf"; \
printf "MH %s.%s.%s #%d[UCI]\n", major, minor, patch, local ;\
} else {\
printf "char *version = \"@(#)MH %s.%s #%d[UCI] ", \
major, minor, local > "version.c"; \
printf ".ds MH %s.%s #%d[UCI]\n", \
major, minor, local > "../doc/version.rf"; \
printf "MH %s.%s #%d[UCI]\n", major, minor, local ;\
}\
printf "%s.%s.%s.%d\n", major, minor, patch, local > "_version";\
}' && mv _version version
case x${flag} in
x) echo ' ('$LOCAL') of '`date`'";' >> version.c ;;
x-n) echo '";' >> version.c ;;
esac