summaryrefslogtreecommitdiff
path: root/src/policy.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2009-05-28 11:13:25 +0200
committerMichael Schroeder <mls@suse.de>2009-05-28 11:13:25 +0200
commit4cd070f32551eb0dd7a2bd355028c346222107d8 (patch)
tree22a1c85b30db3fcd4030932b3920673ae0568e3e /src/policy.c
parent4c79ecc23c0dc8da2562327caeb2bb05e8da1e5b (diff)
downloadlibsolv-4cd070f32551eb0dd7a2bd355028c346222107d8.tar.gz
libsolv-4cd070f32551eb0dd7a2bd355028c346222107d8.tar.bz2
libsolv-4cd070f32551eb0dd7a2bd355028c346222107d8.zip
- fix noprovide handling in findupdate
- add stringify hack - add missing pool_lookup functions
Diffstat (limited to 'src/policy.c')
-rw-r--r--src/policy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/policy.c b/src/policy.c
index 64274ec..0782592 100644
--- a/src/policy.c
+++ b/src/policy.c
@@ -528,6 +528,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);
@@ -576,6 +577,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;
@@ -587,7 +589,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])
{