diff --git a/roles/debian/apt_extra_packages/tasks/main.yml b/roles/debian/apt_extra_packages/tasks/main.yml index af97e7ea1..2cdaf6f83 100644 --- a/roles/debian/apt_extra_packages/tasks/main.yml +++ b/roles/debian/apt_extra_packages/tasks/main.yml @@ -1,7 +1,34 @@ --- -- name: Install additional extra packages. +- name: Define empty wget list + ansible.builtin.set_fact: + wget_list: [] + +- name: Define empty apt list + ansible.builtin.set_fact: + apt_list: [] + +- name: Add URLs to wget list + ansible.builtin.set_fact: + wget_list: "{{ wget_list + [item] }}" + loop: "{{ apt_extra_packages }}" + when: "item is regex('^https?://')" + +- name: Add URLs to apt list + ansible.builtin.set_fact: + apt_list: "{{ apt_list + [item] }}" + when: "item is not regex('^https?://')" + loop: "{{ apt_extra_packages }}" + +- name: Install additional apt extra packages. ansible.builtin.apt: - pkg: "{{ apt_extra_packages | list }}" + pkg: "{{ apt_list | list }}" state: present update_cache: true - when: apt_extra_packages | length + when: apt_list | length > 0 + +- name: Install additional wget extra packages. + ansible.builtin.include_tasks: "wget_install.yml" + when: wget_list | length > 0 + loop: "{{ wget_list }}" + loop_control: + loop_var: wget_item \ No newline at end of file diff --git a/roles/debian/apt_extra_packages/tasks/wget_install.yml b/roles/debian/apt_extra_packages/tasks/wget_install.yml new file mode 100644 index 000000000..0c1d31c64 --- /dev/null +++ b/roles/debian/apt_extra_packages/tasks/wget_install.yml @@ -0,0 +1,23 @@ +--- +- name: Check if download folder exists + ansible.builtin.file: + path: /home/{{ user_deploy.username }}/apt_exta + state: directory + mode: '0755' + owner: "{{ user_deploy.username }}" + group: "{{ user_deploy.username }}" + +- name: Get package name + ansible.builtin.set_fact: + package_name: "{{ wget_item.split('/')[-1] }}" + +- name: Download package + ansible.builtin.get_url: + url: "{{ wget_item }}" + dest: "/home/{{ user_deploy.username }}/apt_exta/{{ package_name }}" + owner: "{{ user_deploy.username }}" + group: "{{ user_deploy.username }}" + +- name: Instal package + ansible.builtin.apt: + deb: /home/{{ user_deploy.username }}/apt_exta/{{ package_name }} \ No newline at end of file