[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-hackers] Re: creating mailing lists for the savannah web inter
From: |
Joel N. Weber II |
Subject: |
[Savannah-hackers] Re: creating mailing lists for the savannah web interface |
Date: |
Sat, 21 Apr 2001 13:04:59 -0400 |
My goal was to implement the possibility to create mailing lists via the
savannah web interface. It is now mostly done. I've run a complete set
of tests quite successfully (there had been one glitch that I've fixed).
Since everybody did not agree on how things should be done, I will
describe the current implementation. If everyone agrees with it, at
least temporarily, I will enable it on savannah.
A cron job run by root on fencepost retrieves information from the
savannah DB using a XML dump. It parses it, and checks if each mailing
list has to created or already exists. It tries to check if the name of
the mailing list does not conflict with another list handled by the
alias file. If everything is ok, it creates the mailing list and
updates its alias file (/com/mailer/aliases-savannah.gnu.org) (I've
added a director for it in /etc/exim.conf).
I hope you realize that the director added on fencepost is not
sufficient; we also need to update /com/sys/cron/hourly to copy the
file to delysid, and update delysid:/usr/pkg/etc/exim/configure ?
(I can take care of those things at some point, but I need to leave
home for an appointment soon.)
The cronjob resides in /etc/cron.d/. I've put it there because I want
the potential errors of this script to be sent to me (at least
during the first weeks and after to savannah-hackers).
I'd rather have these sorts of things run out of /com/sys/cron/daily
or /com/sys/cron/hourly in the long run, because we know that the
scripts in /com/sys/cron tend to survive across OS upgrades, migrating
to new machines that have been installed from scratch, etc.
Also, I don't really like having the output going to only one person.
We have a ``daily-reports'' alias, which among other things goes to
archive files, which makes life easier if someone other than the
primary maintainer of something happens to want to track down a
problem.
There's also a script I wrote at /com/sys/cron/mail-if-output which
you'd probably find useful; you can put something like this in
/com/sys/cron/hourly:
/com/mailer/mailman/bin/mailing_lists_create.pl 2>&1 |
/com/sys/cron/mail-if-output savannah-daily-reports
(and create a savannah-daily-reports alias which has you and
daily-reports as its recipients)
or, another potentially better technique would be to look at how I've
redirected mrtg output to a file (I guess that runs out of
/etc/cron.d, sigh), and then have diffmon monitoring the output, so
that every day I get mail showing all the errors mrtg had over the
course of that day.
I also think it might be wise to put your script somewhere outside of
the mailman directory, so that it won't get clobbered in the event
that someone upgrades mailman without paying any attention to your
script.
Here is it :
# /etc/cron.d/savannah_mailman: Run the mailing_lists_create.pl script
# for savannah
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
MAILMAN=/com/mailer/mailman
address@hidden
0 */2 * * * root if [ -x $MAILMAN/bin/mailing_lists_create.pl ]; then
$MAILMAN/bin/mailing_lists_create.pl ; fi
Every file which is needed can be installed using the Makefile in
/usr/local/src/savannah_mailman.
Any comment will be welcome. Regards,
--
Guillaume Morin <address@hidden>
5 years from now everyone will be running free GNU on their
200 MIPS, 64M SPARCstation-5 (Andy Tanenbaum, 30 Jan 1992)