diff --git a/roles/ipsilon/tasks/main.yml b/roles/ipsilon/tasks/main.yml index a89b551119..6be6fe19f7 100644 --- a/roles/ipsilon/tasks/main.yml +++ b/roles/ipsilon/tasks/main.yml @@ -84,16 +84,16 @@ tags: - ipsilon -- include_tasks: patches.yml - tags: - - ipsilon - - patches - - name: Destroy admin ticket command: kdestroy -A tags: - ipsilon +- import_tasks: patches.yml + tags: + - ipsilon + - patches + - name: make sure /etc/ipsilon/root is owned correctly file: path: "/etc/ipsilon/root" diff --git a/roles/ipsilon/tasks/patches.yml b/roles/ipsilon/tasks/patches.yml index 71391238a5..f3a6558e91 100644 --- a/roles/ipsilon/tasks/patches.yml +++ b/roles/ipsilon/tasks/patches.yml @@ -18,7 +18,13 @@ - name: apply patches ansible.builtin.shell: chdir: "{{ ansible_facts['python3']['sitelib'] }}" - cmd: filterdiff --include '?/ipsilon/' /opt/ipsilon-patches/{{item}}.patch | patch -p1 --forward --batch + cmd: filterdiff --include '?/ipsilon/*' /opt/ipsilon-patches/{{item}}.patch | patch -p1 --forward --fuzz=0 --reject-file=- --batch loop: "{{ ipsilon_patches }}" + register: result + ignore_errors: true + changed_when: + - "'Reversed (or previously applied) patch detected!' not in result.stdout" + - result.rc = 0 + failed_when: "'FAILED' in result.stdout" notify: - restart apache