From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 227311584AD for ; Sat, 26 Apr 2025 01:17:44 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 0CCBA343022 for ; Sat, 26 Apr 2025 01:17:44 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id F40A61104B8; Sat, 26 Apr 2025 01:17:42 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id EA1FE1104B7 for ; Sat, 26 Apr 2025 01:17:42 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 91C46342F65 for ; Sat, 26 Apr 2025 01:17:42 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 26EEA2401 for ; Sat, 26 Apr 2025 01:17:41 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1745630108.ff234d1477a7298080f324ada34c904b810123ab.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/knot/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-dns/knot/Manifest net-dns/knot/knot-3.4.6.ebuild X-VCS-Directories: net-dns/knot/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: ff234d1477a7298080f324ada34c904b810123ab X-VCS-Branch: master Date: Sat, 26 Apr 2025 01:17:41 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 7cab0b5b-36c4-4b06-98d0-0142e5a6432d X-Archives-Hash: 59b02ebbff751914721eae026c6305e0 commit: ff234d1477a7298080f324ada34c904b810123ab Author: Nicolas PARLANT parhuet fr> AuthorDate: Thu Apr 10 07:35:00 2025 +0000 Commit: Sam James gentoo org> CommitDate: Sat Apr 26 01:15:08 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff234d14 net-dns/knot: add 3.4.6 Three changes from ebuild 3.4.5 : * add verify-sig * add sphinx-panels for doc (unkeyword for riscv) * add manpages from own-repo and disable doc by default Signed-off-by: Nicolas PARLANT parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/41532 Signed-off-by: Sam James gentoo.org> net-dns/knot/Manifest | 3 + net-dns/knot/knot-3.4.6.ebuild | 214 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 217 insertions(+) diff --git a/net-dns/knot/Manifest b/net-dns/knot/Manifest index 7d0c6566d9df..53313d834c6a 100644 --- a/net-dns/knot/Manifest +++ b/net-dns/knot/Manifest @@ -1,2 +1,5 @@ DIST knot-3.4.4.tar.xz 1641460 BLAKE2B d477a4a368b0c6d6c1003a52041403d17bab4e3ecb6e532130b633894d4ee88711038b94e1d4cf12406eb281b800d701c00e40414d458b7bdefb1d632a779821 SHA512 bf8e80d430336934083c1f7c304306de78b254fba5d3b9dd8b44065a0f1527cd78b74d498d994822ed2d364b66091ad967d3cd991bde380fbba67ea34a1ee33f DIST knot-3.4.5.tar.xz 1610204 BLAKE2B 50f7258502f58a7a02500de7b1f195c99b380b7ae38b97aed62228fbdd8897c407fef1a59f5015cf9a00982305ddf0094065495a16ae4ef375472537e6a9e4c2 SHA512 62e7023fa2a9b2323104816dbc2adeec513b70c1891f5f87ab4e951d0db18717f1089bab8b5d2ada008fcf2efd9f0547881084a2e6121891e15cbe9992528c9e +DIST knot-3.4.6-manpages.tar.xz 37324 BLAKE2B 1e7418a8cb4b0b4ec7ddbea71aa83458a7f0602b2210c1120b8ab94a34ce46e44e63f80e426330d711c6f897d2ffbb03e2892fb098c33d7ad5a0bebccf347283 SHA512 3edaa8b130fb292c7f267a733f8be3ae05abfc285fde5279a0ce630a2531117d84ae6bc08ce4f60713388efe4172c875f14952a536148fc7d1ccf577ae0226ad +DIST knot-3.4.6.tar.xz 1610708 BLAKE2B 19054f9ff0d5fc05a1d8160a99b553a047f14e4825094a6009e76a5c915b9511458ae517237bf6559bfea02f74f67f2993e2a495208dfa1e36d7746664ad7d76 SHA512 30e6a843c5b4b89fd51f062f138e031a96cbaf86db5a559ab10dc98d3705086bd987bf99deb5f2c077f7201af8f05311ab8b579bfafa7d285ca4c3e78de8c096 +DIST knot-3.4.6.tar.xz.asc 833 BLAKE2B 49c3aa776e8f185c0553bd878c00aedaba95150bb3e47efa1e9a686873c943d67b7d526828748f25f2841a02ea6f410772e2c2eb7988dfbd8ed79e8cf30f7e32 SHA512 400512cfddadd93e4b536d2421126ee5fce19fa03e0ad6cee2407b1f67e242b9d65ac4ea3f527c17a7100cb63b583cf8a4ca617f6fe119cd4f15a001a0c80abf diff --git a/net-dns/knot/knot-3.4.6.ebuild b/net-dns/knot/knot-3.4.6.ebuild new file mode 100644 index 000000000000..e9cbe3e5791a --- /dev/null +++ b/net-dns/knot/knot-3.4.6.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit python-single-r1 flag-o-matic systemd tmpfiles verify-sig + +# subslot: libknot major.libdnssec major.libzscanner major +KNOT_SUBSLOT="15.9.4" + +DESCRIPTION="High-performance authoritative-only DNS server" +HOMEPAGE="https://www.knot-dns.cz/ https://gitlab.nic.cz/knot/knot-dns" +SRC_URI=" + https://knot-dns.nic.cz/release/${P}.tar.xz + !doc? ( https://raw.githubusercontent.com/PPN-SD/gentoo-manpages/refs/tags/${P}/${P}-manpages.tar.xz ) + verify-sig? ( https://knot-dns.nic.cz/release/${P}.tar.xz.asc ) +" + +LICENSE="GPL-3+" +SLOT="0/${KNOT_SUBSLOT}" +KEYWORDS="~amd64 ~riscv ~x86" + +# Modules without dep. Built unconditionally. +KNOT_MODULES=( + "authsignal" + "cookies" + "dnsproxy" + "noudp" + "onlinesign" + "queryacl" + "rrl" + "stats" + "synthrecord" + "whoami" +) + +KNOT_MODULES_OPT=( + "dnstap" + "geoip" +) + +IUSE="caps +daemon dbus doc doh +fastparser +idn pkcs11 prometheus python quic systemd test +utils xdp ${KNOT_MODULES_OPT[@]}" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + prometheus? ( python ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +COMMON_DEPEND=" + dev-libs/libedit + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c:= + ) +" +RDEPEND=" + dev-db/lmdb:= + net-libs/gnutls:=[pkcs11?] + daemon? ( + ${COMMON_DEPEND} + acct-group/knot + acct-user/knot + dev-libs/userspace-rcu:= + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + geoip? ( dev-libs/libmaxminddb:= ) + systemd? ( sys-apps/systemd:= ) + ) + prometheus? ( + $(python_gen_cond_dep ' + dev-python/prometheus-client[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ') + ) + python? ( ${PYTHON_DEPS} ) + quic? ( net-libs/ngtcp2[gnutls] ) + utils? ( + ${COMMON_DEPEND} + doh? ( net-libs/nghttp2:= ) + idn? ( net-dns/libidn2:= ) + ) + xdp? ( + >=dev-libs/libbpf-1.0:= + net-libs/xdp-tools + utils? ( net-libs/libmnl:= ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + dev-python/sphinx + dev-python/sphinx-panels + ) + python? ( ${PYTHON_DEPS} ) + test? ( + pkcs11? ( dev-libs/softhsm ) + ) + verify-sig? ( sec-keys/openpgp-keys-knot ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/${PN}.asc + +# Used to check cpuset_t in sched.h with NetBSD. +# False positive because linux have sched.h too but with cpu_set_t +QA_CONFIG_IMPL_DECL_SKIP=( cpuset_create cpuset_destroy ) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + fi + default +} + +src_configure() { + local u + local my_conf=( + --with-storage="${EPREFIX}/var/lib/${PN}" + --with-rundir="${EPREFIX}/var/run/${PN}" + $(use_enable caps cap_ng) + $(use_enable daemon) + # enable-dnstap defines support for kdig only + $(use_enable dnstap dnstap $(usex utils)) + $(use_enable doc documentation) + $(use_with doh libnghttp2) + $(use_enable fastparser) + $(use_enable geoip maxminddb) + $(use_with idn libidn) + $(use_enable quic) + $(use_enable systemd) + $(use_enable utils utilities) + $(use_enable xdp) + ) + # modules are only used by daemon + # module-dnstap defines support for knotd only + if use daemon; then + for u in "${KNOT_MODULES[@]}"; do + my_conf+=("--with-module-${u}") + done + for u in "${KNOT_MODULES_OPT[@]#+}"; do + my_conf+=("$(use_with ${u} module-${u})") + done + else + my_conf+=("--disable-modules") + fi + + if use !daemon; then + my_conf+=("--enable-dbus=no") + elif use dbus; then + my_conf+=("--enable-dbus=libdbus") + elif use !dbus && use !systemd; then + my_conf+=("--enable-dbus=no") + elif use !dbus && use systemd; then + my_conf+=("--enable-dbus=systemd") + fi + + if use riscv; then + append-libs -latomic + fi + + econf "${my_conf[@]}" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_install() { + if use doc; then + local HTML_DOCS=( doc/_build/html/{*.html,*.js,_sources,_static} ) + else + doman "${WORKDIR}"/man/* + fi + + if use python; then + python_domodule python/libknot/libknot + newdoc python/libknot/README.md README.python.md + fi + + if use prometheus; then + python_domodule python/knot_exporter/knot_exporter + python_scriptinto /usr/sbin + python_newscript python/knot_exporter/knot_exporter/knot_exporter.py knot-exporter + newdoc python/knot_exporter/README.md README.knot_exporter.md + fi + + default + + if use daemon; then + rmdir "${D}/var/run/${PN}" "${D}/var/run/" || die + + newinitd "${FILESDIR}"/knot-3.init knot + newconfd "${FILESDIR}"/knot.confd knot + + newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf + + use systemd && systemd_newunit distro/common/knot.service knot.service + fi + + find "${D}" -name '*.la' -delete || die + + keepdir /var/lib/knot +} + +pkg_postinst() { + use daemon && tmpfiles_process ${PN}.conf +}