summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README286
1 files changed, 286 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..c3af25b
--- /dev/null
+++ b/README
@@ -0,0 +1,286 @@
+README for the man-db manual pager suite
+========================================
+
+Please read the man-db manual, included in the manual subdirectory of this
+distribution. It contains configuration details and other aspects of this
+manual pager suite that are not duplicated or relevant in this README.
+Check manual/README for details of the formatters required.
+
+Read docs/INSTALL.autoconf for generic options to configure.
+Read docs/INSTALL.quick if you know all about man-db.
+Read NEWS for visible changes since the last public release.
+Read ChangeLog for details of recent source code changes.
+Read docs/TODO for future plans.
+
+The C source requires an ANSI C compiler.
+
+
+Copyright and licensing
+=======================
+
+Copyright (C) 1990, 1991 John W. Eaton.
+Copyright (C) 1994, 1995 Markus Armbruster.
+Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
+Copyright (C) 1995 Carl Edman.
+Copyright (C) 1996, 1997, 1998, 2000 Fabrizio Polacco.
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011, 2012, 2013, 2014 Colin Watson.
+Copyright (C) 1984, 1989, 1990, 1991, 1992, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010, 2011, 2012 Free Software Foundation, Inc.
+
+man-db is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+man-db is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with man-db; if not, write to the Free Software Foundation,
+Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+In addition, man-db incorporates Gnulib, copyrighted by the Free Software
+Foundation and others. Note that much of Gnulib is distributed under the GNU
+General Public License version 3 or later. This means that, although
+man-db's own source code is licensed under GPL v2 or later, the work as a
+whole falls under the terms of the GPL v3 or later. Unless you take special
+pains to remove the GPL v3 portions, you must therefore follow the terms and
+conditions of the GPL v3 or later when distributing man-db.
+
+
+Notice regarding current state of FHS (Linux/?BSD)
+==================================================
+
+As of May 13th, 2001, the last public release of the Filesystem Hierarchy
+Standard proposed the root of the manual page hierarchy as `/usr/share' and
+the root of the writable cat hierarchy as `/var/cache/man' for the purposes
+of man->cat filename translation. As such, the following are defined in
+./include/manconfig.h.in:
+
+#define FHS_CAT_ROOT "/var/cache/man" /* required by fsstnd() */
+#define FHS_MAN_ROOT "/usr/share" /* required by fsstnd() */
+
+For compatibility with the old FSSTND, the following locations are also
+defined:
+
+#define CAT_ROOT "/var/catman" /* required by fsstnd() */
+#define MAN_ROOT "/usr" /* required by fsstnd() */
+
+Should these locations change, simply define the paths accordingly and
+recompile. Other FHS changes relating to man/cat paths will not be
+compatible with this version of man-db.
+
+Non-generic arguments to configure
+==================================
+
+To allow the configuration program, configure, to be non-interactive, it can
+be passed various options to alter the default settings. Generic configure
+options are discussed in docs/INSTALL.autoconf. The following list of
+options is extracted from the man-db manual. It is strongly recommended
+that relevant sections of the manual are read if any of these options are
+used.
+
+--enable-cache-owner[=ARG]
+ By default, system-wide cache files will be owned by user man. Use this
+ option with an argument to change the cache file owner.
+
+--disable-cache-owner
+ Use this option to leave the ownership of system-wide cache files
+ unconstrained. Users will be allowed to modify them.
+
+--disable-setuid
+ By default, man will be installed as a setuid program to the user that
+ owns the system-wide cache files. Use this option to install man as a
+ non-setuid program instead.
+
+--enable-mandirs=OS
+ By default, man-db supports manual page directories in any of several
+ layouts used by free and proprietary versions of UNIX. However, in
+ certain cases, this can cause man-db to find the wrong page by mistake,
+ especially when the names of some manual pages on the system contain
+ periods. Use this option with an argument of GNU, HPUX, IRIX, Solaris,
+ or BSD (or more than one of these, separated by commas) to support only
+ the layouts typically used on each of those systems. Note that man-db is
+ not currently capable of writing cat pages in the proper BSD layout.
+
+--with-device=DEVICE
+ Use this flag to alter the default output device used by NROFF. DEVICE is
+ passed to NROFF with the -T option. configure will test that NROFF will
+ run with the supplied device argument.
+
+--with-db=LIBRARY
+ configure will look for database interface libraries in the order gdbm,
+ Berkeley DB and finally ndbm and will #define appropriate variables
+ relative to the first one found. To override the built-in order on
+ platforms having a choice of interface library, use this option to
+ specify which library to use.
+
+--enable-automatic-create
+ If this flag is used, man will automatically create index databases for
+ users' private manual page hierarchies.
+
+--disable-automatic-update
+ Normally, man will update entries in index databases if it finds newly
+ installed manual pages (if the --update flag is used) or delete entries
+ if manual pages are removed. This flag suppresses this behaviour.
+
+--disable-cats
+ Normally, man will automatically try to create cat files corresponding to
+ manual files when a manual page is read. This flag suppresses this
+ behaviour.
+
+
+INSTALL
+=======
+
+Running configure.
+
+ * READ `docs/INSTALL.autoconf' regarding ./configure options
+
+ * RUN `./configure --help' to see what --enable and --with
+ options may be useful.
+
+ * RUN `./configure' with the appropriate options and environment
+ variable settings
+
+BROWSE or EDIT the following files that were created by the configuration
+process.
+
+ * `include/manconfig.h' regarding paths to support programs,
+ the default section list and other specific definitions.
+
+ * `include/comp_src.h' if the default compressor support is
+ inadequate for your requirements. (usually .Z [compress],
+ .z, .gz [gzip])
+
+configure will determine your system's ability to use native language
+support (NLS) message catalogues. You may set the environment variable
+LINGUAS to limit the set of translations installed. LINGUAS should contain
+a space-separated list of two-letter language identifiers. To compile
+man-db with no support for message catalogues, simply pass the --disable-nls
+option to configure. N.B. This is not related to man's ability to display
+NLS manual pages, support for which is compiled in by default.
+
+Running make.
+
+ * RUN `make' to compile man-db with the set of translations chosen
+ when running `./configure'.
+
+Sort out the man-db configuration file.
+
+ * RUN `./src/man -l man/man5/manpath.5' from the root of this
+ distribution to read the man-db configuration file details.
+
+ * EDIT `./src/man_db.conf' to your local requirements.
+
+Install the package.
+
+ * (gain superuser privileges for the rest of the steps)
+
+ * RUN `make install' to install the utilities and manual pages.
+
+Initialise the `index' databases for all manpaths marked as global in the
+man-db configuration file.
+
+ * RUN `mandb' (This step is equivalent to running straycats and
+ makewhatis too).
+
+The following steps are optional / dependent on local conventions.
+
+ * ACKNOWLEDGE any warnings emitted by mandb. Bogus manual pages
+ are not included in the database and may be a waste of space.
+ Those pages without correctly formatted `whatis' lines are
+ included, but will have a whatis entry of "(unknown)"
+
+ * CD tools and RUN `mkcatdirs -t' to see if you have all of the
+ required cat directories. `mkcatdirs' without an option will
+ display a usage message.
+
+ * CD tools and RUN `checkman' with an argument of colon separated
+ manual page hierarchies to cross check for duplicated manual
+ pages. If no argument is given, your default $MANPATH will be
+ used.
+
+ The output of checkman may be piped into a file and used as an
+ argument to `rm', the `is newer than' messages are directed to
+ standard error. e.g. `checkman > dups'
+
+ If you are confident that the duplicates found are indeed
+ duplicates, you can back them up and delete them to save space.
+
+ At this point, running checkman again may yield further duplicates
+ that were ignored the first time.
+
+ * RUN `catman' with appropriate options to create any/all cat files
+ that you would like pre-formatted.
+
+
+Multiple build directories
+==========================
+
+It is possible to build man-db in a directory other than the directory
+containing this file (and all of the program sources). This is particularly
+useful if compiling on multiple architectures or testing various
+configuration options as only a single copy of the sources is required.
+
+To enable this support, simply change directory to where you would like to
+build the package and run the configure program in this directory
+*from there*. Further information about this support can be found in the
+generic install document `docs/INSTALL.autoconf'.
+
+
+Makefile targets and variables
+==============================
+
+The standard GNU Makefile targets: all, install, uninstall, mostlyclean,
+clean, distclean, realclean and TAGS are available in every Makefile-
+supported directory. In addition, the master Makefile has the dist target
+to create a compressed and tarred distribution file.
+
+During the configuration process, `configure' sets the installation
+variables, `prefix' and `exec_prefix'. These are then used to form other
+variables such as `bindir' and `sysconfdir'. To change any of these or
+other standard GNU install variables dynamically, issue the `make' command
+with variable expressions as arguments, eg. `make prefix=/usr/local/packages'
+
+N.B. If prefix=/usr (either statically or dynamically), then sysconfdir=/etc
+instead of the usual $(prefix)/etc. To force sysconfdir to be /usr/etc, set
+it on the make command line.
+
+
+Default preprocessors
+=====================
+
+man-db uses a manual page directed preprocessor system, that is, each manual
+page may request preprocessing by a selection of preprocessors. Some
+systems' manual pages do not come with this information built in. In such
+circumstances, it is advisable to set a default list of preprocessors that
+each manual page should be passed through, so that those requiring special
+processing are readable. To achieve this, set DEFAULT_MANROFFSEQ (found in
+include/manconfig.h) to the appropriate preprocessor string, after running
+configure, but prior to compilation. This is not necessary for the
+following systems whose default preprocessing requirements are known.
+
+ Known not to require DEFAULT_MANROFFSEQ:
+ Linux, SunOS
+ Known to require #define DEFAULT_MANROFFSEQ "t":
+ Ultrix
+ Known to require #define DEFAULT_MANROFFSEQ "te":
+ HP-UX, OSF/1
+
+If unsure of the default preprocessors required by a system, the standard
+system's man(1) manual page may provide an answer.
+
+
+Contacting the maintainer
+=========================
+
+The current maintainer of man-db is Colin Watson <cjwatson@debian.org>.
+Please feel free to contact me with any queries or problems you may have. If
+you are using the Debian GNU/Linux or GNU/Hurd system, I welcome bug reports
+against the man-db package by way of the Debian bug tracking system
+(https://bugs.debian.org/).