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@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org