From ea033afebef6d6c02b36a46ac8f6c91a39452118 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 30 Oct 2010 15:50:03 +0200 Subject: Add Mailman skeleton-based mklist routines. --- mailman/mklist.pl | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 mailman/mklist.pl (limited to 'mailman/mklist.pl') diff --git a/mailman/mklist.pl b/mailman/mklist.pl new file mode 100755 index 0000000..a3bdfcd --- /dev/null +++ b/mailman/mklist.pl @@ -0,0 +1,35 @@ +#!/usr/bin/perl + +# TODO: derive listname from subjectprefix (which allows space and []) + +use warnings; + +our ($listname, $listdesc, $listhost, $senders, $senderfilter, $listowner); + +my $config_file_addon_org="/etc/local-ORG/mailman/mklist.conf.addon"; +if ( -f $config_file_addon_org ) { + do $config_file_addon_org or die "Error in config file $config_file_addon_org: $@"; +} else { + warn "Ignoring non-existing file $config_file_addon_org"; +} + +$listname ||= $ENV{'LISTNAME'} or die "LISTNAME missing"; +$listdesc ||= $ENV{'LISTDESC'} or die "LISTDESC missing"; +$listhost ||= $ENV{'LISTHOST'} or die "LISTHOST missing"; +$senders ||= $ENV{'SENDERS'} or die "SENDERS missing"; +$senderfilter ||= $ENV{'SENDERFILTER'} or die "SENDERFILTER missing"; +$listowner ||= $ENV{'LISTOWNER'} or die "LISTOWNER missing"; + +while (<>) { + # Replace keywords - execept in comments + s/^([^#]*)LISTNAME/$1$listname/g; + s/^([^#]*)LISTDESC/$1$listdesc/g; + s/^([^#]*)LISTHOST/$1$listhost/g; + s/^([^#]*)SENDERS/$1$senders/g; + s/^([^#]*)SENDERFILTER/$1$senderfilter/g; + s/^([^#]*)LISTOWNER/$1$listowner/g; + + print; +} + +1; -- cgit v1.2.3 From bf2cf9c38a59a291cc74e2910cf29ec04686e11a Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sat, 30 Oct 2010 20:08:48 +0200 Subject: Use optional config file mklist.conf (not ...conf.addon). --- mailman/mklist.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mailman/mklist.pl') diff --git a/mailman/mklist.pl b/mailman/mklist.pl index a3bdfcd..847234b 100755 --- a/mailman/mklist.pl +++ b/mailman/mklist.pl @@ -6,7 +6,8 @@ use warnings; our ($listname, $listdesc, $listhost, $senders, $senderfilter, $listowner); -my $config_file_addon_org="/etc/local-ORG/mailman/mklist.conf.addon"; +# Load optional config +my $config_file_addon_org = "/etc/local-ORG/mailman/mklist.conf"; if ( -f $config_file_addon_org ) { do $config_file_addon_org or die "Error in config file $config_file_addon_org: $@"; } else { -- cgit v1.2.3