summaryrefslogtreecommitdiff
path: root/Mailman/configuration.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/configuration.py')
-rw-r--r--Mailman/configuration.py72
1 files changed, 32 insertions, 40 deletions
diff --git a/Mailman/configuration.py b/Mailman/configuration.py
index aa3e1f9cf..1943b3495 100644
--- a/Mailman/configuration.py
+++ b/Mailman/configuration.py
@@ -45,16 +45,17 @@ class Configuration(object):
self.qrunners = {}
def load(self, filename=None):
+ join = os.path.join
# Load the configuration from the named file, or if not given, search
- # in VAR_PREFIX for an etc/mailman.cfg file. If that file is missing,
- # use Mailman/mm_cfg.py for backward compatibility.
+ # in the runtime data directory for an etc/mailman.cfg file. If that
+ # file is missing, use Mailman/mm_cfg.py for backward compatibility.
#
# Whatever you find, create a namespace and execfile that file in it.
# The values in that namespace are exposed as attributes on this
# Configuration instance.
original_filename = filename
if filename is None:
- filename = os.path.join(Defaults.VAR_PREFIX, 'etc', 'mailman.cfg')
+ filename = join(Defaults.RUNTIME_DIR, 'etc', 'mailman.cfg')
# Set up the execfile namespace
ns = Defaults.__dict__.copy()
# Prune a few things, add a few things
@@ -86,47 +87,38 @@ class Configuration(object):
if ns['USE_LMTP']:
self.add_qrunner('LMTP')
# Pull out the defaults
- PREFIX = ns['PREFIX']
- VAR_PREFIX = ns['VAR_PREFIX']
- EXEC_PREFIX = ns['EXEC_PREFIX']
+ RUNTIME_DIR = ns['RUNTIME_DIR']
# Now that we've loaded all the configuration files we're going to
# load, set up some useful directories.
- self.LIST_DATA_DIR = os.path.join(VAR_PREFIX, 'lists')
- self.LOG_DIR = os.path.join(VAR_PREFIX, 'logs')
- self.LOCK_DIR = lockdir = os.path.join(VAR_PREFIX, 'locks')
- self.DATA_DIR = datadir = os.path.join(VAR_PREFIX, 'data')
- self.ETC_DIR = etcdir = os.path.join(VAR_PREFIX, 'etc')
- self.SPAM_DIR = os.path.join(VAR_PREFIX, 'spam')
- self.EXT_DIR = os.path.join(VAR_PREFIX, 'ext')
- self.WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail')
- self.BIN_DIR = os.path.join(PREFIX, 'bin')
- self.SCRIPTS_DIR = os.path.join(PREFIX, 'scripts')
- self.TEMPLATE_DIR = os.path.join(PREFIX, 'templates')
- self.MESSAGES_DIR = os.path.join(PREFIX, 'messages')
- self.PUBLIC_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX,
- 'archives', 'public')
- self.PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX,
- 'archives', 'private')
+ self.LIST_DATA_DIR = join(RUNTIME_DIR, 'lists')
+ self.LOG_DIR = join(RUNTIME_DIR, 'logs')
+ self.LOCK_DIR = lockdir = join(RUNTIME_DIR, 'locks')
+ self.DATA_DIR = datadir = join(RUNTIME_DIR, 'data')
+ self.ETC_DIR = etcdir = join(RUNTIME_DIR, 'etc')
+ self.SPAM_DIR = join(RUNTIME_DIR, 'spam')
+ self.EXT_DIR = join(RUNTIME_DIR, 'ext')
+ self.PUBLIC_ARCHIVE_FILE_DIR = join(RUNTIME_DIR, 'archives', 'public')
+ self.PRIVATE_ARCHIVE_FILE_DIR = join(
+ RUNTIME_DIR, 'archives', 'private')
# Directories used by the qrunner subsystem
- self.QUEUE_DIR = qdir = os.path.join(VAR_PREFIX, 'qfiles')
- self.INQUEUE_DIR = os.path.join(qdir, 'in')
- self.OUTQUEUE_DIR = os.path.join(qdir, 'out')
- self.CMDQUEUE_DIR = os.path.join(qdir, 'commands')
- self.BOUNCEQUEUE_DIR = os.path.join(qdir, 'bounces')
- self.NEWSQUEUE_DIR = os.path.join(qdir, 'news')
- self.ARCHQUEUE_DIR = os.path.join(qdir, 'archive')
- self.SHUNTQUEUE_DIR = os.path.join(qdir, 'shunt')
- self.VIRGINQUEUE_DIR = os.path.join(qdir, 'virgin')
- self.BADQUEUE_DIR = os.path.join(qdir, 'bad')
- self.RETRYQUEUE_DIR = os.path.join(qdir, 'retry')
- self.MAILDIR_DIR = os.path.join(qdir, 'maildir')
+ self.QUEUE_DIR = qdir = join(RUNTIME_DIR, 'qfiles')
+ self.INQUEUE_DIR = join(qdir, 'in')
+ self.OUTQUEUE_DIR = join(qdir, 'out')
+ self.CMDQUEUE_DIR = join(qdir, 'commands')
+ self.BOUNCEQUEUE_DIR = join(qdir, 'bounces')
+ self.NEWSQUEUE_DIR = join(qdir, 'news')
+ self.ARCHQUEUE_DIR = join(qdir, 'archive')
+ self.SHUNTQUEUE_DIR = join(qdir, 'shunt')
+ self.VIRGINQUEUE_DIR = join(qdir, 'virgin')
+ self.BADQUEUE_DIR = join(qdir, 'bad')
+ self.RETRYQUEUE_DIR = join(qdir, 'retry')
+ self.MAILDIR_DIR = join(qdir, 'maildir')
# Other useful files
- self.PIDFILE = os.path.join(datadir,
- 'master-qrunner.pid')
- self.SITE_PW_FILE = os.path.join(datadir, 'adm.pw')
- self.LISTCREATOR_PW_FILE = os.path.join(datadir, 'creator.pw')
- self.CONFIG_FILE = os.path.join(etcdir, 'mailman.cfg')
- self.LOCK_FILE = os.path.join(lockdir, 'master-qrunner')
+ self.PIDFILE = join(datadir, 'master-qrunner.pid')
+ self.SITE_PW_FILE = join(datadir, 'adm.pw')
+ self.LISTCREATOR_PW_FILE = join(datadir, 'creator.pw')
+ self.CONFIG_FILE = join(etcdir, 'mailman.cfg')
+ self.LOCK_FILE = join(lockdir, 'master-qrunner')
# Now update our dict so attribute syntax just works
if 'add_domain' in ns:
del ns['add_domain']