Home | History | Annotate | Line # | Download | only in scripts
genLocInfo revision 1.1.1.2.10.2
      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 	 redhat* | fedora*)
     83 	    lf=loc/redhat
     84 ${V}echo "Looking for <$lf>" >&2
     85 	    if test -f $lf
     86 	    then
     87 		LF=$lf
     88 	    fi
     89 	    ;;
     90 	esac
     91 	;;
     92     esac
     93 
     94     # This might be a good place to see if uname returns "Linux",
     95     # and if so, use a generic file for that.
     96     case "$LF" in
     97      '')
     98 	case "`uname`" in
     99 	 Linux)
    100 	    lf=loc/linux
    101 ${V}echo "Looking for <$lf>" >&2
    102 	    if test -f $lf
    103 	    then
    104 		LF=$lf
    105 	    fi
    106 	    ;;
    107 	esac
    108 	;;
    109     esac
    110 
    111     # Finally, 'legacy'
    112     case "$LF" in
    113      '')
    114 	lf=loc/legacy
    115 ${V}echo "Looking for <$lf>" >&2
    116 	if test -f $lf
    117 	then
    118 	    LF=$lf
    119 	fi
    120 	;;
    121     esac
    122 
    123     case "$LF" in
    124      '')
    125 	echo "No loc/XXX file found!" >&2
    126 	exit 1
    127 	;;
    128     esac
    129     ;;
    130 esac
    131 
    132 ${V}echo "Using <$LF>" >&2
    133 echo "GENLOCINFOFILE=$LF"
    134 
    135 ###
    136 
    137 rm -f $sdir/genLocInfo.rc?
    138 
    139 oIFS=$IFS
    140 IFS=","
    141 
    142 while true
    143 do
    144     if read c d s x
    145     then
    146 	# echo "Got <$c><$d><$s><$x>" >&2
    147 	case "$c" in
    148 	 \#*) continue ;;
    149 	esac
    150 	case "$x" in
    151 	 '') ;;
    152 	 *) echo "Unrecognized input: <$c,$d,$s,$x>" >&2
    153 	    touch $sdir/genLocInfo.rc1
    154 	    continue
    155 	    ;;
    156 	esac
    157 	case "$c,$d,$s" in
    158 	 [Mm][Aa][Nn],,)
    159 	    echo "MANTAGFMT=man"
    160 	    continue
    161 	    ;;
    162 	 [Mm][Dd][Oo][Cc],,)
    163 	    echo "MANTAGFMT=mdoc"
    164 	    continue
    165 	    ;;
    166 	esac
    167 
    168 	case "$c,$d,$s" in
    169 	 *,bin,*)  DB=bin ; DL= ; DS= ; NI= ;;
    170 	 *,libexec,*)  DB= ; DL=libexec ; DS= ; NI= ;;
    171 	 *,noinst,*)  DB= ; DL= ; DS= ; NI=noinst ;;
    172 	 *,sbin,*) DB= ; DL= ; DS=sbin ; NI= ;;
    173 	 *) echo "Unrecognized input: <$c,$d,$s>" >&2
    174 	    touch $sdir/genLocInfo.rc1
    175 	    continue
    176 	    ;;
    177 	esac
    178 	case "$c,$d,$s" in
    179 	 *,*,1) ;;
    180 	 *,*,1m) ;;
    181 	 *,*,1M) ;;
    182 	 *,*,8) ;;
    183 	 *) echo "Unrecognized input: <$c,$d,$s>" >&2
    184 	    touch $sdir/genLocInfo.rc1
    185 	    continue
    186 	    ;;
    187 	esac
    188 
    189 	# Should be OK, mostly...
    190 	C=`echo $c | sed -e 'y/abcdefghijklmnopqrstuvwxyz-/ABCDEFGHIJKLMNOPQRSTUVWXYZ_/'`
    191 	# echo "c: <$c>, C: <$C>, DB: <$DB>, DL: <$DL>, DS: <$DS>" >&2
    192 
    193 	case "$d" in
    194 	 bin)
    195 	    eval ${C}_DB=$c
    196 	    eval ${C}_DL=
    197 	    eval ${C}_DS=
    198 	    eval ${C}_NI=
    199 	    ;;
    200 	 libexec)
    201 	    eval ${C}_DB=
    202 	    eval ${C}_DL=$c
    203 	    eval ${C}_DS=
    204 	    eval ${C}_NI=
    205 	    ;;
    206 	 noinst)
    207 	    eval ${C}_DB=
    208 	    eval ${C}_DL=
    209 	    eval ${C}_DS=
    210 	    eval ${C}_NI=$c
    211 	    ;;
    212 	 sbin)
    213 	    eval ${C}_DB=
    214 	    eval ${C}_DL=
    215 	    eval ${C}_DS=$c
    216 	    eval ${C}_NI=
    217 	    ;;
    218 	 *) echo "$0: installdir <$d> must be bin, sbin, libexec, or noinst" >&2
    219 	    exit 1
    220 	    ;;
    221 	esac
    222 	eval ${C}_MS=$s
    223 
    224 	# echo "<$c> gets installed in <$d> with a <$s> manpage suffix" >&2
    225 	# echo "${C}_DB is <`eval echo '$'${C}_DB`>" >&2
    226 	# echo "${C}_DL is <`eval echo '$'${C}_DL`>" >&2
    227 	# echo "${C}_DS is <`eval echo '$'${C}_DS`>" >&2
    228 	# echo "${C}_NI is <`eval echo '$'${C}_NI`>" >&2
    229 	# echo "${C}_MS is <`eval echo '$'${C}_MS`>" >&2
    230 	echo "${C}_DB=`eval echo '$'${C}_DB`"
    231 	echo "${C}_DL=`eval echo '$'${C}_DL`"
    232 	echo "${C}_DS=`eval echo '$'${C}_DS`"
    233 	echo "${C}_NI=`eval echo '$'${C}_NI`"
    234 	echo "${C}_MS=`eval echo '$'${C}_MS`"
    235 
    236 	touch $sdir/genLocInfo.rc0
    237     else
    238 	break
    239     fi
    240 done < $LF
    241 IFS=$oIFS
    242 
    243 if test -f $sdir/genLocInfo.rc1
    244 then
    245     rm $sdir/genLocInfo.rc?
    246     exit 1
    247 fi
    248 
    249 if test -f $sdir/genLocInfo.rc0
    250 then
    251     rm $sdir/genLocInfo.rc?
    252     echo 'GENLOCINFO=OK'
    253     exit 0
    254 fi
    255 
    256 exit 1
    257