Barry Warsaw pushed to branch master at mailman / Mailman Core
Commits: 91ea4c2c by Jonas Meurer at 2017-09-28T16:37:52+00:00 Consider /etc/mailman3/mailman.cfg as config file - - - - - d6619577 by Barry Warsaw at 2017-09-28T16:37:53+00:00 Merge branch 'etc_mailman3_mailman.cfg' into 'master' Consider /etc/mailman3/mailman.cfg as config file Closes #399 See merge request mailman/mailman!319 - - - - - 4 changed files: - src/mailman/config/docs/config.rst - src/mailman/core/initialize.py - src/mailman/docs/NEWS.rst - src/mailman/tests/test_configfile.py Changes: ===================================== src/mailman/config/docs/config.rst ===================================== --- a/src/mailman/config/docs/config.rst +++ b/src/mailman/config/docs/config.rst @@ -19,6 +19,7 @@ site's custom ``mailman.cfg`` file. The first file found is used. * ``var/etc/mailman.cfg`` relative to the current working directory * ``$HOME/.mailman.cfg`` * ``/etc/mailman.cfg`` +* ``/etc/mailman3/mailman.cfg`` * ``../../etc/mailman.cfg`` relative to the working directory of ``argv[0]`` You can also use the ``-C`` option to specify an explicit path, and this ===================================== src/mailman/core/initialize.py ===================================== --- a/src/mailman/core/initialize.py +++ b/src/mailman/core/initialize.py @@ -71,6 +71,10 @@ def search_for_configuration_file(): config_path = '/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' + if os.path.exists(config_path): + return os.path.abspath(config_path) # $argv0/../../etc/mailman.cfg bindir = os.path.dirname(sys.argv[0]) parent = os.path.dirname(bindir) ===================================== src/mailman/docs/NEWS.rst ===================================== --- a/src/mailman/docs/NEWS.rst +++ b/src/mailman/docs/NEWS.rst @@ -47,6 +47,8 @@ Configuration * A new logger has been added called ``logging.plugins``. * The ``[styles]paths`` variable has been removed; you can now specify additional styles using the new plugin architecture. +* Mailman now also searches at ``/etc/mailman3/mailman.cfg`` for the + configuration file. Interfaces ---------- ===================================== src/mailman/tests/test_configfile.py ===================================== --- a/src/mailman/tests/test_configfile.py +++ b/src/mailman/tests/test_configfile.py @@ -171,6 +171,17 @@ class TestConfigFileSearchWithChroot(TestConfigFileBase): print('# Fake mailman.cfg file', file=fp) self.assertEqual(search_for_configuration_file(), config_file) + def test_etc_mailman3_file(self): + # Test /etc/mailman3/mailman.cfg + fake_etc = '/etc/mailman3' + fake_testdir = self._make_fake(fake_etc) + config_file = os.path.join(fake_etc, 'mailman.cfg') + with fakedirs(fake_testdir): + # Write a mostly empty configuration file. + with open(os.path.join(fake_testdir, 'mailman.cfg'), 'w') as fp: + print('# Fake mailman.cfg file', file=fp) + self.assertEqual(search_for_configuration_file(), config_file) + def test_sibling_directory(self): # Test $argv0/../../etc/mailman.cfg fake_root = '/usr/local/mm3' View it on GitLab: https://gitlab.com/mailman/mailman/compare/f7759db0861415ff8449d9059229beb27980c96b...d6619577b863170474188e2a904102511ca657cb --- View it on GitLab: https://gitlab.com/mailman/mailman/compare/f7759db0861415ff8449d9059229beb27980c96b...d6619577b863170474188e2a904102511ca657cb You're receiving this email because of your account on gitlab.com.
_______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org