From 3752edbff48fc472c5944f05f665adb000a521d9 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 18 Aug 2011 00:23:06 -0500 Subject: Fix replacement of provider issue When we switched to using alpm_depcmp() in resolving replacments, we had some interesting behavior with regard to providers and packages not found in repositories. Teach the replacement resolving code to not look at provisions at all to be slightly more sane. Signed-off-by: Dan McGee --- lib/libalpm/sync.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 46e3045b..11ee8175 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -134,7 +134,8 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg, alpm_list_t *l; for(l = alpm_pkg_get_replaces(spkg); l; l = l->next) { alpm_depend_t *replace = l->data; - if(_alpm_depcmp(lpkg, replace)) { + /* we only want to consider literal matches at this point. */ + if(_alpm_depcmp_literal(lpkg, replace)) { found = 1; break; } -- cgit v1.2.3-70-g09d2