summaryrefslogtreecommitdiff
path: root/mailman/mklist.inc
blob: 364467f8cd74baba261dbfbd58bb451707d9feb1 (plain)
  1. #!/bin/sh
  2. set -e
  3. cfgdir="/etc/local-ORG/mailman"
  4. sharedir="/etc/local-COMMON/mailman"
  5. skeldir="$sharedir/skel"
  6. MAILDOMAIN="${maildomain:-`head -n 1 /etc/mailname`}"
  7. LISTDOMAIN="${listdomain:-lists.$MAILDOMAIN}"
  8. LISTWEBDOMAIN="$listwebdomain"
  9. OWNER="${owner:-listmaster@$MAILDOMAIN}"
  10. LISTLANG="${lang:-en}"
  11. refreshlists() {
  12. existinglists="`/usr/sbin/list_lists -b`"
  13. }
  14. mklist() {
  15. list="$1"; shift
  16. type="$1"; shift
  17. desc="$1"; shift
  18. lang="${1:-$LISTLANG}"
  19. owner="${2:-$OWNER}"
  20. emailhost="${3:-$LISTDOMAIN}"
  21. urlhost="${4:-$LISTWEBDOMAIN}"
  22. if ! echo "$existinglists" | grep -q "^$list\$"; then
  23. newlist -l "$lang"${urlhost:+ -u "$urlhost"}${emailhost:+ -e "$emailhost"} -q "$list" "$owner" "`gpw | head -n 1`"
  24. fi
  25. LISTNAME="$list" LISTDESC="$desc" LISTOWNER="$owner" "$sharedir/mklist.pl" "$skeldir/$type.$lang.py" > "$list.py"
  26. config_list -i "$cfgdir/$list.py" "$list"
  27. config_list -o "$cfgdir/$list.py" "$list"
  28. }
  29. populatelist() {
  30. list="$1"; shift
  31. [ ! -f "$cfgdir/$list.members" ] || add_members -r "$cfgdir/$list.members" -w n -a n "$list"
  32. localuserinfo --custom='%fullname% <%mailaddress%>' "$@" | add_members -r - -w n -a n "$list"
  33. list_members --fullnames --preserve -o "$cfgdir/$list.members" "$list"
  34. }