44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
- name: Backup existing sources in /etc/apt
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "{{ item }}.bak"
|
|
remote_src: yes
|
|
loop: "{{ lookup('ansible.builtin.fileglob', '/etc/apt/sources.list.d/*.list') + ['/etc/apt/sources.list'] }}"
|
|
when: item | file
|
|
|
|
- name: Update sources.list for new major version
|
|
template:
|
|
src: sources.list.j2
|
|
dest: /etc/apt/sources.list
|
|
vars:
|
|
os_update_version_codename: "{{ new_version_codename }}" # Variable gets passed by main.yml task
|
|
|
|
- name: Update additional repositories in /etc/apt/sources.list.d (deb822 format)
|
|
replace:
|
|
path: "{{ item }}"
|
|
regexp: '^(Suites:.*\s)({{ os_update_version_codename }})(\s|$)'
|
|
replace: '\1{{ new_version_codename }}\3'
|
|
loop: "{{ lookup('ansible.builtin.fileglob', '/etc/apt/sources.list.d/*.sources') }}"
|
|
when: item | file
|
|
ignore_errors: true
|
|
|
|
- name: Update additional repositories in /etc/apt/sources.list.d (old format fallback)
|
|
lineinfile:
|
|
path: "{{ item }}"
|
|
regexp: '^(deb .* )({{ os_update_version_codename }})'
|
|
replace: '\1{{ new_version_codename }}'
|
|
loop: "{{ lookup('ansible.builtin.fileglob', '/etc/apt/sources.list.d/*.list') }}"
|
|
when: item | file
|
|
ignore_errors: true
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: yes
|
|
|
|
- name: Perform distribution upgrade
|
|
apt:
|
|
upgrade: yes
|
|
allow_unauthenticated: yes
|
|
notify:
|
|
- Reboot system
|
|
- apt cleanup |