X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fopenwrt-image%2Ftasks%2Fmain.yml;h=f136f891c331eedff1b83a0c4aa41106af670a9f;hb=ee57b201e2ab36c752fb4df472e1b49b0869a7db;hp=a7641c2f32432df6f48dbe59bb304bce77c100aa;hpb=f20d1bcbcc14c1f4daed22d902d7eb3834cb611e;p=noc.git diff --git a/ansible/roles/openwrt-image/tasks/main.yml b/ansible/roles/openwrt-image/tasks/main.yml index a7641c2..f136f89 100644 --- a/ansible/roles/openwrt-image/tasks/main.yml +++ b/ansible/roles/openwrt-image/tasks/main.yml @@ -2,18 +2,37 @@ when: openwrt_imgbuilder_tarball is not defined - name: Create temporary build directory - command: mktemp -d openwrt-{{ ansible_hostname }}.XXXXXX + command: mktemp --tmpdir -d openwrt-{{ ansible_hostname }}.XXXXXX register: tmpdir - set_fact: openwrt_imgbuilder_dir: "{{ tmpdir.stdout }}" openwrt_imgbuilder_files: "{{ tmpdir.stdout }}/files" -- name: Create the directory for slipstreamed files +- name: Create the directories for mixins file: - path: "{{ openwrt_imgbuilder_files }}" + path: "{{ item }}" state: directory + with_items: + - "{{ openwrt_imgbuilder_files }}" + - "{{ openwrt_mixin.files | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}" + - "{{ openwrt_mixin.content | map('dirname') | map('regex_replace', '^', openwrt_imgbuilder_files) | unique | list }}" +- name: Copy mixins in place [1/2] + copy: + src: "{{ item.value }}" + dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" + with_dict: "{{ openwrt_mixin.files }}" + loop_control: + label: "{{ item.key }}" + +- name: Copy mixins in place [2/2] + copy: + content: "{{ item.value }}" + dest: "{{ openwrt_imgbuilder_files }}/{{ item.key }}" + with_dict: "{{ openwrt_mixin.content }}" + loop_control: + label: "{{ item.key }}" - block: # - unarchive: @@ -33,26 +52,23 @@ path: "{{ openwrt_output_dir }}" state: directory + - set_fact: + openwrt_packages: >- + {{ openwrt_packages_remove | map('regex_replace', '^', '-') | join(' ') }} + {{ openwrt_packages_add | join(' ') }} + {{ openwrt_packages_extra | join(' ') }} + - name: Build the OpenWrt image - shell: >- + command: >- make -C {{ openwrt_imgbuilder_dir }}/{{ openwrt_tarball_basename }} image - FILES="{{ openwrt_imgbuilder_files }}" - - PACKAGES=" - {% for x in openwrt_packages_remove %}-{{x}} {% endfor %} - {% for x in openwrt_packages_add %} {{x}} {% endfor %} - {% for x in openwrt_packages_extra %} {{x}} {% endfor %} - " + PACKAGES="{{ openwrt_packages }}" BIN_DIR="{{ openwrt_output_dir }}" - - {% if openwrt_extra_name is defined %} - EXTRA_IMAGE_NAME="{{ openwrt_extra_name }}" - {% endif %} + {% if openwrt_extra_name is defined %} EXTRA_IMAGE_NAME="{{ openwrt_extra_name }}" {% endif %} - always: - - name: Delete the temporary build directory - file: - path: "{{ openwrt_imgbuilder_dir }}" - state: absent +# always: +# - name: Delete the temporary build directory +# file: +# path: "{{ openwrt_imgbuilder_dir }}" +# state: absent