From d8337dab06989d5133a6f07a9957593812d33732 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Wed, 24 Oct 2012 00:46:15 -0400 Subject: [PATCH] tested and verified yum enable/disablerepo option for yum module --- library/yum | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/library/yum b/library/yum index 5f336d32018..601246aabc1 100755 --- a/library/yum +++ b/library/yum @@ -139,7 +139,7 @@ def is_installed(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_ out += out2 return [ p for p in out.split('\n') if p.strip() ] else: - module.fail_json(msg='Error from repoquery: %s' % err + err2) + module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) return [] @@ -171,7 +171,8 @@ def is_available(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_ if rc == 0: return [ p for p in out.split('\n') if p.strip() ] else: - module.fail_json(msg='Error from repoquery: %s' % err) + module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) + return [] @@ -212,7 +213,7 @@ def is_update(module, repoq, pkgspec, conf_file, qf=def_qf, en_repos=[], dis_rep if rc == 0: return set([ p for p in out.split('\n') if p.strip() ]) else: - module.fail_json(msg='Error from repoquery: %s' % err) + module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) return [] @@ -254,8 +255,8 @@ def what_provides(module, repoq, req_spec, conf_file, qf=def_qf, en_repos=[], d pkgs = is_installed(module, repoq, req_spec, conf_file, qf=qf) return pkgs else: - module.fail_json(msg='Error from repoquery: %s' % err + err2) - + module.fail_json(msg='Error from repoquery: %s: %s' % (cmd, err + err2)) + return [] def local_nvra(path): @@ -365,7 +366,7 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): nvra = local_nvra(spec) # look for them in the rpmdb - if is_installed(module, repoq, nvra, conf_file, en_repos, dis_repos): + if is_installed(module, repoq, nvra, conf_file, en_repos=en_repos, dis_repos=dis_repos): # if they are there, skip it continue pkg = spec @@ -377,7 +378,7 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): # range requires or file-requires or pkgname :( else: # look up what pkgs provide this - pkglist = what_provides(module, repoq, spec, conf_file, en_repos, dis_repos) + pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) if not pkglist: res['msg'] += "No Package matching '%s' found available, installed or updated" % spec module.fail_json(**res) @@ -387,7 +388,7 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): found = False for this in pkglist: - if is_installed(module, repoq, this, conf_file, en_repos, dis_repos): + if is_installed(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos): found = True res['results'].append('%s providing %s is already installed' % (this, spec)) break @@ -434,14 +435,14 @@ def remove(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): pkg = spec # req or pkgname remove else: - pkglist = is_installed(module, repoq, spec, conf_file, en_repos, dis_repos) + pkglist = is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) if not pkglist: res['msg'] += "No Package matching '%s' found installed" % spec module.exit_json(**res) found = False for this in pkglist: - if is_installed(module, repoq, this, conf_file, en_repos, dis_repos): + if is_installed(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos): found = True if not found: @@ -485,12 +486,12 @@ def latest(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): pkg = spec # dep/pkgname - find it else: - if is_installed(module, repoq, spec, conf_file, en_repos, dis_repos): + if is_installed(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos): basecmd = 'update' else: basecmd = 'install' - pkglist = what_provides(module, repoq, spec, conf_file, en_repos, dis_repos) + pkglist = what_provides(module, repoq, spec, conf_file, en_repos=en_repos, dis_repos=dis_repos) if not pkglist: res['msg'] += "No Package matching '%s' found available, installed or updated" % spec res['failed']=True @@ -498,11 +499,11 @@ def latest(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): nothing_to_do = True for this in pkglist: - if basecmd == 'install' and is_available(module, repoq, this, conf_file, en_repos, dis_repos): + if basecmd == 'install' and is_available(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=dis_repos): nothing_to_do = False break - if basecmd == 'update' and is_update(module, repoq, this, conf_file, en_repos, dis_repos): + if basecmd == 'update' and is_update(module, repoq, this, conf_file, en_repos=en_repos, dis_repos=en_repos): nothing_to_do = False break