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

Reply via email to