23 lines
		
	
	
		
			759 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			759 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| - name: Check packages to be installed
 | |
|   block:
 | |
|   - name: "Check if packages are already installed"
 | |
|     ansible.builtin.command: "dpkg -s {{ packages_list | join(' ') }}"
 | |
|     args:
 | |
|       warn: no
 | |
|     register: dpkg_info
 | |
|     changed_when: dpkg_info.failed
 | |
| 
 | |
|   rescue:
 | |
|     - name: "Add missing packages to the apt install list"
 | |
|       ansible.builtin.set_fact:
 | |
|         packages_to_install: "{{ packages_to_install | default([]) + dpkg_info.stdout_lines | map('regex_findall', 'package (.+) is not installed and no information is available$') | flatten }}"
 | |
|       when: rpm_info.failed
 | |
| 
 | |
| - name: Install packages
 | |
|   become: yes
 | |
|   ansible.builtin.apt:
 | |
|     name: "{{ packages_to_install }}"
 | |
|     state: present
 | |
|   when: packages_to_install | default([]) | length > 0
 |