0
|
1 #! /bin/sh
|
12
|
2 # '@(#)$Id: version.sh,v 1.1.1.1 2005/04/18 14:46:03 kono Exp $'
|
0
|
3
|
|
4 # patch by takada@seraph.ntt.jp and hayashi@kuic.kyoto-u.ac.jp -- 92/12/21
|
|
5 # modified by the assistance of shigeya@foretune.co.jp -- 93/01/29
|
|
6 # modified by MH-plus project
|
|
7
|
|
8 case $# in
|
|
9 0) set "6.6";;
|
|
10 2) flag="$1"; shift;;
|
|
11 esac
|
|
12
|
|
13 OFS="$IFS" IFS=:
|
|
14
|
|
15 for A in rprompt hostname uname who
|
|
16 do
|
|
17 for D in $PATH
|
|
18 do
|
|
19 if [ ! -f $D/$A ]; then
|
|
20 continue
|
|
21 fi
|
|
22 case $A in
|
|
23 rprompt) LOCAL=`$A %h`
|
|
24 ;;
|
|
25 hostname) LOCAL=`$A`
|
|
26 ;;
|
|
27 uname) LOCAL=`$A -n`
|
|
28 ;;
|
|
29 who) LOCAL=`$A am i | sed -e 's%^\(.*\)!.*$%\1%'`
|
|
30 ;;
|
|
31 esac
|
|
32 break
|
|
33 done
|
|
34 if [ "x$LOCAL" != x ]; then
|
|
35 break
|
|
36 fi
|
|
37 done
|
|
38
|
|
39 IFS=" "
|
|
40
|
|
41 if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
|
42 if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
|
43 if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
|
|
44 if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
|
|
45
|
|
46 Patch="../Patchlevel"
|
|
47
|
|
48 if [ ! -r version ]; then echo "0" > version; fi
|
|
49 if [ ! -r ${Patch} ]; then Patch="" ; fi
|
|
50
|
|
51 rm -f version.c
|
|
52
|
|
53 echo "#ifndef JAPAN" > version.c
|
|
54 cp /dev/null version.c.tmp
|
|
55
|
|
56 cat version ${Patch} |\
|
|
57 awk -F. '
|
|
58 BEGIN { split ("'"${1}"'", ver, ".");\
|
|
59 major = ver[1]; minor = ver[2]; patch = ver[3]} \
|
|
60 NR == 1 { local = $(NF) } ;\
|
|
61 NR == 2 { patch = $(NF) } ;\
|
|
62 END { local++;\
|
|
63 if (patch > 0) {\
|
|
64 printf "char *version = \"@(#)MH %s.%s.%s #%d[UCI]", \
|
|
65 major, minor, patch, local > "version.c.tmp"; \
|
|
66 printf ".ds MH %s.%s.%s #%d[UCI]\n", \
|
|
67 major, minor, patch, local > "../doc/version.rf"; \
|
|
68 printf "MH %s.%s.%s #%d[UCI]\n", major, minor, patch, local ;\
|
|
69 } else {\
|
|
70 printf "char *version = \"@(#)MH %s.%s #%d[UCI] ", \
|
|
71 major, minor, local > "version.c.tmp"; \
|
|
72 printf ".ds MH %s.%s #%d[UCI]\n", \
|
|
73 major, minor, local > "../doc/version.rf"; \
|
|
74 printf "MH %s.%s #%d[UCI]\n", major, minor, local ;\
|
|
75 }\
|
|
76 printf "%s.%s.%s.%d\n", major, minor, patch, local > "_version";\
|
|
77 }' && mv _version version
|
|
78 cat version.c.tmp >>version.c
|
|
79 rm -f version.c.tmp
|
|
80 case x${flag} in
|
|
81 x) echo ' ('$LOCAL') of '`date`'";' >> version.c ;;
|
|
82 x-n) echo '";' >> version.c ;;
|
|
83 esac
|
|
84
|
|
85 echo "#else /* JAPAN */" >> version.c
|
|
86
|
|
87 JPPatch="../JPPatchlevel"
|
|
88 if [ ! -r ${JPPatch} ]; then JPPatch="" ; fi
|
|
89
|
|
90 cp /dev/null version.c.tmp
|
|
91 cat version ${Patch} ${JPPatch} |\
|
|
92 awk -F. '
|
|
93 BEGIN { split ("'"${1}"'", ver, ".");\
|
|
94 major = ver[1]; minor = ver[2]; patch = ver[3]} \
|
|
95 NR == 1 { local = $(NF) } ;\
|
|
96 NR == 2 { patch = $(NF) } ;\
|
|
97 NR == 3 { jppatch = $0 } ;\
|
|
98 END { if (patch > 0) {\
|
|
99 printf "char *version = \"@(#)MH %s.%s.%s.JP-%s #%d[UCI]", \
|
|
100 major, minor, patch, jppatch, local >> "version.c.tmp"; \
|
|
101 } else {\
|
|
102 printf "char *version = \"@(#)MH %s.%s.JP-%s #%d[UCI] ", \
|
|
103 major, minor, jppatch, local >> "version.c.tmp"; \
|
|
104 }\
|
|
105 printf "Japanization Plus %s\n", jppatch ; \
|
|
106 }'
|
|
107 cat version.c.tmp >>version.c
|
|
108 rm -f version.c.tmp
|
|
109 case x${flag} in
|
|
110 x) echo ' ('$LOCAL') of '`date`'";' >> version.c ;;
|
|
111 x-n) echo '";' >> version.c ;;
|
|
112 esac
|
|
113 echo "#endif /* JAPAN */" >> "version.c"
|