diff --git a/src/solver.c b/src/solver.c index faa20b0..2ea7f3f 100644 --- a/src/solver.c +++ b/src/solver.c @@ -493,17 +493,6 @@ static void reconsider_name(struct apk_solver_state *ss, struct apk_name *name) name->name, name->ss.has_options, name->ss.reverse_deps_done); } -static int count_requirers(const struct apk_package *pkg) -{ - int cnt = pkg->name->ss.requirers; - struct apk_dependency *p; - - foreach_array_item(p, pkg->provides) - cnt += p->name->ss.requirers; - - return cnt; -} - static int compare_providers(struct apk_solver_state *ss, struct apk_provider *pA, struct apk_provider *pB) { @@ -597,13 +586,6 @@ static int compare_providers(struct apk_solver_state *ss, return r; } - /* Prefer highest requirer count. */ - r = count_requirers(pkgA) - count_requirers(pkgB); - if (r) { - dbg_printf(" prefer highest requirer count\n"); - return r; - } - /* Prefer installed */ if (!(solver_flags & APK_SOLVERF_UPGRADE)) { r = (pkgA->ipkg != NULL) - (pkgB->ipkg != NULL); diff --git a/test/provides.repo b/test/provides.repo index 358151e..ed72f72 100644 --- a/test/provides.repo +++ b/test/provides.repo @@ -111,3 +111,25 @@ V:0.1 S:1 I:1 D:conflicted-provider-2 + +C:Q1inqy40xXhjHaXUlG+qIshN+TIvA= +P:pulseaudio-alsa +V:1 +S:1 +I:1 +k:10 + +c:a79b3f751d72fd4bdb6729139660d0b4f5b87a33 +P:pulseaudio +V:1 +S:1 +I:1 +k:10 + +C:Q1FAFBeAhWPV1XXEdoW+TSjrUghxU= +P:pipewire-pulse +V:1 +S:1 +I:1 +k:1 +p:pulseaudio=1 pulseaudio-alsa=1 diff --git a/test/provides13.test b/test/provides13.test new file mode 100644 index 0000000..5d6482d --- /dev/null +++ b/test/provides13.test @@ -0,0 +1,7 @@ +@ARGS +--test-repo provides.repo +add pulseaudio pulseaudio-alsa +@EXPECT +(1/2) Installing pulseaudio (1) +(2/2) Installing pulseaudio-alsa (1) +OK: 0 MiB in 0 packages