ref: refs/heads/SuSE-Code-11-Branch
commit 0f9258f22b43e1e1f9be798bcad7764f6f7e7d5e
Author: Michael Schroeder
Date: Wed May 27 14:03:43 2009 +0200
- fix provides/obsoletes check in findupdatepackages
---
src/policy.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/policy.c b/src/policy.c
index 0bbe7b1..713c193 100644
--- a/src/policy.c
+++ b/src/policy.c
@@ -452,6 +452,7 @@ policy_findupdatepackages(Solver *solv, Solvable *s, Queue *qs, int allow_all)
Id p, pp, n, p2, pp2;
Id obs, *obsp;
Solvable *ps;
+ int haveprovobs = 0;
queue_empty(qs);
@@ -500,6 +501,7 @@ policy_findupdatepackages(Solver *solv, Solvable *s, Queue *qs, int allow_all)
/* here we have 'p' with a matching provides/obsoletes combination
* thus flagging p as a valid update candidate for s
*/
+ haveprovobs = 1;
}
else
continue;
@@ -511,7 +513,7 @@ policy_findupdatepackages(Solver *solv, Solvable *s, Queue *qs, int allow_all)
}
/* if we have found some valid candidates and noupdateprovide is not set, we're
done. otherwise we fallback to all obsoletes */
- if (!solv->noupdateprovide && qs->count)
+ if (!solv->noupdateprovide && haveprovobs)
return;
if (solv->obsoletes && solv->obsoletes[n - solv->installed->start])
{
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org