From 970f15d83288d55bdb0c3cc1f55ff4b8428512ae Mon Sep 17 00:00:00 2001 From: Nagy Gabor Date: Sun, 10 Jun 2007 00:48:56 +0200 Subject: Fix breakage in checkdeps when upgrading a multiple-depend Fixes pactest upgrade059. Posted on the ML in the following messages: http://archlinux.org/pipermail/pacman-dev/2007-April/008127.html http://archlinux.org/pipermail/pacman-dev/2007-April/008129.html Signed-off-by: Dan McGee --- lib/libalpm/deps.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index b6f8cc80..2a441d3c 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -270,12 +270,9 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op, for(l = _alpm_db_get_pkgcache(db); l; l = l->next) { pmpkg_t *pkg = l->data; - if(strcmp(alpm_pkg_get_name(pkg), alpm_pkg_get_name(oldpkg)) == 0) { - /* well, we know this one succeeds, but we're removing it... skip it */ - continue; - } - - if(alpm_depcmp(pkg, depend)) { + if(alpm_depcmp(pkg, depend) && !_alpm_pkg_find(alpm_pkg_get_name(pkg), packages)) { + /* we ignore packages that will be updated because we know + * that the updated ones don't satisfy depend */ _alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' satisfied by installed package '%s'"), depend->name, alpm_pkg_get_name(pkg)); satisfied = 1; -- cgit v1.2.3-70-g09d2