summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/apt/tasks/apt-multiarch.yml
blob: 01f67662c5d3a9b4b7d7c1161035fa95ee791a46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# verify that apt is handling multi-arch systems properly

- name: load version specific vars
  include_vars: '{{ item }}'
  with_first_found:
  - files:
    - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
    - 'default.yml'
    paths: '../vars'

- name: add architecture {{ apt_foreign_arch }}
  command: dpkg --add-architecture {{ apt_foreign_arch }}

- name: install {{ multiarch_test_pkg }}:{{ apt_foreign_arch }} with apt
  apt: pkg={{ multiarch_test_pkg }}:{{ apt_foreign_arch }} state=present update_cache=yes
  register: apt_result
  until: apt_result is success

- name: check {{ multiarch_test_pkg }} version
  shell: dpkg -s {{ multiarch_test_pkg }} | grep Version | awk '{print $2}'
  register: pkg_version

- name: uninstall {{ multiarch_test_pkg }}:{{ apt_foreign_arch }} with apt
  apt: pkg={{ multiarch_test_pkg }}:{{ apt_foreign_arch }} state=absent purge=yes

- name: install deb file
  apt: deb="/var/cache/apt/archives/{{ multiarch_test_pkg }}_{{ pkg_version.stdout }}_{{ apt_foreign_arch }}.deb"
  register: apt_multi_initial

- name: install deb file again
  apt: deb="/var/cache/apt/archives/{{ multiarch_test_pkg }}_{{ pkg_version.stdout }}_{{ apt_foreign_arch }}.deb"
  register: apt_multi_secondary

- name: verify installation of {{ multiarch_test_pkg }}:{{ apt_foreign_arch }}
  assert:
    that:
        - "apt_multi_initial.changed"
        - "not apt_multi_secondary.changed"

- name: remove all {{ apt_foreign_arch }} packages
  shell: "apt-get remove -y --allow-remove-essential '*:{{ apt_foreign_arch }}'"

- name: remove {{ apt_foreign_arch }} architecture
  command: dpkg --remove-architecture {{ apt_foreign_arch }}