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
--------
BuildRequires: jemalloc-devel
Requires: systemd
+Requires(pre): systemd
Requires(post): systemd
# dnstap module dependencies
Requires: lua-basexx
Requires: lua-psl
Requires: lua-http
-Requires(pre): shadow-utils
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: pkgconfig(lmdb)
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
# openSUSE specific
%define NINJA ninja
BuildRequires: lmdb-devel
-Requires(pre): shadow
-
-Provides: user(knot-resolver)
-Provides: group(knot-resolver)
%endif
%if 0%{?DOCS}
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
# 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
%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
%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