From 165861dd2f37bebc27636638a4356cf7f0b8ce78 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Wed, 12 Dec 2012 11:51:24 -0500 Subject: [PATCH] if user has manually installed an intermediate version - don't ignore it: issue 1754 --- library/yum | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/library/yum b/library/yum index 84774ddf404..81b4aa97f07 100644 --- a/library/yum +++ b/library/yum @@ -396,6 +396,16 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): res['results'].append('%s providing %s is already installed' % (this, spec)) break + # if the version of the pkg you have installed is not in ANY repo, but there are + # other versions in the repos (both higher and lower) then the previous checks won't work. + # so we check one more time. This really only works for pkgname - not for file provides or virt provides + # but virt provides should be all caught in what_provides on its own. + # highly irritating + if not found: + if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): + found = True + res['results'].append('package providing %s is already installed' % (spec)) + if found: continue # if not - then pass in the spec as what to install