]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
distro: add knot-resolver-manager rpm packaging
authorJakub Ružička <jakub.ruzicka@nic.cz>
Wed, 10 Nov 2021 11:32:20 +0000 (12:32 +0100)
committerVasek Sraier <git@vakabus.cz>
Sun, 10 Apr 2022 18:27:23 +0000 (20:27 +0200)
distro/pkg/rpm/knot-resolver.spec

index 1c6b9e838ab796df56adef1b1fa1703933033f3b..e4e5bfe78b6834cfd7c621c3e2f2a753221b2883 100644 (file)
@@ -48,6 +48,7 @@ BuildRequires:  pkgconfig(libsystemd)
 BuildRequires:  pkgconfig(libcap-ng)
 BuildRequires:  pkgconfig(libuv)
 BuildRequires:  pkgconfig(luajit) >= 2.0
+BuildRequires:  python3-devel
 
 Requires:       systemd
 Requires(post): systemd
@@ -158,6 +159,16 @@ queries. It can also serve DNS-over-HTTPS, but it is deprecated in favor of
 native C implementation, which doesn't require this package.
 %endif
 
+%package -n python3-knot-resolver-manager
+Summary:        Configuration tool for Knot Resolver
+Requires:       %{name} = %{version}-%{release}
+
+%description -n python3-knot-resolver-manager
+Knot Resolver Manager is a configuration tool for Knot Resolver. The Manager
+hides the complexity of running several independent resolver processes while
+ensuring zero-downtime reconfiguration with YAML/JSON declarative
+configuration and an optional HTTP API for dynamic changes.
+
 %prep
 %if 0%{GPG_CHECK}
 export GNUPGHOME=./gpg-keyring
@@ -194,6 +205,10 @@ CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" meson build_rpm \
 %{NINJA} -v -C build_rpm doc
 %endif
 
+pushd manager
+%py3_build
+popd
+
 %check
 meson test -C build_rpm
 
@@ -223,6 +238,13 @@ install -m 755 -d %{buildroot}/%{_pkgdocdir}
 mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_pkgdocdir}/
 %endif
 
+# install knot-resolver-manager
+pushd manager
+%py3_install
+install -m 644 -D etc/knot-resolver/config.yml %{buildroot}%{_sysconfdir}/knot-resolver/config.yml
+install -m 644 -D knot-resolver-manager.service %{buildroot}%{_unitdir}/knot-resolver-manager.service
+popd
+
 %pre
 getent group knot-resolver >/dev/null || groupadd -r knot-resolver
 getent passwd knot-resolver >/dev/null || useradd -r -g knot-resolver -d %{_sysconfdir}/knot-resolver -s /sbin/nologin -c "Knot Resolver" knot-resolver
@@ -376,6 +398,11 @@ fi
 %{_libdir}/knot-resolver/kres_modules/prometheus.lua
 %endif
 
+%files -n python3-knot-resolver-manager
+%{python3_sitelib}/knot_resolver_manager*
+%{_sysconfdir}/knot-resolver/config.yml
+%{_unitdir}/knot-resolver-manager.service
+
 %changelog
 * {{ now }} Jakub Ružička <jakub.ruzicka@nic.cz> - {{ version }}-{{ release }}
 - upstream package