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
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.