Commit Graph

53 Commits

Author SHA1 Message Date
jdolecek 5147204191 remove - the C version diverged enough for this to not be
full-featured replacement
2002-03-10 20:46:42 +00:00
jdolecek f004775535 fix behaviour if exactly one directory is specified (off-by-one error)
this caused makewhatis behave as if called without arguments at all

Problem reported by Xavier HUMBERT on current-users.
2002-03-10 20:36:10 +00:00
wiz d367bf3547 Grammar and mdoc fixes. 2002-03-08 22:10:00 +00:00
jdolecek 534dd161ea If called without arguments, parse /etc/man.conf and regenerate the whatis
databases specified there. By default, the individual databases
are actually generated by forked children in this case, for
performance reasons. This feature can be switched off by new -f flag.
If the configuration file can't be parsed or doesn't contain any
_whatdb entries, the code falls back to /usr/share/man as before.

Added -C, which allows to specify alternate configuration file. This
  is compatible with apropos(1) and whatis(1) flag of same name.

Update manpage accordingly and document behaviour a bit better.
Also add a HISTORY section, hopefully correct (done using CVS logs).

This solves toolchain/5231 by Tim Rightnour and bin/7696 by Allen Briggs.
2002-03-08 21:59:07 +00:00
jdolecek c8c145f7da Make the whatis enties prefixed with man subdirectory the manpage
appears in, as commonly used for architecture-specific manpages.
The subdirectory is deliberately printed such that the entry is suitable
for cut&paste for man(1).

Fixes bin/9744 by John Hawkinson and misc/14997 by Hiramatsu Yoshifumi.
2002-03-07 20:37:14 +00:00
tv 9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
tron ace258d3b2 Handle ".Xr" commands with text after the section number probably.
This fixes PR bin/15253 by Thomas Klausner.
2002-01-21 12:21:31 +00:00
wiz 02dda53455 Whitespace nit, mark up AUTHORS section, use standard headers, sort sections, end sentences with dots. 2002-01-15 02:24:15 +00:00
christos 94faea123b - fix whitespace nits.
- change error checking philosophy: instead of returning errors to the
  upper layer only to fail silently and exit there, or die of unexpected
  NULL pointers bail out and print an error immediately. Add emalloc/estrdup
  to simplify. This change removed a bunch of code.
- fix size_t/int confusion
- cast argument to isspace(3) to unsigned char
- ? : statement is not an lvalue, so don't take its address.
- unlink the file before we open it, because we chmod it to readonly.
- misc KNF
2002-01-11 18:33:03 +00:00
thorpej 65709d507f Allow this to be built as a host program. 2001-11-29 23:50:12 +00:00
tron 04a7d6cb3e Avoid strange error message in case of corrupted manual page files. 2001-11-23 13:18:54 +00:00
tron 37dcd07159 Strip overstrike characters from input lines while searching for a "NAME"
section in a formatted manual page. "makewhatis" now recognizes and indexes
the OpenSSL manual pages properly. Fixes PR bin/12390 by Hubert Feyrer.
2001-04-10 21:00:00 +00:00
tron 3849906202 Abort parsing and invoke "nroff" if an unsupported macro is found in the
description section of an unformatted manual page. While this makes the
"makewhatis" two times slower in avoids creation of several incorrect
entries in the "whatis.db" database. This fixes PR bin/12535 by
Thomas Klausner.
2001-04-08 14:49:32 +00:00
tron fd7e4484fc - Use ".TH" lines in unformatted manual pages to find correct section
number.
- Always invoke "nroff" if builtin parser for unformatted manual pages
  fails and try to parse formatted manual page.
2001-04-08 14:27:50 +00:00
cgd 65a1026492 convert to use getprogname() 2001-02-19 22:43:42 +00:00
tron 7cae32ff49 Invoke "nroff" with "-S" (safer mode) option because "makewhatis" is
usually invoked by "root".
2000-07-13 06:45:22 +00:00
tron 714c921491 Kill "nroff" process and wait for its terminiation if we can't setup
the "libz" file handle.
2000-07-13 06:29:43 +00:00
tron b238c131ce Optimize invokation of "nroff":
- Redirect standard error to "/dev/null" because "nroff" error messages
  for temporary files aren't really useful.
- Don't let "nroff" open temporary file. Use its file descriptor as
  standard input.
2000-07-13 06:15:03 +00:00
tron e6f40b0f96 Check exit code returned from "nroff" if it is used to convert
unformatted manual pages.
2000-07-10 08:11:31 +00:00
tron 93cb6f8300 Invoke "nroff" and parse its output if an unformatted manual page uses
macros. Fixes PR bin/9083 by Geoff C. Wing.
2000-07-09 23:07:14 +00:00
tron 91e1f3f01b Don't write leading white spaces and directory names to whatis file. 2000-01-24 23:03:54 +00:00
tron e9a72ad0a3 Accept all kind of whitespaces when searching for the end of a nroff
macro.
1999-12-31 14:50:16 +00:00
tron 3434166ef3 Correct and improve nroff macro stripping. Partially fixes PR bin/9083
by Geoff C. Wing.
1999-12-31 14:28:03 +00:00
tron a0ed22ea5f Recognize manual page sections "l" and "n" used by the package system.
This fixes PR bin/8977 by Thilo Manske.
1999-12-11 20:30:30 +00:00
tron 9cc91f68f9 Set file modes of whatis.db database file to 444 like the old script did. 1999-09-25 21:40:58 +00:00
tron a834c2ce72 Fix incorrect error check after writing database file. 1999-09-25 21:25:55 +00:00
tron ceb9bcabf8 Replace shell script for creating whatis.db database with a C program
which is a little bit faster.
1999-09-25 21:17:37 +00:00
cjs 6bfea0ecb9 For install makefile, set DESTDIR on command line rather than in makefile
so it overrides /etc/mk.conf as well as environment variables.
1999-03-30 03:17:26 +00:00
lukem 868ca23db4 remove NOPROG (nothing uses it). however, set MKOBJ=no if appropriate 1999-02-13 23:53:56 +00:00
tv 106fae1a3a ...and clear DESTDIR in fake Makefile. 1998-05-24 03:54:12 +00:00
frueauf 21fc3e02fd Don't ignore compressed unformatted man pages and use $MKWHATIS where
makewhatis.sed should be used.
1998-05-23 14:26:05 +00:00
tv 044f139d81 Use a "smart" lookup of makewhatis.sed. 1998-05-23 13:42:25 +00:00
tv 2a0a609947 Don't try to get at ${DESTDIR} inside /usr/libexec/makewhatis; instead,
supply ${DESTDIR} as part of the command line argument in
src/share/man/Makefile, and use that modified $MANPATH to find
makewhatis.sed.
1998-05-21 11:40:11 +00:00
tron 7c26d20c65 Add support for "${DESTDIR}". 1998-03-21 23:46:00 +00:00
lukem 906cb46ddb cons up a makefile to install whatis.db with FILES= 1998-02-09 01:34:57 +00:00
perry 3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
mrg 02e8f7539b oops! dont clobber the list after building it. (pr#4528 John.P.Darrow@wheaton.edu) 1997-11-18 07:17:09 +00:00
lukem dea85dc703 * remove duplicate inode entries, so files with multiple hard links are
only parsed once; results in a 33% speedup on a p5-200
* order SEE ALSO by section
1997-11-02 14:01:54 +00:00
lukem 7c059b1253 use $TMP and $LIST everywhere, remove $LIST upon successful exit 1997-11-02 01:26:10 +00:00
mrg 3f5509a860 use the updated getNAME(8) now that it has a reasonable output. this
makes makewhatis several orders of magnitude faster for manual sources,
as we now avoid a costly `nroff -mandoc' for each one...
1997-11-01 15:06:09 +00:00
enami acb5c4ac49 - Fix .Nm usage.
- Use .Ar to refer an argument.
1997-10-20 02:41:18 +00:00
lukem 3c17756202 build objdir for manpage. from Dave Huang <khym@bga.com> in [bin/4294] 1997-10-20 02:39:50 +00:00
hubertf c9bf407da0 Add makewhatis.8.
Closes PR 1809 by Robert Dobbs <banshee@gabriella.resort.com>
1997-10-17 20:37:59 +00:00
lukem e8b9c15144 rcsid fascism 1997-10-13 09:28:10 +00:00
perry 72c4d6ba1c now finds symlinked man pages, as submitted by Thorsten Frueauf in pr-3087 1997-08-04 03:01:59 +00:00
christos d59123b39b - Makefile cleanups 1997-03-24 22:15:37 +00:00
thorpej 7f9ea0f2ed Use ${INSTALL}. 1996-10-18 05:45:01 +00:00
jtc 9ae90685f2 Winning Strategies has placed this code in the public domain. 1995-05-11 23:03:44 +00:00
cgd aebbb61b8f support for compressed and gzipped man pages. more or less from
Luke Mewburn <lm@rmit.edu.au>
1994-03-19 08:09:16 +00:00