Mailinglist Archive: zypp-commit (266 mails)

< Previous Next >
[zypp-commit] r11698 - /trunk/sat-solver/src/solver.c
  • From: mlschroe@xxxxxxxxxxxxxxxx
  • Date: Mon, 17 Nov 2008 18:46:25 -0000
  • Message-id: <20081117184626.29F623A091@xxxxxxxxxxxxxxxx>
Author: mlschroe
Date: Mon Nov 17 19:46:25 2008
New Revision: 11698

URL: http://svn.opensuse.org/viewcvs/zypp?rev=11698&view=rev
Log:
- change findproblemrule heuristics so that it looks at the arch
[bnc#445432]

Modified:
trunk/sat-solver/src/solver.c

Modified: trunk/sat-solver/src/solver.c
URL:
http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/solver.c?rev=11698&r1=11697&r2=11698&view=diff
==============================================================================
--- trunk/sat-solver/src/solver.c (original)
+++ trunk/sat-solver/src/solver.c Mon Nov 17 19:46:25 2008
@@ -3783,18 +3783,22 @@
{
if (!d && r->w2 == 0 && !reqassert)
{
- /* prefer assertions (XXX: bad idea?) */
+ if (*reqrp > 0 && r->p < -1)
+ {
+ Id op = -solv->rules[*reqrp].p;
+ if (op > 1 && solv->pool->solvables[op].arch !=
solv->pool->solvables[-r->p].arch)
+ continue; /* different arch, skip */
+ }
+ /* prefer assertions */
*reqrp = rid;
reqassert = 1;
}
if (!*reqrp)
*reqrp = rid;
- else if (solv->installed && r->p < 0 &&
solv->pool->solvables[-r->p].repo == solv->installed)
+ else if (solv->installed && r->p < 0 &&
solv->pool->solvables[-r->p].repo == solv->installed && !reqassert)
{
/* prefer rules of installed packages */
- Id op = *reqrp >= 0 ? solv->rules[*reqrp].p : -*reqrp;
- if (op <= 0 || solv->pool->solvables[op].repo !=
solv->installed)
- *reqrp = rid;
+ *reqrp = rid;
}
}
}

--
To unsubscribe, e-mail: zypp-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages