net-dns/getdns-1.7.0 depends on unbound even if the unbound use flag is disabled. I only want to install the stubby DNS Privacy stub resolver and don't require a fully fledged DNS server like unbound. This worked with net-dns/getdns-1.5.2-r2 and previous versions. On other distros and OS's it seems also to be possible to install stubby standalone. Why was unbound added as a hard dependency and why is it ignoring the use flag? Reproducible: Always
# USE="-unbound" emerge -vat getdns These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild U ] net-dns/getdns-1.7.0::gentoo [1.5.2-r2::gentoo] USE="filecaps getdns-query getdns-server-mon idn stubby -doc -examples% -gnutls -libev -libevent -libuv -static-libs -test% -unbound (-nettle%) (-threads%*)" 675 KiB [ebuild N ] net-dns/unbound-1.13.1-r1:0/8::gentoo USE="ecdsa http2 -debug -dnscrypt -dnstap -ecs -gost -python -redis (-selinux) -static-libs -systemd -test -threads" PYTHON_SINGLE_TARGET="python3_9 -python3_8" 5.837 KiB [ebuild N ] net-dns/dnssec-root-20181220-r1::gentoo 18 KiB [ebuild N ] dev-perl/XML-XPath-1.420.0::gentoo USE="-examples -test" 55 KiB [ebuild N ] acct-user/unbound-0-r1::gentoo 0 KiB [ebuild N ] acct-user/stubby-0-r1::gentoo 0 KiB [nomerge ] net-dns/unbound-1.13.1-r1:0/8::gentoo USE="ecdsa http2 -debug -dnscrypt -dnstap -ecs -gost -python -redis (-selinux) -static-libs -systemd -test -threads" PYTHON_SINGLE_TARGET="python3_9 -python3_8" [ebuild N ] acct-group/unbound-0-r1::gentoo 0 KiB [nomerge ] net-dns/getdns-1.7.0::gentoo [1.5.2-r2::gentoo] USE="filecaps getdns-query getdns-server-mon idn stubby -doc -examples% -gnutls -libev -libevent -libuv -static-libs -test% -unbound (-nettle%) (-threads%*)" [ebuild N ] acct-group/stubby-0-r1::gentoo 0 KiB Total: 8 packages (1 upgrade, 7 new), Size of downloads: 6.584 KiB Would you like to merge these packages? [Yes/No]
Created attachment 726007 [details] emerge info
Seems to be related to bug 704492. It was changed in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b1c9bd8dbba6c44c08c50b20e7cc2111a5e1939.
libunbound is a hard requirement for getdns 1.7.0, thus unbound package dependency. https://github.com/getdnsapi/getdns#external-dependencies I've tried building getdns/stubby without libunbound, it does not seem to be possible.
To provide the libunbound library for use with stubby without the dependency bloat, unbound would need built with the "--with-libunbound-only" configure flag which would a need a fair bit of work on the net-dns/unbound ebuild for a libonly type flag. (Or a maybe a separate libunbound ebuild).
Created attachment 790979 [details, diff] allow net-dns/unbound to be optional README.md mentions "stub resolution only mode": https://github.com/getdnsapi/getdns/commit/276b4c6cd8cb420e127d946ac421f0530f4590b4 cmake ENABLE_STUB_ONLY default (for non-WIN32) changes from ON to OFF: https://github.com/getdnsapi/getdns/commit/b455c3fecac82e0af50efba135bb07f8d405336b i have not tested extensively, but stubby seems to work as expected.
if use flag idn it fails also, it cant find libidn2, when both libidn and libidn2 is installed change idn to -idn then it compiles, but not solved the libidn2 problem i did not create another ticket, but reported it here to hopefulle got it resolved