mirror of
https://pagure.io/fedora-infra/ansible.git
synced 2026-05-11 10:32:27 +08:00
35 lines
920 B
YAML
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
|