Files
fedora-infra_ansible/roles/distgit/pagure/tasks/patches.yml
Aurélien Bompard be82a1ee19 Add a system to apply patches to Pagure's dist-git
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2025-07-22 09:54:40 +02:00

35 lines
920 B
YAML

---
- name: Install patch and filterdiff
dnf:
name:
- patch
- patchutils
- name: Prepare the patches directory
ansible.builtin.file:
path: /opt/patches
state: directory
- name: Download patches
ansible.builtin.copy:
src: /srv/web/infra/bigfiles/hotfixes/pagure/{{ item }}.patch
dest: /opt/patches/{{item}}.patch
owner: root
group: root
mode: 0644
loop: "{{ pagure_patches }}"
- name: Apply patches
ansible.builtin.shell:
chdir: "{{ ansible_facts['python3']['sitelib'] }}"
cmd: filterdiff --include '?/pagure/*' /opt/patches/{{item}}.patch | patch -p1 --forward --fuzz=0 --reject-file=- --batch
loop: "{{ pagure_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