From 7c59acba5699c9c58090a7a738669669a7307023 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 21 Aug 2021 23:14:26 +0100 Subject: gentoo resync : 21.08.2021 --- net-dns/unbound/Manifest | 6 +- net-dns/unbound/unbound-1.13.0-r2.ebuild | 201 ------------------------------ net-dns/unbound/unbound-1.13.0-r3.ebuild | 205 ------------------------------- net-dns/unbound/unbound-1.13.0-r4.ebuild | 201 ++++++++++++++++++++++++++++++ net-dns/unbound/unbound-1.13.0-r5.ebuild | 205 +++++++++++++++++++++++++++++++ net-dns/unbound/unbound-1.13.1-r1.ebuild | 205 ------------------------------- net-dns/unbound/unbound-1.13.1-r2.ebuild | 205 +++++++++++++++++++++++++++++++ 7 files changed, 614 insertions(+), 614 deletions(-) delete mode 100644 net-dns/unbound/unbound-1.13.0-r2.ebuild delete mode 100644 net-dns/unbound/unbound-1.13.0-r3.ebuild create mode 100644 net-dns/unbound/unbound-1.13.0-r4.ebuild create mode 100644 net-dns/unbound/unbound-1.13.0-r5.ebuild delete mode 100644 net-dns/unbound/unbound-1.13.1-r1.ebuild create mode 100644 net-dns/unbound/unbound-1.13.1-r2.ebuild (limited to 'net-dns/unbound') diff --git a/net-dns/unbound/Manifest b/net-dns/unbound/Manifest index b51c77df0ef9..0163d8fc1682 100644 --- a/net-dns/unbound/Manifest +++ b/net-dns/unbound/Manifest @@ -9,7 +9,7 @@ AUX unbound.socket 101 BLAKE2B 4885d311873d7f3e5daf1c0a63798b13761b7c0bfb1bead0b AUX unbound_at.service 304 BLAKE2B 0762200390475ff6a3ca4dc282b3eca3e55cb339528a73b0c6148f4df336c4c07e8da19320df6bedb49cb6884da565543f78456d38dc3000ca2a1abde84816be SHA512 71bd8c422ffe57e448b66f97775075a407671757266d40294a670b41cd1a59f16b65488d30aa74b79b7536f0c4c50adb56e32377e8029fd6c327b85c022c5fe3 DIST unbound-1.13.0.tar.gz 5950063 BLAKE2B 742eed33845079452a942837a64e80f89ec7ec73459d0045c70ff83d3ba982fae6bade9feb56ef6faa9fca4859222ea00ac587c65c8ad722bef4a6b66a276ade SHA512 d4f3c5a7df5d46f8b1ee32b61e68bdc0d63030820d236ecc51bc3ac356d15248acb9a5e0b6009e1936b03b751e8dd05a071a95ab239fdbbbb308442a59642ad5 DIST unbound-1.13.1.tar.gz 5976957 BLAKE2B 5fabb9205773a1983842e41cf7a4d6c3878fa8beb7c8ccc71ae1edf7738cb9506c3d7bb32cf887b305317ca695bf876d9f5bf9aeb0129b0e9e926d437b3e6eb3 SHA512 f4d26dca28dbcc33a5e65a55147fa01077c331292e88b6a87798cb6c3d4edb0515015d131fd893c92b74d22d9998a640f0adce404e6192d61ebe69a6a599287c -EBUILD unbound-1.13.0-r2.ebuild 5991 BLAKE2B 0f3bba8401d2dc6a50575422c5c6a881ddddf3c10756b8f5338a8aa3afbe74750fd6b7b7267c94a329c7be46bf17601887edd85a1d2f71c4d23232dd7fdd1b77 SHA512 d26e09f911cc91a6a8bf77228330c9d7fd0b21aab6f431ef4f57dc1f01eb1ad980d50ed005010da49dca4e0867fcd4844b2d770093519227de22e7c93afc8e16 -EBUILD unbound-1.13.0-r3.ebuild 6042 BLAKE2B 24e1859552537178e3bc96f9647866f6b7f571b6e208cd5daf0596122afeb85c58d4848590d8b1d479d0ae27dafed1ff93fb90a5d63ac5b230991740737c09b2 SHA512 53bde56ce87197a6fb4a1645da9e7b5291d1e129bf3f04e445e259447aa174cd63e8d190e922d7a52c356ca4986c726babdf9864413324b3185112ac41bf3739 -EBUILD unbound-1.13.1-r1.ebuild 6037 BLAKE2B 19f725019dc5f1a76481121630be99db2ccd85bbc9268cd9973fe7a006e26c5d1788a98b8df51f334fa661d35f8c4917192872aa141b8a259627d9e8ca01a298 SHA512 c68ee812bad07c26a34641b112e0f929eaab4c32e351e04b5adaa29773a96d7147cc411a4c5dbb61415dd4ce2ec7c99808d8c95dac74513206305a50b43a503a +EBUILD unbound-1.13.0-r4.ebuild 5997 BLAKE2B 71c2346478513cca62bb52f72f28a58e90e9976ea39213420b19c8d8e5665a14889f95ce872030a13bdd15cca86bc8cdbd488a9802798ee21506d771ce90e6cb SHA512 a985a96c7359bdc9c7e10b52f83a1158f1a092a384194780b7b6f9335d8e83ea0a3c228b7d912372219cbd8ab6d1ad593e2b070bdb197335dcadfa896dfa9e47 +EBUILD unbound-1.13.0-r5.ebuild 6048 BLAKE2B 2a8e24f6dbe2d4d6913308e03d2c52368570d9396328f58ab0eedcb754adc12c03138f81c220b8225934f6d92c2f2a5f5c07547f2d52cd4c25eea89c76fa60e2 SHA512 e5da3d935ff2c98affb300a96dfc9555e0a56454246f1c6ccf6800d988871ed19128ddb02a595d41ed551274be88d571549edc2074addf997f58139c2c3d16f4 +EBUILD unbound-1.13.1-r2.ebuild 6043 BLAKE2B c945879e1938887f99a513d00ed76f3bad9e4b98e16cab132e7587c885f330bbaa9b167c024d34e7e524aa99b3c81a509bb84c36ada1bff5ec29b8f1457880d8 SHA512 7e9c405b21f143105654357c909da068769650555ae680c67eca67d0e841ca4fc6e0aee1580966666e89f8a711e710aa727e642a63d81202b25db6a9d8d3da41 MISC metadata.xml 1530 BLAKE2B 122d80d5cfbe76db026eae05c5e04b05f83e081713ac31c1d35d4677fa44eda03629fd964f0aa7fd5f9d16ff70913ebc83fddc5ee8c3c22df9bc7c5fc1b99e22 SHA512 4b9f0e48a871e0f4fa86b85bea5639aa6ab7778da2a32845f4ed95def7f0432f8a314d43f9e4f00a145b10d4a4250f6574a31a3e443545abc716e421f1b64bd0 diff --git a/net-dns/unbound/unbound-1.13.0-r2.ebuild b/net-dns/unbound/unbound-1.13.0-r2.ebuild deleted file mode 100644 index 54591f898520..000000000000 --- a/net-dns/unbound/unbound-1.13.0-r2.ebuild +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=( python3_{7,8,9} ) - -inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd - -MY_P=${PN}-${PV/_/} -DESCRIPTION="A validating, recursive and caching DNS resolver" -HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" -SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" - -LICENSE="BSD GPL-2" -SLOT="0/8" # ABI version of libunbound.so -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 x86" -IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Note: expat is needed by executable only but the Makefile is custom -# and doesn't make it possible to easily install the library without -# the executables. MULTILIB_USEDEP may be dropped once build system -# is fixed. - -CDEPEND="acct-group/unbound - acct-user/unbound - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - dnscrypt? ( dev-libs/libsodium[${MULTILIB_USEDEP}] ) - dnstap? ( - dev-libs/fstrm[${MULTILIB_USEDEP}] - >=dev-libs/protobuf-c-1.0.2-r1[${MULTILIB_USEDEP}] - ) - ecdsa? ( - dev-libs/openssl:0[-bindist(-)] - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - redis? ( dev-libs/hiredis:= )" - -BDEPEND="virtual/pkgconfig" - -DEPEND="${CDEPEND} - python? ( dev-lang/swig ) - test? ( - net-dns/ldns-utils[examples] - dev-util/splint - app-text/wdiff - ) - systemd? ( sys-apps/systemd )" - -RDEPEND="${CDEPEND} - net-dns/dnssec-root - selinux? ( sec-policy/selinux-bind )" - -# bug #347415 -RDEPEND="${RDEPEND} - net-dns/dnssec-root" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch - "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch - "${FILESDIR}"/${PN}-1.10.1-find-ar.patch -) - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - eautoreconf - - # required for the python part - multilib_copy_sources -} - -src_configure() { - [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack - multilib-minimal_src_configure -} - -multilib_src_configure() { - econf \ - $(use_enable debug) \ - $(use_enable gost) \ - $(use_enable dnscrypt) \ - $(use_enable dnstap) \ - $(use_enable ecdsa) \ - $(use_enable ecs subnet) \ - $(multilib_native_use_enable redis cachedb) \ - $(use_enable static-libs static) \ - $(use_enable systemd) \ - $(multilib_native_use_with python pythonmodule) \ - $(multilib_native_use_with python pyunbound) \ - $(use_with threads pthreads) \ - $(use_with http2 libnghttp2) \ - --disable-flto \ - --disable-rpath \ - --enable-event-api \ - --enable-ipsecmod \ - --enable-tfo-client \ - --enable-tfo-server \ - --with-libevent="${EPREFIX}"/usr \ - $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ - --with-pidfile="${EPREFIX}"/run/unbound.pid \ - --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ - --with-ssl="${EPREFIX}"/usr \ - --with-libexpat="${EPREFIX}"/usr - - # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html - # $(use_enable debug lock-checks) \ - # $(use_enable debug alloc-checks) \ - # $(use_enable debug alloc-lite) \ - # $(use_enable debug alloc-nonregional) \ -} - -multilib_src_install_all() { - use python && python_optimize - - newinitd "${FILESDIR}"/unbound-r1.initd unbound - newconfd "${FILESDIR}"/unbound-r1.confd unbound - - systemd_dounit "${FILESDIR}"/unbound.service - systemd_dounit "${FILESDIR}"/unbound.socket - systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" - systemd_dounit "${FILESDIR}"/unbound-anchor.service - - dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} - - # bug #315519 - dodoc contrib/unbound_munin_ - - docinto selinux - dodoc contrib/selinux/* - - exeinto /usr/share/${PN} - doexe contrib/update-anchor.sh - - # create space for auto-trust-anchor-file... - keepdir /etc/unbound/var - fowners root:unbound /etc/unbound/var - fperms 0770 /etc/unbound/var - # ... and point example config to it - sed -i \ - -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ - "${ED}/etc/unbound/unbound.conf" \ - || die - - # Used to store cache data - keepdir /var/lib/${PN} - fowners root:unbound /var/lib/${PN} - fperms 0770 /var/lib/${PN} - - find "${ED}" -name '*.la' -delete || die - if ! use static-libs ; then - find "${ED}" -name "*.a" -delete || die - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then - einfo "Trying to create unbound control key ..." - if ! unbound-control-setup &>/dev/null ; then - ewarn "Failed to create unbound control key!" - fi - fi - - if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then - einfo "" - einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" - einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" - einfo "and run" - einfo "" - einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" - einfo "" - einfo "as root to create it initially before starting unbound for the first time after enabling this." - einfo "" - fi - - # Our user is not available on prefix - use prefix && return - - local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) - su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null - if [ $? -ne 0 ] ; then - ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" - ewarn "Run the following commands to restore default permission:" - ewarn "" - ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" - ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" - else - # Cleanup -- no reason to die here! - rm -f "${_perm_check_testfile}" - fi -} diff --git a/net-dns/unbound/unbound-1.13.0-r3.ebuild b/net-dns/unbound/unbound-1.13.0-r3.ebuild deleted file mode 100644 index 08e219efb530..000000000000 --- a/net-dns/unbound/unbound-1.13.0-r3.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=( python3_{7,8,9} ) - -inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd - -MY_P=${PN}-${PV/_/} -DESCRIPTION="A validating, recursive and caching DNS resolver" -HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" -SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" - -LICENSE="BSD GPL-2" -SLOT="0/8" # ABI version of libunbound.so -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86" -IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Note: expat is needed by executable only but the Makefile is custom -# and doesn't make it possible to easily install the library without -# the executables. MULTILIB_USEDEP may be dropped once build system -# is fixed. - -CDEPEND="acct-group/unbound - acct-user/unbound - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - dnscrypt? ( dev-libs/libsodium[${MULTILIB_USEDEP}] ) - dnstap? ( - dev-libs/fstrm[${MULTILIB_USEDEP}] - >=dev-libs/protobuf-c-1.0.2-r1[${MULTILIB_USEDEP}] - ) - ecdsa? ( - dev-libs/openssl:0[-bindist(-)] - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - redis? ( dev-libs/hiredis:= )" - -BDEPEND="virtual/pkgconfig" - -DEPEND="${CDEPEND} - python? ( dev-lang/swig ) - test? ( - net-dns/ldns-utils[examples] - dev-util/splint - app-text/wdiff - ) - systemd? ( sys-apps/systemd )" - -RDEPEND="${CDEPEND} - net-dns/dnssec-root - selinux? ( sec-policy/selinux-bind )" - -# bug #347415 -RDEPEND="${RDEPEND} - net-dns/dnssec-root" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch - "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch - "${FILESDIR}"/${PN}-1.10.1-find-ar.patch -) - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - eautoreconf - - # required for the python part - multilib_copy_sources -} - -src_configure() { - [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack - multilib-minimal_src_configure -} - -multilib_src_configure() { - econf \ - $(use_enable debug) \ - $(use_enable gost) \ - $(use_enable dnscrypt) \ - $(use_enable dnstap) \ - $(use_enable ecdsa) \ - $(use_enable ecs subnet) \ - $(multilib_native_use_enable redis cachedb) \ - $(use_enable static-libs static) \ - $(use_enable systemd) \ - $(multilib_native_use_with python pythonmodule) \ - $(multilib_native_use_with python pyunbound) \ - $(use_with threads pthreads) \ - $(use_with http2 libnghttp2) \ - --disable-flto \ - --disable-rpath \ - --enable-event-api \ - --enable-ipsecmod \ - --enable-tfo-client \ - --enable-tfo-server \ - --with-libevent="${EPREFIX}"/usr \ - $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ - --with-pidfile="${EPREFIX}"/run/unbound.pid \ - --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ - --with-ssl="${EPREFIX}"/usr \ - --with-libexpat="${EPREFIX}"/usr - - # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html - # $(use_enable debug lock-checks) \ - # $(use_enable debug alloc-checks) \ - # $(use_enable debug alloc-lite) \ - # $(use_enable debug alloc-nonregional) \ -} - -multilib_src_install() { - emake DESTDIR="${D}" install - systemd_dounit contrib/unbound.service - systemd_dounit contrib/unbound.socket -} - -multilib_src_install_all() { - use python && python_optimize - - newinitd "${FILESDIR}"/unbound-r1.initd unbound - newconfd "${FILESDIR}"/unbound-r1.confd unbound - - systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" - systemd_dounit "${FILESDIR}"/unbound-anchor.service - - dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} - - # bug #315519 - dodoc contrib/unbound_munin_ - - docinto selinux - dodoc contrib/selinux/* - - exeinto /usr/share/${PN} - doexe contrib/update-anchor.sh - - # create space for auto-trust-anchor-file... - keepdir /etc/unbound/var - fowners root:unbound /etc/unbound/var - fperms 0770 /etc/unbound/var - # ... and point example config to it - sed -i \ - -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ - "${ED}/etc/unbound/unbound.conf" \ - || die - - # Used to store cache data - keepdir /var/lib/${PN} - fowners root:unbound /var/lib/${PN} - fperms 0770 /var/lib/${PN} - - find "${ED}" -name '*.la' -delete || die - if ! use static-libs ; then - find "${ED}" -name "*.a" -delete || die - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then - einfo "Trying to create unbound control key ..." - if ! unbound-control-setup &>/dev/null ; then - ewarn "Failed to create unbound control key!" - fi - fi - - if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then - einfo "" - einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" - einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" - einfo "and run" - einfo "" - einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" - einfo "" - einfo "as root to create it initially before starting unbound for the first time after enabling this." - einfo "" - fi - - # Our user is not available on prefix - use prefix && return - - local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) - su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null - if [ $? -ne 0 ] ; then - ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" - ewarn "Run the following commands to restore default permission:" - ewarn "" - ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" - ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" - else - # Cleanup -- no reason to die here! - rm -f "${_perm_check_testfile}" - fi -} diff --git a/net-dns/unbound/unbound-1.13.0-r4.ebuild b/net-dns/unbound/unbound-1.13.0-r4.ebuild new file mode 100644 index 000000000000..22dc5675ff0b --- /dev/null +++ b/net-dns/unbound/unbound-1.13.0-r4.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd + +MY_P=${PN}-${PV/_/} +DESCRIPTION="A validating, recursive and caching DNS resolver" +HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" +SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0/8" # ABI version of libunbound.so +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 x86" +IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Note: expat is needed by executable only but the Makefile is custom +# and doesn't make it possible to easily install the library without +# the executables. MULTILIB_USEDEP may be dropped once build system +# is fixed. + +CDEPEND="acct-group/unbound + acct-user/unbound + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] + dnscrypt? ( dev-libs/libsodium:=[${MULTILIB_USEDEP}] ) + dnstap? ( + dev-libs/fstrm[${MULTILIB_USEDEP}] + >=dev-libs/protobuf-c-1.0.2-r1:=[${MULTILIB_USEDEP}] + ) + ecdsa? ( + dev-libs/openssl:0[-bindist(-)] + ) + http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + redis? ( dev-libs/hiredis:= )" + +BDEPEND="virtual/pkgconfig" + +DEPEND="${CDEPEND} + python? ( dev-lang/swig ) + test? ( + net-dns/ldns-utils[examples] + dev-util/splint + app-text/wdiff + ) + systemd? ( sys-apps/systemd )" + +RDEPEND="${CDEPEND} + net-dns/dnssec-root + selinux? ( sec-policy/selinux-bind )" + +# bug #347415 +RDEPEND="${RDEPEND} + net-dns/dnssec-root" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch + "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch + "${FILESDIR}"/${PN}-1.10.1-find-ar.patch +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + eautoreconf + + # required for the python part + multilib_copy_sources +} + +src_configure() { + [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack + multilib-minimal_src_configure +} + +multilib_src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable gost) \ + $(use_enable dnscrypt) \ + $(use_enable dnstap) \ + $(use_enable ecdsa) \ + $(use_enable ecs subnet) \ + $(multilib_native_use_enable redis cachedb) \ + $(use_enable static-libs static) \ + $(use_enable systemd) \ + $(multilib_native_use_with python pythonmodule) \ + $(multilib_native_use_with python pyunbound) \ + $(use_with threads pthreads) \ + $(use_with http2 libnghttp2) \ + --disable-flto \ + --disable-rpath \ + --enable-event-api \ + --enable-ipsecmod \ + --enable-tfo-client \ + --enable-tfo-server \ + --with-libevent="${EPREFIX}"/usr \ + $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ + --with-pidfile="${EPREFIX}"/run/unbound.pid \ + --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ + --with-ssl="${EPREFIX}"/usr \ + --with-libexpat="${EPREFIX}"/usr + + # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html + # $(use_enable debug lock-checks) \ + # $(use_enable debug alloc-checks) \ + # $(use_enable debug alloc-lite) \ + # $(use_enable debug alloc-nonregional) \ +} + +multilib_src_install_all() { + use python && python_optimize + + newinitd "${FILESDIR}"/unbound-r1.initd unbound + newconfd "${FILESDIR}"/unbound-r1.confd unbound + + systemd_dounit "${FILESDIR}"/unbound.service + systemd_dounit "${FILESDIR}"/unbound.socket + systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" + systemd_dounit "${FILESDIR}"/unbound-anchor.service + + dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} + + # bug #315519 + dodoc contrib/unbound_munin_ + + docinto selinux + dodoc contrib/selinux/* + + exeinto /usr/share/${PN} + doexe contrib/update-anchor.sh + + # create space for auto-trust-anchor-file... + keepdir /etc/unbound/var + fowners root:unbound /etc/unbound/var + fperms 0770 /etc/unbound/var + # ... and point example config to it + sed -i \ + -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ + "${ED}/etc/unbound/unbound.conf" \ + || die + + # Used to store cache data + keepdir /var/lib/${PN} + fowners root:unbound /var/lib/${PN} + fperms 0770 /var/lib/${PN} + + find "${ED}" -name '*.la' -delete || die + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then + einfo "Trying to create unbound control key ..." + if ! unbound-control-setup &>/dev/null ; then + ewarn "Failed to create unbound control key!" + fi + fi + + if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then + einfo "" + einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" + einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" + einfo "and run" + einfo "" + einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" + einfo "" + einfo "as root to create it initially before starting unbound for the first time after enabling this." + einfo "" + fi + + # Our user is not available on prefix + use prefix && return + + local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) + su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null + if [ $? -ne 0 ] ; then + ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" + ewarn "Run the following commands to restore default permission:" + ewarn "" + ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" + ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" + else + # Cleanup -- no reason to die here! + rm -f "${_perm_check_testfile}" + fi +} diff --git a/net-dns/unbound/unbound-1.13.0-r5.ebuild b/net-dns/unbound/unbound-1.13.0-r5.ebuild new file mode 100644 index 000000000000..599a521515cc --- /dev/null +++ b/net-dns/unbound/unbound-1.13.0-r5.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd + +MY_P=${PN}-${PV/_/} +DESCRIPTION="A validating, recursive and caching DNS resolver" +HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" +SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0/8" # ABI version of libunbound.so +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86" +IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Note: expat is needed by executable only but the Makefile is custom +# and doesn't make it possible to easily install the library without +# the executables. MULTILIB_USEDEP may be dropped once build system +# is fixed. + +CDEPEND="acct-group/unbound + acct-user/unbound + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] + dnscrypt? ( dev-libs/libsodium:=[${MULTILIB_USEDEP}] ) + dnstap? ( + dev-libs/fstrm[${MULTILIB_USEDEP}] + >=dev-libs/protobuf-c-1.0.2-r1:=[${MULTILIB_USEDEP}] + ) + ecdsa? ( + dev-libs/openssl:0[-bindist(-)] + ) + http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + redis? ( dev-libs/hiredis:= )" + +BDEPEND="virtual/pkgconfig" + +DEPEND="${CDEPEND} + python? ( dev-lang/swig ) + test? ( + net-dns/ldns-utils[examples] + dev-util/splint + app-text/wdiff + ) + systemd? ( sys-apps/systemd )" + +RDEPEND="${CDEPEND} + net-dns/dnssec-root + selinux? ( sec-policy/selinux-bind )" + +# bug #347415 +RDEPEND="${RDEPEND} + net-dns/dnssec-root" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch + "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch + "${FILESDIR}"/${PN}-1.10.1-find-ar.patch +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + eautoreconf + + # required for the python part + multilib_copy_sources +} + +src_configure() { + [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack + multilib-minimal_src_configure +} + +multilib_src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable gost) \ + $(use_enable dnscrypt) \ + $(use_enable dnstap) \ + $(use_enable ecdsa) \ + $(use_enable ecs subnet) \ + $(multilib_native_use_enable redis cachedb) \ + $(use_enable static-libs static) \ + $(use_enable systemd) \ + $(multilib_native_use_with python pythonmodule) \ + $(multilib_native_use_with python pyunbound) \ + $(use_with threads pthreads) \ + $(use_with http2 libnghttp2) \ + --disable-flto \ + --disable-rpath \ + --enable-event-api \ + --enable-ipsecmod \ + --enable-tfo-client \ + --enable-tfo-server \ + --with-libevent="${EPREFIX}"/usr \ + $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ + --with-pidfile="${EPREFIX}"/run/unbound.pid \ + --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ + --with-ssl="${EPREFIX}"/usr \ + --with-libexpat="${EPREFIX}"/usr + + # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html + # $(use_enable debug lock-checks) \ + # $(use_enable debug alloc-checks) \ + # $(use_enable debug alloc-lite) \ + # $(use_enable debug alloc-nonregional) \ +} + +multilib_src_install() { + emake DESTDIR="${D}" install + systemd_dounit contrib/unbound.service + systemd_dounit contrib/unbound.socket +} + +multilib_src_install_all() { + use python && python_optimize + + newinitd "${FILESDIR}"/unbound-r1.initd unbound + newconfd "${FILESDIR}"/unbound-r1.confd unbound + + systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" + systemd_dounit "${FILESDIR}"/unbound-anchor.service + + dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} + + # bug #315519 + dodoc contrib/unbound_munin_ + + docinto selinux + dodoc contrib/selinux/* + + exeinto /usr/share/${PN} + doexe contrib/update-anchor.sh + + # create space for auto-trust-anchor-file... + keepdir /etc/unbound/var + fowners root:unbound /etc/unbound/var + fperms 0770 /etc/unbound/var + # ... and point example config to it + sed -i \ + -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ + "${ED}/etc/unbound/unbound.conf" \ + || die + + # Used to store cache data + keepdir /var/lib/${PN} + fowners root:unbound /var/lib/${PN} + fperms 0770 /var/lib/${PN} + + find "${ED}" -name '*.la' -delete || die + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then + einfo "Trying to create unbound control key ..." + if ! unbound-control-setup &>/dev/null ; then + ewarn "Failed to create unbound control key!" + fi + fi + + if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then + einfo "" + einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" + einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" + einfo "and run" + einfo "" + einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" + einfo "" + einfo "as root to create it initially before starting unbound for the first time after enabling this." + einfo "" + fi + + # Our user is not available on prefix + use prefix && return + + local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) + su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null + if [ $? -ne 0 ] ; then + ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" + ewarn "Run the following commands to restore default permission:" + ewarn "" + ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" + ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" + else + # Cleanup -- no reason to die here! + rm -f "${_perm_check_testfile}" + fi +} diff --git a/net-dns/unbound/unbound-1.13.1-r1.ebuild b/net-dns/unbound/unbound-1.13.1-r1.ebuild deleted file mode 100644 index da2a5db53fec..000000000000 --- a/net-dns/unbound/unbound-1.13.1-r1.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=( python3_{7,8,9} ) - -inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd - -MY_P=${PN}-${PV/_/} -DESCRIPTION="A validating, recursive and caching DNS resolver" -HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" -SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" - -LICENSE="BSD GPL-2" -SLOT="0/8" # ABI version of libunbound.so -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 x86" -IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Note: expat is needed by executable only but the Makefile is custom -# and doesn't make it possible to easily install the library without -# the executables. MULTILIB_USEDEP may be dropped once build system -# is fixed. - -CDEPEND="acct-group/unbound - acct-user/unbound - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] - >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] - dnscrypt? ( dev-libs/libsodium[${MULTILIB_USEDEP}] ) - dnstap? ( - dev-libs/fstrm[${MULTILIB_USEDEP}] - >=dev-libs/protobuf-c-1.0.2-r1[${MULTILIB_USEDEP}] - ) - ecdsa? ( - dev-libs/openssl:0[-bindist(-)] - ) - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - redis? ( dev-libs/hiredis:= )" - -BDEPEND="virtual/pkgconfig" - -DEPEND="${CDEPEND} - python? ( dev-lang/swig ) - test? ( - net-dns/ldns-utils[examples] - dev-util/splint - app-text/wdiff - ) - systemd? ( sys-apps/systemd )" - -RDEPEND="${CDEPEND} - net-dns/dnssec-root - selinux? ( sec-policy/selinux-bind )" - -# bug #347415 -RDEPEND="${RDEPEND} - net-dns/dnssec-root" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch - "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch - "${FILESDIR}"/${PN}-1.10.1-find-ar.patch -) - -S=${WORKDIR}/${MY_P} - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - eautoreconf - - # required for the python part - multilib_copy_sources -} - -src_configure() { - [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack - multilib-minimal_src_configure -} - -multilib_src_configure() { - econf \ - $(use_enable debug) \ - $(use_enable gost) \ - $(use_enable dnscrypt) \ - $(use_enable dnstap) \ - $(use_enable ecdsa) \ - $(use_enable ecs subnet) \ - $(multilib_native_use_enable redis cachedb) \ - $(use_enable static-libs static) \ - $(use_enable systemd) \ - $(multilib_native_use_with python pythonmodule) \ - $(multilib_native_use_with python pyunbound) \ - $(use_with threads pthreads) \ - $(use_with http2 libnghttp2) \ - --disable-flto \ - --disable-rpath \ - --enable-event-api \ - --enable-ipsecmod \ - --enable-tfo-client \ - --enable-tfo-server \ - --with-libevent="${EPREFIX}"/usr \ - $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ - --with-pidfile="${EPREFIX}"/run/unbound.pid \ - --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ - --with-ssl="${EPREFIX}"/usr \ - --with-libexpat="${EPREFIX}"/usr - - # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html - # $(use_enable debug lock-checks) \ - # $(use_enable debug alloc-checks) \ - # $(use_enable debug alloc-lite) \ - # $(use_enable debug alloc-nonregional) \ -} - -multilib_src_install() { - emake DESTDIR="${D}" install - systemd_dounit contrib/unbound.service - systemd_dounit contrib/unbound.socket -} - -multilib_src_install_all() { - use python && python_optimize - - newinitd "${FILESDIR}"/unbound-r1.initd unbound - newconfd "${FILESDIR}"/unbound-r1.confd unbound - - systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" - systemd_dounit "${FILESDIR}"/unbound-anchor.service - - dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} - - # bug #315519 - dodoc contrib/unbound_munin_ - - docinto selinux - dodoc contrib/selinux/* - - exeinto /usr/share/${PN} - doexe contrib/update-anchor.sh - - # create space for auto-trust-anchor-file... - keepdir /etc/unbound/var - fowners root:unbound /etc/unbound/var - fperms 0770 /etc/unbound/var - # ... and point example config to it - sed -i \ - -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ - "${ED}/etc/unbound/unbound.conf" \ - || die - - # Used to store cache data - keepdir /var/lib/${PN} - fowners root:unbound /var/lib/${PN} - fperms 0770 /var/lib/${PN} - - find "${ED}" -name '*.la' -delete || die - if ! use static-libs ; then - find "${ED}" -name "*.a" -delete || die - fi -} - -pkg_postinst() { - if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then - einfo "Trying to create unbound control key ..." - if ! unbound-control-setup &>/dev/null ; then - ewarn "Failed to create unbound control key!" - fi - fi - - if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then - einfo "" - einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" - einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" - einfo "and run" - einfo "" - einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" - einfo "" - einfo "as root to create it initially before starting unbound for the first time after enabling this." - einfo "" - fi - - # Our user is not available on prefix - use prefix && return - - local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) - su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null - if [ $? -ne 0 ] ; then - ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" - ewarn "Run the following commands to restore default permission:" - ewarn "" - ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" - ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" - else - # Cleanup -- no reason to die here! - rm -f "${_perm_check_testfile}" - fi -} diff --git a/net-dns/unbound/unbound-1.13.1-r2.ebuild b/net-dns/unbound/unbound-1.13.1-r2.ebuild new file mode 100644 index 000000000000..4e6c754e33c2 --- /dev/null +++ b/net-dns/unbound/unbound-1.13.1-r2.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit autotools flag-o-matic multilib-minimal python-single-r1 systemd + +MY_P=${PN}-${PV/_/} +DESCRIPTION="A validating, recursive and caching DNS resolver" +HOMEPAGE="https://unbound.net/ https://nlnetlabs.nl/projects/unbound/about/" +SRC_URI="https://nlnetlabs.nl/downloads/unbound/${MY_P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0/8" # ABI version of libunbound.so +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ppc64 x86" +IUSE="debug dnscrypt dnstap +ecdsa ecs gost +http2 python redis selinux static-libs systemd test threads" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Note: expat is needed by executable only but the Makefile is custom +# and doesn't make it possible to easily install the library without +# the executables. MULTILIB_USEDEP may be dropped once build system +# is fixed. + +CDEPEND="acct-group/unbound + acct-user/unbound + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=dev-libs/libevent-2.0.21:0=[${MULTILIB_USEDEP}] + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] + dnscrypt? ( dev-libs/libsodium:=[${MULTILIB_USEDEP}] ) + dnstap? ( + dev-libs/fstrm[${MULTILIB_USEDEP}] + >=dev-libs/protobuf-c-1.0.2-r1:=[${MULTILIB_USEDEP}] + ) + ecdsa? ( + dev-libs/openssl:0[-bindist(-)] + ) + http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + redis? ( dev-libs/hiredis:= )" + +BDEPEND="virtual/pkgconfig" + +DEPEND="${CDEPEND} + python? ( dev-lang/swig ) + test? ( + net-dns/ldns-utils[examples] + dev-util/splint + app-text/wdiff + ) + systemd? ( sys-apps/systemd )" + +RDEPEND="${CDEPEND} + net-dns/dnssec-root + selinux? ( sec-policy/selinux-bind )" + +# bug #347415 +RDEPEND="${RDEPEND} + net-dns/dnssec-root" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.7-trust-anchor-file.patch + "${FILESDIR}"/${PN}-1.6.3-pkg-config.patch + "${FILESDIR}"/${PN}-1.10.1-find-ar.patch +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + eautoreconf + + # required for the python part + multilib_copy_sources +} + +src_configure() { + [[ ${CHOST} == *-darwin* ]] || append-ldflags -Wl,-z,noexecstack + multilib-minimal_src_configure +} + +multilib_src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable gost) \ + $(use_enable dnscrypt) \ + $(use_enable dnstap) \ + $(use_enable ecdsa) \ + $(use_enable ecs subnet) \ + $(multilib_native_use_enable redis cachedb) \ + $(use_enable static-libs static) \ + $(use_enable systemd) \ + $(multilib_native_use_with python pythonmodule) \ + $(multilib_native_use_with python pyunbound) \ + $(use_with threads pthreads) \ + $(use_with http2 libnghttp2) \ + --disable-flto \ + --disable-rpath \ + --enable-event-api \ + --enable-ipsecmod \ + --enable-tfo-client \ + --enable-tfo-server \ + --with-libevent="${EPREFIX}"/usr \ + $(multilib_native_usex redis --with-libhiredis="${EPREFIX}/usr" --without-libhiredis) \ + --with-pidfile="${EPREFIX}"/run/unbound.pid \ + --with-rootkey-file="${EPREFIX}"/etc/dnssec/root-anchors.txt \ + --with-ssl="${EPREFIX}"/usr \ + --with-libexpat="${EPREFIX}"/usr + + # http://unbound.nlnetlabs.nl/pipermail/unbound-users/2011-April/001801.html + # $(use_enable debug lock-checks) \ + # $(use_enable debug alloc-checks) \ + # $(use_enable debug alloc-lite) \ + # $(use_enable debug alloc-nonregional) \ +} + +multilib_src_install() { + emake DESTDIR="${D}" install + systemd_dounit contrib/unbound.service + systemd_dounit contrib/unbound.socket +} + +multilib_src_install_all() { + use python && python_optimize + + newinitd "${FILESDIR}"/unbound-r1.initd unbound + newconfd "${FILESDIR}"/unbound-r1.confd unbound + + systemd_newunit "${FILESDIR}"/unbound_at.service "unbound@.service" + systemd_dounit "${FILESDIR}"/unbound-anchor.service + + dodoc doc/{README,CREDITS,TODO,Changelog,FEATURES} + + # bug #315519 + dodoc contrib/unbound_munin_ + + docinto selinux + dodoc contrib/selinux/* + + exeinto /usr/share/${PN} + doexe contrib/update-anchor.sh + + # create space for auto-trust-anchor-file... + keepdir /etc/unbound/var + fowners root:unbound /etc/unbound/var + fperms 0770 /etc/unbound/var + # ... and point example config to it + sed -i \ + -e '/# auto-trust-anchor-file:/s,/etc/dnssec/root-anchors.txt,/etc/unbound/var/root-anchors.txt,' \ + "${ED}/etc/unbound/unbound.conf" \ + || die + + # Used to store cache data + keepdir /var/lib/${PN} + fowners root:unbound /var/lib/${PN} + fperms 0770 /var/lib/${PN} + + find "${ED}" -name '*.la' -delete || die + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} + +pkg_postinst() { + if [[ ! -f "${EROOT}/etc/unbound/unbound_control.key" ]] ; then + einfo "Trying to create unbound control key ..." + if ! unbound-control-setup &>/dev/null ; then + ewarn "Failed to create unbound control key!" + fi + fi + + if [[ ! -f "${EROOT}/etc/unbound/var/root-anchors.txt" ]] ; then + einfo "" + einfo "If you want unbound to automatically update the root-anchor file for DNSSEC validation" + einfo "set 'auto-trust-anchor-file: ${EROOT}/etc/unbound/var/root-anchors.txt' in ${EROOT}/etc/unbound/unbound.conf" + einfo "and run" + einfo "" + einfo " su -s /bin/sh -c '${EROOT}/usr/sbin/unbound-anchor -a ${EROOT}/etc/unbound/var/root-anchors.txt' unbound" + einfo "" + einfo "as root to create it initially before starting unbound for the first time after enabling this." + einfo "" + fi + + # Our user is not available on prefix + use prefix && return + + local _perm_check_testfile=$(mktemp --dry-run "${EPREFIX}"/etc/unbound/var/.pkg_postinst-perm-check.XXXXXXXXX) + su -s /bin/sh -c "touch ${_perm_check_testfile}" unbound &>/dev/null + if [ $? -ne 0 ] ; then + ewarn "WARNING: unbound user cannot write to \"${EPREFIX}/etc/unbound/var\"!" + ewarn "Run the following commands to restore default permission:" + ewarn "" + ewarn " chown root:unbound ${EPREFIX}/etc/unbound/var" + ewarn " chmod 0770 ${EPREFIX}/etc/unbound/var" + else + # Cleanup -- no reason to die here! + rm -f "${_perm_check_testfile}" + fi +} -- cgit v1.2.3