X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/484a9acf0e463a588cc050229aabf1cb453b89c4..5dce1b38ace6cf61398df3ee4ca5aee0e1dedb5d:/INSTALL diff --git a/INSTALL b/INSTALL index a2e2d618..5f1b88aa 100644 --- a/INSTALL +++ b/INSTALL @@ -2,9 +2,17 @@ # INSTALL -- installation instructions # --------------- -Installing nmh --------------- +-------------------------------- +Installing nmh, guided by script +-------------------------------- +For routine installation on popular platforms, the build_nmh shell +script can be used to guide you through configuration. It will then +build and optionally (with -i) install in the configured location. + + +------------------------ +Installing nmh, manually +------------------------ Please read all of the following instructions before you begin building nmh. @@ -42,24 +50,23 @@ need an ANSI C compiler such as gcc. ./configure --help -2) Look through the user configuration section at the beginning - of the generated include file `config.h'. You may - want to customize some #defines for your environment, though - that is usually unnecessary. Note the configure options below - control some of the #defines. +2) make -3) make +3) (Optional) make check + + This takes a bit of time, around one minute on a modern machine, + but is highly recommended. + + test/inc/test-deb359167 uses valgrind, which detects use of an + uninitialized variable on older Linux distributions such as + Mandriva 2007.0 and CentOS 5.4. That particular failure is + beyond the scope of nmh and can be ignored. 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 will be backed up as .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. + overwritten without any warning. 5) Edit the file `mts.conf' (installed in the nmh `etc' directory) and make any necessary changes for the mail transport interface @@ -86,14 +93,11 @@ need an ANSI C compiler such as gcc. traffic. See the discussion of the --with-smtpserver configure option below. - 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'. + If you don't want to hardcode pophost in `mts.conf', you can use + the `-host' and `-user' options to `inc' and `msgchk'. Check the `mh-tailor' man page for a list of all the available options - for this file ("masquerade" may be of particular interest, though its - default value allows the most flexibility. See the discussion of the - --enable-masquerade configure option below). + for this file. 6) Edit the file `mhn.defaults' (installed in the nmh `etc' directory). This file contains the default profile entries for the nmh command @@ -116,14 +120,7 @@ need an ANSI C compiler such as gcc. "MH & xmh: Email for Users and Programmers", 3rd edition, by Jerry Peek, on the Internet at . -7) make check - - This takes a bit of time, around one minute on a modern machine, - but is highly recommended. If you're going to run it, it must be - run after installation. If you want to run the nmh test suite - prior to installation, use "make distcheck". - -8) 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. @@ -138,7 +135,7 @@ linking that the "configure" script does not know about, by giving "configure" initial values for these on its command line or in its environment. For example, - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + ./configure CC=c99 CFLAGS=-O2 LIBS=-lposix If you wish to add options that are only used at compile time instead of link time, you can use the CPPFLAGS variable: @@ -186,37 +183,17 @@ Options for configure --bindir=DIR (DEFAULT is ${prefix}/bin) 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. +--libexecdir=DIR (DEFAULT is ${prefix}/libexec) + nmh's support binaries (post, slocal, mhl, ...) are installed + in ${libexecdir}/nmh. --sysconfdir=DIR (DEFAULT is ${prefix}/etc) - nmh's config files (mts.conf, mhn.defaults, ...) are installed here. + nmh's config files (mts.conf, mhn.defaults, ...) are installed + in ${sysconfdir}/nmh. --mandir=DIR (DEFAULT is ${prefix}/man) nmh's man pages are installed here. ---enable-debug - Enable debugging support. - ---enable-masquerade[='draft_from mmailid username_extension'] - By default, all three masquerade options are enabled. - - 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. - - See the mh-tailor(5) man page for full documentation of "masquerade:". - - This option will likely be removed in a future version of nmh. - ---enable-pop - Enable client-side support for pop. - ---enable-apop - Enable client-side support for apop (Authenticated 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 @@ -225,17 +202,7 @@ Options for configure 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. 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-locking=LOCKTYPE (DEFAULT is dot) +--with-locking=LOCKTYPE (DEFAULT is based on operating system) 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 @@ -250,13 +217,18 @@ Options for configure is not world- or user-writeable, and thus a lock file cannot be created. +--enable-lockdir=DIR (DEFAULT is disabled) + If dot locking is being used, store all dot-lock files in "DIR". + The default is to store them in the directory of the file being + locked. + --with-mts=MTS (DEFAULT is smtp) - Specify the default mail transport system you want to use. The two - acceptable options are "smtp" (which is the default), and - "sendmail". This value will be put into the mts.conf file. 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. + Specify the default mail transport system you want to use. The three + acceptable options are "smtp" (which is the default), + "sendmail/smtp", and "sendmail/pipe". This value will be put into + the mts.conf file. 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 you use "smtp", this will enable a direct SMTP (simple mail transport protocol) interface in nmh. When sending mail, instead @@ -265,12 +237,14 @@ Options for configure in the `mts.conf' file (default is localhost), and speak SMTP directly. - If you use "sendmail", then `post' will send messages by forking a + If you use "sendmail/smtp", then `post' will send messages by 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'. + If you use "sendmail/pipe", then `post' will open a pipe to the + sendmail program and invoke it with the '-t' and '-i' options + and write the message to sendmail's standard input. Note that + some nmh functionality is not available in this mode. --with-ndbm=LIB (DEFAULT is to autodetect) --with-ndbmheader=HEADER (DEFAULT is to autodetect) @@ -283,12 +257,7 @@ Options for configure 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) +--with-smtpserver='SMTPSERVER' (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, @@ -297,6 +266,24 @@ Options for configure See the mh-tailor(5) man page for full documentation of "servers:". +--with-cyrus-sasl (DEFAULT is to autodetect)) + Enable SASL support for SMTP and POP via the Cyrus SASL library. + This is used for the POP AUTH and SMTP AUTH protocols. This supports + a wide variety of security mechanisms, including Kerberos/GSSAPI. + Session encryption via SASL is supported for both POP and SMTP + (depending on server-side support and the security mechanism in use). + +--with-tls (DEFAULT is to autodetect) + Enable TLS session encryption support for SMTP via the STARTTLS command + and TLS at connection start for both SMTP and POP. + +--with-oauth (DEFAULT is to enable if curl is installed) + Enable OAuth2 authentication for SMTP and POP. + +--with-readline (DEFAULT is to autodetect) + Enable support for readline functionality (command history/editing) at + the WhatNow? prompt. + -- The nmh team nmh-workers@nongnu.org