[Mailman-Users] [SUMMARY] majordomo-to-mailman crib sheet?

Will Partain will.partain at motorola.com
Tue Dec 5 17:59:05 CET 2000


I asked:

> Does anyone have a crib sheet about converting a majordomo
> site to a mailman (2.0) site?  ...

Thanks to Ben Lutgens and Joe Morris for their helpful
replies.

My notes on *exactly* what to do and a script that does most
of the work are below.

Will

PS: If any of you are interested in the *systematic*
exchange of this kind of sysadmin info, consider tuning in
to the Arusha Project (http://ark.sourceforge.net).

==== notes ============================================

Switching a list from Majordomo to Mailman

To convert a Majordomo list to a Mailman list, say the wibble list:

  1. Remove the wibble majordomo aliases from sendmail-land; and
     incorporate...

     % sudo newaliases

  2. Create a new wibble mailman list, something like:

     % sudo -u mailman bin/newlist --quiet --output=mm-aliases wibble sysadmin-mailing-list-keeper at mekb2.sps.mot.com <passwd>

   Note: as you do this several times, new sendmail aliases will pile up
   in mm-aliases.

3. Copy the old archives into their new home; the majordomo archives
   should be cat'd together into one big lovely mbox. E.g., as root, run
   the following script:

   #!/bin/sh -x
   set -e
   outf=/user/mailman/archives/private/wibble.mbox/wibble.mbox
   [ -f $outf ] || touch $outf
   for i in /user/majordom/archives/wibble/wibble.archive.[1-9]??? \
            /user/majordom/archives/wibble/wibble.archive.0??? ; do
       cat $i  >> $outf
       echo '' >> $outf
   done
   chown mailman:mailman $outf
   chmod 664 $outf

4. Munge the mbox:

   % sudo -u mailman bin/arch wibble

   Add the old (majordomo) membership list to the new list; this
   invocation seems to do it:

   /user/mailman/bin/sync_members \
           --welcome-msg=no --notifyadmin=no \
           --file /user/majordom/lists/wibble wibble

   Add a -n if you want to do a "dry run"...

5. Make any needed adjustments to the list's settings.

6. Add the mailman aliases (from mmaliases?) for the new list into the
   sendmail world; then incorporate: sudo newaliases.

==== script ===========================================

#! /bin/sh -x

# this is **NOT** all of what must be done to move a list
# from majordomo to mailman, but it is the heavy lifting.

#set -e # paranoia makes a mess, actually...

listname=$1
listpasswd=$2

if [ -z "$listname" ] ; then
    echo no list name given 2>&1
    exit 1
fi

if [ -z "$listpasswd" ] ; then
    echo no list password given 2>&1
    exit 1
fi

KEEPER='sysadmin-mailing-list-keeper at mekb2.sps.mot.com'
MAILMAN=/user/mailman
MAJORDOMO=/user/majordom

cd $MAILMAN

bin/newlist --quiet --output=mm-aliases $listname $KEEPER $listpasswd

outf=$MAILMAN/archives/private/$listname.mbox/$listname.mbox
/bin/rm -f $outf
[ -f $outf ] || touch $outf
for i in $MAJORDOMO/archives/$listname/$listname.archive.[1-9]??? \
         $MAJORDOMO/archives/$listname/$listname.archive.0??? ; do
    cat $i  >> $outf
    echo '' >> $outf
done
chown mailman:mailman $outf
chmod 664 $outf

bin/arch $listname

exec bin/sync_members \
	--welcome-msg=no --notifyadmin=no \
	--file $MAJORDOMO/lists/$listname $1

# the end




More information about the Mailman-Users mailing list