diff options
author | Christian Pointner <equinox@spreadspace.org> | 2022-09-04 18:25:12 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2022-09-04 18:25:20 +0200 |
commit | 822b5e0e2eff46fbd007024ad1323abe27c2ff70 (patch) | |
tree | 3dfb358e3bbfe59815c881989f3e06be20108a9a /roles/raspios/image/tasks/main.yml | |
parent | ubuntu/installer: improved handling of latest image (diff) |
raspios: major refactoring for image fetching, TODO: customization
Diffstat (limited to 'roles/raspios/image/tasks/main.yml')
-rw-r--r-- | roles/raspios/image/tasks/main.yml | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/roles/raspios/image/tasks/main.yml b/roles/raspios/image/tasks/main.yml index 86373da6..24c7c821 100644 --- a/roles/raspios/image/tasks/main.yml +++ b/roles/raspios/image/tasks/main.yml @@ -1,4 +1,14 @@ --- +- name: fetch os list from download server + check_mode: no + uri: + url: "{{ raspios_download_url }}/os_list_v3.json" + body_format: json + register: raspios_os_list + +- set_fact: + raspios_download_base_url: "{{ raspios_os_list.json.os_list | raspios_extract_download_base_url(raspios_variant, raspios_codename, raspios_arch) }}" + - name: fetch base image run_once: true import_tasks: fetch.yml @@ -16,15 +26,16 @@ register: tmpdir - name: extract image - environment: ### TODO: remove once this lands in ansible: https://github.com/ansible/ansible/pull/76542 - LANGUAGE: en_US.utf8 - unarchive: - src: "{{ raspios_download_dir }}/{{ raspios_download_image_base_name }}.zip" - remote_src: yes + decompress: + src: "{{ raspios_download_dir }}/{{ raspios_download_image_base_name }}" dest: "{{ tmpdir.path }}" + register: raspios_image_extract_result + + - set_fact: + raspios_output_image_base_name: "{{ raspios_image_extract_result.files | first | basename }}" - name: read partition layout from image - command: "sfdisk -q -r -J '{{ tmpdir.path }}/{{ raspios_download_image_base_name }}.img'" + command: "sfdisk -q -r -J '{{ tmpdir.path }}/{{ raspios_output_image_base_name }}'" register: sfdisk_result - debug: @@ -38,13 +49,13 @@ - name: copy newly built raspios image copy: - src: "{{ tmpdir.path }}/{{ raspios_download_image_base_name }}.img" - dest: "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.img" + src: "{{ tmpdir.path }}/{{ raspios_output_image_base_name }}" + dest: "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}" - name: set output image names set_fact: output_images: - - "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.img" + - "{{ (raspios_output_dir, raspios_output_image_base_name) | path_join | realpath }}" always: - name: save stdout build-log to output directory |