Bug 225543 - [NEW PORT] mail/mailman3: GNU Mailman 3.3.1, core
Summary: [NEW PORT] mail/mailman3: GNU Mailman 3.3.1, core
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Steve Wills
URL: https://reviews.freebsd.org/D14126
Keywords: feature, needs-qa
Depends on: 224993 225010 230164
Blocks: 249337
  Show dependency treegraph
 
Reported: 2018-01-29 20:14 UTC by Charlie Li
Modified: 2020-11-26 12:37 UTC (History)
20 users (show)

See Also:


Attachments
mail/mailman3 (13.26 KB, patch)
2018-01-29 20:14 UTC, Charlie Li
no flags Details | Diff
svn-diff for 3.3.1 (18.37 KB, patch)
2020-05-24 19:13 UTC, Kurt Jaeger
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Li freebsd_committer freebsd_triage 2018-01-29 20:14:01 UTC
Created attachment 190170 [details]
mail/mailman3

Initial submission of GNU Mailman 3 into the ports tree. See review D14126.
Comment 1 Charlie Li freebsd_committer freebsd_triage 2018-01-31 19:57:46 UTC
Comment on attachment 190170 [details]
mail/mailman3

See Phabricator for updated patch.
Comment 2 Kurt Jaeger freebsd_committer freebsd_triage 2018-07-29 19:37:36 UTC
Now that the zope dependency has hit the tree, will you update this to 3.2 ?
Comment 3 Charlie Li freebsd_committer freebsd_triage 2018-07-29 19:42:27 UTC
(In reply to Kurt Jaeger from comment #2)
I have 3.2 built locally with updated port files and such. Still need to do runtime testing.

Furthermore, there is a hard dependency on databases/py-sqlalchemy12, but another hard dependency databases/py-alembic specifies databases/py-sqlalchemy10. I locally patched databases/py-alembic to use databases/py-sqlalchemy12 to facilitate building and runtime testing, but anything further is a topic for another PR.
Comment 4 Charlie Li freebsd_committer freebsd_triage 2018-07-31 20:59:39 UTC
Phabricator review D14126 refreshed, updated to 3.2.0, with inline questions. Still QAing runtime on my end but the port-plumbing should be somewhat sane now.
Comment 5 Daniel Winter 2019-04-09 12:27:53 UTC
Hi

What is the state of this port? It is not yet in the official ports tree.
I would prefer to have a port instead of installing it with Ansible from the Git sources.
Can I help somehow with the process? What would be needed?
Comment 6 Charlie Li freebsd_committer freebsd_triage 2019-04-09 13:30:36 UTC
(In reply to Daniel Winter from comment #5)
I have an update to 3.2.2 waiting in the wings in my local ports repo. As with the initial 3.2.0 efforts, paths need to be checked, and patched if necessary, to follow our hier(7) as upstream hardcodes many paths to the Linux layout (and USES=pathfix won't automatically get them). Other than that, I still need to test runtime itself.
Comment 7 Matthias Andree freebsd_committer freebsd_triage 2019-09-07 11:13:51 UTC
Bump
Comment 8 Matthias Andree freebsd_committer freebsd_triage 2019-09-07 11:14:44 UTC
Charlie, what's the state of your efforts from comment #6?
Comment 9 Eirik Oeverby 2019-12-27 13:53:37 UTC
Now that python2 is EOL, having mailman3 in ports becomes critical. Is there a way to bump the priority of this, perhaps someone can take it upon themselves to finish the port? Or are "nobody" using mailman these days?
Comment 10 Kurt Jaeger freebsd_committer freebsd_triage 2020-01-05 16:05:27 UTC
testbuild with the most recent version from the review, updated to 3.3.0, builds fine.

TODO: more run-tests, path fixes as requested in the review.
Comment 11 Julien Cigar 2020-02-11 13:31:00 UTC
any updates on this? I'm eagerly waiting for this port to upgrade our Mailman instances here ... thanks :-)
Comment 12 Kurt Jaeger freebsd_committer freebsd_triage 2020-02-12 07:21:18 UTC
(In reply to Julien Cigar from comment #11)
No updates, we still need run-tests.
Comment 13 Antonio Huete Jimenez 2020-03-25 01:51:58 UTC
I would also like to see this in ports. anything I can help with?
Comment 14 Kurt Jaeger freebsd_committer freebsd_triage 2020-05-24 19:13:50 UTC
Created attachment 214820 [details]
svn-diff for 3.3.1

testbuilds look fine, run-tests still needed.
Comment 15 Matthias Fechner freebsd_committer freebsd_triage 2020-05-25 09:39:49 UTC
You maybe need lynx as runtime dep due to this line:

	+html_to_plain_text_command: /usr/local/bin/lynx -dump $filename
Comment 16 Matthias Fechner freebsd_committer freebsd_triage 2020-05-25 09:43:19 UTC
I suggest to name the service mailman3 and not mailman, as mailman3 is not an update for mailman, but a replacement.
This way it will break or uninstall an existing mailman installation, which is maybe not wanted.
Comment 17 Aleksander 2020-07-03 18:24:25 UTC
Can somebody explain me why this port got stuck here? What is needed to move forward? It would be great to have it done..
Comment 18 Matthias Andree freebsd_committer freebsd_triage 2020-07-03 19:25:20 UTC
(In reply to Aleksander from comment #17)
see comment #14
Comment 19 Kurt Jaeger freebsd_committer freebsd_triage 2020-07-03 19:32:20 UTC
(In reply to Aleksander from comment #17)
Can you use the port, build it on some system and do some tests if everything works etc ? That's what I'd call a run-test. It tests if the port runs 8-}
Comment 20 Aleksander 2020-07-05 06:44:57 UTC
I have build the port and tried using my production configuration with it in jail.
After fixing dependency on py37-pymysql (I use mysql as backend) it almost worked.

Cannot import runner module: mailman.runners.rest.RESTRunner
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/mailman/bin/runner.py", line 55, in make_runner
    runner_class = find_name(class_path)
  File "/usr/local/lib/python3.7/site-packages/mailman/utilities/modules.py", line 52, in find_name
    module = import_module(module_path)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.7/site-packages/mailman/runners/rest.py", line 27, in <module>
    from mailman.rest.wsgiapp import make_server
  File "/usr/local/lib/python3.7/site-packages/mailman/rest/wsgiapp.py", line 25, in <module>
    from falcon.routing import create_http_method_map
ImportError: cannot import name 'create_http_method_map' from 'falcon.routing' (/usr/local/lib/python3.7/site-packages/falcon/routing/__init__.py)


which brought me to:
https://gitlab.com/mailman/mailman/-/issues/559
Comment 21 Dan Langille freebsd_committer freebsd_triage 2020-08-19 14:02:37 UTC
I tried build with the patch.  I get to:

===>   py37-mailman-3.3.1 depends on package: py37-setuptools>0 - found
===>   py37-mailman-3.3.1 depends on file: /usr/local/bin/python3.7 - found
** Missing /usr/ports/mail/mailman3/files/mailman.in for py37-mailman-3.3.1.
*** Error code 1

Stop.
make: stopped in /usr/ports/mail/mailman3

Full log at https://services.unixathome.org/poudriere/data/121amd64-dvl/2020-08-19_13h48m33s/logs/errors/py37-mailman-3.3.1.log
Comment 22 Kurt Jaeger freebsd_committer freebsd_triage 2020-08-25 18:04:50 UTC
(In reply to Dan Langille from comment #21)
You should have

mail/mailman3/files/mailman.in

after the patch -- can you check it's whereabouts ?
Comment 23 Dan Langille freebsd_committer freebsd_triage 2020-08-25 19:01:35 UTC
(In reply to Kurt Jaeger from comment #22)
Thank you.  I failed with the patch.

svn patch ~/tmp/mailman3.patch 

^ that approach worked for me.

It builds fine now. :)

This has been waiting 2.5 years.  

It seems the only thing holding it up is someone doing 'run-tests'.

Do we agree?
Comment 24 Kurt Jaeger freebsd_committer freebsd_triage 2020-08-25 19:03:33 UTC
(In reply to Dan Langille from comment #23)
Yes, please. Someone should do some run-tests and probably
make a list of useful test-cases and their results.
Comment 25 Dan Langille freebsd_committer freebsd_triage 2020-08-25 19:07:48 UTC
(In reply to Kurt Jaeger from comment #24)

My best contribution would be building the package here and converting my existing mailman host to mailman3. I have 18 lists over about 8 domains.

Would that be a start?
Comment 26 Kurt Jaeger freebsd_committer freebsd_triage 2020-08-25 19:11:15 UTC
(In reply to Dan Langille from comment #25)
From what I hear, it's not suggested to move a mailman2 instance to mailman3, because it's a whole new system.

So, if you, to test it, create a new instance
with mailman3, install the port, and then try to configure all the things you have in your production system on the mm3 test system and check how/if it works,
that would be a phenomenal run-test!
Comment 27 Dan Langille freebsd_committer freebsd_triage 2020-08-25 20:17:05 UTC
(In reply to Kurt Jaeger from comment #26)

I may not get to this for several weeks. I have things on my to-do list already.
Comment 28 Kurt Jaeger freebsd_committer freebsd_triage 2020-08-25 20:36:22 UTC
I understand. I have lots of other things to-do as well 8-(
Comment 29 Philip Paeps freebsd_committer freebsd_triage 2020-08-28 08:53:51 UTC
(Thanks for the pointer to this bug, pi!)

I'll try to migrate a trivial Mailman setup I have to this port in the coming days and report back.
Comment 30 commit-hook freebsd_committer freebsd_triage 2020-09-21 15:44:02 UTC
A commit references this bug:

Author: swills
Date: Mon Sep 21 15:43:22 UTC 2020
New revision: 549452
URL: https://svnweb.freebsd.org/changeset/ports/549452

Log:
  mail/mailman3: create port

  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/

  PR:		225543
  Submitted by:	Charlie Li <ml+freebsd@vishwin.info> (with changes from pi)

Changes:
  head/mail/Makefile
  head/mail/mailman3/
  head/mail/mailman3/Makefile
  head/mail/mailman3/distinfo
  head/mail/mailman3/files/
  head/mail/mailman3/files/mailman.in
  head/mail/mailman3/files/patch-src_mailman_config_mailman.cfg
  head/mail/mailman3/files/patch-src_mailman_config_mhonarc.cfg
  head/mail/mailman3/files/patch-src_mailman_config_postfix.cfg
  head/mail/mailman3/files/patch-src_mailman_config_schema.cfg
  head/mail/mailman3/files/patch-src_mailman_config_tests_test__configuration.py
  head/mail/mailman3/files/patch-src_mailman_core_initialize.py
  head/mail/mailman3/files/patch-src_mailman_rest_tests_test__systemconf.py
  head/mail/mailman3/files/patch-src_mailman_testing_mhonarc.cfg
  head/mail/mailman3/files/patch-src_mailman_tests_test__configfile.py
  head/mail/mailman3/pkg-descr
  head/mail/mailman3/pkg-message
Comment 31 Steve Wills freebsd_committer freebsd_triage 2020-09-21 15:45:37 UTC
Committed, thanks!
Comment 32 Dan Langille freebsd_committer freebsd_triage 2020-11-25 22:16:38 UTC
For those following this at home, #250362 indicates zope5 is required. I just hit this problem when trying to upgrade my mailman instance.
Comment 33 Dan Langille freebsd_committer freebsd_triage 2020-11-26 12:36:06 UTC
I meant: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225543
Comment 34 Dan Langille freebsd_committer freebsd_triage 2020-11-26 12:37:16 UTC
(In reply to Dan Langille from comment #33)
No: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250362