]> diplodocus.org Git - nmh/blobdiff - INSTALL
Fix invalid pointer arithmetic.
[nmh] / INSTALL
diff --git a/INSTALL b/INSTALL
index 04a0c0da79055d2ca03377019f5672ed6089ea8d..c170922194c272933a06d7c41053513cb1384c6b 100644 (file)
--- 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,33 +50,25 @@ 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
 
-4) make test
+   This takes a bit of time, around one minute on a modern machine,
+   but is highly recommended.
 
-   This takes a bit of time (under 2 minutes on a modern machine) but
-   is highly recommended.  "make test" copies your configuration and
-   rebuilds nmh completely in a sandbox, so you can test without
-   disturbing an existing nmh installation or any of your nmh folders.
+   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.
 
-5) make install
+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.
-
-6) Edit the file `mts.conf' (installed in the nmh `etc' directory)
+   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
    you are using.
 
@@ -93,16 +93,13 @@ 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.
 
-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
@@ -123,7 +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 <http://rand-mh.sourceforge.net/book/mh/confmhn.html>.
 
-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,23 +135,18 @@ 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 want to add to, not replace, compile flags, you can use OURDEFS:
-   ./configure OURDEFS='-Wextra -Wno-sign-compare'
+If you wish to add options that are only used at compile time instead of
+link time, you can use the CPPFLAGS variable:
 
-If you want to add to both compile and link flags at build time
-without putting them in the configuration, you can use an otherwise
-unused Makefile macro, like this:
-    make AM_CFLAGS=--coverage
+   ./configure CPPFLAGS='-Wextra -Wno-sign-compare'
 
-That does not include that setting in the configuration, so you will
-have to repeat it if you re-run "make".  One example would be if you
-build the test suite as a separate step:
-    make test AM_CFLAGS=--coverage
+If you want to add to both compile and link flags at build time
+without putting them in the configuration, you can use the AM_CFLAGS
+Makefile macro:
 
-Note that the Makefile test target depends on the default target, so
-both be can built in one step with "make test".
+    make AM_CFLAGS=--coverage
 
 ----------------------------------------
 Building nmh on additional architectures
@@ -177,7 +169,7 @@ run the "configure" script.  "configure" automatically checks for the
 source code in the directory that "configure" is in.  For example,
 
     cd /usr/local/solaris/nmh
-    /usr/local/src/nmh-1.0/configure
+    /usr/local/src/nmh-1.5/configure
     make
 
 ---------------------
@@ -191,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
@@ -230,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
@@ -255,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
@@ -270,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)
@@ -288,19 +257,32 @@ 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,
      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:".
+     See mh-tailor(5) 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