From: Aleš Mrázek Date: Tue, 19 May 2026 12:44:39 +0000 (+0200) Subject: pkg: rpm: package provides user and group X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc67b60922bd4fd28269b985f8a80544a986ccc3;p=thirdparty%2Fknot-resolver.git pkg: rpm: package provides user and group Return to static user/group creation. --- diff --git a/NEWS b/NEWS index ad375ebef..e8cdac3b1 100644 --- 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) diff --git a/distro/pkg/rpm/knot-resolver.spec b/distro/pkg/rpm/knot-resolver.spec index 0ee3e150e..1beb3aa3b 100644 --- a/distro/pkg/rpm/knot-resolver.spec +++ b/distro/pkg/rpm/knot-resolver.spec @@ -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