Skip to content

Commit 178203f

Browse files
committed
Rename bestrules_pkg to bestrules_info, choicerules_ref to choicerules_info
1 parent e90ef86 commit 178203f

5 files changed

Lines changed: 48 additions & 46 deletions

File tree

src/cleandeps.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,11 +1367,11 @@ solver_check_cleandeps_mistakes(Solver *solv)
13671367
if (!r->p || r == fr || cleandeps_rule_is_true(solv, r))
13681368
{
13691369
/* update rule is true, check best rules */
1370-
if (!solv->bestrules_pkg)
1370+
if (!solv->bestrules_info)
13711371
continue;
13721372
nj = solv->bestrules_end - solv->bestrules;
1373-
for (j = 0; j < nj; j++)
1374-
if (solv->bestrules_pkg[j] == i)
1373+
for (j = solv->bestrules_up - solv->bestrules; j < nj; j++)
1374+
if (solv->bestrules_info[j] == i)
13751375
{
13761376
r = solv->rules + solv->bestrules + j;
13771377
if (!cleandeps_rule_is_true(solv, r))

src/problems.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ solver_disableproblem(Solver *solv, Id v)
6464
}
6565
v = -(v + 1);
6666
jp = solv->ruletojob.elements;
67-
if (solv->bestrules_pkg)
67+
if (solv->bestrules_info)
6868
{
6969
int ni = solv->bestrules_up - solv->bestrules;
7070
for (i = 0; i < ni; i++)
7171
{
72-
int j = solv->bestrules_pkg[i];
72+
int j = solv->bestrules_info[i];
7373
if (j < 0 && jp[-j - solv->jobrules] == v)
7474
solver_disablerule(solv, solv->rules + solv->bestrules + i);
7575
}
@@ -131,12 +131,12 @@ solver_enableproblem(Solver *solv, Id v)
131131
}
132132
v = -(v + 1);
133133
jp = solv->ruletojob.elements;
134-
if (solv->bestrules_pkg)
134+
if (solv->bestrules_info)
135135
{
136136
int ni = solv->bestrules_up - solv->bestrules;
137137
for (i = 0; i < ni; i++)
138138
{
139-
int j = solv->bestrules_pkg[i];
139+
int j = solv->bestrules_info[i];
140140
if (j < 0 && jp[-j - solv->jobrules] == v)
141141
solver_enablerule(solv, solv->rules + solv->bestrules + i);
142142
}
@@ -155,8 +155,8 @@ solver_ruletoproblem(Solver *solv, Id rid)
155155
{
156156
if (rid >= solv->jobrules && rid < solv->jobrules_end)
157157
rid = -(solv->ruletojob.elements[rid - solv->jobrules] + 1);
158-
else if (rid >= solv->bestrules && rid < solv->bestrules_up && solv->bestrules_pkg[rid - solv->bestrules] < 0)
159-
rid = -(solv->ruletojob.elements[-solv->bestrules_pkg[rid - solv->bestrules] - solv->jobrules] + 1);
158+
else if (rid >= solv->bestrules && rid < solv->bestrules_up && solv->bestrules_info[rid - solv->bestrules] < 0)
159+
rid = -(solv->ruletojob.elements[-solv->bestrules_info[rid - solv->bestrules] - solv->jobrules] + 1);
160160
else if (rid > solv->infarchrules && rid < solv->infarchrules_end)
161161
{
162162
Pool *pool = solv->pool;
@@ -252,13 +252,13 @@ solver_autouninstall(Solver *solv, int start)
252252
continue;
253253
if (pool->considered && !MAPTST(pool->considered, p))
254254
continue; /* do not uninstalled disabled packages */
255-
if (solv->bestrules_pkg && solv->bestrules_end > solv->bestrules)
255+
if (solv->bestrules_info && solv->bestrules_end > solv->bestrules)
256256
{
257257
int j;
258258
for (j = start + 1; j < solv->problems.count - 1; j++)
259259
{
260260
Id vv = solv->problems.elements[j];
261-
if (vv >= solv->bestrules && vv < solv->bestrules_end && solv->bestrules_pkg[vv - solv->bestrules] == p)
261+
if (vv >= solv->bestrules && vv < solv->bestrules_end && solv->bestrules_info[vv - solv->bestrules] == p)
262262
break;
263263
}
264264
if (j < solv->problems.count - 1)
@@ -678,7 +678,7 @@ convertsolution(Solver *solv, Id why, Queue *solutionq)
678678
if (p > 0 && solv->decisionmap[p] > 0)
679679
return; /* false alarm */
680680
/* check update/feature rule */
681-
p = solv->bestrules_pkg[why - solv->bestrules];
681+
p = solv->bestrules_info[why - solv->bestrules];
682682
if (p < 0)
683683
{
684684
/* install job */

src/rules.c

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1463,12 +1463,12 @@ disableupdaterule(Solver *solv, Id p)
14631463
r = solv->rules + solv->featurerules + (p - solv->installed->start);
14641464
if (r->p && r->d >= 0)
14651465
solver_disablerule(solv, r);
1466-
if (solv->bestrules_pkg)
1466+
if (solv->bestrules_info)
14671467
{
14681468
int i, ni;
14691469
ni = solv->bestrules_end - solv->bestrules;
14701470
for (i = solv->bestrules_up - solv->bestrules; i < ni; i++)
1471-
if (solv->bestrules_pkg[i] == p)
1471+
if (solv->bestrules_info[i] == p)
14721472
solver_disablerule(solv, solv->rules + solv->bestrules + i);
14731473
}
14741474
}
@@ -1506,12 +1506,12 @@ reenableupdaterule(Solver *solv, Id p)
15061506
}
15071507
}
15081508
}
1509-
if (solv->bestrules_pkg)
1509+
if (solv->bestrules_info)
15101510
{
15111511
int i, ni;
15121512
ni = solv->bestrules_end - solv->bestrules;
15131513
for (i = solv->bestrules_up - solv->bestrules; i < ni; i++)
1514-
if (solv->bestrules_pkg[i] == p)
1514+
if (solv->bestrules_info[i] == p)
15151515
solver_enablerule(solv, solv->rules + solv->bestrules + i);
15161516
}
15171517
}
@@ -2719,8 +2719,8 @@ solver_ruleinfo(Solver *solv, Id rid, Id *fromp, Id *top, Id *depp)
27192719
}
27202720
if (rid >= solv->bestrules && rid < solv->bestrules_end)
27212721
{
2722-
if (fromp && solv->bestrules_pkg[rid - solv->bestrules] > 0)
2723-
*fromp = solv->bestrules_pkg[rid - solv->bestrules];
2722+
if (fromp && solv->bestrules_info[rid - solv->bestrules] > 0)
2723+
*fromp = solv->bestrules_info[rid - solv->bestrules];
27242724
return SOLVER_RULE_BEST;
27252725
}
27262726
if (rid >= solv->yumobsrules && rid < solv->yumobsrules_end)
@@ -2834,7 +2834,7 @@ Id
28342834
solver_rule2pkgrule(Solver *solv, Id rid)
28352835
{
28362836
if (rid >= solv->choicerules && rid < solv->choicerules_end)
2837-
return solv->choicerules_ref[rid - solv->choicerules];
2837+
return solv->choicerules_info[rid - solv->choicerules];
28382838
if (rid >= solv->recommendsrules && rid < solv->recommendsrules_end)
28392839
return solv->recommendsrules_info[rid - solv->recommendsrules];
28402840
return 0;
@@ -2952,7 +2952,7 @@ solver_addchoicerules(Solver *solv)
29522952
Pool *pool = solv->pool;
29532953
Map m, mneg;
29542954
Rule *r;
2955-
Queue q, qi, qcheck;
2955+
Queue q, qi, qcheck, infoq;
29562956
int i, j, rid, havechoice;
29572957
Id p, d, pp;
29582958
Id p2, pp2;
@@ -2968,10 +2968,11 @@ solver_addchoicerules(Solver *solv)
29682968
return;
29692969
}
29702970
now = solv_timems(0);
2971-
solv->choicerules_ref = solv_calloc(solv->pkgrules_end, sizeof(Id));
2971+
solv->choicerules_info = solv_calloc(solv->pkgrules_end, sizeof(Id));
29722972
queue_init(&q);
29732973
queue_init(&qi);
29742974
queue_init(&qcheck);
2975+
queue_init(&infoq);
29752976
map_init(&m, pool->nsolvables);
29762977
map_init(&mneg, pool->nsolvables);
29772978
/* set up negative assertion map from infarch and dup rules */
@@ -3160,22 +3161,23 @@ solver_addchoicerules(Solver *solv)
31603161

31613162
solver_addrule(solv, r->p, 0, d);
31623163
queue_push(&solv->weakruleq, solv->nrules - 1);
3163-
solv->choicerules_ref[solv->nrules - 1 - solv->choicerules] = rid;
3164+
queue_push(&infoq, rid);
31643165
#if 0
31653166
printf("OLD ");
31663167
solver_printrule(solv, SOLV_DEBUG_RESULT, solv->rules + rid);
31673168
printf("WEAK CHOICE ");
31683169
solver_printrule(solv, SOLV_DEBUG_RESULT, solv->rules + solv->nrules - 1);
31693170
#endif
31703171
}
3172+
if (infoq.count)
3173+
solv->choicerules_info = solv_memdup2(infoq.elements, infoq.count, sizeof(Id));
31713174
queue_free(&q);
31723175
queue_free(&qi);
31733176
queue_free(&qcheck);
3177+
queue_free(&infoq);
31743178
map_free(&m);
31753179
map_free(&mneg);
31763180
solv->choicerules_end = solv->nrules;
3177-
/* shrink choicerules_ref */
3178-
solv->choicerules_ref = solv_realloc2(solv->choicerules_ref, solv->choicerules_end - solv->choicerules, sizeof(Id));
31793181
POOL_DEBUG(SOLV_DEBUG_STATS, "choice rule creation took %d ms\n", solv_timems(now));
31803182
}
31813183

@@ -3191,7 +3193,7 @@ solver_disablechoicerules(Solver *solv, Rule *r)
31913193
Rule *or;
31923194

31933195
solver_disablerule(solv, r);
3194-
or = solv->rules + solv->choicerules_ref[(r - solv->rules) - solv->choicerules];
3196+
or = solv->rules + solv->choicerules_info[(r - solv->rules) - solv->choicerules];
31953197
map_init(&m, pool->nsolvables);
31963198
FOR_RULELITERALS(p, pp, or)
31973199
if (p > 0)
@@ -3204,7 +3206,7 @@ solver_disablechoicerules(Solver *solv, Rule *r)
32043206
r = solv->rules + rid;
32053207
if (r->d < 0)
32063208
continue;
3207-
or = solv->rules + solv->choicerules_ref[rid - solv->choicerules];
3209+
or = solv->rules + solv->choicerules_info[rid - solv->choicerules];
32083210
FOR_RULELITERALS(p, pp, or)
32093211
if (p > 0 && MAPTST(&m, p))
32103212
break;
@@ -3253,13 +3255,13 @@ solver_addbestrules(Solver *solv, int havebestinstalljobs)
32533255
Repo *installed = solv->installed;
32543256
Queue q, q2;
32553257
Rule *r;
3256-
Queue r2pkg;
3258+
Queue infoq;
32573259
int i, oldcnt;
32583260

32593261
solv->bestrules = solv->nrules;
32603262
queue_init(&q);
32613263
queue_init(&q2);
3262-
queue_init(&r2pkg);
3264+
queue_init(&infoq);
32633265

32643266
if (havebestinstalljobs)
32653267
{
@@ -3300,7 +3302,7 @@ solver_addbestrules(Solver *solv, int havebestinstalljobs)
33003302
solver_addrule(solv, p2, 0, pool_queuetowhatprovides(pool, &q));
33013303
if ((how & SOLVER_WEAK) != 0)
33023304
queue_push(&solv->weakruleq, solv->nrules - 1);
3303-
queue_push(&r2pkg, -(solv->jobrules + j));
3305+
queue_push(&infoq, -(solv->jobrules + j));
33043306
}
33053307
}
33063308
}
@@ -3390,7 +3392,7 @@ solver_addbestrules(Solver *solv, int havebestinstalljobs)
33903392
solver_addrule(solv, -p2, d, 0);
33913393
else
33923394
solver_addrule(solv, -p2, 0, -d);
3393-
queue_push(&r2pkg, p);
3395+
queue_push(&infoq, p);
33943396
}
33953397
for (i = 0; i < q.count; i++)
33963398
MAPCLR(&m, q.elements[i]);
@@ -3401,16 +3403,16 @@ solver_addbestrules(Solver *solv, int havebestinstalljobs)
34013403
solver_addrule(solv, p2, q.count ? q.elements[0] : 0, 0);
34023404
else
34033405
solver_addrule(solv, p2, 0, pool_queuetowhatprovides(pool, &q));
3404-
queue_push(&r2pkg, p);
3406+
queue_push(&infoq, p);
34053407
}
34063408
map_free(&m);
34073409
}
3408-
if (r2pkg.count)
3409-
solv->bestrules_pkg = solv_memdup2(r2pkg.elements, r2pkg.count, sizeof(Id));
3410+
if (infoq.count)
3411+
solv->bestrules_info = solv_memdup2(infoq.elements, infoq.count, sizeof(Id));
34103412
solv->bestrules_end = solv->nrules;
34113413
queue_free(&q);
34123414
queue_free(&q2);
3413-
queue_free(&r2pkg);
3415+
queue_free(&infoq);
34143416
}
34153417

34163418

@@ -3527,7 +3529,7 @@ solver_addyumobsrules(Solver *solv)
35273529
Repo *installed = solv->installed;
35283530
Id p, op, *opp;
35293531
Solvable *s;
3530-
Queue qo, qq, yumobsinfoq;
3532+
Queue qo, qq, infoq;
35313533
int i, j, k;
35323534
unsigned int now;
35333535

@@ -3573,7 +3575,7 @@ printf("checking yumobs for %s\n", pool_solvable2str(pool, s));
35733575
queue_free(&qo);
35743576
return;
35753577
}
3576-
queue_init(&yumobsinfoq);
3578+
queue_init(&infoq);
35773579
queue_init(&qq);
35783580
for (i = 0; i < qo.count; i++)
35793581
{
@@ -3620,16 +3622,16 @@ for (j = 0; j < qq.count; j++)
36203622
solver_addrule(solv, -p, qq.elements[groupstart], 0);
36213623
else
36223624
solver_addrule(solv, -p, 0, pool_ids2whatprovides(pool, qq.elements + groupstart, k - groupstart));
3623-
queue_push(&yumobsinfoq, qo.elements[i]);
3625+
queue_push(&infoq, qo.elements[i]);
36243626
}
36253627
groupstart = k + 1;
36263628
groupk++;
36273629
}
36283630
}
36293631
}
3630-
if (yumobsinfoq.count)
3631-
solv->yumobsrules_info = solv_memdup2(yumobsinfoq.elements, yumobsinfoq.count, sizeof(Id));
3632-
queue_free(&yumobsinfoq);
3632+
if (infoq.count)
3633+
solv->yumobsrules_info = solv_memdup2(infoq.elements, infoq.count, sizeof(Id));
3634+
queue_free(&infoq);
36333635
queue_free(&qq);
36343636
queue_free(&qo);
36353637
solv->yumobsrules_end = solv->nrules;

src/solver.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,8 +1407,8 @@ solver_free(Solver *solv)
14071407
solv_free(solv->obsoletes);
14081408
solv_free(solv->obsoletes_data);
14091409
solv_free(solv->specialupdaters);
1410-
solv_free(solv->choicerules_ref);
1411-
solv_free(solv->bestrules_pkg);
1410+
solv_free(solv->choicerules_info);
1411+
solv_free(solv->bestrules_info);
14121412
solv_free(solv->yumobsrules_info);
14131413
solv_free(solv->recommendsrules_info);
14141414
solv_free(solv->instbuddy);
@@ -3292,10 +3292,10 @@ solver_solve(Solver *solv, Queue *job)
32923292
queuep_free(&solv->update_targets);
32933293
queuep_free(&solv->cleandeps_updatepkgs);
32943294
queue_empty(&solv->ruleassertions);
3295-
solv->bestrules_pkg = solv_free(solv->bestrules_pkg);
3295+
solv->bestrules_info = solv_free(solv->bestrules_info);
32963296
solv->yumobsrules_info = solv_free(solv->yumobsrules_info);
32973297
solv->recommendsrules_info = solv_free(solv->recommendsrules_info);
3298-
solv->choicerules_ref = solv_free(solv->choicerules_ref);
3298+
solv->choicerules_info = solv_free(solv->choicerules_info);
32993299
if (solv->noupdate.size)
33003300
map_empty(&solv->noupdate);
33013301
map_zerosize(&solv->multiversion);

src/solver.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,15 @@ struct s_Solver {
7070
Id bestrules; /* rules from SOLVER_FORCEBEST */
7171
Id bestrules_up; /* update rule part starts here*/
7272
Id bestrules_end;
73-
Id *bestrules_pkg;
73+
Id *bestrules_info; /* < 0 : install rule, > 0 : pkg that needs to be updated */
7474

7575
Id yumobsrules; /* rules from yum obsoletes handling */
7676
Id yumobsrules_end;
7777
Id *yumobsrules_info; /* the dependency for each rule */
7878

7979
Id choicerules; /* choice rules (always weak) */
8080
Id choicerules_end;
81-
Id *choicerules_ref;
81+
Id *choicerules_info; /* the rule we used to generate the choice rule */
8282

8383
Id recommendsrules; /* rules from recommends pkg rules with disfavored literals */
8484
Id recommendsrules_end;

0 commit comments

Comments
 (0)