Page MenuHomeFreeBSD

New port: mail/mailman3: The GNU Mailing List Management System, Core, version 3
Needs ReviewPublic

Authored by ml_vishwin.info on Jan 29 2018, 8:10 PM.

Details

Reviewers
None
Group Reviewers
Python
Summary

Initial submission of GNU Mailman 3 into the ports tree. There will be separate ports for the rest of the suite: python client, Postorious, Hyperkitty.

Some peculiarities:

  • git snapshot instead of stable 3.1.1; the stable version explicitly requires an older mail/py-aiosmtpd no longer available in the tree
  • The use of devel/py-click requires a UTF-8 locale; the rc script reflects this
  • This port can also use databases/py-sqlalchemy11 but not databases/py-sqlalchemy12, but the dependency set here is for databases/py-sqlalchemy10 so as to not foul the databases/py-alembic dependency
  • Patches deal mainly with path fixes to conform to FreeBSD filesystem structure

Additionally, D14123 and D14125 need applied before this can build and run successfully.

Test Plan
  • Resolve D14123 and D14125
  • poudriere QA
  • portlint -AC
  • rclint

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 18470
Build 18175: arc lint + arc unit

Event Timeline

mat added a comment.Jan 30 2018, 8:08 AM

This has to start with svn cp mail/mailman mail/mailman3.

I'm not so sure about having the mailman2 (mail/mailman) origin. Mailman 3 is a complete re-architecture, re-write, etc and thus has absolutely nothing in common with the old mailman apart from the name.

Regenerate using git diff -U9999

mat added a comment.Jan 30 2018, 12:21 PM

I'm not so sure about having the mailman2 (mail/mailman) origin. Mailman 3 is a complete re-architecture, re-write, etc and thus has absolutely nothing in common with the old mailman apart from the name.

It is the same software, even if it has been rewritten from scratch. The idea is to keep the ancestry of the *port* of the software.

ml_vishwin.info edited the test plan for this revision. (Show Details)

Regenerate with devel/arcanist and rebase on svn copy

pi added a subscriber: pi.Jul 29 2018, 7:34 PM

Update to 3.2.0. Still QAing on my end, but at least the port-plumbing looks somewhat sane now.

mail/mailman3/files/mailman.in
44

Is there a better way to enforce a UTF-8 encoding whilst preserving the user's language setting? Otherwise Mailman fails to run or crashes because dependency devel/py-click absolutely requires a UTF-8 environment.

mail/mailman3/pkg-message
4

Any better way to express this?

mat added inline comments.Aug 1 2018, 7:40 AM
mail/mailman3/files/mailman.in
44

You could probably add a mailman_lang that defaults to en_US.UTF-8.
And add a check to make sure it is an UTF-8 lang.

linimon retitled this revision from New port: mail/mailman3 to New port: mail/mailman3: The GNU Mailing List Management System, Core, version 3.Aug 2 2018, 10:23 PM

IMHO it is a good idea to install minimum mailman.cfg using '@sample'.

mail/mailman3/files/mailman.in
14

Probably It is a typo and path shold be "%%PREFIX%%/etc/mailman/mailman.cfg" or just "%%PREFIX%%/etc/mailman.cfg"

25

Same as bove.

37

May be just required_files="${mailman_config}" ?

ml_vishwin.info marked 2 inline comments as done.Sep 13 2018, 2:05 PM

Mailman creates the config file upon first run, so specifying @sample in plist is not necessary. Furthermore such a directive doesn't play the nicest with autoplist.

mail/mailman3/files/mailman.in
14

Not a typo. Without an explicit config path passed to Mailman, the default behaviour is to create the config under the mailman user's $HOME, which is %%PREFIX%%/mailman.

25

Default path stands.

mail/mailman3/files/mailman.in
35

Please add reload to extra_commands. mailman reopens log files on SIGHUP: https://gitlab.com/mailman/mailman/blob/master/src/mailman/bin/master.py#L271

mat added inline comments.Sep 14 2018, 10:12 AM
mail/mailman3/files/mailman.in
14

Well, on FreeBSD, configuration files go in PREFIX/etc, please respect that.