yum: fix 'package == version' syntax (#47744)
(cherry picked from commit 4b8f2c99d2
)
This commit is contained in:
parent
009a3b34bc
commit
44088ef64d
3 changed files with 35 additions and 1 deletions
2
changelogs/fragments/47689-yum-fix-version-syntax.yaml
Normal file
2
changelogs/fragments/47689-yum-fix-version-syntax.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- yum - fix "package == version" syntax (https://github.com/ansible/ansible/pull/47744)
|
|
@ -94,7 +94,7 @@ class YumDnf(with_metaclass(ABCMeta, object)):
|
|||
|
||||
# Fail if someone passed a space separated string
|
||||
# https://github.com/ansible/ansible/issues/46301
|
||||
if any((' ' in name and '@' not in name for name in self.names)):
|
||||
if any((' ' in name and '@' not in name and '==' not in name for name in self.names)):
|
||||
module.fail_json(
|
||||
msg='It appears that a space separated string of packages was passed in '
|
||||
'as an argument. To operate on several packages, pass a comma separated '
|
||||
|
|
|
@ -556,3 +556,35 @@
|
|||
name: foo
|
||||
state: absent
|
||||
when: not (ansible_distribution == "Fedora" and ansible_distribution_major_version|int < 26)
|
||||
|
||||
# https://github.com/ansible/ansible/issues/47689
|
||||
- block:
|
||||
- name: Install foo == 1.0
|
||||
yum:
|
||||
name: "foo == 1.0"
|
||||
state: present
|
||||
register: yum_result
|
||||
|
||||
- name: Check foo with rpm
|
||||
shell: rpm -q foo
|
||||
register: rpm_result
|
||||
|
||||
- name: Verify installation
|
||||
assert:
|
||||
that:
|
||||
- "yum_result.changed"
|
||||
- "rpm_result.stdout.startswith('foo-1.0-1')"
|
||||
|
||||
- name: Verify yum module outputs
|
||||
assert:
|
||||
that:
|
||||
- "'msg' in yum_result"
|
||||
- "'rc' in yum_result"
|
||||
- "'results' in yum_result"
|
||||
always:
|
||||
- name: Clean up
|
||||
yum:
|
||||
name: foo
|
||||
state: absent
|
||||
|
||||
when: ansible_pkg_mgr == 'yum'
|
||||
|
|
Loading…
Reference in a new issue