diff --git a/roles/xmpp_server/tasks/main.yml b/roles/xmpp_server/tasks/main.yml index 4cf1dfa4220031cfd20931da4d7c89b5ee1f152b..3af1231c9e27f4514510890b02f072ed5c6fcf2e 100644 --- a/roles/xmpp_server/tasks/main.yml +++ b/roles/xmpp_server/tasks/main.yml @@ -4,15 +4,44 @@ apt: name: python-apt -- name: Add Prosody repository apt key +- name: Collect information about installed packages + package_facts: + + +- name: Uninstall Prosody from project-provided repository + apt: + name: prosody + state: absent + when: + - "ansible_facts.packages['prosody'] is defined" + - "'nightly' in ansible_facts.packages['prosody'][0].version" + +- name: Uninstall Prosody dependencies from project-provided repository + apt: + name: + - lua-expat + - lua-filesystem + - lua-sec + - lua-socket + state: absent + when: >- + (ansible_facts.packages['lua-expat'] is defined and 'prosody' in ansible_facts.packages['lua-expat'][0].version) + or (ansible_facts.packages['lua-filesystem'] is defined and 'prosody' in ansible_facts.packages['lua-filesystem'][0].version) + or (ansible_facts.packages['lua-sec'] is defined and 'prosody' in ansible_facts.packages['lua-sec'][0].version) + or (ansible_facts.packages['lua-socket'] is defined and 'prosody' in ansible_facts.packages['lua-socket'][0].version) + +- name: Remove Prosody project-provided apt key apt_key: - data: "{{ lookup('file', 'prosody-debian-gpg-key.asc') }}" - state: present + id: "{{ item }}" + state: absent + with_items: + - "107D65A0A148C237FDF00AB47393D7E674D9DBB5" + - "44AB6DD06DA46979CFAF997F9B1B82786C8F28BA" -- name: Add Prosody repository +- name: Remove Prosody project-provided repository apt_repository: repo: "deb http://packages.prosody.im/debian {{ ansible_distribution_release }} main" - state: present + state: absent - name: Install Lua LDAP library apt: @@ -23,7 +52,7 @@ - name: Install Prosody apt: - name: "{{ xmpp_prosody_package }}" + name: prosody state: present notify: - Restart Prosody