From: Aleš Mrázek Date: Tue, 12 May 2026 21:35:50 +0000 (+0200) Subject: distro/pkg/rpm: added systemd-sysusers X-Git-Tag: v5.7.7~7^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=24df5817c321c2765f0fecf1283f89948fb4afd1;p=thirdparty%2Fknot-resolver.git distro/pkg/rpm: added systemd-sysusers The recommended systemd's sysusers is used to add user and group. --- diff --git a/NEWS b/NEWS index fc7fb62e3..3195ec947 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,14 @@ Knot Resolver 5.7.7 (2026-0m-dd) ================================ -Improvements: -------------- +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) + This should also resolve the issue with user and group + configuration during installation (GH#130). + Bugfixes -------- diff --git a/distro/pkg/rpm/knot-resolver.spec b/distro/pkg/rpm/knot-resolver.spec index 022b2fcd9..c77b6b35e 100644 --- a/distro/pkg/rpm/knot-resolver.spec +++ b/distro/pkg/rpm/knot-resolver.spec @@ -59,6 +59,7 @@ BuildRequires: pkgconfig(luajit) >= 2.0 BuildRequires: jemalloc-devel Requires: systemd +Requires(pre): systemd Requires(post): systemd # dnstap module dependencies @@ -75,7 +76,6 @@ BuildRequires: lmdb-devel Requires: lua-basexx Requires: lua-psl Requires: lua-http -Requires(pre): shadow-utils %endif %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(lmdb) @@ -83,7 +83,6 @@ 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 @@ -95,10 +94,6 @@ BuildRequires: openssl-devel # openSUSE specific %define NINJA ninja BuildRequires: lmdb-devel -Requires(pre): shadow - -Provides: user(knot-resolver) -Provides: group(knot-resolver) %endif %if 0%{?DOCS} @@ -214,6 +209,9 @@ 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 @@ -223,9 +221,6 @@ 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 @@ -240,8 +235,7 @@ mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_pkgdocdir}/ %endif %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 +%sysusers_create %{_sysusersdir}/knot-resolver.conf %if "x%{?rhel}" == "x" # upgrade-4-to-5 @@ -314,6 +308,7 @@ 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