chiark / gitweb /
Crack down on whitespace badness.
[cfd] / maninst
1 #! /bin/sh
2
3 set -e
4 ext="" mandir=/usr/local/man srcdir=. inst=install mode=644
5 while [ $# -gt 0 ]; do
6   case $1 in
7     -h)
8       echo "$0: [-e EXT] [-d DIR] [-i INSTALL] [-m MODE] [un]install FILE ..."
9       exit 0
10       ;;
11     -e) ext=$2; shift 2 ;;
12     -d) mandir=$2; shift 2 ;;
13     -i) inst=$2; shift 2 ;;
14     -m) mode=$2; shift 2 ;;
15     -s) srcdir=$2; shift 2 ;;
16     --) shift; break ;;
17     -*) echo >&2 "$0: unknown option \`$1'"; exit 1 ;;
18     *) break ;;
19   esac
20 done
21 op=$1; shift
22 case $op in
23   install | uninstall) ;;
24   *) echo >&2 "$0: unknown operation \`$1'"; exit 1 ;;
25 esac
26 for i; do
27   base=`echo "$i" | sed 's:^.*/::'`
28   sec=`echo "$base" | sed 's:^.*\.::'`
29   case $op in
30     install)
31       echo -n " Installing manpage $base$ext"
32       $inst -d "$mandir/man$sec"
33       $inst -m $mode "$srcdir/$i" "$mandir/man$sec/$base$ext"
34       ;;
35     uninstall)
36       rm -f "$mandir/man$sec/$base$ext"
37       ;;
38   esac
39   for l in `sed 's:^\.\\\"  *@::p; d' "$srcdir/$i"`; do
40     case $op in
41       install)
42         if [ "$l.$sec" != "$base" ]; then
43           echo -n "."
44           echo ".so man$sec/$base$ext" >"$mandir/man$sec/$l.$sec$ext"
45           chmod $mode "$mandir/man$sec/$l.$sec$ext"
46         fi
47         ;;
48       uninstall)
49         rm -f "$mandir/man$sec/$l.$sec$ext"
50         ;;
51     esac
52   done
53   case $op in
54     install) echo ;;
55   esac
56 done