From b4e4b74acea3d652317b030e761300d5c7b437a2 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Sun, 8 Sep 2019 22:45:27 +0100 Subject: libalpm: resolvedep(): don't compare names twice If we failed to get the pkg from pkgcache then we know no satisfying package exists by name. So only compare provides. Signed-off-by: Allan McRae --- lib/libalpm/deps.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/libalpm') diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 71185c68..6f923b2e 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -699,7 +699,8 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep, for(j = _alpm_db_get_pkgcache(db); j; j = j->next) { alpm_pkg_t *pkg = j->data; if((pkg->name_hash != dep->name_hash || strcmp(pkg->name, dep->name) != 0) - && _alpm_depcmp(pkg, dep) && !alpm_pkg_find(excluding, pkg->name)) { + && _alpm_depcmp_provides(dep, alpm_pkg_get_provides(pkg)) + && !alpm_pkg_find(excluding, pkg->name)) { if(alpm_pkg_should_ignore(handle, pkg)) { alpm_question_install_ignorepkg_t question = { .type = ALPM_QUESTION_INSTALL_IGNOREPKG, -- cgit v1.2.3-70-g09d2