Compare commits

...
Sign in to create a new pull request.

13 commits

Author SHA1 Message Date
Jakub Ružička
e93f63e14a Release 3.5.2-1 2025-12-19 15:09:23 +01:00
Jakub Ružička
52aa1c6b27 Release 3.5.1-1 2025-10-16 18:27:36 +02:00
Python Maint
ddd930d752 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:24:39 +02:00
Python Maint
5f2a9a0ff6 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:54:15 +02:00
Jakub Ružička
dd527b7f5e Release 3.4.8-1 2025-07-30 18:51:10 +02:00
Fedora Release Engineering
6c5a438f27 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 18:52:17 +00:00
Jakub Ružička
4beee8e3ef Remove %{_isa} from new noarch packages Requires 2025-06-12 15:39:53 +02:00
Jakub Ružička
da48f736c7 Release 3.4.7-1 2025-06-04 12:17:47 +02:00
Jakub Ružička
14ad9e8872 Release 3.4.6-1 2025-04-10 14:56:53 +02:00
Jakub Ružička
c4c7522355 Release 3.4.5-1 2025-03-19 15:57:47 +01:00
Zbigniew Jędrzejewski-Szmek
d143e24bd6 Add sysusers.d config file to allow rpm to create users/groups automatically 2025-01-23 19:41:30 +01:00
Jakub Ružička
c7a05c603f Release 3.4.4-1 2025-01-23 12:33:32 +01:00
Fedora Release Engineering
bfa25fcbdf Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 09:38:33 +00:00
2 changed files with 157 additions and 11 deletions

164
knot.spec
View file

@ -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 <<EOF
u knot - 'Knot DNS server' %{_sharedstatedir}/knot -
EOF
%build
# disable debug code (causes unused warnings)
CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
@ -164,9 +222,11 @@ CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
--libexecdir=/usr/lib/knot \
--with-rundir=/run/knot \
--with-moduledir=%{_libdir}/knot/modules-%{BASE_VERSION} \
--with-redisdir=%{_libdir}/valkey/modules \
--with-storage=/var/lib/knot \
%{?configure_db_sizes} \
%{?configure_quic} \
--enable-redis=auto \
--disable-static \
--enable-dnstap=yes \
--with-module-dnstap=shared \
@ -174,9 +234,43 @@ CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
make %{?_smp_mflags}
make html
# build python3-libknot
pushd python/libknot
%if %{PYPROJECT}
%pyproject_wheel
%else
%py3_build
%endif
popd
# build knot-exporter
pushd python/knot_exporter
%if %{PYPROJECT}
%pyproject_wheel
%else
%py3_build
%endif
popd
%install
make install DESTDIR=%{buildroot}
# install python3-libknot
pushd python/libknot
%if %{PYPROJECT}
%pyproject_install
%else
%py3_install
%endif
popd
# install knot-exporter
pushd python/knot_exporter
%if %{PYPROJECT}
%pyproject_install
%else
%py3_install
%endif
popd
# install documentation
install -d -m 0755 %{buildroot}%{_pkgdocdir}/samples
install -p -m 0644 -t %{buildroot}%{_pkgdocdir}/samples samples/*.zone*
@ -205,14 +299,12 @@ install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/knot
# remove libarchive files
find %{buildroot} -type f -name "*.la" -delete -print
install -m0644 -D knot.sysusers.conf %{buildroot}%{_sysusersdir}/knot.conf
%check
V=1 make check
%pre
getent group knot >/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 <jakub.ruzicka@nic.cz> - 3.5.2-1
- Update to 3.5.2
* Thu Oct 16 2025 Jakub Ružička <jakub.ruzicka@nic.cz> - 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 <python-maint@redhat.com> - 3.4.8-3
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 3.4.8-2
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 30 2025 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.4.8-1
- Update to 3.4.8
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jun 12 2025 Jakub Ružička <jakub.ruzicka@nic.cz> - 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 <jakub.ruzicka@nic.cz> - 3.4.6-1
- Update to 3.4.6
* Wed Mar 19 2025 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.4.5-1
- Update to 3.4.5
* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <jakub.ruzicka@nic.cz> - 3.4.4-1
- Update to 3.4.4
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Dec 10 2024 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.4.3-1
- Update to 3.4.3

View file

@ -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