Compare commits
13 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e93f63e14a | ||
|
|
52aa1c6b27 | ||
|
|
ddd930d752 | ||
|
|
5f2a9a0ff6 | ||
|
|
dd527b7f5e | ||
|
|
6c5a438f27 | ||
|
|
4beee8e3ef | ||
|
|
da48f736c7 | ||
|
|
14ad9e8872 | ||
|
|
c4c7522355 | ||
|
|
d143e24bd6 | ||
|
|
c7a05c603f | ||
|
|
bfa25fcbdf |
2 changed files with 157 additions and 11 deletions
164
knot.spec
164
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 <<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
|
||||
|
||||
|
|
|
|||
4
sources
4
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue