Skip to content

Commit

Permalink
do not clear providers of a name having a different name
Browse files Browse the repository at this point in the history
it would prevent those solvables for being excluded by strict channel priority
  • Loading branch information
adriendelsalle committed Aug 9, 2021
1 parent 91be77e commit a371cee
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions src/rules.c
Original file line number Diff line number Diff line change
Expand Up @@ -4165,24 +4165,21 @@ void solver_addstrictrepopriorules(struct s_Solver *solv, Map *addedmap)
{
Solvable *s2 = pool->solvables + p2;
if (s->name != s2->name)
{
MAPCLR(&priomap, p2);
continue;
}
if (s2->repo->priority > max_prio)
max_prio = s2->repo->priority;
}

FOR_PROVIDES(p2, pp2, s->name)
FOR_PROVIDES(p2, pp2, s->name)
{
Solvable *s2 = pool->solvables + p2;
if (!MAPTST(&priomap, p2))
continue;
MAPCLR(&priomap, p2);
if (s->name != s2->name || !MAPTST(&priomap, p2))
continue;
MAPCLR(&priomap, p2);
if (pool->installed && s2->repo == pool->installed)
continue;
if (s2->repo->priority < max_prio)
solver_addrule(solv, -p2, 0, 0);
if (s2->repo->priority < max_prio)
solver_addrule(solv, -p2, 0, 0);
}
}
solv->strictrepopriorules_end = solv->nrules;
Expand Down

0 comments on commit a371cee

Please sign in to comment.