[Mailman-Users] Impossible to remove mailing lists with ./rmlist

Mark Sapiro mark at msapiro.net
Mon Feb 16 20:03:15 CET 2015

On 02/16/2015 03:14 AM, Luca Mazzaferro wrote:
> After the installation, I configured the file:
> /usr/lib/mailman/Mailman/mm_cfg.py
> To store the data, lists and archives in external filesystem (now they
> are commented because I solved in another way)
> #DATA_DIR = '/data/mailman/data'
> #PUBLIC_ARCHIVE_FILE_DIR = '/data/mailman/archives/public'
> #PRIVATE_ARCHIVE_FILE_DIR = '/data/mailman/archives/private'
> #LIST_DATA_DIR = '/data/mailman/lists'
> It seems that this configuration is completely ignored.

It shouldn't be.

> In this way everything works, but the question remain:
> is it normal that the mm_cfg.py is ignored?
> Do I configured it in a bad way?

It's still something of a puzzle.

>>> /usr/lib/mailman/bin> ./list_lists
>>> 9 matching mailing lists found:
>>>         Mailman - The site list
>>>        Testlist - [no description available]
>>>      Testlist10 - [no description available]
>>>      Testlist11 - [no description available]
>>>       Testlist2 - [no description available]
>>>       Testlist3 - [no description available]
>>>       Testlist4 - [no description available]
>>>       Testlist5 - [no description available]
>>>       Testlist7 - [no description available]

list_lists is clearly looking for the lists in the place where they are
which presumably is LIST_DATA_DIR = '/data/mailman/lists'.

>>> so now I would remove Testlist10 for example:
>>> /usr/lib/mailman/bin> ./rmlist Testlist10
>>> Not removing archives.  Reinvoke with -a to remove them.
>>> testlist10 list info not found as /var/lib/mailman/lists/testlist10

but at this point, rmlist is looking in /var/lib/mailman/lists/ which is
not where they are, yet rmlist contains

        REMOVABLES = [
            (os.path.join(mm_cfg.LIST_DATA_DIR, listname), _('list info')),

which says it's going to be looking for lists in mm_cfg.LIST_DATA_DIR
which it reports as /var/lib/mailman/lists/, but it previously did

    if Utils.list_exists(listname):
        mlist = MailList.MailList(listname, lock=0)

which did find the list or it wouldn't have gotten as far as it did.

So, it looks like some things like Utils.list_exists(),
Utils.list_names() and MailList.MailList() are all find
mm_cfg.LIST_DATA_DIR to be one place not = /var/lib/mailman/lists/, but
rmlist finds mm_cfg.LIST_DATA_DIR to be = /var/lib/mailman/lists/.

I can't explain how this could happen.

Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list