summaryrefslogtreecommitdiff
path: root/libexec/makewhatis/makewhatis.sh
blob: c592f2ce86c43a2090be78e887b954d09699018c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#! /bin/sh
#
# Written by J.T. Conklin <jtc@netbsd.org>.
# Public domain.
#

trap "rm -f /tmp/whatis$$; exit 1" 1 2 15

MANDIR=${1-/usr/share/man}
if test ! -d "$MANDIR"; then 
	echo "makewhatis: $MANDIR: not a directory"
	exit 1
fi

find $MANDIR -type f -name '*.0' -print | while read file
do
	sed -n -f /usr/share/man/makewhatis.sed $file;
done > /tmp/whatis$$

find $MANDIR -type f -name '*.0.Z' -print | while read file
do
	zcat $file | sed -n -f /usr/share/man/makewhatis.sed;
done >> /tmp/whatis$$

find $MANDIR -type f -name '*.0.gz' -print | while read file
do
	gzip -dc $file | sed -n -f /usr/share/man/makewhatis.sed;
done >> /tmp/whatis$$

sort -u -o /tmp/whatis$$ /tmp/whatis$$

install -o bin -g bin -m 444 /tmp/whatis$$ "$MANDIR/whatis.db"
exit 0