[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