[Mailman-Developers] Mailman keeps creating "var" directories

Andrew Stuart andrew.stuart at supercoders.com.au
Sat Dec 6 08:48:04 CET 2014

Hi Abhilash,

>>>>> Where did you get this config from? Mailman supports INI-style config only. 

Actually I copied the directory specifications from the output of mailman info -v     I can see now that isn’t a good idea as the format is not the same.  Don’t know why I assumed it would be.

Also I can see now the second part of my issue was that even after setting the directories correctly, I also has to specify which section of mailman.cfg should be used to define the directories.

It’s working now thanks.


On 6 Dec 2014, at 6:31 pm, Abhilash Raj <raj.abhilash1 at gmail.com> wrote:

Hi Andrew,

On Sat, Dec 6, 2014 at 12:04 PM, Andrew Stuart <andrew.stuart at supercoders.com.au> wrote:
When I run “mailman info”, it creates a “var” directory in the current directory.

Yes this is the default behavior when you don't specify the paths explicitly in your mailman.cfg  

You can see in the following that I have mailman.cfg in my /etc

You can also see that /etc/mailman.cfg defines locations for the various directories.

You can see that prior to running mailman info there is no “var” directory, but there is afterwards.

I’m curious to understand why it is doing this when apparently mailman is picking up the configuration file OK from /etc but ignoring its contents and then setting up a new var directory in the current directory.  Any ideas welcome.

(venv2.7)ubuntu at server01:~$ ls
blankontheme.zip  mailman  mailman.client  postorius  postorius_standalone  temp  venv2.7
(venv2.7)ubuntu at server01:~$ grep _dir /etc/mailman.cfg
#var_dir: var
archive_dir              = /home/ubuntu/mailman/var/archives
bin_dir                  = /home/ubuntu/venv2.7/bin
data_dir                 = /home/ubuntu/mailman/var/data
etc_dir                  = /etc
ext_dir                  = /home/ubuntu/mailman/var/ext
list_data_dir            = /home/ubuntu/mailman/var/lists
lock_dir                 = /home/ubuntu/mailman/var/locks
log_dir                  = /home/ubuntu/mailman/var/logs
messages_dir             = /home/ubuntu/mailman/var/messages
queue_dir                = /home/ubuntu/mailman/var/queue
template_dir             = /home/ubuntu/mailman/var/templates
var_dir                  = /home/ubuntu/mailman/var

Where did you get this config from? Mailman supports INI-style config only. My bet is that mailman
is able to find your config file but is not able to parse it. What actually happens is that mailman
has predefined  paths for different scenarios which can be configured with layout variable in [mailman]
section inside your mailman.cfg. 

The default is `dev` layout which creates the `var` directory in the current directory.

You can either change the default `var_dir` in `dev` layout, below is a sample config for that:

var_dir : <dir_of_your_choice>

or you can use some other paths defined in src/mailman/config/mailman.cfg under 
[paths.local], [paths.master], [paths.fhs] and change the default layout in your mailman.cfg like this:

layout: local

Also my guess is that you can create your own path structure inside your mailman.cfg and use
that layout with mailman. How to create that can be seen in `src/mailman/config/mailman.cfg`.

Abhilash Raj

More information about the Mailman-Developers mailing list