[Mailman-Developers] version mismatch?

John Tobin John.Tobin at cs.tcd.ie
Fri Jul 22 02:02:41 CEST 2005

On Thu, Jul 21, 2005 at 02:05:07PM +0100, Ian Eiloart wrote:
> Similarly, I can't mess with the current installation in order to make the 
> new one build. I have to make a new build, test it, then deploy it. If 
> deployment takes a couple of minutes to take down the service, move some 
> links, then bring it back up, that's OK.

That's what I've been doing, see below.

> It would be very nice if Mailman would do the same. Taking down my list 
> server while building the new one isn't practical. Especially when I can't 
> be sure the new one will work. I found I have to:
>     build (configure, make, make install) with <prefix> = 
> /local/mailman-2.1.6.
>     test the web pages (fixing apache config to find the cgi)
>     configure with <prefix> = /local/mailman
>     hack the Makefile to install in /local/mailman-2.1.6
>     make, make install
>     link archive, log, queue directories
>     take down mailman
>     link /local/mailman
>     put mailman back up
> Now, this process is kind of workable, but has these drawbacks:
>     1. it's more complex than it should be
>     2. I never get to test what I finally install - it has to be rebuilt
>     3. It takes much longer than it should.

The approach I've taken is:
	Install mailman in /mail/mailman-2.1.6
	Symlink /mail/mailman-2.1.6 to /mail/mailman when my testing is
As far as Mailman is concerned it has been installed to
/mail/mailman-2.1.6, whereas as far as everything else (Apache, Postfix
[1], various shell and Python scripts, crontabs, etc) is concerned
Mailman has been installed in /mail/mailman.  Switching is as simple as:
	Kill Mailman, Postfix and Apache.
	rsync lists, logs, etc.
	Run genaliases.
	Remove old symlink, create new symlink.
	Start Mailman, Postfix and Apache.

It's possible, albeit unlikely, that some mail in Postfix's queue has
had an alias expanded to the old Mailman path, but because I have two
completely separate installations, I could run two parallel
installations until such mail has drained from the queue (though
archives would be messed up).

It's probably possible, with clever symlinking and aliases, enough
knowledge of the code to know what's safe, and compatibles versions, to
run two parallel installations using the same lists, qfiles, archives,
locks etc, and different Mailman, bin, cgi-bin, messages, etc.  That's
taking it a bit far I think :)

[1]: Postfix is configured to consult /mail/mailman/data/aliases, but
that file contains /mail/mailman-2.1.6/...

Hope this is some help in future,

John Tobin
"It rose into space, its wings spread wide, then fell, its wings now a
fluttering cape wrapped tight about the body of a man.  It fell past me,
its shadow sliding across walls, growing to swallow whole buildings, lit
by the clouds below.  The shadow faded into the clouds.  It was gone."
                                  -- Batman: Year One, by Frank Miller.

More information about the Mailman-Developers mailing list