]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
pkg: rpm: package provides user and group docs-pkg-rpm-prov-wrcj0z/deployments/9130 1837/head
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 19 May 2026 12:44:39 +0000 (14:44 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Wed, 20 May 2026 13:16:28 +0000 (15:16 +0200)
Return to static user/group creation.

NEWS
distro/pkg/rpm/knot-resolver.spec

diff --git a/NEWS b/NEWS
index ad375ebefef7dc216c8fb75826b5ad561418d215..e8cdac3b1f2687f53f305334cda3b84b25900e00 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,8 @@ Knot Resolver 6.4.0 (2026-05-27)
 
 Improvements
 ------------
-- packaging: rpm: added systemd's sysusers support (!1830)
+- packaging: rpm: require python3-setuptools (!1830, #952)
+- packaging: rpm: provide user/group (!1837)
 - controller: improved error handling when sending commands to workers (!1834)
 
 
index 0ee3e150e18da91ea3bd650037c246ccbc1b369a..1beb3aa3b0d4bc8dc9cd191d529cf1bcca857d53 100644 (file)
@@ -26,6 +26,8 @@ BuildRequires:  gnupg2
 %endif
 
 Provides:       knot-resolver6 = %{version}-%{release}
+Provides:       user(knot-resolver)
+Provides:       group(knot-resolver)
 
 # LuaJIT only on these arches
 ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
@@ -48,7 +50,6 @@ BuildRequires:  python3-devel
 BuildRequires:  python3-setuptools
 
 Requires:       systemd
-Requires(pre):  systemd
 Requires(post): systemd
 
 # manager dependencies
@@ -79,6 +80,7 @@ Requires:       lua5.1-basexx
 Requires:       lua5.1-cqueues
 Requires:       lua5.1-http
 Recommends:     lua5.1-psl
+Requires(pre):  shadow-utils
 %endif
 
 # we do not build HTTP module on SuSE so the build requires is not needed
@@ -89,6 +91,7 @@ BuildRequires:  openssl-devel
 %if 0%{?suse_version}
 %define NINJA ninja
 BuildRequires:  lmdb-devel
+Requires(pre):  shadow
 %endif
 
 %description
@@ -172,9 +175,6 @@ CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" meson build_rpm \
 %py3_build
 
 %install
-# install sysusers
-install -m 644 -D build_rpm/systemd/knot-resolver.sysusers %{_sysusersdir}/knot-resolver.conf
-
 DESTDIR="${RPM_BUILD_ROOT}" %{NINJA} -v -C build_rpm install
 
 # add knot-resolver.service to multi-user.target.wants to support enabling kresd services
@@ -184,6 +184,9 @@ ln -s ../knot-resolver.service %{buildroot}%{_unitdir}/multi-user.target.wants/k
 # remove modules with missing dependencies
 rm %{buildroot}%{_libdir}/knot-resolver/kres_modules/etcd.lua
 
+# remove unused sysusers
+rm %{buildroot}%{_prefix}/lib/sysusers.d/knot-resolver.conf
+
 %if 0%{?suse_version}
 rm %{buildroot}%{_libdir}/knot-resolver/kres_modules/experimental_dot_auth.lua
 rm -r %{buildroot}%{_libdir}/knot-resolver/kres_modules/http
@@ -203,7 +206,8 @@ mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_pkgdocdir}/
 install -m 644 -D etc/config/config.yaml %{buildroot}%{_sysconfdir}/knot-resolver/config.yaml
 
 %pre
-%sysusers_create %{_sysusersdir}/knot-resolver.conf
+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
 
 %post
 # systemd_post macro is not needed for anything (calls systemctl preset)
@@ -232,7 +236,6 @@ install -m 644 -D etc/config/config.yaml %{buildroot}%{_sysconfdir}/knot-resolve
 %config(noreplace) %{_sysconfdir}/knot-resolver/config.yaml
 %config(noreplace) %{_sysconfdir}/knot-resolver/root.hints
 %{_sysconfdir}/knot-resolver/icann-ca.pem
-%{_sysusersdir}/knot-resolver.conf
 %attr(750,knot-resolver,knot-resolver) %dir %{_sharedstatedir}/knot-resolver
 %attr(640,knot-resolver,knot-resolver) %{_sharedstatedir}/knot-resolver/root.keys
 %dir %{_unitdir}/multi-user.target.wants