diff options
author | Jonas Smedegaard <dr@jones.dk> | 2010-11-03 11:03:06 +0100 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2010-11-03 11:03:06 +0100 |
commit | 6404ece555af9fd6bc5fab58321a9622089d8110 (patch) | |
tree | f3facc0ecd302752177afdd5f7d04e8f422168f3 /mailman/mklist.inc | |
parent | fdb341ed52d71642bae1d8d957321255cdf589f5 (diff) | |
parent | bf2cf9c38a59a291cc74e2910cf29ec04686e11a (diff) |
Merge branch 'master' of coreander:/srv/git/source.jones.dk/local-COMMON
Diffstat (limited to 'mailman/mklist.inc')
-rw-r--r-- | mailman/mklist.inc | 39 |
1 files changed, 39 insertions, 0 deletions
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" +} |