pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/nmh nmh: Update mail/nmh to 1.7



details:   https://anonhg.NetBSD.org/pkgsrc/rev/45c091892d03
branches:  trunk
changeset: 371756:45c091892d03
user:      leot <leot%pkgsrc.org@localhost>
date:      Tue Nov 21 10:32:02 2017 +0000

description:
nmh: Update mail/nmh to 1.7

pkgsrc changes:
 - Update MASTER_SITES (use https:// and avoid redirects)

 - Delete (a bit outdated) comment about locking mechanisms

   Since 02 Feb 2014 (post-1.6) the default locking mechanisms are
   (directly from m4/locking.m4):

    - aix*|cygwin*|linux*: fcntl
    - freebsd*|*netbsd*|openbsd*|darwin*: flock
    - everything else: dot

   The original comment was probably about just NetBSD and maybe Solaris
   (it's dated 1999). Solaris still uses the `dot' mechanisms by default
   but we no longer have any local patches about locking.

 - Delete (no more needed) `-O1' hack to CFLAGS

   mh_strcasecmp() was completely replaced by strcasecmp() on 24 Mar 2013, and
   hence present in 1.6. Forcing `-O1' for gcc is no longer needed.

 - Adjust --sysconfdir CONFIGURE_ARGS per-upstream change, now the nmh
   directory is created by nmh's configure so pass PKG_SYSCONFBASE instead of
   PKG_SYSCONFDIR.

 - Add support for the `test' phase

   Add support for nmh tests. Modify patches/patch-ca accordingly in order to
   adjust TEST_ENVIRONMENT to use the configuration files in $egdir instead of the
   ones in $nmhetcdir.
   Actually all tests are passed except an mhparam test that sposts the
   $egdir/$nmetcdir kludge.

 - Do not include bsd.prefs.mk two times (NFC)

 - Add `oauth' PKG_OPTIONS (disabled by default) to enable OAuth2 support in
   SMTP and POP auth via curl

Changes:
Release notes for nmh 1.7
=========================
Welcome to nmh, the new version of the classic MH mail handling system.
It's been over three years since the last release of nmh, and there have
been a number of significant changes since the last release.  Long-time
MH and nmh uses should read careful the NOTEABLE CHANGES section, as there
are some significant changes to nmh behavior.  Otherwise, please see the
README and INSTALL files for help on getting started with nmh.

For news of future releases, subscribe to the low-volume
    https://lists.nongnu.org/mailman/listinfo/nmh-announce

---------------
NOTABLE CHANGES
---------------

The largest notable changes in the 1.7 release are:

- Complete unification of network security support.  All network protocols
  (currently, POP and SMTP) have been refactored to use a common set of
  security routines.  This means all protocols support all SASL mechanisms
  (via the Cyrus-SASL library) and TLS.  TLS support has been strengthened
  to perform certificate name validation and to require TLS 1.1 as a
  minimum protocol.  Also, all protocols can make use of the OAuth2/XOAUTH
  SASL mechanism, which is supported by Gmail.
- send(1) now supports adding switches to post(8) based on the address or
  domain of the email address in the From: header; this more easily allows
  users to support multiple identities.
- A generic facility for passing arguments to filter programs in repl(1)
  by use of the -convertargs switch.
- Native support for the manipulation of iCalendar requests; see mhical(1)
  for more details.

------------
NEW FEATURES
------------

The following are new features for the 1.7 release of nmh:

- When building from source, configure will derive ${prefix} from an existing
  nmh installation if it finds one in your $PATH.
- Added welcome message when nmh detects that its version changed.
- The default locations for configuration files and support binaries
  have been changed.  Configuration files now install into ${sysconfdir}/nmh,
  and support binaries are placed in ${libexecdir}/nmh.  If you are upgrading
  an existing installation you should look for old configuration files in
  ${sysconfdir} and merge any local customizations into the new files in
  ${sysconfdir}/nmh, then remove the old files.  ${libdir} will also contain
  obsolete support programs that should be removed.
- All TLS connections now perform certificate validation (including hostname
  matching) by default; can be disabled on a per-application basis.
- post now defaults to port 587 on 'smtp' message submission.
- A value of 0 for the width switch of scan(1), inc(1), ap(1), dp(1),
  fmttest(1), and mhl(1) now means as many characters as the format
  engine can produce [Bug #15274].  That amount is limited by internal
  buffers.
- If a component has trailing whitespace, e.g., body:component="> ",
  mhl now trims that whitespace off when filtering blank text lines.
- An "rtrim" flag has been added to mhl to remove any trailing
  whitespace from filtered text lines.  A corresponding "nortrim" flag
  has also been added.
- Added getmymbox and getmyaddr mh-format(5) function escapes.
- New -[no]changecur, -fixtype, -decodetypes, and -[no]crlflinebreaks switches
  have been added to mhfixmsg(1).
- mhfixmsg now removes an extraneous trailing semicolon from header
  parameter lists.
- Added -convertargs switch to repl(1), to pass arguments to programs
  specified in the user's profile or mhn.defaults to convert message
  content.
- Added mhical(1), to display, reply to, and cancel iCalendar (RFC 5545)
  event requests.
- Added multiply mh-format(5) function.
- "mhparam bindir" prints the path to the directory containing the public
  executables (${bindir}).
- New "-prefer" switch for mhshow (and mhlist and mhshow), to allow specifying
  the preferred content types to show, if present in a multipart alternative.
- mh-format now has %(kilo) and %(kibi) functions, to allow printing
  numbers with SI or IEC quantities, e.g. "10K", "2.3Mi".
- Support for the -sendmail flag to send/post to change the sendmail
  binary when using the sendmail/pipe MTS.
- Added support to send(1) to specify switches to post(1) based on address or
  domain name in From: header line in message draft.
- post(8) -snoop now attempts to decode base64-encoded SMTP traffic.
- folder(1) -nocreate now prints a warning message for a non-existent folder.
- mhfixmsg(1) now allows -decodetext binary, though 8bit is still the default.
- inc(1) and msgchk(1) now support TLS encryption natively.
- All network protocols support the XOAUTH authentication mechanism.
- Support for SMTPUTF8 (RFC 6531) has been added.  mhshow(1) already supported
  RFC 6532, assuming all 8-bit message header field bodies are UTF-8 and use
  of a UTF-8 locale.
- mhfixmsg now replaces RFC 2047 encoding with RFC 2231 encoding of name and
  filename parameters in Content-Type and Content-Disposition headers,
  respectively.
- If a message body contains 8-bit bytes, post(8) uses SMTP 8BITMIME if the
  server supports it.  If not, post fails with a message to the user to
  encode the message for 7-bit transport.
- Fewer lseek(2)s will be used when reading headers in the common case.
- ./configure's --enable-debug has been removed;  it did nothing.
- configure now defaults to enabling each of TLS and Cyrus SASL if the
  necessary headers and libraries are found.
- Moved build_nmh to top-level directory.
- Better error reporting for connections to network services.

---------
BUG FIXES
---------

- The format scanner no longer subtracts 1 from the width.  This has the
  effect of no longer counting the trailing newline in the output of
  scan(1), inc(1), and the other programs that rely on the format scanner.
- The first character of some very short (less than 4 characters) message
  bodies is no longer dropped.
- Single-character headers can be reliably formatted, etc., instead of
  apparently being missing.
- mhfixmsg now adds a Content-Transfer-Encoding header at the message level,
  if needed after decoding text parts.
- mhbuild now checks whether all text parts need a Content-Transfer-Encoding
  header, not just those with a character set not specified.
- mhbuild no longer parses lines that start with # as directives with
  -nodirectives.
- repl now makes sure that any Fcc header in a replied-to message is not
  copied into the outgoing draft by default, and that the -fcc switch
  actually works in the absence of a Fcc header in the replied-to message.
- A Content-ID is generated for message/external-body entities as required
  by RFC 2045, even if -nocontentid is supplied to mhbuild.
- post will now expand aliases on a "From" line when doing a BCC [Bug #51098].
- scan can now handle empty files without violating an assert [Bug #51693].
- An error when writing an error message, e.g. EPIPE, no longer causes
  recursion until the stack is exhausted.

-------------------
DEPRECATED FEATURES
-------------------

- Support for the MHPDEBUG environment variable is deprecated and will be
  removed from a future nmh release.  Instead, use the -debug switch to pick.
- With the move of support binaries from ${libdir} to ${libexecdir}/nmh, the
  mostly undocumented 'libdir' mhparam(1) component has been replaced by a
  new 'libexecdir' component.  'libdir' will be removed in a future release.

-----------------
OBSOLETE FEATURES
-----------------

- The undocumented -queue switch to post was deprecated in nmh 1.6, and was
  removed in this release.
- conflict(8) was deprecated in nmh 1.6, and was removed in this release.
- mhtest(8) was deprecated in nmh 1.6, and was removed in this release.
- msh(1) was deprecated in nmh 1.6, and was removed in this release.
- Support in alias files for the the "*" address-group (everyone) was
  deprecated in nmh 1.6, and was removed in this release.
- Support for multiple hostnames in the "servers" entry of mts.conf has
  been removed.
- Support in alias files for expanding aliases based on group membership
  (=) and primary group (+) has been removed.

As always, feedback is welcome.

diffstat:

 mail/nmh/Makefile         |  29 ++++++-----------
 mail/nmh/PLIST            |  22 ++++++++-----
 mail/nmh/distinfo         |  14 ++++----
 mail/nmh/options.mk       |  17 +++++++++-
 mail/nmh/patches/patch-ca |  76 +++++++++++++++++++++++++++++++---------------
 mail/nmh/patches/patch-cd |  18 +++++-----
 6 files changed, 106 insertions(+), 70 deletions(-)

diffs (truncated from 411 to 300 lines):

diff -r 3cc6d334eb90 -r 45c091892d03 mail/nmh/Makefile
--- a/mail/nmh/Makefile Mon Nov 20 23:04:05 2017 +0000
+++ b/mail/nmh/Makefile Tue Nov 21 10:32:02 2017 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.92 2016/03/05 11:28:49 jperkin Exp $
+# $NetBSD: Makefile,v 1.93 2017/11/21 10:32:02 leot Exp $
 
-DISTNAME=              nmh-1.6
-PKGREVISION=           5
+DISTNAME=              nmh-1.7
 CATEGORIES=            mail
-MASTER_SITES=          http://savannah.nongnu.org/download/nmh/
+MASTER_SITES=          https://download.savannah.nongnu.org/releases/nmh/
 
 MAINTAINER=            leot%NetBSD.org@localhost
 HOMEPAGE=              http://www.nongnu.org/nmh/
@@ -15,17 +14,7 @@
 
 USE_TOOLS+=            lex
 
-# We choose DOT_LOCKING in our patches because ".lock" files are
-# the most common locking mechanism supported by mail software.
-# It also works well over NFS.
-
-# Locks supported by `mail.local' are ".lock" and flock(2).
-
 .include "../../mk/bsd.prefs.mk"
-# Avoids SEGV in nmh's private version of strcasecmp() under gcc4
-.if !empty(PKGSRC_COMPILER:Mgcc*)
-CFLAGS+=               -O1
-.endif
 
 .include "options.mk"
 
@@ -35,7 +24,7 @@
 GNU_CONFIGURE=         yes
 
 GNU_CONFIGURE_LIBDIR=  ${PREFIX}/libexec/nmh
-CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFBASE}
 CONFIGURE_ARGS+=       --with-mts=${NMH_MTA:Q}
 CONFIGURE_ARGS+=       --without-readline
 
@@ -43,7 +32,7 @@
 EGDIR=                 ${PREFIX}/share/examples/nmh
 INSTALLATION_DIRS=     ${DOCDIR} ${EGDIR}
 
-BUILD_DEFS+=           NMH_MTA NMH_EDITOR NMH_PAGER NMH_HASH_BACKUP
+BUILD_DEFS+=           NMH_MTA NMH_EDITOR NMH_PAGER NMH_HASH_BACKUP PKG_SYSCONFBASE
 
 PKG_SYSCONFSUBDIR=     nmh
 CONF_FILES=            # empty
@@ -52,18 +41,22 @@
                        digestcomps             \
                        distcomps               \
                        forwcomps               \
+                       mhical.12hour           \
+                       mhical.24hour           \
                        mhl.body                \
                        mhl.digest              \
                        mhl.format              \
                        mhl.forward             \
                        mhl.headers             \
                        mhl.reply               \
+                       mhl.replywithoutbody    \
                        mhn.defaults            \
                        mts.conf                \
                        rcvdistcomps            \
                        rcvdistcomps.outbox     \
                        replcomps               \
                        replgroupcomps          \
+                       rmmproc.messageid       \
                        scan.MMDDYY             \
                        scan.YYYYMMDD           \
                        scan.default            \
@@ -86,12 +79,12 @@
 CONFIGURE_ENV+=                ac_cv_func_arc4random=no
 .endif
 
+TEST_TARGET=           check
+
 post-install:
        ${INSTALL_DATA} ${FILESDIR}/mhn.defaults.dist \
            ${DESTDIR}${EGDIR}/mhn.defaults
 
-.include "../../mk/bsd.prefs.mk"
-
 .if ${OPSYS} == "Linux"
 .include "../../databases/gdbm_compat/buildlink3.mk"
 CONFIGURE_ARGS+=       --with-ndbm='gdbm_compat -lgdbm'
diff -r 3cc6d334eb90 -r 45c091892d03 mail/nmh/PLIST
--- a/mail/nmh/PLIST    Mon Nov 20 23:04:05 2017 +0000
+++ b/mail/nmh/PLIST    Tue Nov 21 10:32:02 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.9 2014/09/06 16:07:43 schnoebe Exp $
+@comment $NetBSD: PLIST,v 1.10 2017/11/21 10:32:02 leot Exp $
 bin/ali
 bin/anno
 bin/burst
@@ -17,7 +17,9 @@
 bin/mark
 bin/mhbuild
 bin/mhfixmsg
+bin/mhical
 bin/mhlist
+bin/mhlogin
 bin/mhmail
 bin/mhn
 bin/mhparam
@@ -25,7 +27,6 @@
 bin/mhshow
 bin/mhstore
 bin/msgchk
-bin/msh
 bin/new
 bin/next
 bin/packf
@@ -45,11 +46,9 @@
 bin/whatnow
 bin/whom
 libexec/nmh/ap
-libexec/nmh/conflict
 libexec/nmh/dp
 libexec/nmh/fmtdump
 libexec/nmh/mhl
-libexec/nmh/mhtest
 libexec/nmh/mkstemp
 libexec/nmh/post
 libexec/nmh/rcvdist
@@ -78,8 +77,10 @@
 man/man1/mh-mkstemp.1
 man/man1/mhbuild.1
 man/man1/mhfixmsg.1
+man/man1/mhical.1
 man/man1/mhl.1
 man/man1/mhlist.1
+man/man1/mhlogin.1
 man/man1/mhmail.1
 man/man1/mhn.1
 man/man1/mhparam.1
@@ -87,7 +88,6 @@
 man/man1/mhshow.1
 man/man1/mhstore.1
 man/man1/msgchk.1
-man/man1/msh.1
 man/man1/new.1
 man/man1/next.1
 man/man1/packf.1
@@ -121,15 +121,14 @@
 man/man5/mh-tailor.5
 man/man5/mh_profile.5
 man/man5/mts.conf.5
+man/man7/MH.7
 man/man7/mh-chart.7
 man/man7/mh-mime.7
 man/man7/nmh.7
 man/man8/ap.8
-man/man8/conflict.8
 man/man8/dp.8
 man/man8/fmtdump.8
 man/man8/post.8
-share/doc/nmh/COMPLETION-BASH
 share/doc/nmh/COMPLETION-TCSH
 share/doc/nmh/COMPLETION-ZSH
 share/doc/nmh/COPYRIGHT
@@ -143,28 +142,32 @@
 share/doc/nmh/README-ATTACHMENTS
 share/doc/nmh/README-HOOKS
 share/doc/nmh/README-components
-share/doc/nmh/README-iCalendar
 share/doc/nmh/README.SASL
 share/doc/nmh/README.about
 share/doc/nmh/README.developers
 share/doc/nmh/README.manpages
 share/doc/nmh/TODO
 share/doc/nmh/VERSION
-share/doc/nmh/contrib/build_nmh
+share/doc/nmh/contrib/localpostproc
 share/doc/nmh/contrib/ml
+share/doc/nmh/contrib/replaliases
 share/doc/nmh/contrib/replyfilter
 share/doc/nmh/contrib/vpick
 share/examples/nmh/MailAliases
+share/examples/nmh/bash_completion_nmh
 share/examples/nmh/components
 share/examples/nmh/digestcomps
 share/examples/nmh/distcomps
 share/examples/nmh/forwcomps
+share/examples/nmh/mhical.12hour
+share/examples/nmh/mhical.24hour
 share/examples/nmh/mhl.body
 share/examples/nmh/mhl.digest
 share/examples/nmh/mhl.format
 share/examples/nmh/mhl.forward
 share/examples/nmh/mhl.headers
 share/examples/nmh/mhl.reply
+share/examples/nmh/mhl.replywithoutbody
 share/examples/nmh/mhn.defaults
 share/examples/nmh/mhshow.marker
 share/examples/nmh/mts.conf
@@ -172,6 +175,7 @@
 share/examples/nmh/rcvdistcomps.outbox
 share/examples/nmh/replcomps
 share/examples/nmh/replgroupcomps
+share/examples/nmh/rmmproc.messageid
 share/examples/nmh/scan.MMDDYY
 share/examples/nmh/scan.YYYYMMDD
 share/examples/nmh/scan.curses
diff -r 3cc6d334eb90 -r 45c091892d03 mail/nmh/distinfo
--- a/mail/nmh/distinfo Mon Nov 20 23:04:05 2017 +0000
+++ b/mail/nmh/distinfo Tue Nov 21 10:32:02 2017 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.19 2015/11/03 23:27:11 agc Exp $
+$NetBSD: distinfo,v 1.20 2017/11/21 10:32:02 leot Exp $
 
-SHA1 (nmh-1.6.tar.gz) = d424a7520c85abfdbd492f70cdae7fce51a88a7f
-RMD160 (nmh-1.6.tar.gz) = 21efdf51df83f310ceac985cdc02b709d7edddf7
-SHA512 (nmh-1.6.tar.gz) = 03775e73f69eb21088e191f41a0bbc2e631956f0d496f87be97981ac2c85d8cbe0680e8ee7e37f97e79c34ccd814fca78f2684acfc8390e333a46c710fbdb2b7
-Size (nmh-1.6.tar.gz) = 1197272 bytes
-SHA1 (patch-ca) = ebbd0c463bda8d67734c06d7ed75d5ab2a51cfa2
-SHA1 (patch-cd) = 2576f728e8d55cdbe533ae5fc05eac0cf5413ad4
+SHA1 (nmh-1.7.tar.gz) = 626e4c759807fa0714a825bcc4f4c60ba9360ea5
+RMD160 (nmh-1.7.tar.gz) = d0112f995e117b5723a73e6f363681674feb13f1
+SHA512 (nmh-1.7.tar.gz) = 68394c23d776b066d50b75486c985eb59e8545d1f928d78c663be1cd28bf1f7af88fad30e9a7b6e3b80dda1fd6f04815c4b1a6accbf0e960e523742e335dec86
+Size (nmh-1.7.tar.gz) = 1391594 bytes
+SHA1 (patch-ca) = 8e3d655602d8b508f403e51b105e122818b50b7c
+SHA1 (patch-cd) = 5a775091713bca2597a01fcd267d56e2a175588a
diff -r 3cc6d334eb90 -r 45c091892d03 mail/nmh/options.mk
--- a/mail/nmh/options.mk       Mon Nov 20 23:04:05 2017 +0000
+++ b/mail/nmh/options.mk       Tue Nov 21 10:32:02 2017 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: options.mk,v 1.4 2012/08/31 02:09:49 schnoebe Exp $
+# $NetBSD: options.mk,v 1.5 2017/11/21 10:32:02 leot Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.nmh
-PKG_SUPPORTED_OPTIONS=         nmh-backup-hash sasl tls
+PKG_SUPPORTED_OPTIONS=         nmh-backup-hash oauth sasl tls
 
 .include "../../mk/bsd.options.mk"
 
@@ -11,14 +11,27 @@
 ###
 .if !empty(PKG_OPTIONS:Mnmh-backup-hash)
 CONFIGURE_ARGS+=       --with-hash-backup
+.else
+CONFIGURE_ARGS+=       --without-hash-backup
+.endif
+
+.if !empty(PKG_OPTIONS:Moauth)
+CONFIGURE_ARGS+=       --with-oauth
+.include "../../www/curl/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --without-oauth
 .endif
 
 .if !empty(PKG_OPTIONS:Msasl)
 CONFIGURE_ARGS+=       --with-cyrus-sasl
 .include "../../security/cyrus-sasl/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --without-cyrus-sasl
 .endif
 
 .if !empty(PKG_OPTIONS:Mtls)
 CONFIGURE_ARGS+=       --with-tls
 .include "../../security/openssl/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --with-tls
 .endif
diff -r 3cc6d334eb90 -r 45c091892d03 mail/nmh/patches/patch-ca
--- a/mail/nmh/patches/patch-ca Mon Nov 20 23:04:05 2017 +0000
+++ b/mail/nmh/patches/patch-ca Tue Nov 21 10:32:02 2017 +0000
@@ -1,10 +1,13 @@
-$NetBSD: patch-ca,v 1.8 2014/09/06 16:07:43 schnoebe Exp $
-
-install config files into share/examples
+$NetBSD: patch-ca,v 1.9 2017/11/21 10:32:02 leot Exp $
 
---- Makefile.in.orig   2014-06-15 20:34:16.000000000 +0000
+- Introduce $egdir and install all configuration files in it, in order to
+  properly use CONF_FILES to manage configuration files for pkgsrc.
+- Adjust TEST_ENVIRONMENT in order to use $egdir instead of $nmhetcdir
+  and adjust $nmhetcdirinst to fix the `mhparam etcdir' test.
+
+--- Makefile.in.orig   2017-08-03 02:22:59.000000000 +0000
 +++ Makefile.in
-@@ -819,6 +819,7 @@ smtpservers = @smtpservers@
+@@ -864,6 +864,7 @@ smtpserver = @smtpserver@
  srcdir = @srcdir@
  supported_locks = @supported_locks@
  sysconfdir = @sysconfdir@
@@ -12,15 +15,26 @@
  target_alias = @target_alias@
  top_build_prefix = @top_build_prefix@
  top_builddir = @top_builddir@
-@@ -4030,18 +4031,18 @@ uninstall-dist_docDATA:
-       dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
- install-dist_sysconfDATA: $(dist_sysconf_DATA)
+@@ -881,8 +882,8 @@ TESTS_ENVIRONMENT = MH_OBJ_DIR="@abs_bui
+                   CURL_USER_AGENT='@CURL_USER_AGENT@' \
+                   MH_TEST_DIR=`cd "@abs_builddir@" && pwd -P`/test/testdir \



Home | Main Index | Thread Index | Old Index