Approved by: roberto, delphij Security: VuXML: 0d0f3050-1f69-11e5-9ba9-d050996490d0 Security: http://bugs.ntp.org/show_bug.cgi?id=2853 Security: https://www.kb.cert.org/vuls/id/668167 Security: http://support.ntp.org/bin/view/Main/SecurityNotice#June_2015_NTP_Security_Vulnerabi
265 lines
4.3 KiB
Bash
Executable File
265 lines
4.3 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
args=`getopt d:f:v $*`
|
|
set -- $args
|
|
|
|
LF=
|
|
V=": "
|
|
|
|
for i
|
|
do
|
|
case "$i" in
|
|
-d) sdir="$2" ; shift 2 ;;
|
|
-f) locfile="$2" ; shift 2 ;;
|
|
-v) V= ; shift ;;
|
|
--) shift ; break ;;
|
|
esac
|
|
done
|
|
|
|
case "$sdir" in
|
|
'')
|
|
sdir=.
|
|
esac
|
|
|
|
case "$locfile" in
|
|
*/*)
|
|
LF=$locfile
|
|
;;
|
|
'')
|
|
;;
|
|
*)
|
|
lf=loc/$locfile
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
# If we have a file to use (ie, LF is not empty) then look for one.
|
|
case "$LF" in
|
|
'')
|
|
PATH=$PATH:libevent/build-aux
|
|
export PATH
|
|
set `scripts/cvo.sh @osname@ @osver@` || exit 1
|
|
|
|
CVO_OSNAME=$1
|
|
CVO_OSVER=$2
|
|
|
|
x=$CVO_OSVER
|
|
|
|
while true
|
|
do
|
|
case "$x" in
|
|
'') break ;;
|
|
esac
|
|
lf=loc/$CVO_OSNAME$x
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
break
|
|
fi
|
|
case "$x" in
|
|
*.*) x=`echo $x | sed -e 's/\.[^.]*$//'` ;;
|
|
*) x= ;;
|
|
esac
|
|
done
|
|
case "$LF" in
|
|
'')
|
|
lf=loc/$CVO_OSNAME
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
esac
|
|
# Handle some "aliases"
|
|
case "$LF" in
|
|
'')
|
|
case "$CVO_OSNAME" in
|
|
raspbian*)
|
|
lf=loc/debian
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
redhat* | fedora*)
|
|
lf=loc/redhat
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
# This might be a good place to see if uname returns "Linux",
|
|
# and if so, use a generic file for that.
|
|
case "$LF" in
|
|
'')
|
|
case "`uname`" in
|
|
Linux)
|
|
lf=loc/linux
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
# Finally, 'legacy'
|
|
case "$LF" in
|
|
'')
|
|
lf=loc/legacy
|
|
${V}echo "Looking for <$lf>" >&2
|
|
if test -f $lf
|
|
then
|
|
LF=$lf
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$LF" in
|
|
'')
|
|
echo "No loc/XXX file found!" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
${V}echo "Using <$LF>" >&2
|
|
echo "GENLOCINFOFILE=$LF"
|
|
|
|
###
|
|
|
|
rm -f $sdir/genLocInfo.rc?
|
|
|
|
oIFS=$IFS
|
|
IFS=","
|
|
|
|
while true
|
|
do
|
|
if read c d s x
|
|
then
|
|
# echo "Got <$c><$d><$s><$x>" >&2
|
|
case "$c" in
|
|
\#*) continue ;;
|
|
esac
|
|
case "$x" in
|
|
'') ;;
|
|
*) echo "Unrecognized input: <$c,$d,$s,$x>" >&2
|
|
touch $sdir/genLocInfo.rc1
|
|
continue
|
|
;;
|
|
esac
|
|
case "$c,$d,$s" in
|
|
[Mm][Aa][Nn],,)
|
|
echo "MANTAGFMT=man"
|
|
continue
|
|
;;
|
|
[Mm][Dd][Oo][Cc],,)
|
|
echo "MANTAGFMT=mdoc"
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
case "$c,$d,$s" in
|
|
*,bin,*) DB=bin ; DL= ; DS= ; NI= ;;
|
|
*,libexec,*) DB= ; DL=libexec ; DS= ; NI= ;;
|
|
*,noinst,*) DB= ; DL= ; DS= ; NI=noinst ;;
|
|
*,sbin,*) DB= ; DL= ; DS=sbin ; NI= ;;
|
|
*) echo "Unrecognized input: <$c,$d,$s>" >&2
|
|
touch $sdir/genLocInfo.rc1
|
|
continue
|
|
;;
|
|
esac
|
|
case "$c,$d,$s" in
|
|
*,*,1) ;;
|
|
*,*,1m) ;;
|
|
*,*,1M) ;;
|
|
*,*,8) ;;
|
|
*) echo "Unrecognized input: <$c,$d,$s>" >&2
|
|
touch $sdir/genLocInfo.rc1
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
# Should be OK, mostly...
|
|
C=`echo $c | sed -e 'y/abcdefghijklmnopqrstuvwxyz-/ABCDEFGHIJKLMNOPQRSTUVWXYZ_/'`
|
|
# echo "c: <$c>, C: <$C>, DB: <$DB>, DL: <$DL>, DS: <$DS>" >&2
|
|
|
|
case "$d" in
|
|
bin)
|
|
eval ${C}_DB=$c
|
|
eval ${C}_DL=
|
|
eval ${C}_DS=
|
|
eval ${C}_NI=
|
|
;;
|
|
libexec)
|
|
eval ${C}_DB=
|
|
eval ${C}_DL=$c
|
|
eval ${C}_DS=
|
|
eval ${C}_NI=
|
|
;;
|
|
noinst)
|
|
eval ${C}_DB=
|
|
eval ${C}_DL=
|
|
eval ${C}_DS=
|
|
eval ${C}_NI=$c
|
|
;;
|
|
sbin)
|
|
eval ${C}_DB=
|
|
eval ${C}_DL=
|
|
eval ${C}_DS=$c
|
|
eval ${C}_NI=
|
|
;;
|
|
*) echo "$0: installdir <$d> must be bin, sbin, libexec, or noinst" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
eval ${C}_MS=$s
|
|
|
|
# echo "<$c> gets installed in <$d> with a <$s> manpage suffix" >&2
|
|
# echo "${C}_DB is <`eval echo '$'${C}_DB`>" >&2
|
|
# echo "${C}_DL is <`eval echo '$'${C}_DL`>" >&2
|
|
# echo "${C}_DS is <`eval echo '$'${C}_DS`>" >&2
|
|
# echo "${C}_NI is <`eval echo '$'${C}_NI`>" >&2
|
|
# echo "${C}_MS is <`eval echo '$'${C}_MS`>" >&2
|
|
echo "${C}_DB=`eval echo '$'${C}_DB`"
|
|
echo "${C}_DL=`eval echo '$'${C}_DL`"
|
|
echo "${C}_DS=`eval echo '$'${C}_DS`"
|
|
echo "${C}_NI=`eval echo '$'${C}_NI`"
|
|
echo "${C}_MS=`eval echo '$'${C}_MS`"
|
|
|
|
touch $sdir/genLocInfo.rc0
|
|
else
|
|
break
|
|
fi
|
|
done < $LF
|
|
IFS=$oIFS
|
|
|
|
if test -f $sdir/genLocInfo.rc1
|
|
then
|
|
rm $sdir/genLocInfo.rc?
|
|
exit 1
|
|
fi
|
|
|
|
if test -f $sdir/genLocInfo.rc0
|
|
then
|
|
rm $sdir/genLocInfo.rc?
|
|
echo 'GENLOCINFO=OK'
|
|
exit 0
|
|
fi
|
|
|
|
exit 1
|