Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163302075
D14126.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
13 KB
Referenced Files
None
Subscribers
None
D14126.id.diff
View Options
Index: mail/Makefile
===================================================================
--- mail/Makefile
+++ mail/Makefile
@@ -216,6 +216,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
@@ -0,0 +1,44 @@
+# $FreeBSD$
+
+PORTNAME= mailman
+PORTVERSION= 3.2.0
+PORTREVISION= 0
+CATEGORIES= mail
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= vishwin@vishwin.info
+COMMENT= The GNU Mailing List Management System, Core
+
+LICENSE= GPLv3+
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosmtpd>=1.1:mail/py-aiosmtpd@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}alembic>0:databases/py-alembic@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}atpublic>0:devel/py-atpublic@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dnspython>=1.14.0:dns/py-dnspython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}falcon>=1.0.0.rc1:www/py-falcon@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flufl.bounce>0:mail/py-flufl.bounce@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flufl.i18n>=2.0:devel/py-flufl.i18n@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flufl.lock>=3.1:devel/py-flufl.lock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lazr.config>0:devel/py-lazr.config@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>1.2.3:databases/py-sqlalchemy12@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zope.component>0:devel/py-zope.component@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zope.configuration>0:devel/py-zope.configuration@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zope.event>0:devel/py-zope.event@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}
+
+USES= python:3.5+
+USE_PYTHON= distutils autoplist
+USE_RC_SUBR= mailman
+
+SUB_LIST= PYTHON_CMD=${PYTHON_CMD}
+
+USERS= mailman
+GROUPS= mailman
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
Index: mail/mailman3/distinfo
===================================================================
--- mail/mailman3/distinfo
+++ mail/mailman3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1532341926
+SHA256 (mailman-3.2.0.tar.gz) = 5527eedc65007d9c6d35183e641295b242dbb877e684c22f89bbd90d56ce4517
+SIZE (mailman-3.2.0.tar.gz) = 773200
Index: mail/mailman3/files/mailman.in
===================================================================
--- /dev/null
+++ mail/mailman3/files/mailman.in
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: mailman
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# 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.
+# mailman_config (path): Set to %%PREFIX%%/mailman/etc/mailman.cfg
+# by default.
+
+. /etc/rc.subr
+
+name=mailman
+rcvar=mailman_enable
+
+load_rc_config $name
+
+: ${mailman_enable:=NO}
+: ${mailman_config="%%PREFIX%%/mailman/etc/mailman.cfg"}
+
+command_interpreter=%%PYTHON_CMD%%
+command=%%PREFIX%%/bin/${name}
+
+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}/etc/${name}.cfg"
+pidfile="%%PREFIX%%/${name}/master.pid"
+
+command_args="-C ${mailman_config}"
+
+mailman_command()
+{
+ LANG=en_US.UTF-8 /usr/bin/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
@@ -0,0 +1,8 @@
+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/
Index: mail/mailman3/pkg-message
===================================================================
--- /dev/null
+++ mail/mailman3/pkg-message
@@ -0,0 +1,8 @@
+To initialise Mailman's runtime directories, log files and database
+for the first time, run
+
+ service mailman info
+
+You can then start Mailman by running:
+
+ service mailman start
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jul 22, 8:59 PM (11 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35382666
Default Alt Text
D14126.id.diff (13 KB)
Attached To
Mode
D14126: New port: mail/mailman3: The GNU Mailing List Management System, Core, version 3
Attached
Detach File
Event Timeline
Log In to Comment