diff --git a/knot.spec b/knot.spec index a007fea..4b79d07 100644 --- a/knot.spec +++ b/knot.spec @@ -2,12 +2,19 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}} %define GPG_CHECK 1 +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9 +# use modern %pyproject_* macros on distros which support them +%define PYPROJECT 1 +%else +# use older %py3_* macros on older/other distros +%define PYPROJECT 0 +%endif %define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/') %define repodir %{_builddir}/%{name}-%{version} Summary: High-performance authoritative DNS server Name: knot -Version: 3.4.3 +Version: 3.5.2 Release: 1%{?dist} License: GPL-3.0-or-later URL: https://www.knot-dns.cz @@ -39,6 +46,10 @@ BuildRequires: pkgconfig(libmnl) BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(hiredis) +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: softhsm +%endif # dnstap dependencies BuildRequires: pkgconfig(libfstrm) BuildRequires: pkgconfig(libprotobuf-c) @@ -46,6 +57,15 @@ BuildRequires: pkgconfig(libprotobuf-c) BuildRequires: pkgconfig(libmaxminddb) # XDP dependencies BuildRequires: pkgconfig(libbpf) +# Python modules (python3-libknot, knot-exporter) dependencies +BuildRequires: python3-devel +%if 0%{?PYPROJECT} +BuildRequires: pyproject-rpm-macros +BuildRequires: python3-pip +BuildRequires: python3-hatchling +%else +BuildRequires: python3-setuptools +%endif # Distro-dependent dependencies %if 0%{?suse_version} @@ -75,6 +95,8 @@ Requires(postun): systemd Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Recommends: %{name}-keymgr + %if 0%{?suse_version} Provides: group(knot) %endif @@ -84,8 +106,8 @@ Knot DNS is a high-performance authoritative DNS server implementation. %package libs Summary: Libraries used by the Knot DNS server and client applications -# Knot DNS 3.4+ isn't compatible with earlier knot-resolver -Conflicts: knot-resolver < 5.7.4-2 +# Knot DNS 3.5+ isn't compatible with earlier knot-resolver +Conflicts: knot-resolver < 5.7.6-3 %description libs The package contains shared libraries used by the Knot DNS server and @@ -115,6 +137,13 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description dnssecutils The package contains DNSSEC tools shipped with the Knot DNS server. +%package keymgr +Summary: Knot DNS key management utility +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description keymgr +The package contains keymgr program for Knot DNS key management. + %package module-dnstap Summary: dnstap module for Knot DNS Requires: %{name} = %{version}-%{release} @@ -129,6 +158,30 @@ Requires: %{name} = %{version}-%{release} %description module-geoip The package contains geoip Knot DNS module for geography-based responses. +%package exporter +Summary: Prometheus exporter for Knot DNS +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} + +%description exporter +The package provides Python Prometheus exporter for Knot DNS. + +%package -n python3-libknot +Summary: Python bindings for libknot +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} +%{?python_provide:%python_provide python3-libknot} + +%description -n python3-libknot +The package provides Python bindings for the libknot shared library. + +%package -n valkey-module-knot +Summary: Valkey module for Knot DNS. +Requires: %{name}-libs = %{version}-%{release} + +%description -n valkey-module-knot +The package provides Valkey module for Knot DNS. + %package doc Summary: Documentation for the Knot DNS server BuildArch: noarch @@ -148,6 +201,11 @@ gpg2 --verify %{SOURCE1} %{SOURCE0} %endif %autosetup -p1 +# Create a sysusers.d config file +cat >knot.sysusers.conf </dev/null || groupadd -r knot -getent passwd knot >/dev/null || \ - useradd -r -g knot -d %{_sharedstatedir}/knot -s /sbin/nologin \ - -c "Knot DNS server" knot %if 0%{?suse_version} %service_add_pre knot.service %endif @@ -260,7 +352,6 @@ getent passwd knot >/dev/null || \ %{_unitdir}/knot.service %{_sbindir}/kcatalogprint %{_sbindir}/kjournalprint -%{_sbindir}/keymgr %{_sbindir}/knotc %{_sbindir}/knotd %if 0%{?suse_version} @@ -269,10 +360,10 @@ getent passwd knot >/dev/null || \ %{_mandir}/man5/knot.conf.* %{_mandir}/man8/kcatalogprint.* %{_mandir}/man8/kjournalprint.* -%{_mandir}/man8/keymgr.* %{_mandir}/man8/knotc.* %{_mandir}/man8/knotd.* %ghost %attr(770,root,knot) %dir %{_rundir}/knot +%{_sysusersdir}/knot.conf %files utils %{_bindir}/kdig @@ -292,12 +383,28 @@ getent passwd knot >/dev/null || \ %{_mandir}/man1/kzonecheck.* %{_mandir}/man1/kzonesign.* +%files keymgr +%{_sbindir}/keymgr +%{_mandir}/man8/keymgr.* + %files module-dnstap %{_libdir}/knot/modules-*/dnstap.so %files module-geoip %{_libdir}/knot/modules-*/geoip.so +%files exporter +%{_bindir}/knot-exporter +%{python3_sitelib}/knot_exporter +%{python3_sitelib}/knot_exporter-*-info + +%files -n python3-libknot +%{python3_sitelib}/libknot +%{python3_sitelib}/libknot-*-info + +%files -n valkey-module-knot +%attr(0755, root, root) %{_libdir}/valkey/modules/knot.so + %files libs %license COPYING %doc NEWS @@ -324,6 +431,45 @@ getent passwd knot >/dev/null || \ %doc %{_pkgdocdir}/html %changelog +* Fri Dec 19 2025 Jakub Ružička - 3.5.2-1 +- Update to 3.5.2 + +* Thu Oct 16 2025 Jakub Ružička - 3.5.1-1 +- Update to 3.5.1 +- Add new valkey-module-knot package +- Split keymgr into knot-keymgr package + +* Fri Sep 19 2025 Python Maint - 3.4.8-3 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.4.8-2 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 30 2025 Jakub Ružička - 3.4.8-1 +- Update to 3.4.8 + +* Thu Jul 24 2025 Fedora Release Engineering - 3.4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jun 12 2025 Jakub Ružička - 3.4.7-1 +- Update to 3.4.7 +- Add new knot-exporter and python3-libknot packages + +* Thu Apr 10 2025 Jakub Ružička - 3.4.6-1 +- Update to 3.4.6 + +* Wed Mar 19 2025 Jakub Ružička - 3.4.5-1 +- Update to 3.4.5 + +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 3.4.4-2 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Thu Jan 23 2025 Jakub Ružička - 3.4.4-1 +- Update to 3.4.4 + +* Fri Jan 17 2025 Fedora Release Engineering - 3.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Tue Dec 10 2024 Jakub Ružička - 3.4.3-1 - Update to 3.4.3 diff --git a/sources b/sources index 8943dbb..b941cb1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-3.4.3.tar.xz) = c05a214a9e5564d09257aff44c0f42e9d084d47536197c95dff7aa125a8b53ed99e26c90affaa6833779778cd8d37af9cc473f108ab6acf7230c476b5858c03f -SHA512 (knot-3.4.3.tar.xz.asc) = ee8618401628a2979475fb9cf6c408d454841d5aa35fd801fdb5c24f48efc000d39160b995490341de4c0db5942deedab8991436304a9d4900560274ea526b48 +SHA512 (knot-3.5.2.tar.xz) = 4dd8e42088f792459859da807427024ded926c2a8fb5b9fd4596b631a184269e3d84f0cd4be9192f2546977c598c418f8d44cabccbc393f9f7cf2f0dd5adc595 +SHA512 (knot-3.5.2.tar.xz.asc) = 5f6ee7fedc0d5b904572d2f6d47858065cdc4efa7217b4e9dcbb38ae63a1533646ba2b042bb0c1fe533a3caf6ba41c81010616393d2a0adcea77712608931b38