Public bug reported:
GNU Mailman 3.0.0b1+ (current bzr head).
http://packages.python.org/mailman/src/mailman/docs/START.html#running- mailman-3 talks about ./mailman.cfg being used as configuration (among others). This seems to be only partially true.
I put this mailman.cfg into /usr/local/mailman
--- [database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgres://mailman:mailman@xxx/mailman
[shell] use_ipython: yes
[mta] incoming: mailman.mta.postfix.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: mailout.xxx lmtp_port: 8024 smtp_host: mailout.xxx smtp_port: 25
[runner.nntp] start: no ---
and started bin/mailman start. The PostgreSQL database was initialized, bin/mailman status showed the correct configuration location. I could create lists and they were added in the SQL database. It would use ipython as shell. But it would still try to send mail through localhost, and it would still start the nntp runner. And LMTP would reject mails to the existing lists with "mailbox unavailable". So it seems the configuration was only used by the main process, but not by the runners.
Moving the configuration to a non-relative location fixed it.
** Affects: mailman Importance: Undecided Status: New
Are you sure you restarted the runners after modifying the mailman.cfg file? None of the processes will re-read changes to the configuration file without being restarted.
** Tags added: mailman3
** Changed in: mailman Status: New => Incomplete
Yes I'm sure, I ran bin/mailman stop and verified that no processes were running.
** Changed in: mailman Status: Incomplete => Triaged
The problem is that if you do 'bin/mailman -C some/relative/path' these paths will not get passed to the runner subprocesses correctly. I think the fix is to make them absolute paths in cli_control.py and pass only absolute paths to the runners command lines.
** Changed in: mailman Status: Triaged => Confirmed
** Changed in: mailman Importance: Undecided => High
** Changed in: mailman Assignee: (unassigned) => Barry Warsaw (barry)
** Changed in: mailman Milestone: None => 3.0.0b3
** Summary changed:
- ./mailman.cfg only used partially + Relative paths in 'mailman start -C' are broken
Oops, cli_control does a chdir to the $VAR_DIR which is probably how it's really broken. So the rel->abs pathing must happen before the chdir(). It still better to pass the absolute path down to the runners.
** Changed in: mailman Status: Confirmed => In Progress
** Changed in: mailman Status: In Progress => Fix Committed
** Changed in: mailman Status: Fix Committed => Fix Released