mirror of https://github.com/ansible/ansible.git
apt: fix virtual package install version detection (#76781)
* apt: fix virtual package install version detection
Change 4a62c4e3e4
introduced version
matching in installation.
The problem stems from
if version_installable or version:
pkg_list.append("'%s=%s'" % (name, version_installable or version))
When the package is a virtual-package, package_status() is returning
the "version_installable" of the package *satisfying* the
virtual-package; but then this is trying to install the
virtual-package with this version pin.
For example, "yaml-mode" is a virtual package satisifed by
"elpa-yaml-mode" (currently 0.0.14-1) and trying to install it fails
with
$ usr/bin/apt-get -y ... install 'yaml-mode=0.0.14-1'
... failed: E: Version '0.0.14-1' for 'yaml-mode' was not found ...
In the case of a virtual-package with nothing installed to satisfy it,
we should just return blank values to allow apt-get to do it's thing.
The tests are updated to install and remove this package.
Fixes: #76779
pull/77916/head
parent
6fbc8bd2bc
commit
e4c0bbf885
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- apt module now correctly handles virtual packages.
|
Loading…
Reference in New Issue