Created attachment 190170 [details]
Initial submission of GNU Mailman 3 into the ports tree. See review D14126.
Comment on attachment 190170 [details]
See Phabricator for updated patch.
Now that the zope dependency has hit the tree, will you update this to 3.2 ?
(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.
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.
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?
(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.
Charlie, what's the state of your efforts from comment #6?
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?
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.
any updates on this? I'm eagerly waiting for this port to upgrade our Mailman instances here ... thanks :-)
(In reply to Julien Cigar from comment #11)
No updates, we still need run-tests.
I would also like to see this in ports. anything I can help with?
Created attachment 214820 [details]
svn-diff for 3.3.1
testbuilds look fine, run-tests still needed.
You maybe need lynx as runtime dep due to this line:
+html_to_plain_text_command: /usr/local/bin/lynx -dump $filename
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.
Can somebody explain me why this port got stuck here? What is needed to move forward? It would be great to have it done..
(In reply to Aleksander from comment #17)
see comment #14
(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-}
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:
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
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
(In reply to Dan Langille from comment #21)
You should have
after the patch -- can you check it's whereabouts ?
(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?
(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.
(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?
(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!
(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.
I understand. I have lots of other things to-do as well 8-(
(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.
A commit references this bug:
Date: Mon Sep 21 15:43:22 UTC 2020
New revision: 549452
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,
Submitted by: Charlie Li <firstname.lastname@example.org> (with changes from pi)