diff --git a/src/solver.c b/src/solver.c index 5383d0b4c33f6e5ca7594a8348368d0d771641cf..c62b7ccec7ffd38f12247d742060d8f77142de58 100644 --- a/src/solver.c +++ b/src/solver.c @@ -256,7 +256,7 @@ static void inherit_pinning(struct apk_solver_state *ss, struct apk_package *pkg pkg->ss.pinning_allowed |= pinning; pkg->ss.tag_ok |= !!(repos & repo_mask); if (prefer) { - pkg->ss.pinning_preferred |= pinning; + pkg->ss.pinning_preferred = pinning; pkg->ss.tag_preferred = !!(repos & apk_db_get_pinning_mask_repos(ss->db, pkg->ss.pinning_preferred)); } } diff --git a/test/pinning-basic.repo b/test/pinning-basic.repo index 23a8c651daaa1604c0550009ad7d414a46f813b7..c511f8add2529bd8b6161c3fe765330d276b911f 100644 --- a/test/pinning-basic.repo +++ b/test/pinning-basic.repo @@ -18,3 +18,9 @@ S:1 I:1 D:a>=2 +C:Q1eVpkasfqZAukArrYbg324xt4WUX= +P:samever +V:10 +S:1 +I:1 + diff --git a/test/pinning-overlay1.repo b/test/pinning-overlay1.repo index c41ddf761ac06ce0c0ba87673acc764564f99fa7..95a755175d3c5955e5ac72e59adb26df669cac0f 100644 --- a/test/pinning-overlay1.repo +++ b/test/pinning-overlay1.repo @@ -18,3 +18,9 @@ S:1 I:1 D:a>=3 +C:Q1eVpkasfqZAukArrYbg324xt4WUr= +P:samever +V:10 +S:1 +I:1 + diff --git a/test/pinning13.test b/test/pinning13.test new file mode 100644 index 0000000000000000000000000000000000000000..54ecba3852cd757795173c7fbdf5f58100377b55 --- /dev/null +++ b/test/pinning13.test @@ -0,0 +1,7 @@ +@ARGS +--test-repo pinning-basic.repo +--test-repo testing:pinning-overlay1.repo +add samever@testing +@EXPECT +(1/1) Installing samever@testing (10) +OK: 0 MiB in 0 packages