VAR_PREFIX should be runtime-configurable
Bug #925502 reported by
Zenon Panoussis
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Invalid
|
Wishlist
|
Mark Sapiro |
Bug Description
While there are many good and even pressing reasons to put the list files someplace other than in /var/lib/mailman, VAR_PREFIX is a compile-time option that cannot be set in mm_cfg. As a result, you have to choose *either* the benefits of moving the list files out of /var/lib *or* the benefits of running a distro with automatic updates; you can't have both.
RFE: please make VAR_PREFIX configurable from mm_cfg.py.
To post a comment you must log in.
VAR_PREFIX is configurable in mm_cfg.py. The problem is that 22 other directories/files are defined directly or indirectly in Defaults.py following the definition of VAR_PREFIX. mm_cfg.py imports everything from Defaults and then allows you to override any of the imported values. Simply changing VAR_PREFIX in mm_cfg.py doesn't change the definitions of these other 22 variables already defined in Defaults.py.
If you redefine VAR_PREFIX in mm_cfg .py, you need to copy all the dependent definitions after that as follows:
VAR_PREFIX = 'new/value'
LIST_DATA_DIR = os.path. join(VAR_ PREFIX, 'lists') join(VAR_ PREFIX, 'logs') join(VAR_ PREFIX, 'locks') join(VAR_ PREFIX, 'data') join(VAR_ PREFIX, 'spam')
LOG_DIR = os.path.
LOCK_DIR = os.path.
DATA_DIR = os.path.
SPAM_DIR = os.path.
PUBLIC_ ARCHIVE_ FILE_DIR = os.path. join(VAR_ PREFIX, 'archives', 'public') ARCHIVE_ FILE_DIR = os.path. join(VAR_ PREFIX, 'archives', 'private')
PRIVATE_
QUEUE_DIR = os.path. join(VAR_ PREFIX, 'qfiles') join(QUEUE_ DIR, 'in') join(QUEUE_ DIR, 'out') join(QUEUE_ DIR, 'commands') join(QUEUE_ DIR, 'bounces') join(QUEUE_ DIR, 'news') join(QUEUE_ DIR, 'archive') join(QUEUE_ DIR, 'shunt') join(QUEUE_ DIR, 'virgin') join(QUEUE_ DIR, 'bad') join(QUEUE_ DIR, 'retry') join(QUEUE_ DIR, 'maildir')
INQUEUE_DIR = os.path.
OUTQUEUE_DIR = os.path.
CMDQUEUE_DIR = os.path.
BOUNCEQUEUE_DIR = os.path.
NEWSQUEUE_DIR = os.path.
ARCHQUEUE_DIR = os.path.
SHUNTQUEUE_DIR = os.path.
VIRGINQUEUE_DIR = os.path.
BADQUEUE_DIR = os.path.
RETRYQUEUE_DIR = os.path.
MAILDIR_DIR = os.path.
PIDFILE = os.path. join(DATA_ DIR, 'master- qrunner. pid') join(DATA_ DIR, 'adm.pw') join(DATA_ DIR, 'creator.pw')
SITE_PW_FILE = os.path.
LISTCREATOR_PW_FILE = os.path.