As of October, 2012 /home/www/php/mailman/newmailman does the work below.
Possibly obsolete below here

Setting up a second mailman installation

For each website we support on gigascale, we have to add another installation of mailman, so workgroups can have the same name on more than one website. (A good example is webmaster.)

(Note: replace the "_2" throughout with another number as necessary.)

As root:

    $ cd /export/home
    $ mkdir mailman_2
    $ chown mailman.apache mailman_2
    $ chmod 02775 mailman_2

    $ cd /root/tools/mailman-2.0.13
    $ ../configure --prefix=/home/mailman_6 --with-cgi-gid=apache --with-python=/usr/local/bin/python25 --with-groupname=apache
    $ make
This used to generated a bunch of warnings like this:
cgi-wrapper.c:31:24: warning: pasting ""Mailman cgi-wrapper ("" and "SCRIPT"
   does not give a valid preprocessing token
cgi-wrapper.c:31:24: warning: pasting "SCRIPT" and "")""
   does not give a valid preprocessing token
I decided to ignore them and proceed, but first, being nervous, to check that things really were configured to install into /home/mailman_2 and not stomp on /home/mailman:
    % find . -type f -exec egrep 'home.mailman' {} ; -exec echo ">>>> " {} ; > ~/foo

    % vi ~/foo
Everything that had "/home/mailman" (instead of "/home/mailman_2") in it looked like documentation or default settings, except for contrib/qmail-to-mailman.py and src/alias-wrapper.c, which I edited.

As root:

    $ make install
Rename /home/mailman_2/mail/wrapper to wrapper_2 (or _3, ...). (It looks like "wrapper" might be called "mailman" as of mailman version 2.1.) Make sure there's no other file there starting w/ "wrapper", or the newgrouplist script will fail when a new workgroup mail list is created.

smrsh changes (as root):

    % cd /etc/smrsh
    % ln -s /home/mailman_2/mail/wrapper_2 wrapper_2
    % ln -s /home/mailman_2/mail/truncating_wrapper_2 truncating_wrapper_2

    % ln -s /home/mailman_2/mail/_truncating_wrapper_2a truncating_wrapper_2a
We'll handle truncating_wrapper below

In /home/mailman_2/Mailman, add edit following lines to mm_cfg.py

Copy scripts:
    mailman% cd /home/mailman_2/bin

    mailman% cp /home/mailman/bin/alllists .
    mailman% cp /home/mailman/bin/allmembers .
    mailman% cp /home/mailman/bin/changepw .
    mailman% cp /home/mailman/bin/confirmpw .
    mailman% cp /home/mailman/bin/newlist_notify .

    mailman% cp /home/mailman/bin/update_subscriptions .
Note: on andrews, there will be no scripts in /home/mailman/bin, so try some other mailman_ directory.

Edit each of these scripts, changing the definition of the MBIN variable to "/home/mailman_2/bin".

(Obsolete, does not apply to moog:) The partition where mailman is installed on gigascale is configured not to allow set-gid programs. So move all the set-gid stuff to /usr/slocal, like this:

    % cd /usr/slocal
    % mkdir mailman_2

    % cd /usr/slocal/mailman_2
    % cp -rp /home/mailman_2/cgi-bin .
    % cp -rp /home/mailman_2/mail .
    % cd /home/mailman_2/cgi-bin
    % sh

    $ for f in *; do
    > rm $f
    > ln -s /usr/slocal/mailman_2/cgi-bin/$f $f
    > done
    $ exit

    % cd ../mail
    % rm wrapper_2
    % ln -s /usr/slocal/mailman_2/mail/wrapper_2 .
Set up truncating_wrapper:
    % cd /usr/slocal/mailman_2/mail

    % cp /home/mailman/mail/truncating_wrapper truncating_wrapper_2
    % cp /home/mailman/mail/_truncating_wrapper truncating_wrapper_2a
    % cd /home/mailman_2/mail
    % ln -s /usr/slocal/mailman_2/mail/*trunc* .
Then edit truncating_wrapper_2 and _truncating_wrapper_2a.

_truncating_wrapper_2a only posts approved email to the archive list. Note that the archive list must be added by hand to the main list. Edit mailman's crontab:

    root% crontab -e mailman
Duplicate the cronjobs for qrunner, checkdbs, senddigests, using the pathname to the versions in the new installation. (e.g., change "/home/mailman" to "/home/mailman_2".)

Configure the Virus scanner so that it will Relay email for the new host