diff --git a/roles/ipsilon/defaults/main.yml b/roles/ipsilon/defaults/main.yml new file mode 100644 index 0000000000..d399e3b398 --- /dev/null +++ b/roles/ipsilon/defaults/main.yml @@ -0,0 +1,2 @@ +ipsilon_patches: + - 409 diff --git a/roles/ipsilon/tasks/main.yml b/roles/ipsilon/tasks/main.yml index c0bddcce04..277cd8c4d2 100644 --- a/roles/ipsilon/tasks/main.yml +++ b/roles/ipsilon/tasks/main.yml @@ -84,6 +84,8 @@ tags: - ipsilon +- include_tasks: patches.yml + - name: Destroy admin ticket command: kdestroy -A tags: diff --git a/roles/ipsilon/tasks/patches.yml b/roles/ipsilon/tasks/patches.yml new file mode 100644 index 0000000000..7829ddfc5e --- /dev/null +++ b/roles/ipsilon/tasks/patches.yml @@ -0,0 +1,24 @@ +- name: install patch and filterdiff + dnf: + name: + - patch + - patchutils + +- name: prepare the patches directory + file: + path: /opt/ipsilon-patches + state: dir + +- name: download patches + ansible.builtin.get_url: + url: https://pagure.io/ipsilon/pull-request/{{item}}.patch + dest: /opt/ipsilon-patches/{{item}}.patch + loop: "{{ ipsilon_patches }}" + +- name: apply patches + ansible.builtin.shell: + chdir: "{{ ansible_facts['python3']['sitelib'] }}" + cmd: filterdiff --include '?/ipsilon/' /opt/ipsilon-patches/{{item}}.patch | patch -p1 --forward --batch + loop: "{{ ipsilon_patches }}" + notify: + - restart apache