summaryrefslogtreecommitdiffstats
path: root/roles/mailman/files
diff options
context:
space:
mode:
authorMichael Scherer <misc@zarb.org>2014-12-12 14:28:47 +0100
committerMichael Scherer <misc@zarb.org>2014-12-12 14:28:47 +0100
commitca315bf9c292d4757b67a86117e3182c1b0dd680 (patch)
tree57923818c4e974b2d7f8e16be14ef3d8612b855f /roles/mailman/files
parentd9e874ece0c162fcba01553fbea0a8b2fd86d249 (diff)
Import postfix/mailman from rad
Diffstat (limited to 'roles/mailman/files')
-rw-r--r--roles/mailman/files/dump_mailman.sh10
-rw-r--r--roles/mailman/files/fix_ansible.conf5
-rw-r--r--roles/mailman/files/update_templates_mailman.sh16
3 files changed, 31 insertions, 0 deletions
diff --git a/roles/mailman/files/dump_mailman.sh b/roles/mailman/files/dump_mailman.sh
new file mode 100644
index 0000000..4626e31
--- /dev/null
+++ b/roles/mailman/files/dump_mailman.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+DIR=/var/backups/mailman/
+[ -d $DIR ] || mkdir -p $DIR
+
+for i in $(/usr/lib/mailman/bin/list_lists -b); do
+ for j in admins members owners; do
+ /usr/lib/mailman/bin/list_${j} > $DIR/${i}.${j}
+ done
+ /usr/lib/mailman/bin/config_list -o $DIR/${i}.config ${i}
+done
diff --git a/roles/mailman/files/fix_ansible.conf b/roles/mailman/files/fix_ansible.conf
new file mode 100644
index 0000000..036fa8e
--- /dev/null
+++ b/roles/mailman/files/fix_ansible.conf
@@ -0,0 +1,5 @@
+[Service]
+ExecStop=
+ExecStop=/usr/lib/mailman/bin/mailman-update-cfg
+ExecStop=/usr/lib/mailman/bin/mailmanctl stop
+ExecStop=/bin/sh -c 'echo -e "# Master copy is /usr/lib/mailman/cron/crontab.in" > /etc/cron.d/mailman'
diff --git a/roles/mailman/files/update_templates_mailman.sh b/roles/mailman/files/update_templates_mailman.sh
new file mode 100644
index 0000000..1e954ce
--- /dev/null
+++ b/roles/mailman/files/update_templates_mailman.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+GIT_URL=$1
+CACHE_DIR=/var/cache/mailman_templates
+
+if [ ! -d $CACHE_DIR ]; then
+ git clone $GIT_URL /var/cache/mailman_templates
+ cd $CACHE_DIR
+else
+ cd $CACHE_DIR
+ # on EL6, git is not respecting -q, unlike Fedora
+ git pull --rebase -q >/dev/null
+fi
+cp -R * /var/lib/mailman/lists/
+rm -f /var/lib/mailman/lists/README.md
+chown -R apache:mailman /var/lib/mailman/lists/
+