Index: mail/Makefile =================================================================== --- mail/Makefile +++ mail/Makefile @@ -214,6 +214,7 @@ SUBDIR += mailgraph SUBDIR += mailhog SUBDIR += mailman + SUBDIR += mailman3 SUBDIR += mailmgr SUBDIR += mailpile SUBDIR += mailscanner Index: mail/mailman3/Makefile =================================================================== --- mail/mailman3/Makefile +++ mail/mailman3/Makefile @@ -1,220 +1,48 @@ -# Created by: n_hibma@qubesoft.com # $FreeBSD$ PORTNAME= mailman -DISTVERSION= 2.1.25 +PORTVERSION= 3.2.0.a1.g20180122 PORTREVISION= 0 CATEGORIES= mail -MASTER_SITES= GNU \ - SF/${PORTNAME}/Mailman%202.1%20%28stable%29/${PORTVERSION} \ - https://launchpad.net/mailman/${DISTVERSION:R}/${DISTVERSION}/+download/ -DIST_SUBDIR= mailman +MASTER_SITES= https://gitlab.com/mailman/${PORTNAME}/repository/8a87a59cf5e60ead2b5a4d6faee39443f459e272/ +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTFILES= archive.tar.bz2 -PATCH_SITES= LOCAL/mandree -PATCH_DIST_STRIP= -p1 +MAINTAINER= vishwin@vishwin.info +COMMENT= The GNU Mailing List Management System, Core -MAINTAINER= mandree@FreeBSD.org -COMMENT= Mailing list manager with user-friendly web front-end +LICENSE= GPLv3+ -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/gnu-COPYING-GPL +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosmtpd>=1.1:mail/py-aiosmtpd@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}alembic>0:databases/py-alembic@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}atpublic>0:devel/py-atpublic@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dnspython>=1.14.0:dns/py-dnspython@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}falcon>=1.0.0.rc1:www/py-falcon@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flufl.bounce>0:mail/py-flufl.bounce@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flufl.i18n>=2.0.1:devel/py-flufl.i18n@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flufl.lock>=3.1:devel/py-flufl.lock@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}lazr.config>0:devel/py-lazr.config@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>0:databases/py-sqlalchemy10@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}zope.component>0:devel/py-zope.component@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}zope.configuration>0:devel/py-zope.configuration@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}zope.event>0:devel/py-zope.event@${FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${FLAVOR} -CONFLICTS= ja-mailman-2.1.* - -USES= autoreconf cpe fakeroot python:2 shebangfix tar:tgz +USES= python:3.5+ +USE_PYTHON= distutils autoplist USE_RC_SUBR= mailman -SHEBANG_FILES= bin/msgfmt.py \ - tests/fblast.py \ - tests/onebounce.py -CPE_VENDOR= gnu +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} -GNU_CONFIGURE= yes -GNU_CONFIGURE_PREFIX= ${MAILMANDIR} -CONFIGURE_ARGS+=--with-python=${PYTHON_CMD} \ - --with-username=${MM_USERNAME} \ - --with-groupname=${MM_GROUPNAME} \ - --with-mail-gid=${MAIL_GID} --with-cgi-gid=${CGI_GID} \ - --with-permcheck=no \ - --with-mailhost=// \ - --with-urlhost=// +USERS= mailman +GROUPS= mailman -# The Mailman port supports a number of variables that may be tweaked at -# build time. Getting the values of some of them right is crucial! -# -MM_USERNAME?= mailman -MM_USERID?= 91 -MM_GROUPNAME?= ${MM_USERNAME} -MM_GROUPID?= ${MM_USERID} -MM_DIR?= mailman -CGI_GID?= www -IMGDIR?= www/icons -# -# End of user-configurable variables. +NO_ARCH= yes -USERS= ${MM_USERNAME} -GROUPS= ${MM_GROUPNAME} - -MAILMANDIR= ${PREFIX}/${MM_DIR} -PLIST_SUB= MMDIR=${MM_DIR} IMGDIR=${IMGDIR} MM_USERNAME=${MM_USERNAME} MM_GROUPNAME=${MM_GROUPNAME} -SUB_FILES= pkg-message pkg-install pkg-deinstall mailman.newsyslog.sample -SUB_LIST= MAILMANDIR=${MAILMANDIR} USER=${MM_USERNAME} GROUP=${MM_GROUPNAME} PYTHON_CMD="${PYTHON_CMD}" - -PORTDOCS= ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS README README-I18N.en \ - README.CONTRIB README.NETSCAPE \ - README.USERAGENT TODO UPGRADING \ - mailman-admin.txt \ - mailman-install.txt \ - mailman-member.txt \ - FreeBSD-post-install-notes - -OPTIONS_SINGLE= MTA -OPTIONS_SINGLE_MTA= COURIER EXIM4 OPENSMTPD POSTFIX SENDMAIL -OPTIONS_DEFINE= HTDIG NAMAZU2 NLS DOCS -OPTIONS_DEFAULT= SENDMAIL -COURIER_DESC= for use with courier -EXIM4_DESC= for use with exim4 -OPENSMTPD_DESC= for use with opensmtpd - EXPERIMENTAL - -POSTFIX_DESC= for use with postfix -SENDMAIL_DESC= for use with sendmail -HTDIG_DESC= - EXPERIMENTAL - htdig integration patches -NAMAZU2_DESC= Make private archives searchable with namazu2 -MTA_DESC= Integrate with which MTA? - -.include - -# enforce EXAMPLES option, necessary so that @sample -# can install the newsyslog file -.if empty(PORT_OPTIONS:MEXAMPLES) -PORT_OPTIONS+= EXAMPLES -.endif - -.if ${PORT_OPTIONS:MNLS} -USES+= gettext -PLIST_SUB+= NLS="" -.else -PLIST_SUB+= NLS="@comment " -MAKE_ARGS+= LANGUAGES=en -.endif - -.if ${PORT_OPTIONS:MSENDMAIL} -MAIL_GID?= mailnull -.endif - -.if ${PORT_OPTIONS:MEXIM4} -MAIL_GID?= mail -.endif - -.if ${PORT_OPTIONS:MPOSTFIX} -BUILD_DEPENDS+= postfix:mail/postfix -RUN_DEPENDS+= postfix:mail/postfix -MAIL_GID?= mailman -EXTRA_PATCHES+= ${FILESDIR}/postfix-verp.diff -.endif - -.if ${PORT_OPTIONS:MCOURIER} -MAIL_GID?= courier -.endif - -.if ${PORT_OPTIONS:MOPENSMTPD} -MAIL_GID?= _smtpd -.endif - -.if ${PORT_OPTIONS:MHTDIG} -PKGNAMESUFFIX+= -with-htdig -# how to create PATCHFILES: -#X identify what is the version of msapiro's patches corresponding to the release. -#X fetch http://bazaar.launchpad.net/~msapiro/mailman/htdig/tarball/1702 -#X unpack this tarball, and the original distfile -#X diff -NEur original-unpack bazaar-unpack | xz --best -c >msapiro-htdig-1702.patch.xz -#X upload the latter with mode 0644 or similar to freefall's public_distfiles/ directory -_HTDIGREV= 1717 -PATCHFILES+= msapiro-htdig-${_HTDIGREV}.patch.xz -RUN_DEPENDS+= htdig:textproc/htdig -PLIST_SUB+= SUB_HTDIG="" -.else -PLIST_SUB+= SUB_HTDIG="@comment " -.endif - -.if ${PORT_OPTIONS:MNAMAZU2} -RUN_DEPENDS+= mknmz:databases/namazu2 -EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Mailman-Cgi-private.py -.endif - -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=0:dns/py-dnspython@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=0:dns/py-dnspython@${PY_FLAVOR} - -pre-everything:: - @${ECHO} "" - @${ECHO} "You may change the following build options:" - @${ECHO} "" - @${ECHO} "Option Default Value Description" - @${ECHO} "------------- --------------- ------------------------------------------------" - @${ECHO} "MM_USERNAME mailman The username of the Mailman user." - @${ECHO} "MM_USERID 91 The user ID of the Mailman user." - @${ECHO} "MM_GROUPNAME mailman The group to which the Mailman user will belong." - @${ECHO} "MM_GROUPID \$$MM_USERID The group ID for the Mailman user." - @${ECHO} "MM_DIR mailman Mailman will be installed in" - @${ECHO} " ${PREFIX}/${MM_DIR}." - @${ECHO} "CGI_GID www The group name or id under which your web" - @${ECHO} " server executes CGI scripts." - @${ECHO} "IMGDIR www/icons Icon images will be installed in" - @${ECHO} " ${PREFIX}/${IMGDIR}." - @${ECHO} "" - -post-patch: - ${REINPLACE_CMD} -e 's#%%LOCALBASE%%#${LOCALBASE}#g' \ - ${WRKSRC}/Mailman/Defaults.py.in - ${REINPLACE_CMD} -e 's/^0,5,10/#&/' ${WRKSRC}/cron/crontab.in.in -.if empty(PORT_OPTIONS:MNLS) - ${REINPLACE_CMD} -e 's/messages//' ${WRKSRC}/Makefile.in -.endif - ${MV} ${WRKSRC}/configure.in ${WRKSRC}/configure.ac # suppress warning - -.if ${PORT_OPTIONS:MPOSTFIX} -pre-configure: - ${ECHO} "MTA = 'Postfix'" >> ${WRKSRC}/Mailman/mm_cfg.py.dist.in -.endif - -post-install: - ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - ${INSTALL_DATA} ${WRKDIR}/mailman.newsyslog.sample ${STAGEDIR}${EXAMPLESDIR} -.for i in admindb admin confirm create edithtml listinfo options private \ - rmlist roster subscribe - ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/cgi-bin/${i} -.endfor -.if ${PORT_OPTIONS:MHTDIG} -.for i in htdig mmsearch - ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/cgi-bin/${i} -.endfor -.endif - ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/mail/mailman -# Compile additional Python scripts: -.for dir in bin - (cd ${STAGEDIR}${MAILMANDIR} \ - && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ - -d ${MAILMANDIR}/${dir} ${dir}) -.endfor - @${RM} ${STAGEDIR}${MAILMANDIR}/pythonlib/*.egg-info - @# mm_cfg.py is handled by pkg-plist, no need to archive a copy: - @${RM} ${STAGEDIR}${MAILMANDIR}/Mailman/mm_cfg.py - @${RM} ${STAGEDIR}${MAILMANDIR}/Mailman/mm_cfg.pyc - @${MKDIR} ${STAGEDIR}${PREFIX}/${IMGDIR} - ${CP} -p ${STAGEDIR}${MAILMANDIR}/icons/* ${STAGEDIR}${PREFIX}/${IMGDIR} - ${INSTALL_DATA} ${FILESDIR}/powerlogo.png \ - ${STAGEDIR}${PREFIX}/${IMGDIR}/ - ${INSTALL_DATA} ${FILESDIR}/powerlogo.png \ - ${STAGEDIR}${MAILMANDIR}/icons/ -.if ${PORT_OPTIONS:MDOCS} - ${CP} -R ${WRKSRC}/doc/* ${WRKSRC}/ - @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${FILESDIR}/FreeBSD-post-install-notes ${STAGEDIR}${DOCSDIR} -.for docfile in ${PORTDOCS:NFreeBSD-post-install-notes} - ${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR} -.endfor -.endif - @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} - ${ECHO} "This marker file ensures that Python's upgrade-site-packages handles ${PKGNAME}." >${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/mailman-info.txt - ${INSTALL_SCRIPT} ${PKGINSTALL} ${STAGEDIR}${MAILMANDIR}/bin/FreeBSD-post-install +post-extract: + @${MV} ${WRKDIR}/${PORTNAME}-* ${WRKDIR}/${DISTNAME} .include Index: mail/mailman3/distinfo =================================================================== --- mail/mailman3/distinfo +++ mail/mailman3/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1509135818 -SHA256 (mailman/mailman-2.1.25.tgz) = 83a6dcbdc5356648db0ad03a0d55d4786071c04d4d6e69d5e95e1815975e0169 -SIZE (mailman/mailman-2.1.25.tgz) = 9254776 -SHA256 (mailman/msapiro-htdig-1717.patch.xz) = 9c272ce70507ece4f46b81a443540a2dbd68661d2f5db904e073782765b0e4a0 -SIZE (mailman/msapiro-htdig-1717.patch.xz) = 198620 +TIMESTAMP = 1516792931 +SHA256 (archive.tar.bz2) = c9aa568207d217203486d381009acaa08d801cca90f2c9b8f01d8edc815ec25a +SIZE (archive.tar.bz2) = 602575 Index: mail/mailman3/files/mailman.in =================================================================== --- mail/mailman3/files/mailman.in +++ mail/mailman3/files/mailman.in @@ -1,45 +1,42 @@ #!/bin/sh -# + # $FreeBSD$ -# +# # PROVIDE: mailman # REQUIRE: LOGIN # KEYWORD: shutdown -# -# Add the following lines to /etc/rc.conf to enable or configure mailman: -# -# mailman_enable (bool): Set it to "YES" to enable mailman. -# Default is "NO". -# -# mailman_fix_perms (bool): Set it to "NO" to disable running -# check_perms on start or post-install. -# Default is "YES", but this is unsuitable -# for slow machines with many lists. +# +# Add these lines to /etc/rc.conf or /etc/rc.conf.local to enable +# mailman: +# +# mailman_enable (bool): Set to NO by default. +# Set it to YES to enable mailman. . /etc/rc.subr -name="mailman" -rcvar="mailman_enable" -required_dirs="%%MAILMANDIR%%/lists/mailman" -command_interpreter="%%PYTHON_CMD%%" -command="%%MAILMANDIR%%/bin/mailmanctl" -command_args="start" -pidfile="%%MAILMANDIR%%/data/master-qrunner.pid" +name=mailman +rcvar=mailman_enable load_rc_config $name -: ${mailman_enable:="NO"} -: ${mailman_fix_perms:="YES"} -: ${mailman_flags:="-s -q"} +: ${mailman_enable:=NO} -start_precmd=${name}_prestart -extra_commands="reload status" +command_interpreter=%%PYTHON_CMD%% +command=%%PREFIX%%/bin/${name} -mailman_prestart() { - if checkyesno mailman_fix_perms ; then - check_startmsgs && echo "Fixing ${name} permissions:" - env LC_ALL=C %%MAILMANDIR%%/bin/check_perms -f ${rc_debug:+-v} - fi +start_cmd="mailman_command start" +stop_cmd="mailman_command stop" +restart_cmd="mailman_command restart" +status_cmd="mailman_command status" +info_cmd="mailman_command info" +extra_commands=info + +required_files="%%PREFIX%%/${name}/.${name}.cfg" +pidfile="%%PREFIX%%/${name}/master.pid" + +mailman_command() +{ + LANG=en_US.UTF-8 su -m ${name} -c "${command_interpreter} ${command} ${command_args} ${rc_arg}" } run_rc_command "$1" Index: mail/mailman3/files/patch-src_mailman_config_mailman.cfg =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_config_mailman.cfg @@ -0,0 +1,24 @@ +--- src/mailman/config/mailman.cfg.orig 2018-01-22 20:19:40 UTC ++++ src/mailman/config/mailman.cfg +@@ -34,14 +34,17 @@ var_dir: $cwd/var + [paths.fhs] + # Filesystem Hiearchy Standard 2.3 + # http://www.pathname.com/fhs/pub/fhs-2.3.html +-bin_dir: /sbin ++bin_dir: /usr/local/bin + var_dir: /var/lib/mailman + queue_dir: /var/spool/mailman + log_dir: /var/log/mailman +-lock_dir: /var/lock/mailman +-etc_dir: /etc +-ext_dir: /etc/mailman.d ++lock_dir: /var/spool/lock/mailman ++etc_dir: /usr/local/etc ++ext_dir: /usr/local/etc/mailman.d + pid_file: /var/run/mailman/master.pid ++ ++[paths.home] ++var_dir: /usr/local/mailman + + [language.en] + Index: mail/mailman3/files/patch-src_mailman_config_mhonarc.cfg =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_config_mhonarc.cfg @@ -0,0 +1,8 @@ +--- src/mailman/config/mhonarc.cfg.orig 2017-03-28 19:07:28 UTC ++++ src/mailman/config/mhonarc.cfg +@@ -24,4 +24,4 @@ base_url: http://$hostname/archives/$fqdn_listname + + # If the archiver works by calling a command on the local machine, this is the + # command to call. +-command: /usr/bin/mhonarc -outdir /path/to/archive/$listname -add ++command: /usr/local/bin/mhonarc -outdir /path/to/archive/$listname -add Index: mail/mailman3/files/patch-src_mailman_config_postfix.cfg =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_config_postfix.cfg @@ -0,0 +1,11 @@ +--- src/mailman/config/postfix.cfg.orig 2017-08-10 03:04:28 UTC ++++ src/mailman/config/postfix.cfg +@@ -5,7 +5,7 @@ + # db file, from the associated plain text files. The file being updated will + # be appended to this string (with a separating space), so it must be + # appropriate for os.system(). +-postmap_command: /usr/sbin/postmap ++postmap_command: /usr/local/sbin/postmap + + # This variable describes the type of transport maps that will be generated by + # mailman to be used with postfix for LMTP transport. By default, it is set to Index: mail/mailman3/files/patch-src_mailman_config_schema.cfg =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_config_schema.cfg @@ -0,0 +1,20 @@ +--- src/mailman/config/schema.cfg.orig 2018-01-22 20:19:40 UTC ++++ src/mailman/config/schema.cfg +@@ -55,7 +55,7 @@ pending_request_life: 3d + cache_life: 7d + + # Which paths.* file system layout to use. +-layout: here ++layout: home + + # Can MIME filtered messages be preserved by list owners? + filtered_messages_are_preservable: no +@@ -65,7 +65,7 @@ filtered_messages_are_preservable: no + # where the substitution variable $filename is filled in by Mailman, and + # contains the path to the temporary file that the command should read from. + # The command should print the converted text to stdout. +-html_to_plain_text_command: /usr/bin/lynx -dump $filename ++html_to_plain_text_command: /usr/local/bin/lynx -dump $filename + + # Specify what characters are allowed in list names. Characters outside of + # the class [-_.+=!$*{}~0-9a-z] matched case insensitively are never allowed, Index: mail/mailman3/files/patch-src_mailman_config_tests_test__configuration.py =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_config_tests_test__configuration.py @@ -0,0 +1,17 @@ +--- src/mailman/config/tests/test_configuration.py.orig 2018-01-08 11:00:18 UTC ++++ src/mailman/config/tests/test_configuration.py +@@ -88,12 +88,12 @@ class TestExternal(unittest.TestCase): + filename = resource_filename('mailman.config', 'postfix.cfg') + parser = external_configuration(filename) + self.assertEqual(parser.get('postfix', 'postmap_command'), +- '/usr/sbin/postmap') ++ '/usr/local/sbin/postmap') + + def test_external_configuration_by_path(self): + parser = external_configuration('python:mailman.config.postfix') + self.assertEqual(parser.get('postfix', 'postmap_command'), +- '/usr/sbin/postmap') ++ '/usr/local/sbin/postmap') + + def test_missing_configuration_file(self): + with self.assertRaises(MissingConfigurationFileError) as cm: Index: mail/mailman3/files/patch-src_mailman_core_initialize.py =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_core_initialize.py @@ -0,0 +1,19 @@ +--- src/mailman/core/initialize.py.orig 2017-11-18 01:23:39 UTC ++++ src/mailman/core/initialize.py +@@ -67,12 +67,12 @@ def search_for_configuration_file(): + config_path = os.path.join(os.getenv('HOME', '~'), '.mailman.cfg') + if os.path.exists(config_path): + return os.path.abspath(config_path) +- # /etc/mailman.cfg +- config_path = '/etc/mailman.cfg' ++ # /usr/local/etc/mailman.cfg ++ config_path = '/usr/local/etc/mailman.cfg' + if os.path.exists(config_path): + return os.path.abspath(config_path) +- # /etc/mailman3/mailman.cfg +- config_path = '/etc/mailman3/mailman.cfg' ++ # /usr/local/etc/mailman3/mailman.cfg ++ config_path = '/usr/local/etc/mailman3/mailman.cfg' + if os.path.exists(config_path): + return os.path.abspath(config_path) + # $argv0/../../etc/mailman.cfg Index: mail/mailman3/files/patch-src_mailman_rest_tests_test__systemconf.py =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_rest_tests_test__systemconf.py @@ -0,0 +1,11 @@ +--- src/mailman/rest/tests/test_systemconf.py.orig 2017-11-18 01:23:39 UTC ++++ src/mailman/rest/tests/test_systemconf.py +@@ -41,7 +41,7 @@ class TestSystemConfiguration(unittest.TestCase): + default_language='en', + email_commands_max_lines='10', + filtered_messages_are_preservable='no', +- html_to_plain_text_command='/usr/bin/lynx -dump $filename', ++ html_to_plain_text_command='/usr/local/bin/lynx -dump $filename', + layout='testing', + listname_chars='[-_.0-9a-z]', + noreply_address='noreply', Index: mail/mailman3/files/patch-src_mailman_testing_mhonarc.cfg =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_testing_mhonarc.cfg @@ -0,0 +1,8 @@ +--- src/mailman/testing/mhonarc.cfg.orig 2015-12-10 06:48:42 UTC ++++ src/mailman/testing/mhonarc.cfg +@@ -1,4 +1,4 @@ + [general] + base_url: http://$hostname/archives/$fqdn_listname + +-command: /bin/echo "/usr/bin/mhonarc -add -dbfile $PRIVATE_ARCHIVE_FILE_DIR/${listname}.mbox/mhonarc.db -outdir $VAR_DIR/mhonarc/${listname} -stderr $LOG_DIR/mhonarc -stdout $LOG_DIR/mhonarc -spammode -umask 022" ++command: /bin/echo "/usr/local/bin/mhonarc -add -dbfile $PRIVATE_ARCHIVE_FILE_DIR/${listname}.mbox/mhonarc.db -outdir $VAR_DIR/mhonarc/${listname} -stderr $LOG_DIR/mhonarc -stdout $LOG_DIR/mhonarc -spammode -umask 022" Index: mail/mailman3/files/patch-src_mailman_tests_test__configfile.py =================================================================== --- /dev/null +++ mail/mailman3/files/patch-src_mailman_tests_test__configfile.py @@ -0,0 +1,24 @@ +--- src/mailman/tests/test_configfile.py.orig 2017-11-16 05:50:21 UTC ++++ src/mailman/tests/test_configfile.py +@@ -161,8 +161,8 @@ class TestConfigFileSearchWithChroot(TestConfigFileBas + self.assertEqual(search_for_configuration_file(), config_file) + + def test_etc_file(self): +- # Test /etc/mailman.cfg +- fake_etc = '/etc' ++ # Test /usr/local/etc/mailman.cfg ++ fake_etc = '/usr/local/etc' + fake_testdir = self._make_fake(fake_etc) + config_file = os.path.join(fake_etc, 'mailman.cfg') + with fakedirs(fake_testdir): +@@ -172,8 +172,8 @@ class TestConfigFileSearchWithChroot(TestConfigFileBas + self.assertEqual(search_for_configuration_file(), config_file) + + def test_etc_mailman3_file(self): +- # Test /etc/mailman3/mailman.cfg +- fake_etc = '/etc/mailman3' ++ # Test /usr/local/etc/mailman3/mailman.cfg ++ fake_etc = '/usr/local/etc/mailman3' + fake_testdir = self._make_fake(fake_etc) + config_file = os.path.join(fake_etc, 'mailman.cfg') + with fakedirs(fake_testdir): Index: mail/mailman3/pkg-descr =================================================================== --- mail/mailman3/pkg-descr +++ mail/mailman3/pkg-descr @@ -1,20 +1,8 @@ -Paraphrasing the website: - - Mailman is a mailing list manager (MLM); that is, software to help manage - email discussion lists, much like Majordomo, LISTSERV, and the like. - Unlike most similar products, Mailman gives each mailing list a web page - and allows users to subscribe, unsubscribe, and change their preferences - via the web. Even a list manager can administer his or her list(s) - entirely via the web. Mailman integrates many common MLM features, - including web-based archiving (though it also has hooks for external - archivers), mail-to-news gateways, bounce handling, spam prevention, - Majordomo-style email-based list administration, direct SMTP delivery (with - fast bulk mailing), digest delivery, virtual domain support, and more. - -Mailman is written mostly in Python (with a smattering of C where necessary -for security purposes), and includes hooks to make it easily scriptable and -extensible. It is compatible with most web servers and browsers, and most -mail transfer agents (mail servers). Mailman's documentation may be found on -its website. +Mailman is free software for managing electronic mail discussion +and e-newsletter lists. Mailman is integrated with the web, making +it easy for users to manage their accounts and for list owners to +administer their lists. Mailman supports built-in archiving, automatic +bounce processing, content filtering, digest delivery, spam filters, +and more. WWW: http://www.list.org/