diff options
| author | Wolfram Schneider <wosch@FreeBSD.org> | 1996-05-12 21:02:04 +0000 |
|---|---|---|
| committer | Wolfram Schneider <wosch@FreeBSD.org> | 1996-05-12 21:02:04 +0000 |
| commit | 7d732d1e4fa1f51ad09d3cdd0fe5c8a8c8789bc9 (patch) | |
| tree | 9cff49ef17301e095986d7862ba84279961e0b20 | |
| parent | d7b71c676e8144df99554c15e86e2e6575171913 (diff) | |
Notes
| -rw-r--r-- | gnu/usr.bin/man/makewhatis/Makefile | 8 | ||||
| -rw-r--r-- | gnu/usr.bin/man/makewhatis/makewhatis.local.sh | 35 | ||||
| -rw-r--r-- | gnu/usr.bin/man/makewhatis/makewhatis.perl | 10 | ||||
| -rw-r--r-- | usr.bin/makewhatis/makewhatis.local.sh | 35 |
4 files changed, 84 insertions, 4 deletions
diff --git a/gnu/usr.bin/man/makewhatis/Makefile b/gnu/usr.bin/man/makewhatis/Makefile index 644a3a59b6ed..13f147a08943 100644 --- a/gnu/usr.bin/man/makewhatis/Makefile +++ b/gnu/usr.bin/man/makewhatis/Makefile @@ -1,7 +1,15 @@ MAN1= makewhatis.1 +# MAN8= makewhatis.local.8 + +libexecdir=/usr/libexec +LINKS=${libexecdir}/makewhatis.local ${libexecdir}/catman.local beforeinstall: ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ ${.CURDIR}/makewhatis.perl ${DESTDIR}${BINDIR}/makewhatis + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/makewhatis.local.sh \ + ${DESTDIR}${libexecdir}/makewhatis.local + .include <bsd.prog.mk> diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.local.sh b/gnu/usr.bin/man/makewhatis/makewhatis.local.sh new file mode 100644 index 000000000000..5260e89d84e6 --- /dev/null +++ b/gnu/usr.bin/man/makewhatis/makewhatis.local.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# (c) Wolfram Schneider, Berlin. April 1996. Public Domain. +# +# makewhatis.local - start makewhatis(1) only for file systems +# physically mounted on the system +# +# Running makewhatis from /etc/weekly for rw nfs-mounted /usr may kill +# your NFS server -- all clients start makewhatis at the same time! +# So use this wrapper instead calling makewhatis directly. +# +# PS: this wrapper works also for catman(1) +# +# $Id: makewhatis.local.sh,v 1.2 1996/04/27 12:17:01 wosch Exp $ + +PATH=/bin:/usr/bin:$PATH; export PATH +opt= dirs= localdirs= + +for arg +do + case "$arg" in + -*) opt="$opt $arg";; + *) dirs="$dirs $arg";; + esac +done + +dirs=`echo $dirs | sed 's/:/ /g'` +case X"$dirs" in X) echo "usage: $0 [options] directories ..."; exit 1;; esac + +localdirs=`find -H $dirs -fstype local -type d -prune -print` + +case X"$localdirs" in + X) echo "$0: no local-mounted manual directories found: $dirs" + exit 1;; + *) exec `basename $0 .local` $opt $localdirs;; +esac diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.perl b/gnu/usr.bin/man/makewhatis/makewhatis.perl index 02f11a36eabb..ca3581683c07 100644 --- a/gnu/usr.bin/man/makewhatis/makewhatis.perl +++ b/gnu/usr.bin/man/makewhatis/makewhatis.perl @@ -35,7 +35,7 @@ # # E-Mail: Wolfram Schneider <wosch@cs.tu-berlin.de> # -# $Id: makewhatis.perl,v 1.6 1995/04/01 11:43:09 joerg Exp $ +# $Id: makewhatis.perl,v 1.7 1995/09/10 13:05:52 joerg Exp $ # sub usage { @@ -280,12 +280,14 @@ sub manpagename { return if $name eq $_; } - $name =~ s=\[=\\\[=g; # shit '[' + local($f) = $file; + $f =~ s%/*[^/]+$%%; + foreach (split(/,\s+/, $man)) { s/\(.+//; - ($f = $file) =~ s/$name/$_/; + # a keyword exist as file - return if -e "$f"; + return if -e "$f/$_"; } $man .= ", $name($extension)"; diff --git a/usr.bin/makewhatis/makewhatis.local.sh b/usr.bin/makewhatis/makewhatis.local.sh new file mode 100644 index 000000000000..5260e89d84e6 --- /dev/null +++ b/usr.bin/makewhatis/makewhatis.local.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# (c) Wolfram Schneider, Berlin. April 1996. Public Domain. +# +# makewhatis.local - start makewhatis(1) only for file systems +# physically mounted on the system +# +# Running makewhatis from /etc/weekly for rw nfs-mounted /usr may kill +# your NFS server -- all clients start makewhatis at the same time! +# So use this wrapper instead calling makewhatis directly. +# +# PS: this wrapper works also for catman(1) +# +# $Id: makewhatis.local.sh,v 1.2 1996/04/27 12:17:01 wosch Exp $ + +PATH=/bin:/usr/bin:$PATH; export PATH +opt= dirs= localdirs= + +for arg +do + case "$arg" in + -*) opt="$opt $arg";; + *) dirs="$dirs $arg";; + esac +done + +dirs=`echo $dirs | sed 's/:/ /g'` +case X"$dirs" in X) echo "usage: $0 [options] directories ..."; exit 1;; esac + +localdirs=`find -H $dirs -fstype local -type d -prune -print` + +case X"$localdirs" in + X) echo "$0: no local-mounted manual directories found: $dirs" + exit 1;; + *) exec `basename $0 .local` $opt $localdirs;; +esac |
