yum: fix name parsing out of envra (#31247)

(cherry picked from commit 115b4fdc9b)
This commit is contained in:
Martin Krizek 2017-10-04 20:48:00 +02:00
parent 4fed711c42
commit c9af0bfea8

View file

@ -1040,8 +1040,8 @@ def latest(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos, in
module.fail_json(**res)
nothing_to_do = True
for this in pkglist:
if spec in pkgs['install'] and is_available(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos, installroot=installroot):
for pkg in pkglist:
if spec in pkgs['install'] and is_available(module, repoq, pkg, conf_file, en_repos=en_repos, dis_repos=dis_repos, installroot=installroot):
nothing_to_do = False
break
@ -1049,15 +1049,15 @@ def latest(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos, in
# this contains the full NVR and spec could contain wildcards
# or virtual provides (like "python-*" or "smtp-daemon") while
# updates contains name only.
this_name_only = '-'.join(this.split('-')[:-2])
if spec in pkgs['update'] and this_name_only in updates:
pkgname, _, _, _, _ = splitFilename(pkg)
if spec in pkgs['update'] and pkgname in updates:
nothing_to_do = False
will_update.add(spec)
# Massage the updates list
if spec != this_name_only:
if spec != pkgname:
# For reporting what packages would be updated more
# succinctly
will_update_from_other_package[spec] = this_name_only
will_update_from_other_package[spec] = pkgname
break
if nothing_to_do: