repo/gentoo:master commit in: net-dns/knot-resolver/
"Sam James" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786043230.bb1e36eff72f3af9d824f7ed7c081d839b590410.sam@gentoo> |
commit: bb1e36eff72f3af9d824f7ed7c081d839b590410
Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Aug 6 09:44:09 2026 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 6 19:07:10 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb1e36ef
net-dns/knot-resolver: Bump to 6.4.2
This release contains a workaround for a LuaJIT crash bug.
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1625
Signed-off-by: Sam James <sam <AT> gentoo.org>
net-dns/knot-resolver/Manifest | 2 +
net-dns/knot-resolver/knot-resolver-6.4.2.ebuild | 196 +++++++++++++++++++++++
2 files changed, 198 insertions(+)
diff --git a/net-dns/knot-resolver/Manifest b/net-dns/knot-resolver/Manifest
index 855daf59f9da..7799eb1eb00c 100644
--- a/net-dns/knot-resolver/Manifest
+++ b/net-dns/knot-resolver/Manifest
@@ -8,3 +8,5 @@ DIST knot-resolver-6.4.0.tar.xz 2367316 BLAKE2B dbe67ea0ad3484aba912406f960568c2
DIST knot-resolver-6.4.0.tar.xz.asc 833 BLAKE2B 3eafb625f93350c5058deee8505e962c804faa711074dfa4fd78f5ceba235c94dc321308252fde9bbdb5c563ad31eef59ea64fc5f5e5ef71e09388d643027078 SHA512 f7e7760478359b984f6529776c39ff4de33c686c5baed08b8a58667a42e0ba921813ea0b294c7941ff908300eb3061cea69108f37479eff49c04ac01d7600292
DIST knot-resolver-6.4.1.tar.xz 2372020 BLAKE2B cd755323a3e6decf36bacf2508f8f3cf02a4538d1909e17689d1e2d7821e8b9d8e463a1426d6ea765bbfd7cc9aa11894fe8a0ad5e8b51ad9f970c44735fb3a3e SHA512 efd45cacdbf3dc4ef3260dc5163ac6ee224517d0b371fd940d57a9fa814c9c7171a61280bb1464481688dcf9b41d95a0311206b871e3ea8889efe3cbb2d77e12
DIST knot-resolver-6.4.1.tar.xz.asc 833 BLAKE2B e39bb9cb5976b12b1836385c9527434c8bb846de92408e74a7d93e8d64c2469353754967e4c64a3b9e28c3e772ac0a3d794939a1e512a9848a8a78c8f5c501be SHA512 3f4138293027c1041ea278a0c3017b4fa21ea2bc605824e0287746d809358446a73c8f303c55cc910cd938e0892cb18175138d777be6e08465c48bb83ddf48b1
+DIST knot-resolver-6.4.2.tar.xz 2372660 BLAKE2B 2bc479e25a0207df75ebb28303ed6783256014a6087800282f7fd5575afe3ddcf069d4825efa5ee9dc631cd5f04365545be5494875703ed31ca0c39539613591 SHA512 c4fec8d9a4b95fcc2ab4bc920e355861e7c2ac0faee3601a14352e9de1ec6ed034c978af8133b0f3100d7b8a1cada959d8b03c852415adaced9777bc43fd4057
+DIST knot-resolver-6.4.2.tar.xz.asc 833 BLAKE2B 31b1ba6666e03b1abd7d0c0f3916bbd3e292413587ceed2fd9e53e10c841dd3600ae7ec626cf30bfe1120a09189ec7ac31f401f4259a93934bcf5d29bd6f56d9 SHA512 828b8c63e3612fee0210e377cffb64239984a9a025d6196477234909ce98aaa8309c37187899117624f4b8b566e05a97cd0de95bef8ac2ad082d8996d6556bfa
diff --git a/net-dns/knot-resolver/knot-resolver-6.4.2.ebuild b/net-dns/knot-resolver/knot-resolver-6.4.2.ebuild
new file mode 100644
index 000000000000..498049ac00e6
--- /dev/null
+++ b/net-dns/knot-resolver/knot-resolver-6.4.2.ebuild
@@ -0,0 +1,196 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( luajit )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit distutils-r1 eapi9-ver lua-single meson optfeature tmpfiles verify-sig
+
+DESCRIPTION="Scaleable caching DNS resolver"
+HOMEPAGE="https://www.knot-resolver.cz https://gitlab.nic.cz/knot/knot-resolver"
+SRC_URI="
+ https://knot-resolver.nic.cz/release/${P}.tar.xz
+ verify-sig? ( https://knot-resolver.nic.cz/release/${P}.tar.xz.asc )
+"
+
+LICENSE="Apache-2.0 BSD CC0-1.0 GPL-3+ LGPL-2.1+ MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+IUSE="caps dnstap +manager nghttp2 quic selinux systemd test xdp"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ manager? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ${LUA_DEPS}
+ acct-group/knot-resolver
+ acct-user/knot-resolver
+ dev-db/lmdb:=
+ dev-libs/libuv:=
+ >=net-dns/knot-3.3:=[xdp?]
+ net-libs/gnutls:=
+ caps? ( sys-libs/libcap-ng )
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c:=
+ )
+ manager? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ app-admin/supervisor[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ')
+ )
+ nghttp2? ( net-libs/nghttp2:= )
+ quic? ( >=net-libs/ngtcp2-1.11.0[gnutls] )
+ selinux? ( sec-policy/selinux-knot )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+BDEPEND="
+ virtual/pkgconfig
+ dnstap? (
+ dev-libs/protobuf[protoc(+)]
+ dev-libs/protobuf-c
+ )
+ manager? (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=dev-python/setuptools-75.3.2[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pyparsing-3.1.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.23.8[${PYTHON_USEDEP}]
+ )
+ ')
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-knot-resolver-20260304 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/${PN}.asc
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.5.3-docdir.patch
+ "${FILESDIR}"/${PN}-5.5.3-nghttp-openssl.patch
+ "${FILESDIR}"/${PN}-6.0.9-config-example.patch
+ "${FILESDIR}"/${PN}-6.0.12-pytest_tomllib.patch
+ "${FILESDIR}"/${PN}-6.1.0-libsystemd.patch
+)
+
+pkg_setup() {
+ lua-single_pkg_setup
+ use manager && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ use manager && distutils-r1_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ --localstatedir="${EPREFIX}"/var # double lib
+ # avoid automagic, see #870019
+ -Dauto_features=disabled
+ # post-install tests
+ -Dconfig_tests=disabled
+ # DISTUTILS_SINGLE_IMPL can't use python_gen_any_dep
+ # disable doc (html) to avoid relying on sphinx for PYTHON_COMPAT
+ -Ddoc=disabled
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ # legacy sample config w/o manager
+ -Dinstall_kresd_conf=enabled
+ # disable jemalloc, see #969223
+ -Dmalloc=disabled
+ # disable debug for the deprecated module 'http'
+ -Dopenssl=disabled
+ # always install tmpfiles
+ -Dsystemd_files=enabled
+ $(meson_feature caps capng)
+ $(meson_feature dnstap)
+ $(meson_feature nghttp2)
+ -Dquic=$(usex quic external disabled)
+ $(meson_feature systemd)
+ # legacy service w/o manager
+ $(meson_feature systemd systemd_legacy_units)
+ $(meson_feature test unit_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ use manager && distutils-r1_src_compile
+}
+
+src_test() {
+ meson_src_test
+ use manager && distutils-r1_src_test
+}
+
+python_test() {
+ epytest tests/manager
+}
+
+src_install() {
+ meson_src_install
+ if use manager; then
+ distutils-r1_src_install
+ newinitd "${FILESDIR}"/knot-resolver.initd knot-resolver
+ newconfd "${FILESDIR}"/knot-resolver.confd knot-resolver
+ else
+ rm "${ED}"/usr/lib/systemd/system/knot-resolver.service || die
+ fi
+ fowners -R ${PN}: /etc/${PN}
+ newinitd "${FILESDIR}"/kresd.initd-r2 kresd
+ newconfd "${FILESDIR}"/kresd.confd-r1 kresd
+ newinitd "${FILESDIR}"/kres-cache-gc.initd kres-cache-gc
+}
+
+pkg_preinst() {
+ if use manager && has_version "net-dns/knot-resolver[-manager(-)]"; then
+ show_manager_info=1
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process knot-resolver.conf
+
+ if ver_replacing -lt 6.0.0; then
+ ewarn "Knot-Resolver-6.X brings major changes, please read the guide for upgrading:"
+ ewarn "https://www.knot-resolver.cz/documentation/v${PV}/upgrading-to-6.html"
+ fi
+
+ if [[ -n ${show_manager_info} ]]; then
+ elog "You choose the new way, called the manager, to start Knot Resolver:"
+ use systemd && elog " systemctl start knot-resolver.service"
+ use !systemd && elog " /etc/init.d/knot-resolver start"
+ elog "Configuration file: /etc/knot-resolver/config.yaml"
+ elog "The older way, without the manager, is still available:"
+ use systemd && elog " systemctl start [email protected]"
+ use !systemd && elog " /etc/init.d/kresd start"
+ elog "Configuration file: /etc/knot-resolver/kresd.conf"
+ elog "Optional garbage collector: /etc/init.d/kres-cache-gc"
+ fi
+
+ optfeature_header "This package is recommended with Knot Resolver:"
+ optfeature "asynchronous execution, especially with policy module" dev-lua/cqueues
+ optfeature_header "Other packages may also be useful:"
+ use manager && optfeature "Prometheus metrics (need manager)" dev-python/prometheus-client
+ use manager && optfeature "auto-reload TLS certificate files and RPZ files (need manager)" dev-python/watchdog
+}