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.inc | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 mailman/mklist.inc (limited to 'mailman/mklist.inc') diff --git a/mailman/mklist.inc b/mailman/mklist.inc new file mode 100644 index 0000000..3d25d49 --- /dev/null +++ b/mailman/mklist.inc @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cfgdir="/etc/local-ORG/mailman" +sharedir="/etc/local-COMMON/mailman" +skeldir="$sharedir/skel" + +MAILDOMAIN="${maildomain:-`head -n 1 /etc/mailname`}" +LISTDOMAIN="${listdomain:-lists.$MAILDOMAIN}" +OWNER="${owner:-listmaster@$MAILDOMAIN}" +LANG="${lang:-en}" + +refreshlists() { + existinglists="`/usr/sbin/list_lists -b`" +} + +mklist() { + list="$1"; shift + type="$1"; shift + desc="$1"; shift + lang="${1:-$LANG}" + owner="${2:-$OWNER}" + + if ! echo "$existinglists" | grep -q "^$list\$"; then + newlist -l "$lang" -q "$list" "$owner" "`gpw | head -n 1`" + fi + LISTNAME="$list" LISTDESC="$desc" LISTOWNER="$owner" "$sharedir/mklist.pl" "$skeldir/$type.$lang.py" > "$list.py" + config_list -i "$cfgdir/$list.py" "$list" + config_list -o "$cfgdir/$list.py" "$list" +} + +populatelist() { + list="$1"; shift + + [ ! -f "$cfgdir/$list.members" ] || add_members -r "$cfgdir/$list.members" -w n -a n "$list" + localuserinfo --custom='%fullname% <%mailaddress%>' "$@" | add_members -r - -w n -a n "$list" + list_members --fullnames --preserve -o "$cfgdir/$list.members" "$list" +} -- cgit v1.2.3