don't re-patch (manually) patched mailman
[ansible.git] / roles / email / tasks / mailman.yml
1 - name: install mailman
2   apt: name=mailman state=latest
3 - name: configure mailman
4   template:
5     dest: /etc/mailman/mm_cfg.py
6     src: templates/mm_cfg.py
7   notify: mailman
8 - name: install mailman-check cronjob
9   copy:
10     dest: /etc/cron.daily/mailman-check
11     src: files/mailman-check
12     mode: u=rwx,g=rx,o=rx
13 # the CAPTCHA patch (and some template modifications)
14 - name: check if the files are already patched
15   shell: 'fgrep MAILMAN_CAPTCHA_PATCHED Cgi/listinfo.py && fgrep MAILMAN_CAPTCHA_PATCHED Cgi/subscribe.py'
16   args:
17     chdir: /usr/lib/mailman/Mailman
18   changed_when: False
19   failed_when: mailman_patched.rc == 2
20   register: mailman_patched
21 - name: check if all the files have the right checksums to be patched
22   shell: 'echo "{{item}}" | sha256sum -c'
23   loop:
24     - "26b4cbb7c5bde8badf741e31975235e74abb932037d77d862cf00b412726c2c2  /usr/lib/mailman/Mailman/Cgi/listinfo.py"
25     - "cbef3d8cb6b65e4c9b2462f8627966d55dd52caa2e626c87241c4f8d47477dc7  /usr/lib/mailman/Mailman/Cgi/subscribe.py"
26   changed_when: False
27   when: mailman_patched.rc != 0
28 - name: install patched python files
29   copy:
30     dest: /usr/lib/mailman/Mailman/{{item}}
31     src: files/mailman-patched/{{item}}
32   loop:
33   - Cgi/listinfo.py
34   - Cgi/subscribe.py
35   - Captcha.py
36   when: mailman_patched.rc != 0
37 - name: install patched templates
38   copy:
39     dest: /etc/mailman/{{item}}
40     src: files/mailman-patched/{{item}}
41   loop:
42   - de/listinfo.html
43   - de/subscribeack.txt
44   - en/listinfo.html
45   - en/subscribeack.txt