From 1c067845f21a31c46609a6fd973c8cf3b0cbfec1 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Fri, 1 Feb 2013 12:39:02 -0500 Subject: [PATCH] don't apply enablerepo's to is_installed() to work around yum-utils/repoquery drift from all things good and proper --- library/yum | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/library/yum b/library/yum index d992844de13..2d96136b8d1 100644 --- a/library/yum +++ b/library/yum @@ -168,6 +168,13 @@ def is_available(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_ return [ po_to_nevra(p) for p in pkgs ] else: + for repoid in en_repos: + r_cmd = ['--enablerepo', repoid] + repoq.extend(r_cmd) + + for repoid in dis_repos: + r_cmd = ['--disablerepo', repoid] + repoq.extend(r_cmd) cmd = repoq + ["--qf", qf, pkgspec] rc,out,err = module.run_command(cmd) @@ -209,6 +216,14 @@ def is_update(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_rep return set([ po_to_nevra(p) for p in retpkgs ]) else: + for repoid in en_repos: + r_cmd = ['--enablerepo', repoid] + repoq.extend(r_cmd) + + for repoid in dis_repos: + r_cmd = ['--disablerepo', repoid] + repoq.extend(r_cmd) + cmd = repoq + ["--pkgnarrow=updates", "--qf", qf, pkgspec] rc,out,err = module.run_command(cmd) @@ -247,6 +262,14 @@ def what_provides(module, repoq, req_spec, conf_file, qf=def_qf, en_repos=[], d else: + for repoid in en_repos: + r_cmd = ['--enablerepo', repoid] + repoq.extend(r_cmd) + + for repoid in dis_repos: + r_cmd = ['--disablerepo', repoid] + repoq.extend(r_cmd) + cmd = repoq + ["--qf", qf, "--whatprovides", req_spec] rc,out,err = module.run_command(cmd) cmd = repoq + ["--qf", qf, req_spec] @@ -539,16 +562,10 @@ def ensure(module, state, pkgspec, conf_file, enablerepo, disablerepo): r_cmd = ['--enablerepo', repoid] yum_basecmd.extend(r_cmd) - if repoq: - repoq.extend(r_cmd) - for repoid in dis_repos: r_cmd = ['--disablerepo', repoid] yum_basecmd.extend(r_cmd) - if repoq: - repoq.extend(r_cmd) - if state in ['installed', 'present', 'latest']: my = yum_base(conf_file) try: