When running repoquery to check for available versions of packages, run once for all packages rather than once per package

This commit is contained in:
Johan van den Dorpe 2015-09-11 14:09:13 +01:00
parent 843c28b435
commit c113916a23

View file

@ -745,13 +745,13 @@ def check_db(*names, **kwargs):
__context__['pkg._avail'] = avail
ret = {}
repoquery_cmd = repoquery_base + ' {0}'.format(" ".join(names))
provides = sorted(
set(x.name for x in _repoquery_pkginfo(repoquery_cmd))
)
for name in names:
ret.setdefault(name, {})['found'] = name in avail
if not ret[name]['found']:
repoquery_cmd = repoquery_base + ' {0}'.format(name)
provides = sorted(
set(x.name for x in _repoquery_pkginfo(repoquery_cmd))
)
if name in provides:
# Package was not in avail but was found by the repoquery_cmd
ret[name]['found'] = True