mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-22 14:30:29 +00:00
b1128f4c89
- fix a problem with the 'install' and 'release' targets README: - added some comments on possible optimizations
245 lines
7.8 KiB
Plaintext
245 lines
7.8 KiB
Plaintext
--------------------------------------------
|
|
Name: manpack
|
|
Version: 3.1
|
|
Author: Devin Reade <gdr@trenco.gno.org>
|
|
Computer: Apple IIgs
|
|
Requires: GNO v2.x
|
|
--------------------------------------------
|
|
|
|
===========
|
|
Description:
|
|
===========
|
|
|
|
Various programs for working with manual pages. This archive includes
|
|
the following utilities. All utilities have their versions lockstepped:
|
|
|
|
apropos locate commands by keyword
|
|
catman format cat pages from man pages
|
|
makewhatis create the whatis database
|
|
man display reference manual pages
|
|
whatis locate commands by name
|
|
|
|
============
|
|
Installation:
|
|
============
|
|
|
|
Type at the command line `dmake install`. You may wish to first
|
|
verify the destination directories in "Makefile.mk". By default
|
|
these are:
|
|
|
|
BINDIR = /usr/bin (apropos, man, and whatis)
|
|
SBINDIR = /usr/sbin (catman, and makewhatis)
|
|
MANDIR = /usr/man (all manual pages)
|
|
|
|
Ensure that all older versions of these programs are deleted.
|
|
They may or may not be in the above directories.
|
|
|
|
If you're building a GNO release in the base builds, then use the
|
|
command `dmake release`.
|
|
|
|
==========
|
|
Legalities:
|
|
==========
|
|
|
|
These utilities are copyright 1995-1998 by Devin Reade <gdr@trenco.gno.org>.
|
|
|
|
They are provided as freeware, and may be distributed by Internet
|
|
archive sites, online services such as Delphi, or BBSes provided that
|
|
the archive remains intact. Permission is granted for distribution
|
|
with GNO and ORCA provided credit for this work is given along
|
|
with any other attributions.
|
|
|
|
Inclusion of these utilities in collections on disk, CD-ROM, or
|
|
other portable media is permitted provided that only a nominal
|
|
fee (not much more than the media cost) is charged. Contact the
|
|
author regarding other commercial distributions.
|
|
|
|
Updates to these utilities may be distributed provided that the source
|
|
and this README file are included. Please follow the coding style
|
|
already in use and document your changes in this file. Better yet,
|
|
email me with your suggested changes and I'll consider incorporating
|
|
them into the base distribution.
|
|
|
|
=======
|
|
CHANGES:
|
|
=======
|
|
|
|
apropos, whatis
|
|
v3.1 (28 Mar 98)
|
|
Incorporated all utilities into the GNO base build. All
|
|
versions are now lockstepped.
|
|
|
|
Searches are no longer case sensitive.
|
|
|
|
v3.0 (24 Jul 95)
|
|
Complete rewrite from scratch by Devin Reade.
|
|
|
|
This version makes use of MANPATH in the same way
|
|
as man(1) v3.0. Similarily, it will also search
|
|
the 17/syscmnd ORCA database.
|
|
|
|
In the previous version, the behavior of apropos was
|
|
identical to that of whatis. This version has been
|
|
fixed so that whatis is case sensitive and searches
|
|
only the manual page names. The apropos search is
|
|
case insensitive and searches the entire database
|
|
entry.
|
|
|
|
v2.1 (1 Jul 92 ?)
|
|
This version is by Mike Horwath and shipped with GNO v1.1.
|
|
Although no version flags or resource forks where provided
|
|
with this release, this release is designated as v2.1
|
|
because it shipped with man(1) v2.1.
|
|
|
|
catman
|
|
v3.1 (28 Mar 98)
|
|
Incorporated all utilities into the GNO base build. All
|
|
versions are now lockstepped.
|
|
|
|
v1.0 (24 Jul 95)
|
|
Initial release. Written from scratch by Devin Reade.
|
|
|
|
makewhatis
|
|
v3.1 (28 Mar 98)
|
|
Incorporated all utilities into the GNO base build. All
|
|
versions are now lockstepped.
|
|
|
|
Don't use binary mode to read the files; this doesn't
|
|
give the right results with the GNO v2.0.6 stdio package
|
|
since we're doing calls to fgets() at times.
|
|
|
|
v1.2 (24 Jul 95)
|
|
Fixed bug where pages in "manl" ending in ".l" (that's
|
|
"ell" in both cases) would be ignored.
|
|
|
|
Added recognition of files compressed with gzip.
|
|
|
|
File compression suffixes are now case sensitive.
|
|
|
|
If none of MANPATH, USRMAN, or MANDIR are defined,
|
|
"/usr/man" will now be used.
|
|
|
|
Fixed a bug where the word SYNOPSIS appearing in the
|
|
description would mangle the database entry.
|
|
|
|
Added a verbose-level-three flag (-v3), which is basically
|
|
the old -v2 flag. The new -v2 is somewhat less verbose
|
|
than it was.
|
|
|
|
v1.1 (29 May 94)
|
|
Makewhatis will now ignore any man page starting with
|
|
".so", in order to eliminate multiple files. The resultant
|
|
blank lines in the whatis database have therefore been
|
|
eliminated.
|
|
|
|
Changed -v flag to {-v1|-v2} for differing stages of verbosity.
|
|
Only error output will be logged with the -l flag.
|
|
|
|
Manual page was updated, to include a correction to the -o
|
|
flag usage and the modification to the -v flag. Descriptions
|
|
of bugs unlikely to be fixed were added. Date and version
|
|
were changed.
|
|
|
|
Fixed bug where input buffer wasn't properly terminated, and
|
|
added checks for buffer overflows.
|
|
|
|
Makewhatis will now display all commands about which the
|
|
manual page is written. For example, if foo.1 described
|
|
both foo(1) and bar(1), and bar.1 was an .so (or .l) link
|
|
to foo.1, then the database entry will have changed from
|
|
|
|
foo (1) - extract and add thingys
|
|
foo, bar (1) - extract and add thingys
|
|
|
|
Makewhatis used to pick up the first NAME string in the file
|
|
as a reference point. Now, any NAME is ignored in any line
|
|
starting with .\" or .TH
|
|
|
|
Filename chapter numbers will now be correctly extracted
|
|
regardless of the existence of .Z, .z, .F, or .f suffixes,
|
|
or of the existence of '.' within the base file name.
|
|
|
|
Makewhatis is now linked with Soenke's gnulib for the
|
|
getopt() function, rather than using the libc version.
|
|
|
|
Stack usage was reduced to 1k. Be aware, though, that a
|
|
fair amount of global storage is used, including three 1k
|
|
buffers.
|
|
|
|
v1.0 (15 May 94)
|
|
Initial release. Written from scratch by Devin Reade.
|
|
|
|
man
|
|
v3.1 (28 Mar 98)
|
|
Incorporated all utilities into the GNO base build. All
|
|
versions are now lockstepped.
|
|
|
|
Searches are no longer case sensitive.
|
|
|
|
v3.0 (24 Jul 95)
|
|
Complete rewrite from scratch by Devin Reade.
|
|
|
|
The -k, -t, -, -f, -M, and -T flags were added.
|
|
|
|
Man now supports the MANPATH environment variable which
|
|
can be a list of paths delimited by either colons or
|
|
spaces.
|
|
|
|
Added sections 3f, l, n, o, and p to searched subdirectories.
|
|
|
|
Added gzip(1) to compress(1) and freeze(1) as allowable
|
|
source compressors.
|
|
|
|
Fixed bug with the .so source command; .so references
|
|
should now (properly) appear as ".so man<section>/<filename>"
|
|
instead of using the full pathname.
|
|
|
|
Updates to apropos v3.0 apply to man when invoked with
|
|
the -k flag.
|
|
|
|
Preprocessing by eqn(1), refer(1), tbl(1), and vgrind(1)
|
|
is not yet supported.
|
|
|
|
v2.1 (1 Jul 92 ?)
|
|
Recognised environment variable USRMAN as well as MANDIR.
|
|
|
|
This version was also by Mike Horwath.
|
|
|
|
v2.0 (Date Unknown)
|
|
This version is by Mike Horwath and shipped with GNO v1.1.
|
|
|
|
It made use of the environment variable MANDIR which had
|
|
to be a single directory.
|
|
|
|
|
|
=====
|
|
TO DO:
|
|
=====
|
|
|
|
Here's a possible optimization option:
|
|
Create a database in the user's home directory that contains a
|
|
list of all man pages and their locations, based on MANPATH.
|
|
Keep a magic number (a checksum or hash?) in the file to see if
|
|
MANPATH has changed. *maybe* check the date of the file against
|
|
the modification date of the respective directories and generate a
|
|
warning if the db is out-of-date.
|
|
|
|
Makewhatis is not very well integrated with the rest of the package;
|
|
there is still duplication of definitions and functions in some files.
|
|
|
|
Man, catman, and makewhatis need to support preformatting for eqn(1),
|
|
vgrind(1), et al.
|
|
|
|
Makewhatis' "verbose" output could be cleaner.
|
|
|
|
Performance analysis has not been done. No doubt some things could
|
|
improve, including some string matching in util.c
|
|
|
|
If the stock getenv(3) function is used (as is done here), then the
|
|
return value should be duplicated (via strdup) rather than just used.
|
|
If the getenv function from the lenviron library is used, this is not
|
|
a concern.
|
|
|
|
Perhaps an "X" version should be done for the Second Sight card. This
|
|
will have to wait a while.
|