summaryrefslogtreecommitdiff
path: root/mailman/mklist.inc
blob: 3d25d491e1ab6319fafeea541c0630b97ba26a05 (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. OWNER="${owner:-listmaster@$MAILDOMAIN}"
  9. LANG="${lang:-en}"
  10. refreshlists() {
  11. existinglists="`/usr/sbin/list_lists -b`"
  12. }
  13. mklist() {
  14. list="$1"; shift
  15. type="$1"; shift
  16. desc="$1"; shift
  17. lang="${1:-$LANG}"
  18. owner="${2:-$OWNER}"
  19. if ! echo "$existinglists" | grep -q "^$list\$"; then
  20. newlist -l "$lang" -q "$list" "$owner" "`gpw | head -n 1`"
  21. fi
  22. LISTNAME="$list" LISTDESC="$desc" LISTOWNER="$owner" "$sharedir/mklist.pl" "$skeldir/$type.$lang.py" > "$list.py"
  23. config_list -i "$cfgdir/$list.py" "$list"
  24. config_list -o "$cfgdir/$list.py" "$list"
  25. }
  26. populatelist() {
  27. list="$1"; shift
  28. [ ! -f "$cfgdir/$list.members" ] || add_members -r "$cfgdir/$list.members" -w n -a n "$list"
  29. localuserinfo --custom='%fullname% <%mailaddress%>' "$@" | add_members -r - -w n -a n "$list"
  30. list_members --fullnames --preserve -o "$cfgdir/$list.members" "$list"
  31. }