#
# INSTALL -- installation instructions
#
-# $Id$
-#
--------------
Installing nmh
build instructions for your operating system. To build nmh, you will
need an ANSI C compiler such as gcc.
-1) Run the command
+0) If you have obtained nmh by checking it out of CVS, you will
+ need to run the GNU autotools to regenerate some files.
+ (If your directory already contains a file 'config.h.in'
+ then this has already been done and you do not need to do it.)
+ You can regenerate the files by running the command
+
+ ./autogen.sh
+
+ (Note that if you're doing nmh development, you should look at
+ docs/README.developers, since there is other developer-friendly
+ advice there as well.)
- sh configure [options]
+1) From the top-level source directory, run the command
+
+ ./configure [options]
This will check the configuration of your OS, and create the
include file config.h, as well as the various Makefiles.
most interest are listed in a section below. To see the list
of all available options, you can run
- sh configure --help
+ ./configure --help
2) Look through the user configuration section at the beginning
- of the generated include file `config.h'. All system-specific
- definitions should be sensed automatically now, but you may
+ of the generated include file `config.h'. You may
want to customize some #defines for your environment.
3) make
4) make install
+ Note that if you have [n]mh files in your install directories with
+ the same names as the files being installed, the old ones will get
+ overwritten without any warning. The only directory that isn't
+ true for is the `etc' directory -- in that directory, the previous
+ copy of each <file> will be backed up as <file>.prev if it differs
+ from the newly-installed copy. Watch for any diff output while
+ make is processing that directory to see if you need to merge
+ changes from *.prev files into the new versions.
+
5) Edit the file `mts.conf' (installed in the nmh `etc' directory)
and make any necessary changes for the mail transport interface
you are using.
The default `mts.conf' file assumes you retrieve new mail from
a local (or NFS mounted) maildrop, and send outgoing mail by
injecting the message to a mail transfer agent (such as sendmail)
- on the local machine via SMTP.
-
- If, instead, all your mail sending and receiving occurs on a
- remote POP/SMTP server, you will need to look at the values of the
- variables "localname", "pophost", and "servers":
-
- a) "localname" defines the hostname that nmh considers local.
- If not set, then nmh queries your OS for this value. You will
- want to change this if you wish your e-mail to appear as if it
- originated on the POP server.
-
- b) "pophost" defines the server that runs the POP daemon, and to
- which `inc' and `msgchk' will always query for new mail.
-
- c) "servers" defines the server to which you send outgoing SMTP
- traffic.
-
- If you compile with POP support, but don't want to use it exclusively,
- you can use the `-host' and `-user' options to `inc' and `msgchk'
- rather than hardcoding pophost in `mts.conf'.
+ on the local machine.
Check the `mh-tailor' man page for a list of all the available options
for this file ("masquerade" may be of particular interest).
-6) If you have enabled POP support, make sure that `pop3' (or more
- precisely the value of the define POPSERVICE in config.h) is defined
- in the /etc/services file (or its NIS/NIS+ equivalent) on the client
- machine. It should be something equivalent to "110/tcp". This might
- have already been done when the POP daemon was installed.
-
-7) Edit the file `mhn.defaults' (installed in the nmh `etc' directory).
+6) Edit the file `mhn.defaults' (installed in the nmh `etc' directory).
This file contains the default profile entries for the nmh command
`mhn' and is created by the script `mhn.defaults.sh'. This script
will search a generic path (essentially your $PATH) for programs to
"MH & xmh: Email for Users and Programmers", 3rd edition, by Jerry Peek,
on the Internet at <http://www.ics.uci.edu/~mh/book/mh/confmhn.htm>.
-9) Add an optional global mh.profile, if desired. This profile should be
+7) Add an optional global mh.profile, if desired. This profile should be
placed in the nmh `etc' directory with the name `mh.profile'. This
file will be used to construct the initial .mh_profile of a new nmh
user, but will not be consulted after that.
nmh's binaries (show, inc, comp, ...) are installed here.
--libdir=DIR (DEFAULT is ${prefix}/lib)
- nmh's support binaries (post, slocal, mhl, ...) are installed here.
+ nmh's support binaries (spost, slocal, mhl, ...) are installed here.
--sysconfdir=DIR (DEFAULT is ${prefix}/etc)
nmh's config files (mts.conf, mhn.defaults, ...) are installed here.
Enable debugging support.
--enable-masquerade[='draft_from mmailid username_extension']
- If this option is not specified, the mts.conf file will contain the line
- "masquerade: " (with no value), which may be manually edited later. You
- may find it convenient to specify a value at configure-time, however, so
- that each time nmh is reinstalled, the right value will be there.
+ If this option is disabled, the mts.conf file will contain the
+ line "masquerade: " (with no value), which may be manually edited
+ later. You may find it convenient to specify a value at
+ configure-time, however, so that each time nmh is reinstalled,
+ the right value will be there. By default, it is enabled.
- The above usage shows all three masquerade options being specified, but any
- subset of the three may be specified. If you do want to enable all three,
- you can simply use `configure --enable-masquerade' as a shortcut.
+ The above usage shows the default, with all three masquerade
+ options being specified. Any subset of the three may be
+ specified.
See the mh-tailor(5) man page for full documentation of "masquerade:".
--enable-mhe (DEFAULT)
Add support for the Emacs front-end `mhe'.
---enable-pop
- Enable client-side support for pop.
-
--with-editor=EDITOR (DEFAULT is vi)
specify the full path of the default editor to use. If this
option is not given, then the configuration process will search
nmh command `prompter'. If you specify `prompter', then you don't
need to give the full pathname.
---with-hesiod=PREFIX
- Specify the location of Hesiod.
-
---with-krb4=PREFIX
- Specify the location of Kerberos V4 for KPOP support. You will also need
- to specify the option `--enable-pop'. After running configure, you will
- need to change the POPSERVICE #define in config.h if you want to use KPOP
- exclusively (rather than being able to switch between KPOP and normal
- POP3). See the comments inside config.h for details.
-
---with-mts=MTS (DEFAULT is smtp)
- Specify the mail transport system you want to use. The two
- acceptable options are "smtp" (which is the default), and
- "sendmail".
-
- If you use "smtp", this will enable a direct SMTP (simple
- mail transport protocol) interface in nmh. When sending
- mail, instead of passing the message to the mail transport
- agent, `post' will open a socket connection to the mail
- port on the machine specified in the `mts.conf' file
- (default is localhost), and speak SMTP directly.
-
- If you use "sendmail", then `post' will send messages by
- passing forking a local copy of sendmail. Currently it
- will still speak SMTP with this local copy of sendmail.
-
- If you wish to use a transport agent other than sendmail, you will
- need to use a `sendmail wrapper'.
+--with-locking=LOCKTYPE (DEFAULT is dot)
+ Specify the locking mechanism when attempting to "inc" or
+ "msgchk" a local mail spool. Valid options are "dot",
+ "fcntl", "flock", and "lockf". Of the four, dot-locking
+ requires no special kernel or filesystem support, and simply
+ creates a file called "FILE.lock" to indicate that "FILE" is
+ locked.
+
+ In order to be effective, you should contact the site
+ administrator to find out what locking mechanisms other
+ mail delivery and user programs respect. The most common
+ reason not to use dot-locking is if the mail spool directory
+ is not world- or user-writeable, and thus a lock file cannot
+ be created.
+
+--with-ndbm=LIB (DEFAULT is to autodetect)
+--with-ndbmheader=HEADER (DEFAULT is to autodetect)
+ Specify the header file (eg ndbm.h) and library (eg ndbm) to use
+ to compile against the ndbm database library. By default, configure
+ will try various possibilities until it finds one that works; this
+ option only needs to be specified if the autodetection fails or
+ makes the wrong choice.
+
+ If either of these options is given then the other must also be
+ specified.
--with-pager=PAGER (DEFAULT is more)
Specify the default pager (file lister) to use. If this option
is not given, then the configuration process will search for the
command `more' and use it as the default.
---with-smtpservers='SMTPSERVER1[ SMTPSERVER2...]' (DEFAULT is localhost)
- If this option is not specified, the mts.conf file will contain the line
- "servers: localhost", which may be manually edited later. You may find it
- convenient to specify a value at configure-time, however, so that each time
- nmh is reinstalled, the right value will be there.
-
- See the mh-tailor(5) man page for full documentation of "servers:".
-
--
The nmh team
-nmh-workers@mhost.com
+nmh-workers@nongnu.org