Home | History | Annotate | Line # | Download | only in scripts
      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
    265