]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/sntp/scripts/genLocInfo
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ntp / sntp / scripts / genLocInfo
1 #! /bin/sh
2
3 args=`getopt d:f:v $*`
4 set -- $args
5
6 LF=
7 V=": "
8
9 for i
10 do
11     case "$i" in
12      -d) sdir="$2" ; shift 2 ;;
13      -f) locfile="$2" ; shift 2 ;;
14      -v) V= ; shift ;;
15      --) shift ; break ;;
16     esac
17 done
18
19 case "$sdir" in
20  '')
21     sdir=.
22 esac
23
24 case "$locfile" in
25  */*)
26     LF=$locfile
27     ;;
28  '')
29     ;;
30  *)
31     lf=loc/$locfile
32     if test -f $lf
33     then
34         LF=$lf
35     fi
36     ;;
37 esac
38
39 # If we have a file to use (ie, LF is not empty) then look for one.
40 case "$LF" in
41  '')
42     PATH=$PATH:libevent/build-aux
43     export PATH
44     set `scripts/cvo.sh @osname@ @osver@` || exit 1
45
46     CVO_OSNAME=$1
47     CVO_OSVER=$2
48
49     x=$CVO_OSVER
50
51     while true
52     do
53         case "$x" in
54          '') break ;;
55         esac
56 lf=loc/$CVO_OSNAME$x
57 ${V}echo "Looking for <$lf>" >&2
58         if test -f $lf
59         then
60             LF=$lf
61             break
62         fi
63         case "$x" in
64          *.*) x=`echo $x | sed -e 's/\.[^.]*$//'` ;;
65          *) x= ;;
66         esac
67     done
68     case "$LF" in
69      '')
70         lf=loc/$CVO_OSNAME
71 ${V}echo "Looking for <$lf>" >&2
72         if test -f $lf
73         then
74             LF=$lf
75         fi
76         ;;
77     esac
78     # Handle some "aliases"
79     case "$LF" in
80      '')
81         case "$CVO_OSNAME" in
82          raspbian*)
83             lf=loc/debian
84 ${V}echo "Looking for <$lf>" >&2
85             if test -f $lf
86             then
87                 LF=$lf
88             fi
89             ;;
90          redhat* | fedora*)
91             lf=loc/redhat
92 ${V}echo "Looking for <$lf>" >&2
93             if test -f $lf
94             then
95                 LF=$lf
96             fi
97             ;;
98         esac
99         ;;
100     esac
101
102     # This might be a good place to see if uname returns "Linux",
103     # and if so, use a generic file for that.
104     case "$LF" in
105      '')
106         case "`uname`" in
107          Linux)
108             lf=loc/linux
109 ${V}echo "Looking for <$lf>" >&2
110             if test -f $lf
111             then
112                 LF=$lf
113             fi
114             ;;
115         esac
116         ;;
117     esac
118
119     # Finally, 'legacy'
120     case "$LF" in
121      '')
122         lf=loc/legacy
123 ${V}echo "Looking for <$lf>" >&2
124         if test -f $lf
125         then
126             LF=$lf
127         fi
128         ;;
129     esac
130
131     case "$LF" in
132      '')
133         echo "No loc/XXX file found!" >&2
134         exit 1
135         ;;
136     esac
137     ;;
138 esac
139
140 ${V}echo "Using <$LF>" >&2
141 echo "GENLOCINFOFILE=$LF"
142
143 ###
144
145 rm -f $sdir/genLocInfo.rc?
146
147 oIFS=$IFS
148 IFS=","
149
150 while true
151 do
152     if read c d s x
153     then
154         # echo "Got <$c><$d><$s><$x>" >&2
155         case "$c" in
156          \#*) continue ;;
157         esac
158         case "$x" in
159          '') ;;
160          *) echo "Unrecognized input: <$c,$d,$s,$x>" >&2
161             touch $sdir/genLocInfo.rc1
162             continue
163             ;;
164         esac
165         case "$c,$d,$s" in
166          [Mm][Aa][Nn],,)
167             echo "MANTAGFMT=man"
168             continue
169             ;;
170          [Mm][Dd][Oo][Cc],,)
171             echo "MANTAGFMT=mdoc"
172             continue
173             ;;
174         esac
175
176         case "$c,$d,$s" in
177          *,bin,*)  DB=bin ; DL= ; DS= ; NI= ;;
178          *,libexec,*)  DB= ; DL=libexec ; DS= ; NI= ;;
179          *,noinst,*)  DB= ; DL= ; DS= ; NI=noinst ;;
180          *,sbin,*) DB= ; DL= ; DS=sbin ; NI= ;;
181          *) echo "Unrecognized input: <$c,$d,$s>" >&2
182             touch $sdir/genLocInfo.rc1
183             continue
184             ;;
185         esac
186         case "$c,$d,$s" in
187          *,*,1) ;;
188          *,*,1m) ;;
189          *,*,1M) ;;
190          *,*,8) ;;
191          *) echo "Unrecognized input: <$c,$d,$s>" >&2
192             touch $sdir/genLocInfo.rc1
193             continue
194             ;;
195         esac
196
197         # Should be OK, mostly...
198         C=`echo $c | sed -e 'y/abcdefghijklmnopqrstuvwxyz-/ABCDEFGHIJKLMNOPQRSTUVWXYZ_/'`
199         # echo "c: <$c>, C: <$C>, DB: <$DB>, DL: <$DL>, DS: <$DS>" >&2
200
201         case "$d" in
202          bin)
203             eval ${C}_DB=$c
204             eval ${C}_DL=
205             eval ${C}_DS=
206             eval ${C}_NI=
207             ;;
208          libexec)
209             eval ${C}_DB=
210             eval ${C}_DL=$c
211             eval ${C}_DS=
212             eval ${C}_NI=
213             ;;
214          noinst)
215             eval ${C}_DB=
216             eval ${C}_DL=
217             eval ${C}_DS=
218             eval ${C}_NI=$c
219             ;;
220          sbin)
221             eval ${C}_DB=
222             eval ${C}_DL=
223             eval ${C}_DS=$c
224             eval ${C}_NI=
225             ;;
226          *) echo "$0: installdir <$d> must be bin, sbin, libexec, or noinst" >&2
227             exit 1
228             ;;
229         esac
230         eval ${C}_MS=$s
231
232         # echo "<$c> gets installed in <$d> with a <$s> manpage suffix" >&2
233         # echo "${C}_DB is <`eval echo '$'${C}_DB`>" >&2
234         # echo "${C}_DL is <`eval echo '$'${C}_DL`>" >&2
235         # echo "${C}_DS is <`eval echo '$'${C}_DS`>" >&2
236         # echo "${C}_NI is <`eval echo '$'${C}_NI`>" >&2
237         # echo "${C}_MS is <`eval echo '$'${C}_MS`>" >&2
238         echo "${C}_DB=`eval echo '$'${C}_DB`"
239         echo "${C}_DL=`eval echo '$'${C}_DL`"
240         echo "${C}_DS=`eval echo '$'${C}_DS`"
241         echo "${C}_NI=`eval echo '$'${C}_NI`"
242         echo "${C}_MS=`eval echo '$'${C}_MS`"
243
244         touch $sdir/genLocInfo.rc0
245     else
246         break
247     fi
248 done < $LF
249 IFS=$oIFS
250
251 if test -f $sdir/genLocInfo.rc1
252 then
253     rm $sdir/genLocInfo.rc?
254     exit 1
255 fi
256
257 if test -f $sdir/genLocInfo.rc0
258 then
259     rm $sdir/genLocInfo.rc?
260     echo 'GENLOCINFO=OK'
261     exit 0
262 fi
263
264 exit 1