]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
pkg: rpm: package provides user and group docs-develop-5-pk-i6xii7/deployments/9136
authorAleš Mrázek <ales.mrazek@nic.cz>
Thu, 21 May 2026 11:29:23 +0000 (13:29 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Thu, 21 May 2026 11:29:23 +0000 (13:29 +0200)
Return to static user/group creation.

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

diff --git a/NEWS b/NEWS
index 7c2981558bc74b0df2bcd1d4a7ccdf08653e6ff8..48cbe974a223ab8fa03a71a957b91cf076b5202f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,7 +5,8 @@ Improvements
 ------------
 - support cmocka 2.0.0
 - avoid AD=1 in reply if ANSWER+AUTHORITY are empty (#914)
-- packaging: rpm: added systemd's sysusers support (!1830)  
+- packaging: rpm: require python3-setuptools (!1831)
+- packaging: rpm: provide user/group (!1838)  
   This should also resolve the issue with user and group  
   configuration during installation (GH#130).
 - make DoH cache-control header respect our cache's TTL limits (!1832)
index e2b00c2d7c2e546c3fd65bcd825c378d2d090a23..a5e869519c5ad477c4fa11420f18eef1d8d5c0d8 100644 (file)
@@ -36,6 +36,9 @@ Source100:      kresd-keyblock.asc
 BuildRequires:  gnupg2
 %endif
 
+Provides:       user(knot-resolver)
+Provides:       group(knot-resolver)
+
 BuildRequires:  gcc
 BuildRequires:  gcc-c++
 BuildRequires:  meson
@@ -53,7 +56,6 @@ BuildRequires:  pkgconfig(luajit) >= 2.0
 BuildRequires:  jemalloc-devel
 
 Requires:       systemd
-Requires(pre):  systemd
 Requires(post): systemd
 
 # dnstap module dependencies
@@ -70,6 +72,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
@@ -81,6 +84,7 @@ BuildRequires:  openssl-devel
 # openSUSE specific
 %define NINJA ninja
 BuildRequires:  lmdb-devel
+Requires(pre):  shadow
 %endif
 
 %if 0%{?DOCS}
@@ -196,9 +200,6 @@ CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" meson build_rpm \
 meson test -C build_rpm
 
 %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 kresd.target to multi-user.target.wants to support enabling kresd services
@@ -208,6 +209,9 @@ ln -s ../kresd.target %{buildroot}%{_unitdir}/multi-user.target.wants/kresd.targ
 # 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
@@ -222,7 +226,8 @@ mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_pkgdocdir}/
 %endif
 
 %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
 
 %if "x%{?rhel}" == "x"
 # upgrade-4-to-5
@@ -295,7 +300,6 @@ fi
 %config(noreplace) %{_sysconfdir}/knot-resolver/kresd.conf
 %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
 %{_unitdir}/kresd@.service