diff --git abrt.spec abrt.spec
index 3efaa981e4..d003e87664 100644
--- abrt.spec
+++ abrt.spec
@@ -57,7 +57,7 @@
 Summary: Automatic bug detection and reporting tool
 Name: abrt
 Version: 2.17.6
-Release: 4%{?dist}
+Release: 5%{?dist}
 License: GPL-2.0-or-later
 URL: https://abrt.readthedocs.org/
 Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
@@ -469,6 +469,13 @@ to the shell
 %global __scm_apply_git(qp:m:) %{__git} am --exclude doc/design --exclude doc/project/abrt.tex
 %autosetup -S git -p 0
 
+# Create a sysusers.d config file
+#uidgid pair 173:173 reserved in setup rhbz#670231
+%global abrt_gid_uid 173
+cat >abrt.sysusers.conf <<EOF
+u abrt %{abrt_gid_uid} - /etc/abrt -
+EOF
+
 %build
 ./autogen.sh
 
@@ -538,6 +545,8 @@ rm -vf %{buildroot}%{python3_sitelib}/__pycache__/abrt_exception_handler3_contai
 # After everything is installed, remove info dir
 rm -f %{buildroot}%{_infodir}/dir
 
+install -m0644 -D abrt.sysusers.conf %{buildroot}%{_sysusersdir}/abrt.conf
+
 %check
 make check|| {
     # find and print the logs of failed test
@@ -547,13 +556,6 @@ make check|| {
     exit 1
 }
 
-%pre
-#uidgid pair 173:173 reserved in setup rhbz#670231
-%define abrt_gid_uid 173
-getent group abrt >/dev/null || groupadd -f -g %{abrt_gid_uid} --system abrt
-getent passwd abrt >/dev/null || useradd --system -g abrt -u %{abrt_gid_uid} -d /etc/abrt -s /sbin/nologin abrt
-exit 0
-
 %post
 # $1 == 1 if install; 2 if upgrade
 %systemd_post abrtd.service
@@ -753,6 +755,7 @@ killall abrt-dbus >/dev/null 2>&1 || :
 %{_mandir}/man5/abrt-action-save-package-data.conf.5*
 %{_mandir}/man5/gpg_keys.conf.5*
 %{_mandir}/man8/abrtd.8*
+%{_sysusersdir}/abrt.conf
 
 %files libs
 %{_libdir}/libabrt.so.*
@@ -986,6 +989,9 @@ killall abrt-dbus >/dev/null 2>&1 || :
 %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.17.6-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.17.6-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git avahi.spec avahi.spec
index 2a3f7af778..5041c941a8 100644
--- avahi.spec
+++ avahi.spec
@@ -60,7 +60,7 @@
 
 Name:             avahi
 Version:          0.9%{?rc:~%{rc}}
-Release:          2%{?dist}
+Release:          3%{?dist}
 Summary:          Local network service discovery
 License:          LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
 URL:              http://avahi.org
@@ -69,7 +69,6 @@ Requires:         expat
 Requires:         libdaemon >= 0.11
 # For /usr/bin/dbus-send
 Requires(post):   dbus
-Requires(pre):    shadow-utils
 Requires(pre):    coreutils
 Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
 BuildRequires:    automake
@@ -397,7 +396,6 @@ libraries.
 
 %package autoipd
 Summary:          Link-local IPv4 address automatic configuration daemon (IPv4LL)
-Requires(pre):    shadow-utils
 Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
 
 %description autoipd
@@ -444,6 +442,12 @@ Requires:         %{name}-libs%{?_isa} = %{version}-%{release}
 
 rm -fv docs/INSTALL
 
+# Create a sysusers.d config file
+cat >avahi.sysusers.conf <<EOF
+u avahi 70 'Avahi mDNS/DNS-SD Stack' %{_localstatedir}/run/avahi-daemon -
+u avahi - 'Avahi mDNS/DNS-SD Stack' %{_localstatedir}/run/avahi-daemon -
+EOF
+
 
 %build
 ## why autogen?
@@ -555,6 +559,8 @@ rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-dnsconfd
 
 %find_lang %{name}
 
+install -m0644 -D avahi.sysusers.conf %{buildroot}%{_sysusersdir}/avahi.conf
+
 
 %check
 %if %{with check}
@@ -570,17 +576,6 @@ rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-dnsconfd
 %endif
 
 
-%pre
-getent group avahi >/dev/null || groupadd -f -g 70 -r avahi
-if ! getent passwd avahi > /dev/null ; then
-  if ! getent passwd 70 > /dev/null ; then
-    useradd -r -l -u 70 -g avahi -d %{_localstatedir}/run/avahi-daemon -s /sbin/nologin -c "Avahi mDNS/DNS-SD Stack" avahi
-  else
-    useradd -r -l -g avahi -d %{_localstatedir}/run/avahi-daemon -s /sbin/nologin -c "Avahi mDNS/DNS-SD Stack" avahi
-  fi
-fi
-exit 0
-
 %post
 %{?ldconfig}
 /usr/bin/dbus-send --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig >/dev/null 2>&1 || :
@@ -654,6 +649,7 @@ exit 0
 %{_datadir}/dbus-1/interfaces/*.xml
 %{_datadir}/dbus-1/system-services/org.freedesktop.Avahi.service
 %{_libdir}/libavahi-core.so.*
+%{_sysusersdir}/avahi.conf
 
 %files autoipd
 %{_sbindir}/avahi-autoipd
@@ -855,6 +851,9 @@ exit 0
 
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9~rc2-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Michal Sekletar <msekleta@redhat.com> - 0.9~rc2-2
 - Fix previous changelog entry
 
diff --git bind9-next.spec bind9-next.spec
index b840b44cc6..ffb54beb14 100644
--- bind9-next.spec
+++ bind9-next.spec
@@ -96,7 +96,6 @@ Patch3: bind-9.21-unittest-isc_rwlock-s390x.patch
 
 %{?systemd_ordering}
 Requires:       coreutils
-Requires(pre):  shadow-utils
 Requires(post): shadow-utils
 Requires(post): glibc-common
 Requires(post): grep
@@ -314,6 +313,12 @@ done
 
 :;
 
+# Create a sysusers.d config file
+cat >bind9-next.sysusers.conf <<EOF
+g named %{bind_gid}
+u named %{bind_uid} 'Named' /var/named -
+EOF
+
 
 %build
 ## We use out of tree configure/build for export libs
@@ -608,12 +613,7 @@ install -m 644 %{SOURCE35} ${RPM_BUILD_ROOT}%{_tmpfilesdir}/named.conf
 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d
 install -m 644 %{SOURCE43} ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d/named
 
-%pre
-if [ "$1" -eq 1 ]; then
-  /usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :;
-  /usr/sbin/useradd  -u %{bind_uid} -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;
-fi;
-:;
+install -m0644 -D bind9-next.sysusers.conf %{buildroot}%{_sysusersdir}/bind9-next.conf
 
 %post
 %?ldconfig
@@ -711,6 +711,7 @@ fi;
 %config(noreplace) %attr(0644,root,named) %{_sysconfdir}/named.root.key
 %config(noreplace) %{_sysconfdir}/logrotate.d/named
 %{_tmpfilesdir}/named.conf
+%{_sysusersdir}/bind9-next.conf
 %{_sysconfdir}/rwtab.d/named
 %{_unitdir}/named.service
 %{_unitdir}/named-setup-rndc.service
diff --git bind.spec bind.spec
index a09cf38e42..babe34e15e 100644
--- bind.spec
+++ bind.spec
@@ -88,7 +88,7 @@ License:  MPL-2.0 AND ISC AND MIT AND BSD-3-Clause AND BSD-2-Clause
 # Before rebasing bind, ensure bind-dyndb-ldap is ready to be rebuild and use side-tag with it.
 # Updating just bind will cause freeipa-dns-server package to be uninstallable.
 Version:  9.18.32
-Release:  6%{?dist}
+Release:  7%{?dist}
 Epoch:    32
 Url:      https://www.isc.org/downloads/bind/
 #
@@ -137,7 +137,6 @@ Patch30: bind-9.20-nsupdate-tls-test.patch
 
 %{?systemd_ordering}
 Requires:       coreutils
-Requires(pre):  shadow-utils
 Requires(post): shadow-utils
 Requires(post): glibc-common
 Requires(post): grep
@@ -381,6 +380,12 @@ done
 
 :;
 
+# Create a sysusers.d config file
+cat >named.sysusers.conf <<EOF
+g named %{bind_gid}
+u named %{bind_uid} 'Named' /var/named -
+EOF
+
 
 %build
 ## We use out of tree configure/build for export libs
@@ -704,12 +709,7 @@ install -m 644 %{SOURCE35} ${RPM_BUILD_ROOT}%{_tmpfilesdir}/named.conf
 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d
 install -m 644 %{SOURCE43} ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d/named
 
-%pre
-if [ "$1" -eq 1 ]; then
-  /usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :;
-  /usr/sbin/useradd  -u %{bind_uid} -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;
-fi;
-:;
+install -m0644 -D named.sysusers.conf %{buildroot}%{_sysusersdir}/named.conf
 
 %post
 %?ldconfig
@@ -803,6 +803,7 @@ fi;
 %config(noreplace) %attr(0644,root,named) %{_sysconfdir}/named.root.key
 %config(noreplace) %{_sysconfdir}/logrotate.d/named
 %{_tmpfilesdir}/named.conf
+%{_sysusersdir}/named.conf
 %{_sysconfdir}/rwtab.d/named
 %{_unitdir}/named.service
 %{_unitdir}/named-setup-rndc.service
@@ -994,6 +995,9 @@ fi;
 %endif
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 32:9.18.32-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Adam Williamson <awilliam@redhat.com> - 32:9.18.32-6
 - Rebuild again on mass rebuild tag so -4 doesn't override -5
 
diff --git bsd-games.spec bsd-games.spec
index 2a5f56aace..8f60146ef6 100644
--- bsd-games.spec
+++ bsd-games.spec
@@ -6,7 +6,7 @@
 Summary: Collection of text-based games
 Name: bsd-games
 Version: 2.17
-Release: 80%{?dist}
+Release: 81%{?dist}
 # Automatically converted from old format: BSD and BSD with advertising - review is highly recommended.
 License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising
 URL: ftp://metalab.unc.edu/pub/Linux/games/
@@ -57,7 +57,6 @@ BuildRequires: libfl-static
 BuildRequires: flex-devel
 %endif
 BuildRequires: bison
-Requires(pre): shadow-utils
 
 %description
 Bsd-games includes adventure, arithmetic, atc, backgammon, battlestar,
@@ -99,6 +98,13 @@ popd
 %patch -P26 -p1 -b .atc
 %patch -P27 -p1 -b .fread_chk
 
+# Create a sysusers.d config file
+cat >bsd-games.sysusers.conf <<EOF
+g gamehack -
+g gamesail -
+g gamephant -
+EOF
+
 %build
 # We include a templatized configuration settings file to set
 # reasonable defaults, and to tell the configure script not to
@@ -153,11 +159,7 @@ install -p -m 0644 acronyms* $RPM_BUILD_ROOT%{_datadir}/misc/
 mv $RPM_BUILD_ROOT%{_datadir}/misc/acronyms-o.real $RPM_BUILD_ROOT%{_datadir}/misc/acronyms-o
 popd
 
-%pre
-for group in gamehack gamesail gamephant; do
-    getent group $group >/dev/null || groupadd -r $group
-done
-exit 0
+install -m0644 -D bsd-games.sysusers.conf %{buildroot}%{_sysusersdir}/bsd-games.conf
 
 %files
 %{_bindir}/adventure
@@ -224,8 +226,12 @@ exit 0
 %config(noreplace) %attr(664,root,games) %{_var}/games/snakerawscores
 %config(noreplace) %attr(664,root,games) %{_var}/games/bsd-fbg.scores
 %doc AUTHORS COPYING ChangeLog ChangeLog.0 THANKS YEAR2000 README.hunt trek/USD.doc/trek.me
+%{_sysusersdir}/bsd-games.conf
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.17-81
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.17-80
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git bzflag.spec bzflag.spec
index 4bb7245ec4..d965996113 100644
--- bzflag.spec
+++ bzflag.spec
@@ -1,7 +1,7 @@
 Summary: 3D multi-player tank battle game
 Name: bzflag
 Version: 2.4.26
-Release: 7%{?dist}
+Release: 8%{?dist}
 # Automatically converted from old format: LGPLv2 - review is highly recommended.
 License: LicenseRef-Callaway-LGPLv2
 URL: http://bzflag.org
@@ -27,7 +27,6 @@ BuildRequires: zlib-devel
 BuildRequires: sed
 BuildRequires: systemd
 Requires: opengl-games-utils
-Requires(pre): shadow-utils
 
 %description
 BZFlag is a 3D multi-player tank battle game  that  allows users to play
@@ -49,6 +48,11 @@ This package contains sample world maps for bzflag.
 %prep
 %setup -q -n %{name}-%{version}
 
+# Create a sysusers.d config file
+cat >bzflag.sysusers.conf <<EOF
+u bzflag - 'BZFlag game server' %{_datadir}/bzflag -
+EOF
+
 %build
 # Use PIE because bzflag/bzfs are networked server applications
 CFLAGS='-fPIC %{optflags} -fno-strict-aliasing' \
@@ -112,19 +116,7 @@ EOF
 
 install -Dp -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/bzflag
 install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/bzflag.service
-
-%pre
-getent group bzflag >/dev/null || groupadd -r bzflag
-if getent passwd bzflag >/dev/null; then
-    # provide a more meaningful GECOS field than the one introduced in 2.4.6-3
-    if [ "x`getent passwd bzflag | cut -d: -f5`" = 'xUseful comment about the purpose of this account' ]; then
-        usermod -c 'BZFlag game server' bzflag
-    fi
-else
-    useradd -r -g bzflag -d %{_datadir}/bzflag -s /sbin/nologin \
-    -c 'BZFlag game server' bzflag
-fi
-exit 0
+install -D -m0644 bzflag.sysusers.conf %{buildroot}%{_sysusersdir}/bzflag.conf
 
 %post
 %systemd_post bzflag.service
@@ -153,11 +145,15 @@ exit 0
 %{_mandir}/man*/*
 %{_sysconfdir}/sysconfig/bzflag
 %{_unitdir}/bzflag.service
+%{_sysusersdir}/bzflag.conf
 
 %files maps-sample
 %{_datadir}/bzflag/maps/*
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4.26-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.26-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git ceph.spec ceph.spec
index 986684a30e..b0ec2e7e4d 100644
--- ceph.spec
+++ ceph.spec
@@ -185,7 +185,7 @@
 #################################################################################
 Name:		ceph
 Version:	19.2.0
-Release:	9%{?dist}
+Release:	10%{?dist}
 %if 0%{?fedora} || 0%{?rhel}
 Epoch:		2
 %endif
@@ -1390,6 +1390,11 @@ This package provides a Ceph hardware monitoring agent.
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >ceph.sysusers.conf <<EOF
+u cephadm - 'cephadm user for mgr/cephadm' %{_sharedstatedir}/cephadm /bin/bash
+EOF
+
 %build
 
 %if 0%{with cephfs_java}
@@ -1587,6 +1592,8 @@ install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING
 install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf
 install -m 0755 -D src/tools/rbd_nbd/rbd-nbd_quiesce %{buildroot}%{_libexecdir}/rbd-nbd/rbd-nbd_quiesce
 
+install -m 0644 -D ceph.sysusers.conf %{buildroot}%{_sysusersdir}/ceph.conf
+
 mkdir -p %{buildroot}%{_sharedstatedir}/cephadm
 chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm
 mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh
@@ -1735,22 +1742,13 @@ fi
 %{?ldconfig}
 %systemd_postun ceph.target
 
-%pre -n cephadm
-getent group cephadm >/dev/null || groupadd -r cephadm
-getent passwd cephadm >/dev/null || useradd -r -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm
-exit 0
-
-%if ! 0%{?suse_version}
-%postun -n cephadm
-[ $1 -ne 0 ] || userdel cephadm || :
-%endif
-
 %files -n cephadm
 %{_exec_prefix}/sbin/cephadm
 %{_mandir}/man8/cephadm.8*
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
 %config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
+%{_sysusersdir}/ceph.conf
 
 %files common
 %dir %{_docdir}/ceph
@@ -2720,6 +2718,9 @@ exit 0
 %{python3_sitelib}/ceph_node_proxy-*
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2:19.2.0-10
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:19.2.0-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git clamav.spec clamav.spec
index 5dcbd9d438..be593b7aac 100644
--- clamav.spec
+++ clamav.spec
@@ -26,7 +26,7 @@
 Summary:    End-user tools for the Clam Antivirus scanner
 Name:       clamav
 Version:    1.4.1
-Release:    2%{?dist}
+Release:    3%{?dist}
 License:    %{?with_unrar:proprietary}%{!?with_unrar:GPL-2.0-only}
 URL:        https://www.clamav.net/
 %if %{with unrar}
@@ -161,7 +161,6 @@ Summary:    Filesystem structure for clamav
 # Prevent version mix
 Conflicts:  %{name} < %{version}-%{release}
 Conflicts:  %{name} > %{version}-%{release}
-Requires(pre):  shadow-utils
 BuildArch:  noarch
 
 %description filesystem
@@ -295,7 +294,6 @@ Requires:   data(clamav)
 Requires:   clamav-filesystem = %{version}-%{release}
 Requires:   clamav-lib        = %{version}-%{release}
 Requires:   coreutils
-Requires(pre):  shadow-utils
 # This is still used by clamsmtp and exim-clamav
 Provides: clamav-server = %{version}-%{release}
 Provides: clamav-scanner-systemd = %{version}-%{release}
@@ -316,7 +314,6 @@ Summary:    Milter module for the Clam Antivirus scanner
 #Requires: clamd = %%{version}-%%{release}
 #Requires: /usr/sbin/sendmail
 Requires:   clamav-filesystem = %{version}-%{release}
-Requires(pre):  shadow-utils
 Provides: clamav-milter-systemd = %{version}-%{release}
 Obsoletes: clamav-milter-systemd < %{version}-%{release}
 
@@ -365,6 +362,20 @@ cd libclamav_rust
 %cargo_generate_buildrequires
 %endif
 
+# Create sysusers.d config files
+cat >clamav.sysusers.conf <<EOF
+g virusgroup -
+u clamupdate - 'Clamav database update user' %{homedir} -
+m clamupdate virusgroup
+EOF
+cat >clamd.sysusers.conf <<EOF
+u clamscan - 'Clamav scanner user' / -
+m clamscan virusgroup
+EOF
+cat >clamav-milter.sysusers.conf <<EOF
+u clamilt - 'Clamav milter user' %{_rundir}/clamav-milter -
+m clamilt virusgroup
+EOF
 
 %build
 # add -Wl,--as-needed if not exist
@@ -483,6 +494,9 @@ install -m 0644 %SOURCE1 %{buildroot}%{_includedir}/clamav-types.h
 # TODO: Evaluate using upstream's unit with clamav-daemon.socket
 rm %{buildroot}%{_unitdir}/clamav-daemon.*
 
+install -m0644 -D clamav.sysusers.conf %{buildroot}%{_sysusersdir}/clamav.conf
+install -m0644 -D clamd.sysusers.conf %{buildroot}%{_sysusersdir}/clamd.conf
+
 
 %check
 %ifarch s390x
@@ -516,25 +530,6 @@ do
     [ -f $f -a $f -nt $cvd ] && rm -f $cvd || :
 done
 
-
-%pre filesystem
-getent group %{updateuser} >/dev/null || groupadd -r %{updateuser}
-getent passwd %{updateuser} >/dev/null || \
-    useradd -r -g %{updateuser} -d %{homedir} -s /sbin/nologin \
-    -c "Clamav database update user" %{updateuser}
-getent group virusgroup >/dev/null || groupadd -r virusgroup
-usermod %{updateuser} -a -G virusgroup
-exit 0
-
-
-%pre -n clamd
-getent group %{scanuser} >/dev/null || groupadd -r %{scanuser}
-getent passwd %{scanuser} >/dev/null || \
-    useradd -r -g %{scanuser} -d / -s /sbin/nologin \
-    -c "Clamav scanner user" %{scanuser}
-usermod %{scanuser} -a -G virusgroup
-exit 0
-
 %post -n clamd
 # Point to the new service unit
 [ -L /etc/systemd/system/multi-user.target.wants/clamd@scan.service ] &&
@@ -553,14 +548,6 @@ exit 0
 # milter and clamd communicate through local sockets
 /usr/sbin/groupmems -g %{scanuser} -a %{milteruser} &>/dev/null || :
 
-%pre milter
-getent group %{milteruser} >/dev/null || groupadd -r %{milteruser}
-getent passwd %{milteruser} >/dev/null || \
-    useradd -r -g %{milteruser} -d %{_rundir}/clamav-milter -s /sbin/nologin \
-    -c "Clamav Milter user" %{milteruser}
-usermod %{milteruser} -a -G virusgroup
-exit 0
-
 %post milter
 %systemd_post clamav-milter.service
 
@@ -627,6 +614,7 @@ exit 0
 %dir %{_sysconfdir}/clamd.d
 # Used by both clamd, clamdscan, and clamonacc
 %config(noreplace) %{_sysconfdir}/clamd.d/scan.conf
+%{_sysusersdir}/clamav.conf
 
 
 %files data
@@ -666,6 +654,7 @@ exit 0
 %{_sbindir}/clamd
 %{_unitdir}/clamd@.service
 %{_tmpfilesdir}/clamd.scan.conf
+%{_sysusersdir}/clamd.conf
 
 
 %files milter
@@ -679,6 +668,9 @@ exit 0
 
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git copr-dist-git.spec copr-dist-git.spec
index 797a8a3419..9f13d63350 100644
--- copr-dist-git.spec
+++ copr-dist-git.spec
@@ -2,7 +2,7 @@
 
 Name:       copr-dist-git
 Version:    1.0
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Copr services for Dist Git server
 
 License:    GPL-2.0-or-later
@@ -48,6 +48,7 @@ Recommends: python3-copr
 
 %{?fedora:Requires(post): policycoreutils-python-utils}
 %{?rhel:Requires(post): policycoreutils-python}
+%{?fedora:Requires(pre): group(apache)}
 
 %description
 COPR is lightweight build system. It allows you to create new project in WebUI
@@ -59,19 +60,20 @@ This package contains Copr services for Dist Git server.
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >copr-dist-git.sysusers.conf <<EOF
+g packager -
+u copr-dist-git - 'copr-dist-git user' - -
+m copr-dist-git packager
+m copr-dist-git apache
+EOF
+
 
 %build
 %py3_build
 
 
 %pre
-getent group packager >/dev/null || groupadd -r packager
-getent group copr-dist-git >/dev/null || groupadd -r copr-dist-git
-getent group apache >/dev/null || groupadd -r apache
-getent passwd copr-dist-git >/dev/null || \
-useradd -r -m -g copr-dist-git -G packager,apache -c "copr-dist-git user" copr-dist-git
-/usr/bin/passwd -l copr-dist-git >/dev/null
-
 %install
 %py3_install
 
@@ -99,6 +101,8 @@ touch %{buildroot}%{_var}/log/copr-dist-git/main.log
 
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/copr/dist_git
 
+install -m0644 -D copr-dist-git.sysusers.conf %{buildroot}%{_sysusersdir}/copr-dist-git.conf
+
 
 %check
 ./run_tests.sh -vv --no-cov
@@ -135,8 +139,13 @@ touch %{buildroot}%{_var}/log/copr-dist-git/main.log
 %attr(0644, copr-dist-git, copr-dist-git) %{_var}/log/copr-dist-git/main.log
 %ghost %{_var}/log/copr-dist-git/*.log
 %{_tmpfilesdir}/copr-dist-git.conf
+%{_sysusersdir}/copr-dist-git.conf
 
 %changelog
+* Fri Jan 24 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically.
+  Option -m was ignored. It must not be used for system users.
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git dogtag-pki.spec dogtag-pki.spec
index ad0237ee2d..695dec3f57 100644
--- dogtag-pki.spec
+++ dogtag-pki.spec
@@ -30,7 +30,7 @@ URL:              https://www.dogtagpki.org
 # The entire source code is GPLv2 except for 'pki-tps' which is LGPLv2
 License:          GPL-2.0-only AND LGPL-2.0-only
 Version:          %{major_version}.%{minor_version}.%{update_version}
-Release:          %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp}%{?commit_id:.}%{?commit_id}%{?dist}
+Release:          %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp}%{?commit_id:.}%{?commit_id}%{?dist}.1
 
 # To create a tarball from a version tag:
 # $ git archive \
@@ -638,7 +638,6 @@ Requires:         mvn(org.dogtagpki.jss:jss-tomcat) >= 5.5.0
 Requires:         systemd
 Requires(post):   systemd-units
 Requires(postun): systemd-units
-Requires(pre):    shadow-utils
 
 # pki-healthcheck depends on the following library
 %if 0%{?rhel}
@@ -1196,6 +1195,12 @@ fi
 %mvn_package org.dogtagpki.pki:pki-console        pki-console
 %endif
 
+# Create a sysusers.d config file
+cat >dogtag-pki.sysusers.conf <<EOF
+g pkiuser %{pki_gid}
+u pkiuser %{pki_uid} 'Certificate System' %{pki_homedir} -
+EOF
+
 ################################################################################
 %build
 ################################################################################
@@ -1538,16 +1543,9 @@ xmlstarlet edit --inplace \
 
 %if %{with server}
 
+install -m0644 -D dogtag-pki.sysusers.conf %{buildroot}%{_sysusersdir}/dogtag-pki.conf
+
 %pre -n %{product_id}-server
-
-# create PKI group if it doesn't exist
-getent group %{pki_groupname} >/dev/null || groupadd -f -g %{pki_gid} -r %{pki_groupname}
-
-# create PKI user if it doesn't exist
-if ! getent passwd %{pki_username} >/dev/null ; then
-    useradd -r -u %{pki_uid} -g %{pki_groupname} -d %{pki_homedir} -s /sbin/nologin -c "Certificate System" %{pki_username}
-fi
-
 # create PKI home directory if it doesn't exist
 if [ ! -d %{pki_homedir} ] ; then
     cp -ar /etc/skel %{pki_homedir}
@@ -1817,6 +1815,7 @@ fi
 %{_mandir}/man8/pki-healthcheck.8.gz
 %{_datadir}/pki/setup/
 %{_datadir}/pki/server/
+%{_sysusersdir}/dogtag-pki.conf
 
 %if %{without maven}
 %{_datadir}/java/pki/pki-server.jar
@@ -2008,6 +2007,9 @@ fi
 
 ################################################################################
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.6.0-0.3.alpha1.1
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Adam Williamson <awilliam@redhat.com> - 11.6.0-0.3.alpha1
 - Rebuild on mass rebuild tag to make that process happy
 
diff --git gnokii.spec gnokii.spec
index a1b4a97c5e..e824fd3e41 100644
--- gnokii.spec
+++ gnokii.spec
@@ -3,7 +3,7 @@
 
 Name:           gnokii
 Version:        0.6.31
-Release:        44%{?dist}
+Release:        45%{?dist}
 Summary:        Linux/Unix tool suite for various mobile phones
 
 License:        GPL-2.0-or-later
@@ -53,7 +53,6 @@ BuildRequires:  readline-devel
 BuildRequires:  perl(XML::Parser) intltool
 BuildRequires:  make
 BuildRequires:  chrpath
-Requires(pre):  %{_sbindir}/groupadd
 
 %description
 Gnokii provides tools and a user space driver for use with mobile
@@ -74,7 +73,6 @@ from/in computer and more other features.
 %package        smsd
 Summary:        Gnokii SMS daemon
 Requires:       %{name}%{?_isa} = %{version}-%{release}
-Requires(pre):  %{_sbindir}/useradd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
@@ -125,6 +123,14 @@ Requires:       pkgconfig
 install -pm 644 %{SOURCE5} smsd2mail.sh
 install -pm 644 %{SOURCE6} README.smsd2mail
 
+# Create sysusers.d config files
+cat >gnokii.sysusers.conf <<EOF
+g gnokii -
+EOF
+cat >gnokii-smsd.sysusers.conf <<EOF
+u gnokii - "Gnokii system user" / -
+EOF
+
 %build
 %configure --enable-security --disable-static --disable-rpath
 sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' -i libtool
@@ -179,15 +185,11 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/gnokii/ temporary-gnokii-docs/
 # Use last resort to remove -rpath usage that can't be removed from Makefiles
 chrpath --delete $RPM_BUILD_ROOT%{_bindir}/{gnokii,gnokiid,gnokii-smsd,xgnokii}
 
+install -m0644 -D gnokii.sysusers.conf %{buildroot}%{_sysusersdir}/gnokii.conf
+install -m0644 -D gnokii-smsd.sysusers.conf %{buildroot}%{_sysusersdir}/gnokii-smsd.conf
+
 %find_lang %{name}
 
-%pre
-getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name}
-
-%pre smsd
-getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -M -d / \
-  -g %{name} -s /sbin/nologin -c "Gnokii system user" %{name}
-
 %ldconfig_scriptlets
 
 %post smsd
@@ -212,6 +214,7 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -M -d / \
 %{_mandir}/man1/sendsms.1*
 %{_mandir}/man8/gnokiid.8*
 %{_mandir}/man8/mgnokiidev.8*
+%{_sysusersdir}/gnokii.conf
 
 %files -n xgnokii
 %doc xgnokii/ChangeLog xgnokii/README.vcard
@@ -229,6 +232,7 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -M -d / \
 %{_mandir}/man8/gnokii-smsd.8*
 %dir %{_libdir}/smsd/
 %{_libdir}/smsd/libsmsd_file.so
+%{_sysusersdir}/gnokii-smsd.conf
 
 %files smsd-pgsql
 %doc smsd/sms.tables.pq.sql
@@ -249,6 +253,9 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -M -d / \
 %{_libdir}/pkgconfig/xgnokii.pc
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.6.31-45
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.31-44
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git groonga.spec groonga.spec
index a9fca76061..9f1189c7f4 100644
--- groonga.spec
+++ groonga.spec
@@ -67,7 +67,6 @@ This package contains libraries and header files for Groonga.
 Summary:        Common files for the Groonga server and the Groonga HTTP server
 License:        LGPL-2.1-only
 Requires:       %{name}%{?isa} = %{version}-%{release}
-Requires(pre):  shadow-utils
 
 %description    server-common
 This package provides common settings for server use.
@@ -76,7 +75,6 @@ This package provides common settings for server use.
 Summary:        Groonga GQTP server
 License:        LGPL-2.1-only
 Requires:       %{name}-server-common%{?isa} = %{version}-%{release}
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires(preun):systemd
 
@@ -87,7 +85,6 @@ This package contains the Groonga GQTP server.
 Summary:        Groonga HTTP server
 License:        LGPL-2.1-only AND BSD-3-Clause
 Requires:       %{name}-server-common%{?isa} = %{version}-%{release}
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires(preun):systemd
 
@@ -162,6 +159,11 @@ rm vendor/*.tar.gz
 rm vendor/*.rb
 rm -rf vendor/{lz4,rapidjson-1.1.0}
 
+# Create a sysusers.d config file
+cat >groonga.sysusers.conf <<EOF
+u groonga - 'groonga' %{_localstatedir}/lib/groonga -
+EOF
+
 %build
 %cmake \
   -GNinja \
@@ -233,15 +235,13 @@ cat <<EOC > %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/groonga
   env.gqtp_query_log_path %{_localstatedir}/log/groonga/query-gqtp.log
 EOC
 
+install -m0644 -D groonga.sysusers.conf %{buildroot}%{_sysusersdir}/groonga.conf
+
 %post munin-plugins
 %{_sbindir}/munin-node-configure --shell --remove-also | grep -e 'groonga_' | sh
 %systemd_postun munin-node
 
 %pre server-common
-getent group groonga >/dev/null || groupadd -r groonga
-getent passwd groonga >/dev/null || \
-       useradd -r -g groonga -d %{_localstatedir}/lib/groonga -s /sbin/nologin \
-    -c 'groonga' groonga
 if [ $1 = 1 ] ; then
   mkdir -p %{_localstatedir}/log/groonga
   mkdir -p %{_localstatedir}/lib/groonga/db
@@ -316,6 +316,7 @@ fi
 
 %files server-common
 %config(noreplace) %{_sysconfdir}/tmpfiles.d/groonga.conf
+%{_sysusersdir}/groonga.conf
 
 %files server-gqtp
 %config(noreplace) %{_sysconfdir}/groonga/
diff --git jetty.spec jetty.spec
index 8a785fd843..aa09add3e1 100644
--- jetty.spec
+++ jetty.spec
@@ -50,7 +50,7 @@
 
 Name:           jetty
 Version:        9.4.40
-Release:        14%{?dist}
+Release:        15%{?dist}
 Summary:        Java Webserver and Servlet Container
 
 # Jetty is dual licensed under both ASL 2.0 and EPL 1.0, see NOTICE.txt
@@ -192,7 +192,6 @@ Requires:       %{name}-http2-hpack = %{version}-%{release}
 Requires:       %{name}-http2-http-client-transport = %{version}-%{release}
 Requires:       %{name}-http2-server = %{version}-%{release}
 
-Requires(pre):    shadow-utils
 %{?systemd_ordering}
 
 
@@ -740,6 +739,11 @@ sed -i '/<SystemProperty name="jetty.state"/d' \
 
 %endif
 
+# Create a sysusers.d config file
+cat >jetty.sysusers.conf <<EOF
+u jetty %jtuid 'Jetty web server' %homedir -
+EOF
+
 %build
 %mvn_package :jetty-home __noinstall
 %mvn_package :jetty-distribution __noinstall
@@ -867,19 +871,7 @@ cp -p %{SOURCE1} %{buildroot}%{homedir}/bin/jetty.sh
 
 # NOTE: %if %{without jp_minimal} still in effect
 
-%pre
-# Add the "jetty" user and group
-getent group %username >/dev/null || groupadd -f -g %jtuid -r %username
-if ! getent passwd %username >/dev/null ; then
-    if ! getent passwd %jtuid >/dev/null ; then
-      useradd -r -u %jtuid -g %username -d %homedir -s /sbin/nologin \
-      -c "Jetty web server" %username
-    else
-      useradd -r -g %username -d %homedir -s /sbin/nologin \
-      -c "Jetty web server" %username
-    fi
-fi
-exit 0
+install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
 
 %post
 %systemd_post jetty.service
@@ -912,6 +904,7 @@ exit 0
 %files
 # Empty metapackage in minimal mode
 %endif
+%{_sysusersdir}/jetty.conf
 
 %if %{without jp_minimal}
 %files -f .mfiles
@@ -973,6 +966,9 @@ exit 0
 %license LICENSE NOTICE.txt LICENSE-MIT
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.4.40-15
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git knot.spec knot.spec
index 2b60057e47..75ed60f004 100644
--- knot.spec
+++ knot.spec
@@ -8,7 +8,7 @@
 Summary:	High-performance authoritative DNS server
 Name:		knot
 Version:	3.4.4
-Release:	1%{?dist}
+Release:	2%{?dist}
 License:	GPL-3.0-or-later
 URL:		https://www.knot-dns.cz
 Source0:	https://secure.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz
@@ -148,6 +148,11 @@ gpg2 --verify %{SOURCE1} %{SOURCE0}
 %endif
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >knot.sysusers.conf <<EOF
+u knot - 'Knot DNS server' %{_sharedstatedir}/knot -
+EOF
+
 %build
 # disable debug code (causes unused warnings)
 CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
@@ -205,14 +210,12 @@ install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/knot
 # remove libarchive files
 find %{buildroot} -type f -name "*.la" -delete -print
 
+install -m0644 -D knot.sysusers.conf %{buildroot}%{_sysusersdir}/knot.conf
+
 %check
 V=1 make check
 
 %pre
-getent group knot >/dev/null || groupadd -r knot
-getent passwd knot >/dev/null || \
-  useradd -r -g knot -d %{_sharedstatedir}/knot -s /sbin/nologin \
-  -c "Knot DNS server" knot
 %if 0%{?suse_version}
 %service_add_pre knot.service
 %endif
@@ -273,6 +276,7 @@ getent passwd knot >/dev/null || \
 %{_mandir}/man8/knotc.*
 %{_mandir}/man8/knotd.*
 %ghost %attr(770,root,knot) %dir %{_rundir}/knot
+%{_sysusersdir}/knot.conf
 
 %files utils
 %{_bindir}/kdig
@@ -324,6 +328,9 @@ getent passwd knot >/dev/null || \
 %doc %{_pkgdocdir}/html
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.4-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 23 2025 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.4.4-1
 - Update to 3.4.4
 
diff --git openarc.spec openarc.spec
index 7869aebb2e..d3de446bac 100644
--- openarc.spec
+++ openarc.spec
@@ -4,7 +4,7 @@
 %global systemd_runtimedir (0%{?fedora} >= 21) || (0%{?rhel} >= 8)
 %global tmpfiles ((0%{?fedora} >= 15) || (0%{?rhel} == 7)) && !%{systemd_runtimedir}
 
-%global baserelease 21
+%global baserelease 22
 %global pre_rel Beta3
 
 Summary: An open source library and milter for providing ARC service
@@ -39,7 +39,6 @@ BuildRequires: automake
 
 Requires: lib%{name}%{?_isa} = %{version}-%{release}
 Requires: libopenarc = %{version}-%{release}
-Requires(pre): shadow-utils
 %if %systemd
 # Required for systemd
 %{?systemd_requires}
@@ -74,6 +73,13 @@ required for developing applications against libopenarc.
 %prep
 %autosetup -n OpenARC-rel-openarc-1-0-0-Beta3 -p1
 
+# Previously, a non-system group was created :(, sysusers does not support this
+# Create a sysusers.d config file
+cat >openarc.sysusers.conf <<EOF
+u openarc - - %{_localstatedir}/lib/%{name} -
+m openarc mail
+EOF
+
 
 %build
 autoreconf --install
@@ -157,19 +163,7 @@ D %{_rundir}/%{name} 0750 %{name} %{name} -
 EOF
 %endif
 
-%pre
-if ! getent passwd %{name} >/dev/null 2>&1; then
-    %{_sbindir}/useradd -M -d %{_localstatedir}/lib/%{name} -r -s /sbin/nologin %{name}
-    if ! getent group %{name} >/dev/null; then
-        %{_sbindir}/groupadd %{name}
-        %{_sbindir}/usermod -g %{name} %{name}
-    fi
-    if getent group mail >/dev/null; then
-        %{_sbindir}/usermod -G mail %{name}
-    fi
-fi
-exit 0
-
+install -m0644 -D openarc.sysusers.conf %{buildroot}%{_sysusersdir}/openarc.conf
 
 %post
 
@@ -219,6 +213,7 @@ exit 0
 %endif
 %{_mandir}/*/*
 %{_sbindir}/*
+%{_sysusersdir}/openarc.conf
 
 
 %files -n libopenarc
@@ -232,6 +227,9 @@ exit 0
 %{_libdir}/pkgconfig/*.pc
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.0-0.22.Beta3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-0.21.Beta3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git pcp.spec pcp.spec
index 11053234d9..4c18f5e662 100644
--- pcp.spec
+++ pcp.spec
@@ -1,6 +1,6 @@
 Name:    pcp
 Version: 6.3.2
-Release: 4%{?dist}
+Release: 5%{?dist}
 Summary: System-level performance monitoring and performance management
 License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
 URL:     https://pcp.io
@@ -2481,6 +2481,11 @@ updated policy package.
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >pcp.sysusers.conf <<EOF
+u pcpqa - 'PCP Quality Assurance' %{_testsdir} /bin/bash
+EOF
+
 %build
 # the buildsubdir macro gets defined in %%setup and is apparently only available in the next step (i.e. the %%build step)
 %global __strip %{_builddir}/%{?buildsubdir}/build/rpm/custom-strip
@@ -2877,11 +2882,13 @@ do \
 done
 %endif
 
+install -m0644 -D pcp.sysusers.conf %{buildroot}%{_sysusersdir}/pcp.conf
+
 %pre testsuite
 %if !%{disable_selinux}
 %selinux_relabel_pre -s targeted
 %endif
-%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9
+%if ( 0%{?fedora} && 0%{fedora} < 42 ) || 0%{?rhel} >= 9
 echo u pcpqa - \"PCP Quality Assurance\" %{_testsdir} /bin/bash | \
   systemd-sysusers --replace=/usr/lib/sysusers.d/pcp-testsuite.conf -
 %else
@@ -3330,6 +3337,7 @@ fi
 %endif
 
 %files testsuite -f pcp-testsuite-files.rpm
+%{_sysusersdir}/pcp.conf
 
 %if !%{disable_infiniband}
 %files pmda-infiniband -f pcp-pmda-infiniband-files.rpm
@@ -3605,6 +3613,9 @@ fi
 %files zeroconf -f pcp-zeroconf-files.rpm
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.3.2-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.2-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git pulseaudio.spec pulseaudio.spec
index 489cec30e5..a41640572b 100644
--- pulseaudio.spec
+++ pulseaudio.spec
@@ -34,7 +34,7 @@
 Name:           pulseaudio
 Summary:        Improved Linux Sound Server
 Version:        %{pa_major}%{?pa_minor:.%{pa_minor}}
-Release:        5%{?snap:.%{snap}git%{shortcommit}}%{?dist}
+Release:        6%{?snap:.%{snap}git%{shortcommit}}%{?dist}
 License:        LGPL-2.1-or-later
 URL:            http://www.freedesktop.org/wiki/Software/PulseAudio
 %if 0%{?gitrel}
@@ -126,7 +126,6 @@ BuildRequires:  pkgconfig(gstreamer-rtp-1.0) >= 1.16.0
 
 # retired along with -libs-zeroconf, add Obsoletes here for lack of anything better
 Obsoletes:      padevchooser < 1.0
-Requires(pre):  shadow-utils
 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
 Requires:       rtkit
 
@@ -278,6 +277,13 @@ sed -i.PACKAGE_VERSION -e "s|^PACKAGE_VERSION=.*|PACKAGE_VERSION=\'%{version}\'|
 #endif
 %endif
 
+# Create a sysusers.d config file
+cat >pulseaudio.sysusers.conf <<EOF
+g pulse-access -
+g pulse-rt -
+u pulse 171 'PulseAudio System Daemon' %{_localstatedir}/run/pulse -
+EOF
+
 
 %build
 %meson \
@@ -352,6 +358,8 @@ rm -fv $RPM_BUILD_ROOT%{_bindir}/pa-info
 
 %find_lang %{name}
 
+install -m0644 -D pulseaudio.sysusers.conf %{buildroot}%{_sysusersdir}/pulseaudio.conf
+
 
 %check
 %if 0%{?tests}
@@ -374,19 +382,6 @@ fi
 
 %if 0%{?enable_daemon}
 
-%pre
-getent group pulse-access >/dev/null || groupadd -r pulse-access
-getent group pulse-rt >/dev/null || groupadd -r pulse-rt
-getent group pulse >/dev/null || groupadd -f -g 171 -r pulse
-if ! getent passwd pulse >/dev/null ; then
-    if ! getent passwd 171 >/dev/null ; then
-      useradd -r -u 171 -g pulse -d %{_localstatedir}/run/pulse -s /sbin/nologin -c "PulseAudio System Daemon" pulse
-    else
-      useradd -r -g pulse -d %{_localstatedir}/run/pulse -s /sbin/nologin -c "PulseAudio System Daemon" pulse
-    fi
-fi
-exit 0
-
 %posttrans
 # handle renamed module-cork-music-on-phone => module-role-cork
 (grep '^load-module module-cork-music-on-phone$' %{_sysconfdir}/pulse/default.pa > /dev/null && \
@@ -529,6 +524,7 @@ systemctl --no-reload preset --global pulseaudio.socket >/dev/null 2>&1 || :
 %dir %{_datadir}/zsh/
 %dir %{_datadir}/zsh/site-functions/
 %{_datadir}/zsh/site-functions/_pulseaudio
+%{_sysusersdir}/pulseaudio.conf
 
 %files qpaeq
 %{_bindir}/qpaeq
@@ -668,6 +664,9 @@ systemctl --no-reload preset --global pulseaudio.socket >/dev/null 2>&1 || :
 
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 17.0-6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 17.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git puppet.spec puppet.spec
index fa29cbacb2..d9c081c86f 100644
--- puppet.spec
+++ puppet.spec
@@ -4,7 +4,7 @@
 
 Name:           puppet
 Version:        8.6.0
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Network tool for managing many disparate systems
 License:        Apache-2.0
 URL:            https://puppet.com
@@ -83,6 +83,11 @@ find -type f -exec \
     -e 's|/var/log/puppetlabs/puppet|%{_localstatedir}/log/%{name}|' \
   '{}' +
 
+# Create a sysusers.d config file
+cat >puppet.sysusers.conf <<EOF
+u puppet 52 'Puppet' None -
+EOF
+
 %install
 ruby install.rb --destdir=%{buildroot} \
  --bindir=%{_bindir} \
@@ -106,6 +111,7 @@ install -Dp -m0644 %{SOURCE15} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 
 %{__install} -d -m0755 %{buildroot}%{_unitdir}
 install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/%{name}.service
+install -D -m0644 puppet.sysusers.conf %{buildroot}%{_sysusersdir}/puppet.conf
 
 # Note(hguemar): Conflicts with config file from hiera package
 rm %{buildroot}%{_sysconfdir}/%{name}/hiera.yaml
@@ -196,12 +202,8 @@ rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml}
 %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name}
 
 %ghost %attr(755, puppet, puppet) %{_rundir}/%{name}
+%{_sysusersdir}/puppet.conf
 
-%pre
-getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null
-getent passwd puppet &>/dev/null || \
-useradd -r -u 52 -g puppet -s /sbin/nologin \
- -c "Puppet" puppet &>/dev/null
 
 %post
 %systemd_post %{name}.service
@@ -210,6 +212,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \
 %systemd_postun_with_restart %{name}.service
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.6.0-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.6.0-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git sblim-sfcb.spec sblim-sfcb.spec
index fe9509ede3..40a5605849 100644
--- sblim-sfcb.spec
+++ sblim-sfcb.spec
@@ -8,7 +8,7 @@ Name: sblim-sfcb
 Summary: Small Footprint CIM Broker
 URL: http://sblim.wiki.sourceforge.net/
 Version: 1.4.9
-Release: 33%{?dist}
+Release: 34%{?dist}
 License: EPL-1.0
 Source0: http://downloads.sourceforge.net/sblim/%{name}-%{version}.tar.bz2
 Source1: sfcb.service
@@ -83,6 +83,12 @@ Programming Interface (CMPI).
 %patch -P9 -p1 -b .fix-ppc-optimization-level
 %patch -P10 -p1 -b .docdir-license
 
+# Create a sysusers.d config file
+cat >sblim-sfcb.sysusers.conf <<EOF
+g sfcb -
+m root sfcb
+EOF
+
 %build
 %configure --enable-debug --enable-uds --enable-ssl --enable-pam --enable-ipv6 \
     --enable-slp --enable-large_volume_support --enable-optimized-enumeration --enable-relax-mofsyntax \
@@ -117,9 +123,7 @@ echo "%{_libdir}/sfcb/*.so" >> _pkg_list
 
 cat _pkg_list
 
-%pre
-/usr/bin/getent group sfcb >/dev/null || /usr/sbin/groupadd -r sfcb
-/usr/sbin/usermod -a -G sfcb root > /dev/null 2>&1 || :
+install -m0644 -D sblim-sfcb.sysusers.conf %{buildroot}%{_sysusersdir}/sblim-sfcb.conf
 
 %post 
 %{_datadir}/sfcb/genSslCert.sh %{_sysconfdir}/sfcb &>/dev/null || :
@@ -133,13 +137,14 @@ cat _pkg_list
 %postun
 /sbin/ldconfig
 %systemd_postun_with_restart sblim-sfcb.service
-if [ $1 -eq 0 ]; then
-        /usr/sbin/groupdel sfcb > /dev/null 2>&1 || :;
-fi;
 
 %files -f _pkg_list
+%{_sysusersdir}/sblim-sfcb.conf
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.9-34
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-33
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git teeworlds.spec teeworlds.spec
index c3e09a1365..fc61da42b4 100644
--- teeworlds.spec
+++ teeworlds.spec
@@ -1,6 +1,6 @@
 Name:           teeworlds
 Version:        0.7.5
-Release:        16%{?dist}
+Release:        17%{?dist}
 Summary:        Online multi-player platform 2D shooter
 
 # zlib: src/engine/externals/md5/*
@@ -47,7 +47,6 @@ The controls are heavily inspired by the FPS genre of computer games.
 Summary:        Server for %{name}
 Requires:       %{name}-data = %{version}
 Provides:       bundled(md5)
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 BuildRequires:  systemd
 
@@ -75,6 +74,11 @@ sed -i -e "/_mm_pause/d" src/engine/client/client.cpp
 %endif
 sed -i "s/\/usr/\%{_prefix}/g" src/engine/shared/storage.cpp
 
+# Create a sysusers.d config file
+cat >teeworlds.sysusers.conf <<EOF
+u teeworlds - '%{name} server daemon account' %{_sysconfdir}/%{name} -
+EOF
+
 %build
 %cmake . -B%{_vpath_builddir} -GNinja -DCMAKE_BUILD_TYPE=RELEASE \
   -DPREFER_BUNDLED_LIBS=OFF \
@@ -95,13 +99,7 @@ install -Dpm0664 %{S:6} %{buildroot}%{_sysconfdir}/%{name}/tdm.cfg
 install -Dpm0664 %{S:7} %{buildroot}%{_sysconfdir}/%{name}/ctf.cfg
 ln -sf %{_datadir}/fonts/dejavu-sans-fonts/DejaVuSans.ttf %{buildroot}%{_datadir}/%{name}/data/fonts/DejaVuSans.ttf
 
-%pre server
-getent group teeworlds >/dev/null || groupadd -f -r teeworlds
-if ! getent passwd teeworlds >/dev/null ; then
-      useradd -r -g teeworlds -d %{_sysconfdir}/%{name} -s /sbin/nologin \
-              -c "%{name} server daemon account" teeworlds
-fi
-exit 0
+install -m0644 -D teeworlds.sysusers.conf %{buildroot}%{_sysusersdir}/teeworlds.conf
 
 %post server
 %systemd_post %{name}-server@dm.service
@@ -137,8 +135,12 @@ exit 0
 %{_bindir}/%{name}-srv
 %{_unitdir}/%{name}-server@.service
 %attr(-,teeworlds,teeworlds)%{_sysconfdir}/%{name}/
+%{_sysusersdir}/teeworlds.conf
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.7.5-17
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.5-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git tomcat.spec tomcat.spec
index 2d36335d02..8689ef0cd1 100644
--- tomcat.spec
+++ tomcat.spec
@@ -102,7 +102,6 @@ Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 %if 0%{?fedora} || 0%{?rhel} > 7
 Recommends:    tomcat-native >= %{native_version}
 %endif
-Requires(pre):    shadow-utils
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
@@ -203,6 +202,11 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "
 %mvn_alias "org.apache.tomcat:tomcat-jsp-api" "jakarta.servlet:jakarta.servlet.jsp"
 %mvn_package ":tomcat-servlet-api" tomcat-servlet-api
 
+# Create a sysusers.d config file
+cat >tomcat.sysusers.conf <<EOF
+u tomcat %{tcuid} 'Apache Tomcat' %{homedir} -
+EOF
+
 
 %build
 # we don't care about the tarballs and we're going to replace jars
@@ -401,16 +405,7 @@ popd
 
 %mvn_install
 
-%pre
-# add the tomcat user and group
-getent group tomcat >/dev/null || %{_sbindir}/groupadd -f -g %{tcuid} -r tomcat
-if ! getent passwd tomcat >/dev/null ; then
-    if ! getent passwd %{tcuid} >/dev/null ; then
-        %{_sbindir}/useradd -r -u %{tcuid} -g tomcat -d %{homedir} -s /sbin/nologin -c "Apache Tomcat" tomcat
-        # Tomcat uses a reserved ID, so there should never be an else
-    fi
-fi
-exit 0
+install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
 
 %post
 # install but don't activate
@@ -476,6 +471,7 @@ exit 0
 %{homedir}/work
 %{homedir}/logs
 %{homedir}/conf
+%{_sysusersdir}/tomcat.conf
 
 %files admin-webapps
 %defattr(0664,root,tomcat,0755)
diff --git totpcgi.spec totpcgi.spec
index cc6e25d383..901420ae1f 100644
--- totpcgi.spec
+++ totpcgi.spec
@@ -10,7 +10,7 @@
 
 Name:       totpcgi
 Version:    0.6.0
-Release:    0.22.20190713git%{?dist}
+Release:    0.23.20190713git%{?dist}
 Summary:    A centralized totp solution based on google-authenticator
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
@@ -66,6 +66,12 @@ This package includes SELinux policy for totpcgi and totpcgi-provisioning.
 %prep
 %autosetup -n totp-cgi-%{commit} -p1
 
+# Create a sysusers.d config file
+cat >totpcgi.sysusers.conf <<EOF
+u totpcgi - 'Totpcgi user' /var/lib/totpcgi -
+u totpcgiprov - 'Totpcgi provisioning user' /etc/totpcgi -
+EOF
+
 
 %build
 %py3_build
@@ -133,13 +139,9 @@ sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' %{buildroot}/var/www/totpcgi
 sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' %{buildroot}/var/www/totpcgi-provisioning/index.cgi
 sed -i -e 's|/usr/bin/env python|/usr/bin/python3|' %{buildroot}/usr/bin/totpprov
 
+install -m0644 -D totpcgi.sysusers.conf %{buildroot}%{_sysusersdir}/totpcgi.conf
+
 %pre -n python3-totpcgi
-# We always add both the totpcgi and totpcgi-provisioning user
-/usr/sbin/useradd -c "Totpcgi user" \
-    -M -s /sbin/nologin -d /var/lib/totpcgi %{totpcgiuser} 2> /dev/null || :
-/usr/sbin/useradd -c "Totpcgi provisioning user" \
-    -M -s /sbin/nologin -d /etc/totpcgi %{totpcgiprovuser} 2> /dev/null || :
-
 # For some reason the labeling doesn't always happen correctly
 # force it if fixfiles exists
 %post
@@ -195,6 +197,7 @@ fi
 %config(noreplace) %attr(-, -, %{totpcgiprovuser}) %{_sysconfdir}/totpcgi/provisioning.conf
 %{_bindir}/*
 %{_mandir}/*/*
+%{_sysusersdir}/totpcgi.conf
 
 %files provisioning
 %dir %attr(-, %{totpcgiprovuser}, %{totpcgiprovuser}) %{_localstatedir}/www/totpcgi-provisioning
@@ -210,6 +213,9 @@ fi
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.6.0-0.23.20190713git
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-0.22.20190713git
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git trousers.spec trousers.spec
index 0e0d206c5c..af678a2361 100644
--- trousers.spec
+++ trousers.spec
@@ -1,7 +1,7 @@
 Name: trousers
 Summary: TCG's Software Stack v1.2
 Version: 0.3.15
-Release: 13%{?dist}
+Release: 14%{?dist}
 # Automatically converted from old format: BSD - review is highly recommended.
 License: LicenseRef-Callaway-BSD
 Url: http://trousers.sourceforge.net
@@ -17,7 +17,6 @@ Patch4: trousers-0.3.14-fix-indent-tspi_key.patch
 BuildRequires: make
 BuildRequires: libtool openssl-devel gettext-devel autoconf automake
 BuildRequires: systemd
-Requires(pre): shadow-utils
 # remove systemd dependency for flatpak builds
 %if ! 0%{?flatpak}
 Requires(post): systemd-units
@@ -64,6 +63,11 @@ applications.
 # fix man page paths
 sed -i -e 's|/var/tpm|/var/lib/tpm|g' -e 's|/usr/local/var|/var|g' man/man5/tcsd.conf.5.in man/man8/tcsd.8.in
 
+# Create a sysusers.d config file
+cat >trousers.sysusers.conf <<EOF
+u tss 59 'Account used for TPM access' /dev/null -
+EOF
+
 %build
 chmod +x ./bootstrap.sh
 ./bootstrap.sh
@@ -77,16 +81,7 @@ find %{buildroot} -type f -name '*.la' -print -delete
 mkdir -p %{buildroot}%{_unitdir}
 install -Dpm0644 %{SOURCE1} %{buildroot}%{_unitdir}/
 
-%pre
-getent group tss >/dev/null || groupadd -f -g 59 -r tss
-if ! getent passwd tss >/dev/null ; then
-    if ! getent passwd 59 >/dev/null ; then
-      useradd -r -u 59 -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss
-    else
-      useradd -r -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss
-    fi
-fi
-exit 0
+install -m0644 -D trousers.sysusers.conf %{buildroot}%{_sysusersdir}/trousers.conf
 
 %post
 %systemd_post tcsd.service
@@ -105,6 +100,7 @@ exit 0
 %{_mandir}/man8/*
 %attr(644,root,root) %{_unitdir}/tcsd.service
 %attr(0700, tss, tss) %{_localstatedir}/lib/tpm/
+%{_sysusersdir}/trousers.conf
 
 %files lib
 %license LICENSE
@@ -123,6 +119,9 @@ exit 0
 %{_libdir}/libtddl.a
 
 %changelog
+* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.3.15-14
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.15-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git uucp.spec uucp.spec
index bd16b90de9..3ef5eab838 100644
--- uucp.spec
+++ uucp.spec
@@ -63,7 +63,6 @@ Requires(preun): /sbin/install-info
 Requires(post): /sbin/install-info
 %endif
 Requires: lockdev >= 1.0.0-14
-Requires(pre): shadow-utils
 Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
@@ -96,6 +95,12 @@ because it can be useful even if you do not do uucp.
 %patch -P12 -p1 -b .configure-c99
 %patch -P13 -p1 -b .fix-types
 
+# Create a sysusers.d config file
+cat >uucp.sysusers.conf <<EOF
+g uucp 14
+u uucp 10 'Uucp user' /var/spool/uucp -
+EOF
+
 %build
 # enable hardening because uucp contains setuid binaries
 %if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 16 || 0%{?rhel} >= 7
@@ -171,18 +176,7 @@ EOF
 
 find "${RPM_BUILD_ROOT}%_datadir/uucp/contrib" -type f -exec chmod a-x {} +
 
-
-%pre
-getent group uucp >/dev/null || groupadd -g 14 -r uucp
-if ! getent passwd uucp >/dev/null ; then
-  if ! getent passwd 10 >/dev/null ; then
-     useradd -r -u 10 -g uucp -d /var/spool/uucp  -c "Uucp user" uucp
-  else
-     useradd -r -g uucp -d /var/spool/uucp  -c "Uucp user" uucp
-  fi
-fi
-exit 0
-
+install -m0644 -D uucp.sysusers.conf %{buildroot}%{_sysusersdir}/uucp.conf
 
 %post
 %if %{with systemd_macros}
@@ -296,6 +290,7 @@ fi
 %config(noreplace) %{_newconfigdir}/port
 %config(noreplace) %{_newconfigdir}/sys
 %attr(755,uucp,uucp) /var/spool/uucp
+%{_sysusersdir}/uucp.conf
 
 %files -n cu
 %doc README COPYING ChangeLog NEWS TODO
diff --git wesnoth.spec wesnoth.spec
index 38a9d393d5..f1c45648a5 100644
--- wesnoth.spec
+++ wesnoth.spec
@@ -1,6 +1,6 @@
 Name:           wesnoth
 Version:        1.19.7
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Turn-based strategy game with a fantasy theme
 
 License:        GPL-2.0-or-later
@@ -57,7 +57,6 @@ friends--or strangers--and fight multi-player epic fantasy battles.
 %package server
 Summary:        %{summary}
 Requires:       %{name} = %{version}-%{release}
-Requires(pre):  /usr/sbin/useradd
 
 %description server
 This package contains the binaries for running a Wesnoth server
@@ -86,6 +85,12 @@ This package contains the data files for Wesnoth.
 %prep
 %autosetup -p0
 
+# Create a sysusers.d config file.
+# Upstream provides a file that we don't like.
+cat >wesnothd.sysusers.conf <<EOF
+u wesnothd - 'Wesnoth server' /run/wesnothd -
+EOF
+
 %build
 scons wesnoth wesnothd campaignd prefix=%{_prefix} \
           bindir=%{_bindir} \
@@ -141,9 +146,8 @@ done
 # language stuff
 %find_lang %{name} LANGFILES --with-man
 
-%pre server
-/usr/sbin/useradd -c "Wesnoth server" -s /sbin/nologin \
-          -r -d /run/wesnothd wesnothd 2> /dev/null || :
+install -m0644 -D wesnoth.sysusers.conf %{buildroot}%{_sysusersdir}/wesnoth.conf
+
 
 
 %post server
@@ -178,6 +182,7 @@ done
 %{_unitdir}/wesnothd.service
 %{_tmpfilesdir}/wesnothd.tmpfiles.conf
 %exclude %{_prefix}/lib/sysusers.d/wesnothd.sysusers.conf
+%{_sysusersdir}/wesnothd.conf
 
 %files data -f LANGFILES
 %{_datadir}/applications/org.wesnoth.Wesnoth.desktop
@@ -189,6 +194,9 @@ done
 %{_mandir}/*/man6/wesnoth*.6*
 
 %changelog
+* Fri Jan 24 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.19.7-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.7-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git 389-ds-base.spec 389-ds-base.spec
index 2205ae3ecb..bd9e674824 100644
--- 389-ds-base.spec
+++ 389-ds-base.spec
@@ -848,11 +848,6 @@ fi
 # reload to pick up any changes to systemd files
 /bin/systemctl daemon-reload >$output 2>&1 || :
 
-# https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation
-# Soft static allocation for UID and GID
-# sysusers.d format https://fedoraproject.org/wiki/Changes/Adopting_sysusers.d_format
-%sysusers_create_compat %{SOURCE4}
-
 # Reload our sysctl before we restart (if we can)
 sysctl --system &> $output; true
 
diff --git clevis.spec clevis.spec
index cecdb73389..0f5720e0ae 100644
--- clevis.spec
+++ clevis.spec
@@ -48,7 +48,6 @@ Requires:       coreutils
 Requires:       jose >= 8
 Requires:       curl
 Requires:       jq
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires:       clevis-pin-tpm2
 
@@ -139,14 +138,6 @@ desktop-file-validate \
   %{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
 %meson_test
 
-%pre
-%sysusers_create_compat %{SOURCE1}
-# Add clevis user to tss group.
-if getent group tss >/dev/null && ! groups %{name} | grep -q "\btss\b"; then
-    usermod -a -G tss %{name} &>/dev/null
-fi
-exit 0
-
 %files
 %license COPYING
 %{_datadir}/bash-completion/
diff --git clevis.sysusers clevis.sysusers
index daad762fb3..0b483e6ae8 100644
--- clevis.sysusers
+++ clevis.sysusers
@@ -1 +1,2 @@
 u clevis - "Clevis Decryption Framework unprivileged user" /var/cache/clevis -
+m clevis tss
diff --git dnsconfd.spec dnsconfd.spec
index 4d67efc6fa..d373c916ae 100644
--- dnsconfd.spec
+++ dnsconfd.spec
@@ -19,7 +19,6 @@ BuildRequires:  python3-rpm-macros
 BuildRequires:  python3-pip
 BuildRequires:  systemd
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 Requires:  (%{name}-selinux if selinux-policy-%{selinuxtype})
 Requires:  python3-gobject-base
@@ -27,6 +26,7 @@ Requires:  python3-pyyaml
 Requires:  dbus-common
 Requires:  %{name}-cache
 Suggests:  %{name}-unbound
+Requires:  (%{name}-unbound = %{version}-%{release} if %{name}-unbound)
 
 %?python_enable_dependency_generator
 
@@ -127,12 +127,6 @@ fi
 %posttrans selinux
 %selinux_relabel_post -s %{selinuxtype}
 
-%pre
-%sysusers_create_compat %{SOURCE1}
-
-%pre unbound
-%sysusers_create_compat %{SOURCE1}
-
 %post
 %systemd_post %{name}.service
 
@@ -153,11 +147,11 @@ fi
 %{_unitdir}/dnsconfd.service
 %{_mandir}/man8/dnsconfd*.8*
 %{_mandir}/man5/dnsconfd.conf.5*
-%ghost %{_sysusersdir}/dnsconfd.conf
+%{_sysusersdir}/dnsconfd.conf
+%{_tmpfilesdir}/dnsconfd.conf
 %doc README.md docs/com.redhat.dnsconfd.md
 %{_datadir}/polkit-1/rules.d/dnsconfd.rules
 %dir %attr(755,dnsconfd,dnsconfd) %{_rundir}/dnsconfd
-%{_tmpfilesdir}/%{name}.conf
 
 %files selinux
 %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.*
@@ -168,6 +162,7 @@ fi
 %{_unitdir}/unbound-anchor.service.d/dnsconfd.conf
 %config(noreplace) %attr(644,unbound,unbound) %{_sysconfdir}/unbound/conf.d/unbound.conf
 %attr(644,dnsconfd,dnsconfd) %{_rundir}/dnsconfd/unbound.conf
+%{_sysusersdir}/dnsconfd.conf
 %{_tmpfilesdir}/dnsconfd-unbound.conf
 
 %changelog
diff --git ec2-instance-connect.spec ec2-instance-connect.spec
index 18065c4d38..9381d4cd54 100644
--- ec2-instance-connect.spec
+++ ec2-instance-connect.spec
@@ -5,7 +5,7 @@
 Name:           ec2-instance-connect
 Summary:        EC2 Instance Connect scripts
 Version:        1.1.17
-Release:        3%{?dist}
+Release:        4%{?dist}
 
 License:        Apache-2.0
 URL:            https://github.com/aws/%{project}
@@ -25,7 +25,6 @@ Patch1:         0001-Update-curl-command-to-not-fail-silently-on-HTTP-ser.patch
 BuildArch:      noarch
 
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 Requires:       openssh >= 6.9.0
 Requires:       coreutils
@@ -145,12 +144,10 @@ fi
 
 %{_sysusersdir}/%{modulename}.conf
 
-
-%pre
-%sysusers_create_compat %{SOURCE4}
-
-
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.17-4
+- Drop calls to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.17-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git pacemaker.spec pacemaker.spec
index 93868c0e7f..03026b5a41 100644
--- pacemaker.spec
+++ pacemaker.spec
@@ -261,7 +261,6 @@ BuildRequires: %{python_name}-sphinx
 
 # Creation of Users / Groups
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 # Booth requires this
 Provides:      pacemaker-ticket-support = 2.0
@@ -576,10 +575,6 @@ fi
 %postun cli
 %systemd_postun_with_restart crm_mon.service
 
-%pre -n %{pkgname_pcmk_libs}
-%sysusers_create_compat %{SOURCE1}
-exit 0
-
 %ldconfig_scriptlets -n %{pkgname_pcmk_libs}
 %ldconfig_scriptlets cluster-libs
 
diff --git tog-pegasus.spec tog-pegasus.spec
index 5464f63db5..716bb1c3d1 100644
--- tog-pegasus.spec
+++ tog-pegasus.spec
@@ -524,15 +524,6 @@ if [ $1 -eq 0 ] ; then
 fi
 :;
 
-%pre libs
-if [ $1 -eq 1 ]; then
-#  first install: create the 'pegasus' user and group:
-   {
-      %sysusers_create_compat %{SOURCE13}
-   } >/dev/null 2>&1 || :;
-fi
-:;
-
 %post libs
 if [ $1 -eq 1 ]; then
    # Create Symbolic Links for SDK Libraries
diff --git addrwatch/addrwatch.spec addrwatch/addrwatch.spec.tmp
index 93499f7835..cf03aaecae 100644
--- addrwatch/addrwatch.spec
+++ addrwatch/addrwatch.spec.tmp
@@ -1,26 +1,25 @@
 %global _hardened_build 1
 
 Name:		addrwatch
 Version:	1.0.2
-Release:	12%{?dist}
+Release:	13%{?dist}
 Summary:	Monitoring IPv4/IPv6 and Ethernet address pairings
 
 License:	GPL-3.0-only
 URL:		https://github.com/fln/addrwatch
 Source0:	%{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz
 Source1:	%{name}.service
 Source2:	%{name}.sysconfig
 
 %{?systemd_requires}
 BuildRequires:	libpcap-devel, libevent-devel, systemd, mariadb-connector-c-devel, sqlite-devel, gcc
 BuildRequires:	autoconf automake
 BuildRequires: make
-Requires(pre):	shadow-utils
 
 
 %description
 It main purpose is to monitor network and log discovered Ethernet/IP pairings.
 
 Main features of addrwatch:
 
  * IPv4 and IPv6 address monitoring
@@ -31,57 +30,62 @@ Main features of addrwatch:
 
 Addrwatch is extremely useful in networks with IPv6 auto configuration (RFC4862)
 enabled. It allows to track IPv6 addresses of hosts using IPv6 privacy
 extensions (RFC4941).
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >addrwatch.sysusers.conf <<EOF
+u addrwatch - 'network neighborhoud watch' /var/lib/%{name} -
+EOF
+
 %build
 autoreconf -fiv
 %configure --enable-sqlite3 --enable-mysql LDFLAGS="-I/usr/include/mysql -L/usr/lib64/mysql"
 %make_build
 
 %install
 %make_install
 mkdir -p %{buildroot}%{_unitdir}/
 install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/
 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/
 install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/addrwatch
 mkdir -p %{buildroot}/var/lib/addrwatch
 
+install -m0644 -D addrwatch.sysusers.conf %{buildroot}%{_sysusersdir}/addrwatch.conf
+
 %files
 %{_bindir}/addrwatch
 %{_bindir}/addrwatch_stdout
 %{_bindir}/addrwatch_mysql
 %{_bindir}/addrwatch_syslog
 %{_mandir}/man8/addrwatch.8*
 %{_unitdir}/addrwatch.service
 %config(noreplace) %{_sysconfdir}/sysconfig/addrwatch
 %license COPYING
 %attr(-, addrwatch, addrwatch) /var/lib/addrwatch
+%{_sysusersdir}/addrwatch.conf
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d /var/lib/%{name} -s /sbin/nologin \
-    -c "network neighborhoud watch" %{name}
-exit 0
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
 %systemd_postun_with_restart %{name}.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.2-13
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git akmods/akmods.spec akmods/akmods.spec.tmp
index e3de8229dc..6ed6a9acd8 100644
--- akmods/akmods.spec
+++ akmods/akmods.spec.tmp
@@ -63,17 +63,16 @@ Requires:       (kernel-debug-devel-matched if kernel-debug-core)
 Requires:       (kernel-devel-matched if kernel-core)
 %else
 Suggests:       (kernel-debug-devel if kernel-debug-core)
 Suggests:       (kernel-devel if kernel-core)
 %endif
 Suggests:       (kernel-rt-devel if kernel-rt)
 
 # we create a special user that used by akmods to build kmod packages
-Requires(pre):  shadow-utils
 
 # systemd unit requirements.
 BuildRequires:  systemd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 # Optional but good to have on recent kernel
 Requires: pkgconfig(libelf)
@@ -89,16 +88,21 @@ Akmods startup script will rebuild akmod packages during system
 boot, while its background daemon will build them for kernels right
 after they were installed.
 
 
 %prep
 %setup -q -c -T
 cp -p %{SOURCE9} %{SOURCE10} %{SOURCE15} .
 
+# Create a sysusers.d config file
+cat >akmods.sysusers.conf <<EOF
+u akmods - 'User is used by akmods to build akmod packages' /var/cache/akmods/ -
+EOF
+
 
 %build
 # Nothing to build
 
 
 %install
 mkdir -p %{buildroot}%{_usrsrc}/%{name} \
          %{buildroot}%{_sbindir} \
@@ -138,23 +142,19 @@ install -pm 0644 %{SOURCE19} %{buildroot}%{_unitdir}/
 mkdir -p %{buildroot}%{_mandir}/man1
 help2man -N -i %{SOURCE3} -s 1 \
     -o %{buildroot}%{_mandir}/man1/akmods.1 \
        %{buildroot}%{_sbindir}/akmods
 help2man -N -i %{SOURCE3} -s 1 \
     -o %{buildroot}%{_mandir}/man1/akmodsbuild.1 \
        %{buildroot}%{_sbindir}/akmodsbuild
 
+install -m0644 -D akmods.sysusers.conf %{buildroot}%{_sysusersdir}/akmods.conf
+
 
-%pre
-# create group and user
-getent group akmods >/dev/null || groupadd -r akmods
-getent passwd akmods >/dev/null || \
-useradd -r -g akmods -d /var/cache/akmods/ -s /sbin/nologin \
-    -c "User is used by akmods to build akmod packages" akmods
 
 %post
 %systemd_post akmods.service
 %systemd_post akmods@.service
 %systemd_post akmods-shutdown.service
 
 %preun
 %systemd_preun akmods.service
@@ -192,12 +192,13 @@ useradd -r -g akmods -d /var/cache/akmods/ -s /sbin/nologin \
 %{_presetdir}/95-akmods.preset
 %else
 %exclude %{_presetdir}/95-akmods.preset
 %endif
 %{_usrsrc}/akmods
 %dir %attr(-,akmods,akmods) %{_localstatedir}/cache/akmods
 %dir %attr(0775,root,akmods) %{_localstatedir}/log/%{name}
 %{_mandir}/man1/*
+%{_sysusersdir}/akmods.conf
 
 
 %changelog
 %autochangelog
diff --git anyterm/anyterm.spec anyterm/anyterm.spec.tmp
index cd28759bfa..27a154b3ee 100644
--- anyterm/anyterm.spec
+++ anyterm/anyterm.spec.tmp
@@ -1,11 +1,11 @@
 Name: anyterm
 Version: 1.2.3
-Release: 22%{?dist}
+Release: 23%{?dist}
 Summary: A web-based terminal emulator
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 URL: http://anyterm.org
 
 # The source for this package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
@@ -45,16 +45,21 @@ and from any javascript-enabled web browser in real time.
 
 %description httpd
 The httpd configuration necessary to proxy anyterm.
 
 %prep
 %setup -q
 %patch -P0 -p0
 
+# Create a sysusers.d config file
+cat >anyterm.sysusers.conf <<EOF
+u anyterm - 'Anyterm service' %{_localstatedir}/run/%{name} -
+EOF
+
 %build
 export CFLAGS="$RPM_OPT_FLAGS"
 export CXXFLAGS="$RPM_OPT_FLAGS -std=c++17"
 make %{?_smp_mflags} CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" OPTIMISE_FLAGS="$CXXFLAGS"
 gzip anytermd.1
 
 %install
 install -Dp -m0755 anytermd %{buildroot}%{_sbindir}/anytermd
@@ -70,24 +75,20 @@ done
 
 # Create a home directory for the user.
 mkdir -p -m755 %{buildroot}%{_localstatedir}/run/%{name}
 mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d
 cat <<EOF > %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf
 d %{_localstatedir}/run/%{name} 0755 root %{name}
 EOF
 
+install -m0644 -D anyterm.sysusers.conf %{buildroot}%{_sysusersdir}/anyterm.conf
+
 
 %pre
-# create anyterm group / user
-getent group %{name} >/dev/null 2>&1 || \
-   groupadd -r %{name}
-getent passwd %{name} >/dev/null 2>&1 || \
-  useradd -r -l -g %{name} -s /sbin/nologin \
-  -d %{_localstatedir}/run/%{name} -c "Anyterm service" %{name}
 if [[ ! -d %{_localstatedir}/run/%{name} ]]; then
   mkdir -m755 %{_localstatedir}/run/%{name}
   chown %{name}:%{name} %{_localstatedir}/run/%{name}
 fi
 if [[ $(getent passwd %{name} | cut -d: -f6) == /dev/null ]]; then
   usermod -d %{_localstatedir}/run/%{name} %{name}
 fi
 exit 0
@@ -105,21 +106,25 @@ exit 0
 %{_sbindir}/anytermd
 %{_libexecdir}/anyterm/
 %{_mandir}/man1/anytermd.1.gz
 %{_datadir}/anyterm/
 %{_unitdir}/anyterm.service
 %ghost %attr(0755,%{name},%{name}) %dir %{_localstatedir}/run/%{name}
 %{_sysconfdir}/tmpfiles.d/%{name}.conf
 %doc LICENSE
+%{_sysusersdir}/anyterm.conf
 
 %files httpd
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/anyterm.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.3-23
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul  25 2024 Miroslav Suchý <msuchy@redhat.com> - 1.2.3-21
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-20
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git apt/apt.spec apt/apt.spec.tmp
index ce185bed0e..832cbcb703 100644
--- apt/apt.spec
+++ apt/apt.spec.tmp
@@ -9,17 +9,17 @@
 
 # Disable integration tests by default,
 # as there is a bunch of failures on non-Debian systems currently.
 # Additionally, these tests take a long time to run.
 %bcond_with check_integration
 
 Name:           apt
 Version:        2.9.8
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Command-line package manager for Debian packages
 
 License:        GPL-2.0-or-later
 URL:            https://tracker.debian.org/pkg/apt
 Source0:        https://salsa.debian.org/apt-team/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz
 Patch1:         apt_include_cstdint.patch
 
 BuildRequires:  gcc
@@ -64,17 +64,16 @@ BuildRequires:  gnupg, gnupg2
 BuildRequires:  perl(File::FcntlLock)
 BuildRequires:  perl(Digest::SHA)
 BuildRequires:  debhelper >= 9
 # Unbreak running tests in non-interactive terminals
 BuildRequires:  expect
 %endif
 
 # For ensuring the user is created
-Requires(pre):  shadow-utils
 
 # Apt is essentially broken without dpkg
 Requires:       dpkg >= 1.17.14
 
 # To ensure matching apt libs are installed
 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
 
 # These is one optional script in apt that still requires perl, so let's make
@@ -167,16 +166,21 @@ to package management with APT.
     questions before installation.
   * apt-ftparchive is used to create Packages and other index files
     needed to publish an archive of Debian packages
   * apt-sortpkgs is a Packages/Sources file normalizer.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >apt.sysusers.conf <<EOF
+u _apt - 'APT account for owning persistent & cache data' %{_sharedstatedir}/apt -
+EOF
+
 %build
 %cmake -GNinja
 %cmake_build
 
 %install
 %cmake_install
 
 %find_lang %{name}
@@ -203,30 +207,26 @@ cat > %{buildroot}%{_sysconfdir}/logrotate.d/apt <<EOF
   rotate 12
   monthly
   compress
   missingok
   notifempty
 }
 EOF
 
+install -m0644 -D apt.sysusers.conf %{buildroot}%{_sysusersdir}/apt.conf
+
 
 %check
 %ctest
 %if %{with check_integration}
 unbuffer ./test/integration/run-tests -q %{?jobs:-j %{jobs}}
 %endif
 
 # Create the _apt user+group for apt data
-%pre
-getent group _apt >/dev/null || groupadd -r _apt
-getent passwd _apt >/dev/null || \
-    useradd -r -g _apt -d %{_sharedstatedir}/apt -s /sbin/nologin \
-    -c "APT account for owning persistent & cache data" _apt
-exit 0
 
 %ldconfig_scriptlets libs
 
 %files -f %{name}.lang
 %license COPYING*
 %doc README.* AUTHORS
 %{_bindir}/apt
 %{_bindir}/apt-cache
@@ -278,16 +278,17 @@ exit 0
 %{_mandir}/*/apt-secure.*
 %{_mandir}/*/apt-transport-http.*
 %{_mandir}/*/apt-transport-https.*
 %{_mandir}/*/apt-transport-mirror.*
 %{_mandir}/*/apt_auth.*
 %{_mandir}/*/apt_preferences.*
 %{_mandir}/*/sources.list.*
 %doc %{_docdir}/%{name}/*
+%{_sysusersdir}/apt.conf
 
 %files libs -f %{name}-libs.lang
 %license COPYING*
 %{_libdir}/libapt-pkg.so.%{libsomajor}{,.*}
 %{_libdir}/libapt-private.so.%{libprivsomajor}{,.*}
 
 %files doc
 %doc %{_docdir}/%{name}-doc
@@ -310,16 +311,19 @@ exit 0
 %{_mandir}/*/*/apt-ftparchive.*
 %{_mandir}/*/*/apt-sortpkgs.*
 %{_mandir}/*/apt-extracttemplates.*
 %{_mandir}/*/apt-ftparchive.*
 %{_mandir}/*/apt-sortpkgs.*
 %doc %{_docdir}/%{name}-utils
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.9.8-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.8-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 09 2024 Packit <hello@packit.dev> - 2.9.8-1
 - Update to version 2.9.8
 - Resolves: rhbz#2283193
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.2-2
diff --git asterisk/asterisk.spec asterisk/asterisk.spec.tmp
index fdb91abd59..a1a75d5e57 100644
--- asterisk/asterisk.spec
+++ asterisk/asterisk.spec.tmp
@@ -46,17 +46,17 @@
 %global           meetme     0
 %global           ooh323     0
 
 %global           makeargs        DEBUG= OPTIMIZE= DESTDIR=%{buildroot} ASTVARRUNDIR=%{astvarrundir} ASTDATADIR=%{_datadir}/asterisk ASTVARLIBDIR=%{_datadir}/asterisk ASTDBDIR=%{_localstatedir}/spool/asterisk NOISY_BUILD=1
 
 Summary:          The Open Source PBX
 Name:             asterisk
 Version:          18.12.1
-Release:          %{?_rc||?_beta:0.}1%{?_rc:.rc%{_rc}}%{?_beta:.beta%{_beta}}%{?dist}.12
+Release:          %{?_rc||?_beta:0.}1%{?_rc:.rc%{_rc}}%{?_beta:.beta%{_beta}}%{?dist}.13
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:          GPL-2.0-only
 URL:              http://www.asterisk.org/
 
 Source0:          http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-%{version}%{?_rc:-rc%{_rc}}%{?_beta:-beta%{_beta}}.tar.gz
 Source1:          http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-%{version}%{?_rc:-rc%{_rc}}%{?_beta:-beta%{_beta}}.tar.gz.asc
 Source2:          asterisk-logrotate
 Source3:          menuselect.makedeps
@@ -253,18 +253,16 @@ BuildRequires:    jansson-devel
 %else
 Provides:         bundled(jansson) = 2.11
 %endif
 
 # for gpg to be able to verify the signature
 BuildRequires:    libgcrypt
 BuildRequires: make
 
-Requires(pre):    %{_sbindir}/useradd
-Requires(pre):    %{_sbindir}/groupadd
 
 Requires(post):   systemd-units
 Requires(post):   systemd-sysv
 Requires(preun):  systemd-units
 Requires(postun): systemd-units
 
 
 # chan_phone headers no longer in kernel headers
@@ -740,16 +738,21 @@ chmod -x contrib/scripts/dbsep.cgi
 %if ! 0%{ooh323}
 %{__perl} -pi -e 's/^MENUSELECT_ADDONS=(.*)$/MENUSELECT_ADDONS=\1 chan_ooh323/g' menuselect.makeopts
 %endif
 
 %if ! 0%{imap}
 %{__perl} -pi -e 's/^MENUSELECT_APPS=(.*)$/MENUSELECT_APPS=\1 app_voicemail_imap/g' menuselect.makeopts
 %endif
 
+# Create a sysusers.d config file
+cat >asterisk.sysusers.conf <<EOF
+u asterisk - 'Asterisk User' /var/lib/asterisk -
+EOF
+
 %build
 
 export CFLAGS="%{optflags}"
 export CXXFLAGS="%{optflags}"
 export FFLAGS="%{optflags}"
 export LDFLAGS="%{ldflags}"
 export ASTCFLAGS=" "
 
@@ -937,20 +940,18 @@ rm -f %{buildroot}%{_sysconfdir}/asterisk/phone.conf
 rm -f %{buildroot}%{_sysconfdir}/asterisk/xmpp.conf
 rm -f %{buildroot}%{_sysconfdir}/asterisk/motif.conf
 %endif
 
 %if ! 0%{ooh323}
 rm -f %{buildroot}%{_sysconfdir}/asterisk/ooh323.conf
 %endif
 
-%pre
-%{_sbindir}/groupadd -r asterisk &>/dev/null || :
-%{_sbindir}/useradd  -r -s /sbin/nologin -d /var/lib/asterisk -M \
-                               -c 'Asterisk User' -g asterisk asterisk &>/dev/null || :
+install -m0644 -D asterisk.sysusers.conf %{buildroot}%{_sysusersdir}/asterisk.conf
+
 
 %post
 if [ $1 -eq 1 ] ; then
 	/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
 
 %preun
@@ -1368,16 +1369,17 @@ fi
 %attr(0750,asterisk,asterisk) %dir %{_localstatedir}/spool/asterisk/voicemail
 
 %if %{tmpfilesd}
 %attr(0644,root,root) /usr/lib/tmpfiles.d/asterisk.conf
 %endif
 %attr(0755,asterisk,asterisk) %dir %{astvarrundir}
 
 %{_datarootdir}/asterisk/scripts/
+%{_sysusersdir}/asterisk.conf
 
 %files ael
 %attr(0640,asterisk,asterisk) %config(noreplace) %{_sysconfdir}/asterisk/extensions.ael
 %{_sbindir}/aelparse
 #%%{_sbindir}/conf2ael
 %{_libdir}/asterisk/modules/pbx_ael.so
 %{_libdir}/asterisk/modules/res_ael_share.so
 
@@ -1690,16 +1692,19 @@ fi
 %files xmpp
 %attr(0640,asterisk,asterisk) %config(noreplace) %{_sysconfdir}/asterisk/motif.conf
 %attr(0640,asterisk,asterisk) %config(noreplace) %{_sysconfdir}/asterisk/xmpp.conf
 %{_libdir}/asterisk/modules/chan_motif.so
 %{_libdir}/asterisk/modules/res_xmpp.so
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 18.12.1-1.13
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 18.12.1-1.12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Nov 24 2024 Zhengyu He <hezhy472013@gmail.com> - 18.12.1-1.11
 - Do not use -m32/-m64 on riscv64
 - Fix pjproject build failure on RISC-V
 
 * Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 18.12.1-1.10
diff --git autossh/autossh.spec autossh/autossh.spec.tmp
index 28f8096dd5..40c82a6814 100644
--- autossh/autossh.spec
+++ autossh/autossh.spec.tmp
@@ -1,36 +1,40 @@
 Summary: Utility to autorestart SSH tunnels
 Name: autossh
 Version: 1.4g
-Release: 17%{?dist}
+Release: 18%{?dist}
 # Automatically converted from old format: BSD - review is highly recommended.
 License: LicenseRef-Callaway-BSD
 URL: https://www.harding.motd.ca/autossh/
 Source0: https://www.harding.motd.ca/autossh/autossh-1.4g.tgz
 Source1: autossh@.service
 Source2: README.service
 Patch0: autossh-configure-c99.patch
 BuildRequires:  gcc
 BuildRequires: /usr/bin/ssh
 BuildRequires: systemd
 BuildRequires: make
 %{?systemd_requires}
-Requires(pre): shadow-utils
 Requires: /usr/bin/ssh
 
 %description
 autossh is a utility to start and monitor an ssh tunnel. If the tunnel
 dies or stops passing traffic, autossh will automatically restart it.
 
 %prep
 %setup -q
 %patch -P0 -p1
 cp -p %{SOURCE2} .
 
+# Create a sysusers.d config file
+cat >autossh.sysusers.conf <<EOF
+u autossh - 'autossh service account' %{_sysconfdir}/autossh -
+EOF
+
 %build
 %configure
 make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
@@ -42,22 +46,18 @@ mkdir -p examples
 cp -p autossh.host rscreen examples
 chmod 0644 examples/*
 
 install -m 0755 -p autossh $RPM_BUILD_ROOT%{_bindir}
 cp -p autossh.1 $RPM_BUILD_ROOT%{_mandir}/man1
 
 install -m 0644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}
 
-%pre
-getent group autossh >/dev/null || groupadd -r autossh
-getent passwd autossh >/dev/null || \
-    useradd -r -g autossh -d %{_sysconfdir}/autossh -s %{_sbindir}/nologin \
-    -c "autossh service account" autossh
-exit 0
+install -m0644 -D autossh.sysusers.conf %{buildroot}%{_sysusersdir}/autossh.conf
+
 
 %post
 %systemd_post autossh@.service
 
 %preun
 # https://bugzilla.redhat.com/1996234
 if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ]; then
     # Package removal, not upgrade
@@ -75,18 +75,22 @@ fi
 
 %files
 %doc CHANGES README README.service
 %doc examples
 %{_bindir}/*
 %attr(750,autossh,autossh) %dir %{_sysconfdir}/autossh/
 %{_mandir}/man1/*
 %{_unitdir}/*
+%{_sysusersdir}/autossh.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4g-18
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4g-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 1.4g-16
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4g-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git BackupPC/BackupPC.spec BackupPC/BackupPC.spec.tmp
index f8d5846117..6313c709cd 100644
--- BackupPC/BackupPC.spec
+++ BackupPC/BackupPC.spec.tmp
@@ -5,17 +5,17 @@
 %global _with_tmpfilesd 1
 %global _with_systemd 1
 %endif
 
 %global _updatedb_conf /etc/updatedb.conf
 
 Name:           BackupPC
 Version:        4.4.0
-Release:        18%{?dist}
+Release:        19%{?dist}
 Summary:        High-performance backup system
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://backuppc.github.io/backuppc/index.html
 Source0:        https://github.com/backuppc/backuppc/releases/download/%{version}/%{name}-%{version}.tar.gz
 Source1:        BackupPC.htaccess
 Source2:        BackupPC.logrotate
@@ -74,17 +74,16 @@ Requires:       par2cmdline
 %endif
 Requires:       rrdtool
 Requires:       rsync-bpc >= 3.0.9.6
 Requires:       perl(BackupPC::XS) >= 0.53
 Requires:       perl-Time-modules
 Requires:       samba-client
 Requires:       %{_sbindir}/sendmail
 
-Requires(pre):  shadow-utils
 %if 0%{?_with_systemd}
 Requires(post): shadow-utils
 %{?systemd_requires}
 %else
 Requires(preun): initscripts chkconfig
 Requires(post): initscripts chkconfig shadow-utils
 Requires(postun): initscripts
 %endif
@@ -155,16 +154,21 @@ EOF
 popd
 
 # attempt to unbundle as much as possible
 for m in Net/FTP; do
   rm -rf lib/$m
   sed -i "\@lib/$m@d" configure.pl 
 done
 
+# Create a sysusers.d config file
+cat >backuppc.sysusers.conf <<EOF
+u backuppc - - %{_localstatedir}/lib/%{name} -
+EOF
+
 
 %build
 # Build C wrapper
 gcc -o BackupPC_Admin BackupPC_Admin.c %{optflags}
 
 # SElinux 
 pushd selinux
 make -f %{_datadir}/selinux/devel/Makefile
@@ -236,19 +240,19 @@ mkdir -p %{buildroot}%{_datadir}/%{name}/sbin
 mv %{buildroot}%{_libexecdir}/%{name}/BackupPC_Admin \
    %{buildroot}%{_datadir}/%{name}/sbin/BackupPC_Admin
 install -pm 0755 BackupPC_Admin %{buildroot}%{_libexecdir}/%{name}/
 
 # SElinux 
 mkdir -p %{buildroot}%{_datadir}/selinux/packages/%{name}
 install -m 0644 selinux/%{name}.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}.pp
 
+install -m0644 -D backuppc.sysusers.conf %{buildroot}%{_sysusersdir}/backuppc.conf
+
 
-%pre
-%{_sbindir}/useradd -d %{_localstatedir}/lib/%{name} -r -s /sbin/nologin backuppc 2> /dev/null || :
 
 %preun
 %if 0%{?_with_systemd}
 %systemd_preun backuppc.service
 %else
 if [ $1 = 0 ]; then
   # Package removal, not upgrade
   service backuppc stop > /dev/null 2>&1 || :
@@ -324,19 +328,23 @@ fi
 %{_unitdir}/backuppc.service
 %else
 %attr(0755,root,root) %{_initrddir}/backuppc
 %endif
 
 %attr(4750,backuppc,apache) %{_libexecdir}/%{name}/BackupPC_Admin
 %attr(-,backuppc,root) %{_localstatedir}/lib/%{name}/
 %{_datadir}/selinux/packages/%{name}/%{name}.pp
+%{_sysusersdir}/backuppc.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.4.0-19
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 4.4.0-16
 - convert license to SPDX
diff --git bacula/bacula.spec bacula/bacula.spec.tmp
index 04d430c457..b165aaf82d 100644
--- bacula/bacula.spec
+++ bacula/bacula.spec.tmp
@@ -8,17 +8,17 @@
 # RHEL 10 has only Qt 6.  EPEL 10 will have Qt 5 to start, but not
 # necessarily for its entire lifetime.
 %if !(0%{?rhel} >= 10 || 0%{?epel} >= 11)
 %bcond_without qt
 %endif
 
 Name:               bacula
 Version:            15.0.2
-Release:            3%{?dist}
+Release:            4%{?dist}
 Summary:            Cross platform network backup for Linux, Unix, Mac and Windows
 # See LICENSE for details
 # See https://gitlab.com/fedora/legal/fedora-license-data/-/issues/277
 License:            LicenseRef-Bacula
 URL:                http://www.bacula.org
 
 # AGPL-3.0-only with exceptions
 Source0:            http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
@@ -129,17 +129,16 @@ This package contains the SQL Bacula libraries, which are used by Director and
 Storage daemons. You have to select your preferred catalog library through the
 alternatives system.
 
 %package common
 Summary:            Common Bacula files
 Provides:           group(%username) = %uid
 Provides:           user(%username) = %uid
 Requires:           bacula-libs%{?_isa} = %{version}-%{release}
-Requires(pre):      shadow-utils
 Requires(postun):   shadow-utils
 
 %description common
 Bacula is a set of programs that allow you to manage the backup, recovery, and
 verification of computer data across a network of different computers. It is
 based on a client/server architecture.
 
 This package contains files common to all Bacula daemons.
@@ -286,16 +285,21 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} .
 pushd autoconf
 aclocal -I bacula-macros/ -I gettext-macros/ -I libtool/
 popd
 autoconf -I autoconf/ -o configure autoconf/configure.in
 
 # Remove execution permissions from files we're packaging as docs later on
 find updatedb -type f | xargs chmod -x
 
+# Create a sysusers.d config file
+cat >bacula.sysusers.conf <<EOF
+u bacula %uid 'Bacula Backup System' /var/spool/bacula -
+EOF
+
 %build
 # Set correct build options for libs3 if not on EL10+ or Fedora:
 %if 0%{?rhel} < 10
 %set_build_flags
 export CFLAGS="%{optflags} -fPIC"
 export CXXFLAGS="%{optflags} -fPIC"
 %endif
 
@@ -431,16 +435,18 @@ rm -f %{buildroot}%{_libdir}/*.la
 rm -f %{buildroot}%{_datadir}/bacula/{ChangeLog,INSTALL,LICENSE*,README,ReleaseNotes,VERIFYING,technotes}
 
 # Fix up some perms so rpmlint does not complain too much
 chmod 755 %{buildroot}%{_sbindir}/*
 chmod 755 %{buildroot}%{_libdir}/%{name}/*
 chmod 755 %{buildroot}%{_libexecdir}/bacula/*
 chmod 644 %{buildroot}%{_libexecdir}/bacula/btraceback.*
 
+install -m0644 -D bacula.sysusers.conf %{buildroot}%{_sysusersdir}/bacula.conf
+
 %post libs-sql
 /usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-mysql.so 50
 /usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-sqlite3.so 40
 /usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-postgresql.so 60
 
 # Fix for automatic selection of backends during upgrades
 if readlink /etc/alternatives/libbaccats.so | grep --silent mysql || \
     readlink /etc/alternatives/bacula-dir | grep --silent mysql || \
@@ -456,21 +462,16 @@ fi
 
 %preun libs-sql
 if [ "$1" = 0 ]; then
     /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-mysql.so
     /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-sqlite3.so
     /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-postgresql.so
 fi
 
-%pre common
-getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || :
-getent passwd %username >/dev/null || useradd -u %uid -r -s /sbin/nologin \
-    -d /var/spool/bacula -M -c 'Bacula Backup System' -g %username %username &>/dev/null || :
-exit 0
 
 %post common
 %firewalld_reload
 
 %post client
 %systemd_post %{name}-fd.service
 
 %preun client
@@ -529,16 +530,17 @@ exit 0
 %{_libexecdir}/%{name}/btraceback.dbx
 %{_libexecdir}/%{name}/btraceback.gdb
 %{_libexecdir}/%{name}/bacula_config
 %{_libexecdir}/%{name}/btraceback.mdb
 %{_mandir}/man8/btraceback.8*
 %{_prefix}/lib/firewalld/services/bacula-director.xml
 %{_prefix}/lib/firewalld/services/bacula-storage.xml
 %{_sbindir}/btraceback
+%{_sysusersdir}/bacula.conf
 
 %files director
 %doc updatedb examples/sample-query.sql
 %config(noreplace) %{_sysconfdir}/bacula/bacula-dir.conf %attr(640,root,bacula)
 %config(noreplace) %{_sysconfdir}/bacula/query.sql %attr(640,root,bacula)
 %config(noreplace) %{_sysconfdir}/sysconfig/bacula-dir
 %{_libdir}/%{name}/ldap-dir.so
 %{_libexecdir}/%{name}/create_bacula_database
@@ -671,16 +673,19 @@ exit 0
 %{_libdir}/libbacfind.so
 %{_libdir}/libbacsd.so
 %{_libdir}/libbacsql.so
 
 %files -n nagios-plugins-bacula
 %{_libdir}/nagios/plugins/check_bacula
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 15.0.2-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sun Jun 02 2024 Simone Caronni <negativo17@gmail.com> - 15.0.2-1
 - Update to 15.0.2.
diff --git barman/barman.spec barman/barman.spec.tmp
index db4e1e3c2f..bde85fc8d2 100644
--- barman/barman.spec
+++ barman/barman.spec.tmp
@@ -1,27 +1,26 @@
 Name:       barman
 Version:    3.12.1
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Backup and Recovery Manager for PostgreSQL
 License:    GPL-3.0-only
 URL:        http://www.pgbarman.org/
 BuildArch:  noarch
 
 Source0:    https://files.pythonhosted.org/packages/source/b/%{name}/%{name}-%{version}.tar.gz
 Source1:    %{name}.cron
 Source2:    %{name}.logrotate
 
 BuildRequires:  python3-devel
 BuildRequires:  python3-setuptools
 
 # https://docs.fedoraproject.org/en-US/packaging-guidelines/CronFiles/#_cron_job_files_packaging:
 Requires:       cronie
 Requires:       logrotate
-Requires(pre):  shadow-utils
 Requires:       rsync >= 3.0.4
 Requires:       %{py3_dist argcomplete}
 Requires:       %{py3_dist barman}
 
 %description
 Barman (Backup and Recovery Manager) is an open-source administration tool for
 disaster recovery of PostgreSQL servers written in Python.
 
@@ -47,16 +46,21 @@ Python libraries used by Barman.
 %autosetup
 
 # Change shebang in all relevant executable files in this directory and all subdirectories
 find -type f -executable -exec sed -i '1s=^#!/usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +
 
 %generate_buildrequires
 %pyproject_buildrequires
 
+# Create a sysusers.d config file
+cat >barman.sysusers.conf <<EOF
+u barman - 'Backup and Recovery Manager for PostgreSQL' %{_sharedstatedir}/%{name} /bin/bash
+EOF
+
 %build
 %pyproject_wheel
 
 %install
 %pyproject_install
 %pyproject_save_files -l %{name}
 
 mkdir -p %{buildroot}%{_sysconfdir}/%{name}/conf.d
@@ -69,28 +73,31 @@ mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/
 install -p -m 644 docs/%{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
 install -p -m 644 docs/%{name}.d/* %{buildroot}%{_sysconfdir}/%{name}/conf.d
 install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/cron.d/%{name}
 install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 install -p -m 644 scripts/%{name}.bash_completion %{buildroot}%{_datadir}/bash-completion/completions/%{name}
 
 sed -i 's|/etc/%{name}.d|/etc/%{name}/conf.d|g' %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
 
+install -m0644 -D barman.sysusers.conf %{buildroot}%{_sysusersdir}/barman.conf
+
 %files
 %{_bindir}/%{name}
 %{_datadir}/bash-completion/completions/%{name}
 %{_mandir}/man1/%{name}.1*
 %{_mandir}/man5/%{name}.5*
 %dir %{_sysconfdir}/%{name}/
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/%{name}/conf.d/
 %config(noreplace) %{_sysconfdir}/cron.d/%{name}
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %attr(700,%{name},%{name}) %dir %{_sharedstatedir}/%{name}
 %attr(755,%{name},%{name}) %dir %{_localstatedir}/log/%{name}
+%{_sysusersdir}/barman.conf
 
 %files cli
 %{_bindir}/%{name}-cloud-backup
 %{_bindir}/%{name}-cloud-backup-delete
 %{_bindir}/%{name}-cloud-backup-keep
 %{_bindir}/%{name}-cloud-backup-list
 %{_bindir}/%{name}-cloud-backup-show
 %{_bindir}/%{name}-cloud-check-wal-archive
@@ -141,24 +148,21 @@ sed -i 's|/etc/%{name}.d|/etc/%{name}/conf.d|g' %{buildroot}%{_sysconfdir}/%{nam
 %{_mandir}/man1/%{name}-verify-backup.1*
 %{_mandir}/man1/%{name}-wal-archive.1*
 %{_mandir}/man1/%{name}-wal-restore.1*
 
 %files -n python3-%{name} -f %{pyproject_files}
 %license LICENSE
 %doc AUTHORS README.rst RELNOTES.md
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /bin/bash \
-    -c "Backup and Recovery Manager for PostgreSQL" %{name}
-exit 0
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 27 2024 Simone Caronni <negativo17@gmail.com> - 3.12.1-1
 - Update to 3.12.1.
 - Switch to Python packaging guidelines.
 - Trim changelog.
 
diff --git beanstalkd/beanstalkd.spec beanstalkd/beanstalkd.spec.tmp
index b2bec7eb2a..5d9b7250c3 100644
--- beanstalkd/beanstalkd.spec
+++ beanstalkd/beanstalkd.spec.tmp
@@ -2,46 +2,51 @@
 
 %define beanstalkd_user      beanstalkd
 %define beanstalkd_group     %{beanstalkd_user}
 %define beanstalkd_home      %{_localstatedir}/lib/beanstalkd
 %define beanstalkd_binlogdir %{beanstalkd_home}/binlog
 
 Name:           beanstalkd
 Version:        1.10
-Release:        24%{?dist}
+Release:        25%{?dist}
 Summary:        A simple, fast work-queue service
 
 License:        MIT
 URL:            http://kr.github.io/%{name}/
 Source0:        https://github.com/kr/%{name}/archive/v%{version}.tar.gz
 Source1:        %{name}.service
 Source2:        %{name}.sysconfig
 
 Patch1:         beanstalkd-1.10-warnings.patch
 Patch2:         beanstalkd-1.10-mkdtemp.patch
 
 BuildRequires:  systemd gcc gcc-c++
 BuildRequires: make
 
-Requires(pre):    shadow-utils
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 
 %description
 beanstalkd is a simple, fast work-queue service. Its interface is generic,
 but was originally designed for reducing the latency of page views in
 high-volume web applications by running most time-consuming tasks
 asynchronously.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >beanstalkd.sysusers.conf <<EOF
+g beanstalkd -
+u beanstalkd - 'beanstalkd user' %{beanstalkd_home} -
+EOF
+
 
 %build
 make LDFLAGS="%{?__global_ldflags}" CFLAGS="%{optflags}" %{?_smp_mflags}
 
 
 %check
 make check
 
@@ -50,23 +55,19 @@ make check
 make install PREFIX=%{buildroot}%{_prefix}
 %{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
 %{__install} -d -m 0755 %{buildroot}%{beanstalkd_home}
 %{__install} -d -m 0755 %{buildroot}%{beanstalkd_binlogdir}
 %{__install} -d -m 00755 %{buildroot}%{_mandir}/man1
 %{__install} -p -m 0644 doc/%{name}.1 %{buildroot}%{_mandir}/man1/
 
+install -m0644 -D beanstalkd.sysusers.conf %{buildroot}%{_sysusersdir}/beanstalkd.conf
+
 
-%pre
-getent group %{beanstalkd_group} >/dev/null || groupadd -r %{beanstalkd_group}
-getent passwd %{beanstalkd_user} >/dev/null || \
-    useradd -r -g %{beanstalkd_user} -d %{beanstalkd_home} -s /sbin/nologin \
-    -c "beanstalkd user" %{beanstalkd_user}
-exit 0
 
 
 %post
 # make the binlog dir after installation, this is so SELinux does not complain
 # about the init script creating the binlog directory
 # See RhBug 558310
 if [ -d %{beanstalkd_home} ]; then
     %{__install} -d %{beanstalkd_binlogdir} -m 0755 \
@@ -88,19 +89,23 @@ fi
 %doc README doc/protocol.txt
 %license LICENSE
 %{_unitdir}/%{name}.service
 %{_bindir}/%{name}
 %{_mandir}/man1/%{name}.1*
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %attr(0755,%{beanstalkd_user},%{beanstalkd_group}) %dir %{beanstalkd_home}
 %ghost %attr(0755,%{beanstalkd_user},%{beanstalkd_group}) %dir %{beanstalkd_binlogdir}
+%{_sysusersdir}/beanstalkd.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.10-25
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-24
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git beep/beep.spec beep/beep.spec.tmp
index 8c040d1bcc..84ce4914f5 100644
--- beep/beep.spec
+++ beep/beep.spec.tmp
@@ -56,17 +56,16 @@ BuildRequires:  make
 # While the kernel supports more speaker drivers, the only hardware
 # platforms with a speaker driver supported by Fedora use pcspkr.ko
 # (PCSPKR_PLATFORM in the kernel config).
 #
 # Recommends:     kmod(pcspkr.ko)
 # Recommends:     (kernel-modules-extras if kernel-modules)
 # Recommends:     (kernel-debug-modules-extras if kernel-debug-modules)
 
-Requires(pre):  shadow-utils
 
 # /etc/modprobe.d/
 Requires:       kmod
 
 # /etc/udev/rules.d/  and  /usr/lib/udev/rules.d/
 %{?el7:Requires:  systemd}
 %{!?el7:Requires: systemd-udev}
 
@@ -79,16 +78,21 @@ of use is within scripts, notifying the user when something
 interesting occurs. Of course, it has no notion of what is
 interesting, but it is really good at the notifying part.
 
 
 %prep
 %setup -q
 sed -i 's|^\.\\" \(\.BR .*\)README.Distro\(.*\)|\1README.fedora\2|' beep.1.in && : #"
 
+# Create a sysusers.d config file
+cat >beep.sysusers.conf <<EOF
+g beep -
+EOF
+
 
 %build
 if test "x%{build_cppflags}" = "x%%{build_cppflags}"; then
    BUILD_CPPFLAGS=""
 else
    BUILD_CPPFLAGS="%{build_cppflags}"
 fi
 cat>local.mk<<EOF
@@ -119,20 +123,19 @@ install -p -m 0644 "%{SOURCE1}" "%{buildroot}%{_pkgdocdir}/README.fedora"
 
 install -d -m 0755              "%{buildroot}%{_sysconfdir}/modprobe.d/"
 install -p -m 0644 "%{SOURCE4}" "%{buildroot}%{_sysconfdir}/modprobe.d/beep.conf"
 
 install -d -m 0755              "%{buildroot}%{_udevrulesdir}/"
 install -p -m 0644 "%{SOURCE2}" "%{buildroot}%{_udevrulesdir}/"
 install -p -m 0644 "%{SOURCE3}" "%{buildroot}%{_udevrulesdir}/"
 
+install -m0644 -D beep.sysusers.conf %{buildroot}%{_sysusersdir}/beep.conf
+
 
-%pre
-getent group beep >/dev/null || groupadd -r beep
-exit 0
 
 
 %files
 %license %{_pkgdocdir}/COPYING
 %doc %{_pkgdocdir}/CREDITS.md
 %doc %{_pkgdocdir}/NEWS.md
 %doc %{_pkgdocdir}/PERMISSIONS.md
 %doc %{_pkgdocdir}/README.fedora
@@ -141,12 +144,13 @@ exit 0
 %doc %{_pkgdocdir}/contrib/morse2beep.pl
 %doc %{_pkgdocdir}/contrib/morse2beep.sed
 %doc %{_pkgdocdir}/contrib/success-beeps
 %{_bindir}/beep
 %{_mandir}/man1/beep.1*
 %config(noreplace) %{_sysconfdir}/modprobe.d/beep.conf
 %{_udevrulesdir}/70-pcspkr-beep.rules
 %{_udevrulesdir}/90-pcspkr-beep.rules
+%{_sysusersdir}/beep.conf
 
 
 %changelog
 %autochangelog
diff --git bitcoin-core/bitcoin-core.spec bitcoin-core/bitcoin-core.spec.tmp
index 112cc02d2b..be890f90b5 100644
--- bitcoin-core/bitcoin-core.spec
+++ bitcoin-core/bitcoin-core.spec.tmp
@@ -1,17 +1,17 @@
 %define _hardened_build 1
 %global _compldir %{_datadir}/bash-completion/completions
 %global project_name bitcoin
 
 %bcond_with extended_tests
 
 Name:       bitcoin-core
 Version:    28.1
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Peer to Peer Cryptographic Currency
 License:    MIT
 URL:        https://bitcoincore.org/
 
 # In .gitignore, so no chance to commit to SCM:
 Source0:    https://bitcoincore.org/bin/bitcoin-core-%{version}/%{project_name}-%{version}.tar.gz
 Source1:    https://bitcoincore.org/bin/bitcoin-core-%{version}/SHA256SUMS.asc
 Source2:    https://bitcoincore.org/bin/bitcoin-core-%{version}/SHA256SUMS
@@ -120,17 +120,16 @@ out collectively by the network.
 
 This package provides bitcoin-cli, a utility to communicate with and
 control a Bitcoin server via its RPC protocol, and bitcoin-tx, a utility
 to create custom Bitcoin transactions.
 
 %package server
 Summary:        Peer-to-peer digital currency
 Conflicts:      bitcoin-server
-Requires(pre):  shadow-utils
 Requires:       (%{name}-selinux if selinux-policy)
 Provides:       bundled(leveldb) = 1.22.0
 Provides:       bundled(libdb) = 4.8.30.NC
 Provides:       bundled(secp256k1) = 0.1
 Provides:       bundled(univalue) = 1.1.3
 
 %description server
 This package provides a stand-alone bitcoin-core daemon. For most users, this
@@ -164,16 +163,21 @@ patch -d db4 -p1 -i %{SOURCE16}
 patch -d db4 -p1 -i %{SOURCE17}
 # Avoid any modification timestamp based regeneration of the configure
 # script due to patching above:
 touch -r db4/dist/configure db4/dist/configure.ac db4/dist/aclocal/*.m4
 
 # Documentation (sources can not be directly reference with doc)
 cp -p %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} .
 
+# Create a sysusers.d config file
+cat >bitcoin-core.sysusers.conf <<EOF
+u bitcoin - 'Bitcoin wallet server' /var/lib/%{project_name} -
+EOF
+
 %build
 # Build static Berkeley DB reusing all compiler flags / hardening:
 pushd db4/build_unix
 
 %define _configure ../dist/configure
 %configure \
     --disable-shared \
     --enable-cxx \
@@ -245,30 +249,26 @@ install -D -m644 -p contrib/completions/bash/%{project_name}d.bash %{buildroot}%
 mkdir -p %{buildroot}%{_localstatedir}/log/%{project_name}/
 
 # AppStream metadata
 install -p -m 644 -D %{SOURCE18} %{buildroot}%{_metainfodir}/%{project_name}-qt.metainfo.xml
 
 # Remove test files so that they aren't shipped. Tests have already been run.
 rm -f %{buildroot}%{_bindir}/test_*
 
+install -m0644 -D bitcoin-core.sysusers.conf %{buildroot}%{_sysusersdir}/bitcoin-core.conf
+
 %check
 desktop-file-validate %{buildroot}%{_datadir}/applications/%{project_name}-qt.desktop
 appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{project_name}-qt.metainfo.xml
 make check
 %if %{with extended_tests}
 test/functional/test_runner.py --tmpdirprefix `pwd` --extended
 %endif
 
-%pre server
-getent group %{project_name} >/dev/null || groupadd -r %{project_name}
-getent passwd %{project_name} >/dev/null ||
-    useradd -r -g %{project_name} -d /var/lib/%{project_name} -s /sbin/nologin \
-    -c "Bitcoin wallet server" %{project_name}
-exit 0
 
 %post server
 %systemd_post %{project_name}.service
 
 %preun server
 %systemd_preun %{project_name}.service
 
 %postun server
@@ -315,18 +315,22 @@ exit 0
 %ghost %{_rundir}/%{project_name}.pid
 %config(noreplace) %attr(644,root,root) %{_sysconfdir}/sysconfig/%{project_name}
 %{_compldir}/%{project_name}d
 %{_mandir}/man1/%{project_name}d.1*
 %{_sbindir}/%{project_name}d
 %{_tmpfilesdir}/%{project_name}.conf
 %{_unitdir}/%{project_name}.service
 %{_userunitdir}/%{project_name}.service
+%{_sysusersdir}/bitcoin-core.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 28.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 28.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jan 11 2025 Simone Caronni <negativo17@gmail.com> - 28.1-1
 - Update to 28.1.
 
 * Sat Jan 11 2025 Simone Caronni <negativo17@gmail.com> - 28.0-4
 - Enable Statically Defined Tracing (USDT).
diff --git boinc-client/boinc-client.spec boinc-client/boinc-client.spec.tmp
index d76ee881ff..ed44f90626 100644
--- boinc-client/boinc-client.spec
+++ boinc-client/boinc-client.spec.tmp
@@ -13,17 +13,17 @@
 #
 # Do not move the %%global foo block of code in the upper part of the spec
 # file, otherwise it will not work because it will try to read macros not
 # yet defined like %%{version}
 
 Summary:       The BOINC client
 Name:          boinc-client
 Version:       8.0.2
-Release:       2%{?dist}
+Release:       3%{?dist}
 # Automatically converted from old format: LGPLv2+ - review is highly recommended.
 License:       LicenseRef-Callaway-LGPLv2+
 URL:           http://boinc.berkeley.edu/
 
 %global major_version %(v=%{version}; echo ${v:0:3})
 %global commit c0b8b6fd37687aa1b93102129a054837b84cc032
 %global gittag client_release/%{major_version}/%{version}
 # gittag_custom is needed in %%setup process because tar.gz unpacks a folder
@@ -54,17 +54,16 @@ Patch1:        disable_idle_time_detection.patch
 # and unmerged later
 #Patch4:        manager_exit_menu_entry_removal.patch
 
 
 Requires:         logrotate
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
-Requires(pre):    shadow-utils
 
 BuildRequires: curl-devel
 %if 0%{?el7}
 BuildRequires: devtoolset-7-toolchain
 BuildRequires: devtoolset-7-libatomic-devel
 %endif
 BuildRequires: freeglut-devel
 BuildRequires: gcc-c++
@@ -170,16 +169,21 @@ for file in $(ls | grep checkin_notes_20); do
     mv ${file}.utf8 ${file}
 done
 
 # Fix file permissions
 for file in $(ls clientgui | grep .cpp$ ) $(ls clientgui | grep .h$ ); do 
     chmod 644 clientgui/${file}
 done
 
+# Create a sysusers.d config file
+cat >boinc-client.sysusers.conf <<EOF
+u boinc - 'BOINC client account.' %{_localstatedir}/lib/boinc -
+EOF
+
 %build
 %if 0%{?el7}
 . /opt/rh/devtoolset-7/enable
 %endif
 
 %ifarch %{ix86}
 %global boinc_platform i686-pc-linux-gnu
 %endif
@@ -256,24 +260,18 @@ install -p -m644 packages/generic/sea/boincmgr.48x48.png $RPM_BUILD_ROOT%{_datad
 install -p -m644 %{SOURCE5} $RPM_BUILD_ROOT%{_metainfodir}/edu.berkeley.BOINC.metainfo.xml
 
 %find_lang BOINC-Manager
 %find_lang BOINC-Client
 
 # bash-completion
 install -p -m644 client/scripts/boinc.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/boinc-client
 
-%pre
+install -m0644 -D boinc-client.sysusers.conf %{buildroot}%{_sysusersdir}/boinc-client.conf
 
-# Create BOINC user and group
-getent group boinc >/dev/null || groupadd -r boinc
-getent passwd boinc >/dev/null || \
-useradd -r -g boinc -d %{_localstatedir}/lib/boinc -s /sbin/nologin \
-    -c "BOINC client account." boinc
-exit 0
 
 %post
 %{?ldconfig}
 %systemd_post boinc-client.service
 
 %preun
 %systemd_preun boinc-client.service
 
@@ -305,16 +303,17 @@ fi
 %{_mandir}/man1/boinccmd.1.gz
 %{_mandir}/man1/boinc.1.gz
 %{_libdir}/*.so.*
 %config(noreplace) %{_sysconfdir}/logrotate.d/boinc-client
 %config(noreplace) %{_sysconfdir}/bash_completion.d/boinc-client
 %attr(-,boinc,boinc) %{_localstatedir}/lib/boinc/
 %{_sysconfdir}/X11/Xsession.d/36x11-common_xhost-boinc
 %{_sysconfdir}/boinc-client/config.properties
+%{_sysusersdir}/boinc-client.conf
 
 
 %files doc
 %doc checkin_notes checkin_notes_*
 
 %files -n boinc-manager -f BOINC-Manager.lang
 %{_bindir}/boincmgr
 %{_bindir}/boincscr
@@ -340,16 +339,19 @@ fi
 %{_includedir}/boinc
 %{_libdir}/pkgconfig/libboinc.pc
 %{_libdir}/pkgconfig/libboinc_api.pc
 %{_libdir}/pkgconfig/libboinc_crypt.pc
 %{_libdir}/pkgconfig/libboinc_graphics2.pc
 %{_libdir}/pkgconfig/libboinc_opencl.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.0.2-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jan 10 2025 Germano Massullo <germano.massullo@gmail.com> - 8.0.2-1
 - 8.0.2 release
 - Erased obsolete patches
 
 * Sun Jan 05 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 7.20.2-12
diff --git buildbot/buildbot.spec buildbot/buildbot.spec.tmp
index c3bfff4f8e..3e275f823c 100644
--- buildbot/buildbot.spec
+++ buildbot/buildbot.spec.tmp
@@ -16,17 +16,17 @@
 # Required client packages don't exist in RHEL or EPEL
 %bcond_with openstack
 %else
 %bcond_without openstack
 %endif
 
 Name:           buildbot
 Version:        4.2.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 
 Summary:        Build/test automation system
 License:        GPL-2.0-only
 URL:            https://buildbot.net
 Source0:        %{pypi_source buildbot}
 Source1:        %{pypi_source buildbot_worker}
 Source2:        %{pypi_source buildbot_www}
 Source3:        %{pypi_source buildbot_waterfall_view}
@@ -117,38 +117,31 @@ inconvenienced by the failure.
 
 %files
 # Empty because metapackage
 
 # ---------------------------------------------------------------------
 
 %package master
 Summary:        Build/test automation system master
-Requires(pre):  shadow-utils
 Recommends:     %{name}-www = %{version}-%{release}
 %if ! %{with docs}
 Obsoletes:      %{name}-doc < %{version}-%{release}
 %endif
 
 %description master
 The BuildBot is a system to automate the compile/test cycle required by
 most software projects to validate code changes. By automatically
 rebuilding and testing the tree each time something has changed, build
 problems are pinpointed quickly, before other developers are
 inconvenienced by the failure.
 
 This package contains only the buildmaster implementation.
 The buildbot-worker package contains the buildworker.
 
-%pre master
-getent group buildbot-master >/dev/null || groupadd -r buildbot-master
-getent passwd buildbot-master >/dev/null || \
-    useradd -r -g buildbot-master -d %{_sharedstatedir}/buildbot/master -s /sbin/nologin \
-    -c "Service account for the Buildbot master" buildbot-master
-exit 0
 
 %post master
 for master in $(systemctl list-units 'buildbot-master@*.service' --all --plain --no-legend | cut -d '@' -f 2 | cut -d '.' -f 1); do
   systemctl stop buildbot-master@"$master".service
   su - buildbot-master -s /bin/bash -c "buildbot upgrade-master /var/lib/buildbot/master/$master"
   systemctl start buildbot-master@"$master".service
 done
 
@@ -159,16 +152,17 @@ done
 %{_mandir}/man1/buildbot.1*
 %{python3_sitelib}/buildbot/
 %{python3_sitelib}/buildbot-*egg-info/
 %dir %{_sharedstatedir}/buildbot
 %dir %attr(-, buildbot-master, buildbot-master) %{_sharedstatedir}/buildbot/master
 %{_unitdir}/buildbot-master@.service
 
 # ---------------------------------------------------------------------
+%{_sysusersdir}/buildbot.conf
 
 %if %{with ec2}
 %package master-ec2
 Summary:        Build/test automation system master -- AWS EC2 support
 Requires:       %{name}-master = %{version}-%{release}
 Requires:       python%{python3_version}dist(boto3)
 
 %description master-ec2
@@ -250,17 +244,16 @@ worker support.
 %files master-openstack
 # Empty because metapackage
 %endif
 
 # ---------------------------------------------------------------------
 
 %package worker
 Summary:        Build/test automation system worker
-Requires(pre):  shadow-utils
 %if ! %{with docs}
 Obsoletes:      %{name}-doc < %{version}-%{release}
 %endif
 
 %description worker
 This package contains only the buildworker implementation.
 The buildbot-master package contains the buildmaster.
 
@@ -326,16 +319,21 @@ Summary:        Buildbot documentation
 
 # ---------------------------------------------------------------------
 
 %prep
 %setup -q -b0 -b1 -b2 -b3 -b4 -b5 -b6 -b7 -b8
 cd ..
 cd buildbot_worker-%{version}
 
+# Create a sysusers.d config file
+cat >buildbot.sysusers.conf <<EOF
+u buildbot-master - 'Service account for the Buildbot master' %{_sharedstatedir}/buildbot/master -
+EOF
+
 %build
 %py3_build
 
 %if %{with docs}
 #TODO create API documentation
 pushd docs
 make docs.tgz VERSION="%{version}" SPHINXBUILD=sphinx-build-3
 popd
@@ -394,23 +392,28 @@ popd
 # Purge windows-only files
 rm -vf %{buildroot}%{_bindir}/*windows*
 
 # Install systemd units
 mkdir -p %{buildroot}%{_unitdir}
 cp -a %{S:10} %{S:11} %{buildroot}%{_unitdir}
 mkdir -p %{buildroot}%{_sharedstatedir}/buildbot/{master,worker}
 
+install -m0644 -D buildbot.sysusers.conf %{buildroot}%{_sysusersdir}/buildbot.conf
+
 
 %if %{with check}
 %check
 trial buildbot.test
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.2.1-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 15 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.2.1-2
 - Rebuilt to drop hard requires on groups (rhbz#2338295)
 
 * Mon Jan 13 2025 Gwyn Ciesla <gwync@protonmail.com> - 4.2.1-1
 - 4.2.1
diff --git calypso/calypso.spec calypso/calypso.spec.tmp
index 18106bfc7a..fb7c5cb3eb 100644
--- calypso/calypso.spec
+++ calypso/calypso.spec.tmp
@@ -1,17 +1,17 @@
 %global commit 7317d88263fb9658cd7f1174c6bbcfb0a7ae856a
 %global shortcommit %%(c=%{commit}; echo ${c:0:7})
 %global date 20190429
 
 %bcond_without check
 
 Name: calypso
 Version: 2.0
-Release: 0.18.%{date}git%{shortcommit}%{?dist}
+Release: 0.19.%{date}git%{shortcommit}%{?dist}
 Summary: Free and open-source CalDAV calendar server
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License: GPL-3.0-or-later
 URL: https://keithp.com/blogs/calypso/
 Source0: %{name}-%{commit}.tar.xz
 Source1: %{name}-mktarball.sh
 Source2: %{name}.config
 Source3: %{name}.pam
@@ -23,17 +23,16 @@ BuildRequires: python3-devel
 BuildRequires: python3-setuptools
 BuildRequires: python3-iniparse
 BuildRequires: python3-vobject
 BuildRequires: systemd-rpm-macros
 %if %{with check}
 BuildRequires: git-core
 BuildRequires: python3-pytest
 %endif
-Requires(pre): shadow-utils
 Requires(post): git-core
 Requires: git-core
 Requires: python3-lockfile
 Recommends: python3-kerberos
 Recommends: python3-PyPAM
 BuildArch: noarch
 
 %description
@@ -43,38 +42,39 @@ patches to Radicale but was eventually split off as a separate project.
 * Uses vObject for parsing and generating the data files
 * Stores one event/contact per file
 * Uses git to retain a history of the database
 
 %prep
 %setup -q -n %{name}-%{commit}
 %patch -P0 -p1 -b .daemon
 
+# Create a sysusers.d config file
+cat >calypso.sysusers.conf <<EOF
+u calypso - 'CalDAV/CardDAV server with git storage' %{_sharedstatedir}/calypso -
+EOF
+
 %build
 %py3_build
 
 %install
 %py3_install
 mkdir -p %{buildroot}%{_sharedstatedir}/calypso
 install -Dpm644 calypso.1 %{buildroot}%{_mandir}/man1/calypso.1
 install -Dpm644 %{S:2} %{buildroot}%{_sysconfdir}/calypso/config
 install -Dpm644 %{S:3} %{buildroot}%{_sysconfdir}/pam.d/calypso
 install -Dpm644 %{S:4} %{buildroot}%{_unitdir}/calypso.service
 
+install -m0644 -D calypso.sysusers.conf %{buildroot}%{_sysusersdir}/calypso.conf
+
 %if %{with check}
 %check
 %pytest
 %endif
 
-%pre
-getent group calypso >/dev/null || groupadd -r calypso
-getent passwd calypso >/dev/null || \
-    useradd -r -g calypso -d %{_sharedstatedir}/calypso -s /sbin/nologin \
-    -c "CalDAV/CardDAV server with git storage" calypso
-exit 0
 
 %preun
 %systemd_preun calypso.service
 
 %post
 %systemd_post calypso.service
 if [ $1 -eq 1 ] && ! [ -d %{_sharedstatedir}/calypso/default ]; then
     mkdir -p %{_sharedstatedir}/calypso/default
@@ -98,18 +98,22 @@ fi
 %config(noreplace) %{_sysconfdir}/calypso/config
 %config(noreplace) %{_sysconfdir}/pam.d/calypso
 %{_bindir}/calypso
 %{_mandir}/man1/calypso.1*
 %{_unitdir}/calypso.service
 %{python3_sitelib}/calypso-%{version}-py%{python3_version}.egg-info
 %{python3_sitelib}/calypso
 %dir %attr(0750,calypso,calypso) %{_sharedstatedir}/calypso
+%{_sysusersdir}/calypso.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0-0.19.20190429git7317d88
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-0.18.20190429git7317d88
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 2.0-0.17.20190429git7317d88
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-0.16.20190429git7317d88
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git ccache/ccache.spec ccache/ccache.spec.tmp
index 32d2ac781b..b88f288355 100644
--- ccache/ccache.spec
+++ ccache/ccache.spec.tmp
@@ -8,17 +8,17 @@
 %endif
 %endif
 
 %define abs2rel() perl -MFile::Spec -e 'print File::Spec->abs2rel(@ARGV)' %1 %2
 %global relccache %(%abs2rel %{_bindir}/ccache %{_libdir}/ccache)
 
 Name:           ccache
 Version:        4.10.2
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        C/C++ compiler cache
 
 # See LICENSE.adoc for licenses of bundled codes
 # blake3 is Apache-2.0
 # span.hpp is BSL-1.0
 # url.cpp/hpp is MIT
 License:        GPL-3.0-or-later AND Apache-2.0 AND BSL-1.0 AND MIT
 URL:            http://ccache.dev/
@@ -38,17 +38,16 @@ BuildRequires:  hiredis-devel
 BuildRequires:  libzstd-devel
 BuildRequires:  perl perl(File::Spec)
 BuildRequires:  xxhash-devel
 # clang for additional tests
 BuildRequires:  clang clang-tools-extra
 # coreutils for triggerin, triggerpostun
 Requires:       coreutils
 # For groupadd
-Requires(pre):  shadow-utils
 Provides:       bundled(blake3) = 1.5.1
 Provides:       bundled(span-lite) = 0.11.0
 Provides:       bundled(cxxurl)
 
 %description
 ccache is a compiler cache.  It speeds up recompilation of C/C++ code
 by caching previous compiles and detecting when the same compile is
 being done again.  The main focus is to handle the GNU C/C++ compiler
@@ -60,16 +59,21 @@ being done again.  The main focus is to handle the GNU C/C++ compiler
 %autopatch -p1
 # win32-compat gets imported, but not used
 rm -r src/third_party/{[ad-lo-tvy-z]*,cpp-httplib}
 sed -e 's|@LIBDIR@|%{_libdir}|g' -e 's|@CACHEDIR@|%{_var}/cache/ccache|g' \
     %{SOURCE1} > %{name}.sh
 sed -e 's|@LIBDIR@|%{_libdir}|g' -e 's|@CACHEDIR@|%{_var}/cache/ccache|g' \
     %{SOURCE2} > %{name}.csh
 
+# Create a sysusers.d config file
+cat >ccache.sysusers.conf <<EOF
+g ccache -
+EOF
+
 
 %build
 %cmake
 %cmake_build
 %cmake_build --target doc
 
 
 %install
@@ -103,16 +107,18 @@ for n in cc gcc g++ c++ ; do
     done
 done
 for n in clang clang++ ; do
     ln -s %{relccache} $RPM_BUILD_ROOT%{_libdir}/ccache/$n
 done
 find $RPM_BUILD_ROOT%{_libdir}/ccache -type l | \
     sed -e "s|^$RPM_BUILD_ROOT|%%ghost |" > %{name}-%{version}.compilers
 
+install -m0644 -D ccache.sysusers.conf %{buildroot}%{_sysusersdir}/ccache.conf
+
 
 %check
 %ctest
 
 
 %define ccache_trigger(p:) \
 %triggerin -- %{-p*}\
 for n in %* ; do\
@@ -212,31 +218,33 @@ done\
 %ccache_trigger -p gcc-c++-sparc64-linux-gnu sparc64-linux-gnu-c++ sparc64-linux-gnu-g++
 %ccache_trigger -p gcc-tile-linux-gnu tile-linux-gnu-gcc
 %ccache_trigger -p gcc-c++-tile-linux-gnu tile-linux-gnu-c++ tile-linux-gnu-g++
 %ccache_trigger -p gcc-x86_64-linux-gnu x86_64-linux-gnu-gcc
 %ccache_trigger -p gcc-c++-x86_64-linux-gnu x86_64-linux-gnu-c++ x86_64-linux-gnu-g++
 %ccache_trigger -p gcc-xtensa-linux-gnu xtensa-linux-gnu-gcc
 %ccache_trigger -p gcc-c++-xtensa-linux-gnu xtensa-linux-gnu-c++ xtensa-linux-gnu-g++
 
-%pre
-getent group ccache >/dev/null || groupadd -r ccache || :
 
 
 %files -f %{name}-%{version}.compilers
 %license GPL-3.0.txt LICENSE.*
 %doc doc/AUTHORS.*  doc/MANUAL.* doc/NEWS.* README.md
 %config(noreplace) %{_sysconfdir}/profile.d/%{name}.*sh
 %{_bindir}/ccache
 %dir %{_libdir}/ccache/
 %attr(2770,root,ccache) %dir %{_var}/cache/ccache/
 %{_mandir}/man1/ccache.1*
+%{_sysusersdir}/ccache.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.10.2-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 31 2024 Orion Poplawski <orion@nwra.com> - 4.10.2-1
 - Update to 4.10.2
 
 * Fri Jul 26 2024 Kefu Chai <tchaikov@gmail.com> - 4.10.1-3
 - Rebuilt for fmt 11
diff --git chromium/chromium.spec chromium/chromium.spec.tmp
index d36dcb2c95..693c439b9a 100644
--- chromium/chromium.spec
+++ chromium/chromium.spec.tmp
@@ -272,17 +272,17 @@
 %else
 %global default_client_id %nil
 %global default_client_secret %nil
 %global chromoting_client_id %nil
 %endif
 
 Name:	chromium%{chromium_channel}
 Version: 132.0.6834.110
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
 License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
 
 # Use /etc/chromium for initial_prefs
 Patch1: chromium-115-initial_prefs-etc-path.patch
 
 # Try to load widevine from other places
@@ -938,17 +938,16 @@ Provides: chrome-remote-desktop = %{version}-%{release}
 Obsoletes: chrome-remote-desktop <= 81.0.4044.138
 %endif
 
 %description common
 %{summary}.
 
 %if %{build_remoting}
 %package -n chrome-remote-desktop
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 Requires: xorg-x11-server-Xvfb
 Requires: python3-psutil
 Requires: chromium-common%{_isa} = %{version}-%{release}
 Summary: Remote desktop support for google-chrome & chromium
 
@@ -1185,16 +1184,21 @@ cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h
 # Hard code extra version
 sed -i 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channel_info_posix.cc
 
 # Fix hardcoded path in remoting code
 sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc
 
 # bz#2265957, add correct platform
 sed -i "s/Linux x86_64/Linux %{_arch}/" content/common/user_agent.cc
+
+# Create a sysusers.d config file
+cat >chromium.sysusers.conf <<EOF
+g chrome-remote-desktop -
+EOF
  
 %build
 
 # reduce warnings
 FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
 FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable'
 FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas'
 
@@ -1733,16 +1737,18 @@ install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browse
 appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
 
 mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
 cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
 
 # README.fedora
 cp %{SOURCE1} .
 
+install -m0644 -D chromium.sysusers.conf %{buildroot}%{_sysusersdir}/chromium.conf
+
 %post
 # Set SELinux labels - semanage itself will adjust the lib directory naming
 # But only do it when selinux is enabled, otherwise, it gets noisy.
 if selinuxenabled; then
 	semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel} &>/dev/null || :
 	semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel}/%{chromium_browser_channel}.sh &>/dev/null || :
 	semanage fcontext -a -t chrome_sandbox_exec_t /usr/lib/chrome-sandbox &>/dev/null || :
 	restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || :
@@ -1753,18 +1759,16 @@ fi
 path = "/etc/opt/chrome/native-messaging-hosts"
 st = posix.stat(path)
 if st and st.type == "link" then
   os.remove(path)
 end
 %endif
 
 %if %{build_remoting}
-%pre -n chrome-remote-desktop
-getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
 
 %post -n chrome-remote-desktop
 %systemd_post chrome-remote-desktop@.service
 
 %preun -n chrome-remote-desktop
 %systemd_preun chrome-remote-desktop@.service
 
 %postun -n chrome-remote-desktop
@@ -1904,26 +1908,30 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
 %{_sysconfdir}/chromium/native-messaging-hosts/*
 %{_sysconfdir}/opt/chrome/
 %{crd_path}/remoting_locales/
 %{crd_path}/start-host
 %{crd_path}/user-session
 %{_unitdir}/chrome-remote-desktop@.service
 /var/lib/chrome-remote-desktop/
 %endif
+%{_sysusersdir}/chromium.conf
 
 %if %{build_chromedriver}
 %files -n chromedriver
 %doc AUTHORS
 %license LICENSE
 %{_bindir}/chromedriver
 %{chromium_path}/chromedriver
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 132.0.6834.110-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 23 2025 Than Ngo <than@redhat.com> - 132.0.6834.110-1
 - Update to 132.0.6834.110
   * High CVE-2025-0611: Object corruption in V8
   * High CVE-2025-0612: Out of bounds memory access in V8
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 132.0.6834.83-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
diff --git c-icap/c-icap.spec c-icap/c-icap.spec.tmp
index 0afae97970..b119acf699 100644
--- c-icap/c-icap.spec
+++ c-icap/c-icap.spec.tmp
@@ -1,13 +1,13 @@
 %global     full_version C_ICAP_%{version}
 
 Name:       c-icap
 Version:    0.6.2
-Release:    3%{?dist}
+Release:    4%{?dist}
 Summary:    An implementation of an ICAP server
 License:    LGPL-2.1-or-later and GPL-2.0-or-later
 URL:        http://%{name}.sourceforge.net/
 
 Source0:    https://github.com/%{name}/%{name}-server/archive/%{full_version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:    %{name}.logrotate
 Source3:    %{name}.tmpfiles.conf
 Source4:    %{name}.service
@@ -31,17 +31,16 @@ BuildRequires:  lmdb-devel
 BuildRequires:  make
 BuildRequires:  openldap-devel
 BuildRequires:  openssl-devel
 BuildRequires:  pcre2-devel
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  zlib-devel
 
 Requires:       logrotate
-Requires(pre):  shadow-utils
 
 %description
 C-icap is an implementation of an ICAP server. It can be used with HTTP proxies
 that support the ICAP protocol to implement content adaptation and filtering
 services. Most of the commercial HTTP proxies must support the ICAP protocol,
 the open source Squid 3.x proxy server supports it too.
 
 %package devel
@@ -62,16 +61,21 @@ utilities.
 
 %prep
 %autosetup -p1 -n c-icap-server-%{full_version}
 
 # See RECONF
 echo "master-%{full_version}" > VERSION.m4
 autoreconf -vif
 
+# Create a sysusers.d config file
+cat >c-icap.sysusers.conf <<EOF
+u c-icap - 'C-ICAP Service user' /run/%{name} -
+EOF
+
 %build
 %configure \
   --sysconfdir=%{_sysconfdir}/%{name} \
   --enable-shared \
   --disable-static \
   --enable-ipv6 \
   --enable-large-files \
   --enable-lib-compat \
@@ -122,22 +126,18 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}.service
 
 # Do not add default configuration files
 rm -f %{buildroot}%{_sysconfdir}/%{name}/*.default
 
 # Let rpm pick up the docs in the files section
 rm -fr %{buildroot}%{_docdir}/%{name}
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null ||
-    useradd -r -g %{name} -d /run/%{name} -s /sbin/nologin \
-    -c "C-ICAP Service user" %{name}
-exit 0
+install -m0644 -D c-icap.sysusers.conf %{buildroot}%{_sysusersdir}/c-icap.conf
+
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
 
@@ -174,30 +174,34 @@ exit 0
 %{_mandir}/man8/%{name}-client.8*
 # Removed as BDB support is not enabled:
 %exclude %{_mandir}/man8/%{name}-mkbdb.8*
 %{_mandir}/man8/%{name}-mklmdb.8*
 %{_mandir}/man8/%{name}-stretch.8*
 %{_tmpfilesdir}/%{name}.conf
 %{_unitdir}/%{name}.service
 %attr(750,%{name},%{name}) %dir %{_localstatedir}/log/%{name}
+%{_sysusersdir}/c-icap.conf
 
 %files devel
 %{_bindir}/%{name}-config
 %{_bindir}/%{name}-libicapapi-config
 %{_includedir}/c_icap
 %{_libdir}/libicapapi.so
 %{_mandir}/man8/%{name}-config.8*
 %{_mandir}/man8/%{name}-libicapapi-config.8*
 
 %files libs
 %license COPYING
 %{_libdir}/libicapapi.so.*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.6.2-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Jan 29 2024 Frank Crawford <frank@crawford.emu.id.au> - 0.6.2-1
 - Update to 0.6.2 release.
diff --git cjdns/cjdns.spec cjdns/cjdns.spec.tmp
index 2f7368785c..453f935e39 100644
--- cjdns/cjdns.spec
+++ cjdns/cjdns.spec.tmp
@@ -67,17 +67,17 @@
 
 %global with_admin 0
 
 %{!?__restorecon: %global __restorecon /sbin/restorecon}
 
 Name:           cjdns
 # major version is cjdns protocol version:
 Version:        21.1
-Release:        19%{?dist}
+Release:        20%{?dist}
 Summary:        The privacy-friendly network without borders
 # cjdns is all GPLv3 except libuv which is MIT and BSD and ISC
 # cnacl is unused except when use_embedded is true
 # Automatically converted from old format: GPLv3 and MIT and BSD and ISC - review is highly recommended.
 License:        GPL-3.0-only AND LicenseRef-Callaway-MIT AND LicenseRef-Callaway-BSD AND ISC
 URL:            http://hyperboria.net/
 Source0: https://github.com/cjdelisle/cjdns/archive/%{name}-v%{version}.tar.gz
 Source1: cjdns.README_Fedora.md
@@ -159,17 +159,16 @@ BuildRequires:  %{nacl_name}-devel >= %{nacl_version}
 %if %{use_systemd}
 # systemd macros are not defined unless systemd is present
 BuildRequires: systemd
 Requires: systemd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 %endif
-Requires(pre): shadow-utils
 
 %if 0%{use_libuv}
 BuildRequires: libuv-devel
 %else
 BuildRequires: gyp
 Provides: bundled(libuv) = 0.11.19
 %endif
 
@@ -394,16 +393,21 @@ cd -
 %if %{with python3}
 tar xvfz %{SOURCE4}
 mv python-cjdns-* python-cjdns
 %endif
 
 # FIXME: grep Version_CURRENT_PROTOCOL util/version/Version.h and
 # check that it matches major %%{version}
 
+# Create a sysusers.d config file
+cat >cjdns.sysusers.conf <<EOF
+u cjdns - 'End to end encrypted IPv6 mesh' %{_libexecdir}/cjdns -
+EOF
+
 %build
 
 # build selinux policy
 cd contrib/selinux
 ln -s /usr/share/selinux/devel/Makefile .
 make 
 cd -
 %if 0 && %{with python3}
@@ -549,16 +553,18 @@ for t in pingAll.py trashroutes \
 done
 %endif
 
 # symlink python tools that pull in networkx for graphing
 for t in drawgraph dumpgraph graphStats; do
   ln -sf %{_libexecdir}/cjdns/python/$t %{buildroot}%{_bindir}
 done
 
+install -m0644 -D cjdns.sysusers.conf %{buildroot}%{_sysusersdir}/cjdns.conf
+
 %files
 %{!?_licensedir:%global license %%doc}
 %license LICENSE
 %doc README.md README_*.md HACKING.md 
 %attr(0100,root,root) /var/empty/cjdns
 %attr(0755,root,root) %{_sbindir}/cjdroute
 %ghost %attr(0600,root,root) %config(missingok,noreplace) %{_sysconfdir}/cjdroute.conf
 %dir %{_libexecdir}/cjdns
@@ -582,24 +588,19 @@ done
 %{_bindir}/cjdns-online
 %{_mandir}/man5/*
 %{_mandir}/man8/*
 %{_mandir}/man1/cjdns-online.1.gz
 %{_mandir}/man1/cjdroute.1.gz
 %{_mandir}/man1/makekeys.1.gz
 %{_mandir}/man1/publictoip6.1.gz
 %{_mandir}/man1/randombytes.1.gz
+%{_sysusersdir}/cjdns.conf
 
 %pre
-getent group cjdns > /dev/null || groupadd -r cjdns
-getent passwd cjdns > /dev/null || /usr/sbin/useradd -g cjdns \
-        -c "End to end encrypted IPv6 mesh" \
-        -r -d %{_libexecdir}/cjdns -s /sbin/nologin cjdns
-exit 0
-
 %if %{use_systemd}
 
 %post
 %systemd_post cjdns.service
 
 %postun
 %systemd_postun_with_restart cjdns.service
 
@@ -726,16 +727,19 @@ fi
 %{_libexecdir}/cjdns/python/drawgraph
 %{_libexecdir}/cjdns/python/dumpgraph
 %{_libexecdir}/cjdns/python/graphStats
 %{_bindir}/drawgraph
 %{_bindir}/dumpgraph
 %{_bindir}/graphStats
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 21.1-20
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 21.1-19
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 21.1-18
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 21.1-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git cleanfeed/cleanfeed.spec cleanfeed/cleanfeed.spec.tmp
index 4beb78ad55..c883a7ce53 100644
--- cleanfeed/cleanfeed.spec
+++ cleanfeed/cleanfeed.spec.tmp
@@ -1,22 +1,21 @@
 Summary: A spam filter for Usenet news servers
 Name: cleanfeed
 Version: 20020501
-Release: 34%{?dist}
+Release: 35%{?dist}
 # Confirmed with upstream, website
 License: Artistic-2.0
 URL: http://www.bofh.it/~md/cleanfeed/
 Source0: http://www.bofh.it/~md/cleanfeed/cleanfeed-20020501.tgz
 Patch0: cleanfeed-20020501-redhat.patch
 Patch1: cleanfeed-20020501-ro.patch
 BuildArch: noarch
 BuildRequires: perl-generators
 BuildRequires: sed
-Requires(pre): shadow-utils
 
 %description
 Cleanfeed is an automatic spam filter for Usenet news servers and
 routers (INN, Cyclone, Typhoon, Breeze and NNTPRelay).  Cleanfeed
 looks for duplicated messages, repeated patterns, and known spamming
 sites and domains.  It can be configured to block binary posts to
 non-binary newsgroups, to cancel already-rejected articles, and to
 reject some spamming from local users.
@@ -24,43 +23,48 @@ reject some spamming from local users.
 Install the cleanfeed package if you need a spam filter for a Usenet
 news server.
 
 %prep
 %setup -q
 %patch -P0 -p1 -b .rh
 %patch -P1 -p1
 
+# Create a sysusers.d config file
+cat >cleanfeed.sysusers.conf <<EOF
+u news - 'cleanfeed user' %{_sysconfdir}/news -
+EOF
+
 %build
 sed '1 i #!/usr/bin/perl' cleanfeed > filter_innd.pl
 
 %pre
-getent group news >/dev/null || groupadd -r news
-getent passwd news >/dev/null || \
-    useradd -r -g news -d %{_sysconfdir}/news -s /sbin/nologin \
-    -c "cleanfeed user" news
-exit 0
-
 %install
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/news
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/news/bin/filter
 install -m 0644 cleanfeed.local.sample $RPM_BUILD_ROOT/%{_sysconfdir}/news/cleanfeed.local
 install -m 0644 bad_* $RPM_BUILD_ROOT/%{_sysconfdir}/news/
 install -m 0755 filter_innd.pl \
 	$RPM_BUILD_ROOT/%{_datadir}/news/bin/filter/filter_innd.pl
 
+install -m0644 -D cleanfeed.sysusers.conf %{buildroot}%{_sysusersdir}/cleanfeed.conf
+
 %files
 %license LICENSE
 %doc CHANGES README HACKING TODO
 %attr(-,news,news) %config(noreplace)  %{_sysconfdir}/news/cleanfeed.local
 %attr(-,news,news) %config(noreplace)  %{_sysconfdir}/news/bad_*
 %attr(755,news,news) %dir %{_datadir}/news/bin/filter
 %attr(-,news,news) %{_datadir}/news/bin/filter/filter_innd.pl
+%{_sysusersdir}/cleanfeed.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 20020501-35
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20020501-34
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20020501-33
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Apr 20 2024 Miroslav Suchý <msuchy@redhat.com> - 20020501-32
 - convert license to SPDX
diff --git cntlm/cntlm.spec cntlm/cntlm.spec.tmp
index 1a986e2f1c..4731e7556f 100644
--- cntlm/cntlm.spec
+++ cntlm/cntlm.spec.tmp
@@ -1,64 +1,64 @@
 %global _hardened_build 1
 
 Summary:          Fast NTLM authentication proxy with tunneling
 Name:             cntlm
 Version:          0.92.3
-Release:          30%{?dist}
+Release:          31%{?dist}
 License:          GPL-2.0-or-later
 
 URL:              http://cntlm.sourceforge.net/
 Source0:          http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
 Source1:          cntlm.tmpfiles
 Source2:          cntlm.service
 # Don't override global CFLAGS/LDFLAGS and don't strip installed binaries
 Patch0:           cntlm_makefile.patch
 Patch1: cntlm-c99.patch
 
 BuildRequires:    gcc
 BuildRequires:    make
 BuildRequires:    systemd
-Requires(pre):    shadow-utils
 %{?systemd_requires}
 
 
 %description
 Cntlm is a fast and efficient NTLM proxy, with support for TCP/IP tunneling,
 authenticated connection caching, ACLs, proper daemon logging and behavior
 and much more. It has up to ten times faster responses than similar NTLM
 proxies, while using by orders or magnitude less RAM and CPU. Manual page
 contains detailed information.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >cntlm.sysusers.conf <<EOF
+u cntlm - '%{name} daemon' %{_localstatedir}/run/%{name} -
+EOF
+
 
 %build
 %configure
 %make_build SYSCONFDIR=%{_sysconfdir}
 
 
 %install
 make BINDIR=%{buildroot}%{_sbindir} MANDIR=%{buildroot}%{_mandir} SYSCONFDIR=%{buildroot}%{_sysconfdir} install
 
 install -D -m 0644 rpm/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cntlmd
 install -D -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
 
 install -D -d -m 0755 %{buildroot}/run/%{name}/
 
+install -m0644 -D cntlm.sysusers.conf %{buildroot}%{_sysusersdir}/cntlm.conf
+
 
-%pre
-getent group %{name} > /dev/null || groupadd -r %{name}
-getent passwd %{name} > /dev/null || \
-  useradd -r -g %{name} -d %{_localstatedir}/run/%{name} -s /sbin/nologin \
-    -c "%{name} daemon" %{name}
-exit 0
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -73,19 +73,23 @@ exit 0
 %license LICENSE
 %{_sbindir}/%{name}
 %{_mandir}/man1/%{name}.1*
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/cntlmd
 %{_tmpfilesdir}/%{name}.conf
 %{_unitdir}/%{name}.service
 %attr(755, %{name}, %{name}) %dir /run/%{name}/
+%{_sysusersdir}/cntlm.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.92.3-31
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.3-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.3-29
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.3-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git condor/condor.spec condor/condor.spec.tmp
index a07eff297b..db49ea9fc3 100644
--- condor/condor.spec
+++ condor/condor.spec.tmp
@@ -1,17 +1,17 @@
 %global version         23.9.6
 %global version_ %(tr . _ <<< %{version})
 
 %global with_vault_credmon 0
 
 #######################
 Name:           condor
 Version:        23.9.6
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        HTCondor: High Throughput Computing
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            http://htcondor.org
 ##############################################################
 # NOTE: If you wish to setup a debug build either add a patch
 # or adjust the URL to a private github location
 ##############################################################
@@ -295,30 +295,29 @@ Requires: pcre2-tools
 HTCondor V9 to V10 check for for known breaking changes:
 1. IDToken TRUST_DOMAIN default value change
 2. Upgrade to PCRE2 breaking map file regex sequences
 3. The way to request GPU resources for a job
 
 %files upgrade-checks
 %_bindir/condor_upgrade_check
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-  useradd -r -g condor -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-    -c "Owner of HTCondor Daemons" %{name}
-exit 0
 
 %prep
 %setup -q -n %{name}-%{version}
 %patch 1 -p1
 
 # fix errant execute permissions
 find src -perm /a+x -type f -name "*.[Cch]" -exec chmod a-x {} \;
 
+# Create a sysusers.d config file
+cat >condor.sysusers.conf <<EOF
+u condor - 'Owner of HTCondor Daemons' %{_sharedstatedir}/%{name} -
+EOF
+
 %build
 make -C docs man
 %cmake -DBUILDID:STRING=RH-%{version}-%{release} \
        -DBUILD_TESTING:BOOL=FALSE \
        -DCMAKE_SKIP_RPATH:BOOL=TRUE \
 %if 0%{?rhel} == 8
        -DPython3_EXECUTABLE=%__python3 \
 %endif
@@ -449,16 +448,18 @@ rm -rf %{buildroot}/usr/lib*/python%{python3_version}/site-packages/classad3
 # original location. Admins will need to edit these.
 install -m 0755 -d -p %{buildroot}%{_sysconfdir}/blahp
 for batch_system in condor kubernetes lsf nqs pbs sge slurm; do
     mv %{buildroot}%{_libexecdir}/blahp/${batch_system}_local_submit_attributes.sh %{buildroot}%{_sysconfdir}/blahp
     ln -s ../.../../etc/blahp/${batch_system}_local_submit_attributes.sh \
         %{buildroot}%{_libexecdir}/blahp/${batch_system}_local_submit_attributes.sh
 done
 
+install -m0644 -D condor.sysusers.conf %{buildroot}%{_sysusersdir}/condor.conf
+
 #################
 %files
 %defattr(-,root,root,-)
 %doc LICENSE NOTICE.txt 
 %doc /usr/share/doc/condor/examples
 %dir %_sysconfdir/condor/
 %config %_sysconfdir/condor/condor_config
 %{_tmpfilesdir}/%{name}.conf
@@ -798,16 +799,17 @@ done
 %_sbindir/procd_ctl
 %_mandir/man1/procd_ctl.1.gz
 %_mandir/man1/gidd_alloc.1.gz
 %_mandir/man1/condor_procd.1.gz
 
 ####### classads files #######
 %defattr(-,root,root,-)
 %_libdir/libclassad.so.*
+%{_sysusersdir}/condor.conf
 
 #################
 %files devel
 %{_includedir}/condor/chirp_client.h
 %{_includedir}/condor/condor_event.h
 %{_includedir}/condor/file_lock.h
 %{_includedir}/condor/read_user_log.h
 %{_libdir}/condor/libchirp_client.a
@@ -932,16 +934,19 @@ done
 %preun
 %systemd_preun %{name}.service
 
 %postun -n condor
 %systemd_postun_with_restart %{name}.service 
 /sbin/ldconfig
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 23.9.6-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 23.9.6-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 01 2024 Tim Theisen <ttheisen@fedoraproject.org> - 23.9.6-2
 - Suppress provides/requires for libfmt - rhbz#2315859
 
 * Mon Sep 16 2024 Tim Theisen <ttheisen@fedoraproject.org> - 23.9.6-1
 - Update to latest upstream 23.9.6
diff --git copr-backend/copr-backend.spec copr-backend/copr-backend.spec.tmp
index c732a1ceb0..65c1963e73 100644
--- copr-backend/copr-backend.spec
+++ copr-backend/copr-backend.spec.tmp
@@ -5,17 +5,17 @@
 %global prunerepo_version 1.20
 %global tests_version 5
 %global tests_tar test-data-copr-backend
 
 %global copr_common_version 0.25.1~~dev0
 
 Name:       copr-backend
 Version:    2.1
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Backend for Copr
 
 License:    GPL-2.0-or-later
 URL:        https://github.com/fedora-copr/copr
 
 # Source is created by:
 # git clone %%url && cd copr
 # tito build --tgz --tag %%name-%%version-%%release
@@ -122,16 +122,22 @@ and submit new builds and COPR will create yum repository from latests builds.
 
 This package include documentation for COPR code. Mostly useful for developers
 only.
 
 
 %prep
 %setup -q -a 1
 
+# Create a sysusers.d config file
+cat >copr-backend.sysusers.conf <<EOF
+u copr - 'COPR user' - /bin/bash
+m copr lighttpd
+EOF
+
 
 %build
 make -C docs %{?_smp_mflags} html
 %py3_build
 
 
 %install
 %py3_install
@@ -175,25 +181,22 @@ install -d %{buildroot}%{_sysconfdir}/logstash.d
 install -d %{buildroot}%{_datadir}/logstash/patterns/
 cp -a conf/logstash/lighttpd.pattern %{buildroot}%{_datadir}/logstash/patterns/lighttpd.pattern
 
 install -d %{buildroot}%{_pkgdocdir}/examples/%{_sysconfdir}/logstash.d
 cp -a conf/logstash/copr_backend.conf %{buildroot}%{_pkgdocdir}/examples/%{_sysconfdir}/logstash.d/copr_backend.conf
 
 cp -a docs/build/html %{buildroot}%{_pkgdocdir}/
 
+install -m0644 -D copr-backend.sysusers.conf %{buildroot}%{_sysusersdir}/copr-backend.conf
+
 
 %check
 ./run_tests.sh -vv --no-cov
 
-%pre
-getent group copr >/dev/null || groupadd -r copr
-getent passwd copr >/dev/null || \
-useradd -r -g copr -G lighttpd -s /bin/bash -c "COPR user" copr
-/usr/bin/passwd -l copr >/dev/null
 
 %post
 %systemd_post copr-backend.target
 
 %preun
 %systemd_preun copr-backend.target
 
 %postun
@@ -226,24 +229,28 @@ useradd -r -g copr -G lighttpd -s /bin/bash -c "COPR user" copr
 %{_sbindir}/*
 
 %config(noreplace) %{_sysconfdir}/cron.daily/copr-backend
 %config(noreplace) %{_sysconfdir}/cron.weekly/copr-backend
 %{_datadir}/logstash/patterns/lighttpd.pattern
 
 
 %config(noreplace) %attr(0600, root, root)  %{_sysconfdir}/sudoers.d/copr
+%{_sysusersdir}/copr-backend.conf
 
 %files doc
 %license LICENSE
 %doc
 %{_pkgdocdir}/
 %exclude %{_pkgdocdir}/lighttpd
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 22 2024 Jakub Kadlcik <frostyx@email.cz> 2.1-1
 - Activate Red Hat subscription on demand
 - Fix copr-backend-unknown-resalloc-tickets
 
 * Wed Oct 02 2024 Jiri Kyjovsky <j1.kyjovsky@gmail.com> 2.0-1
diff --git copr-frontend/copr-frontend.spec copr-frontend/copr-frontend.spec.tmp
index 53b60f859e..00e053c377 100644
--- copr-frontend/copr-frontend.spec
+++ copr-frontend/copr-frontend.spec.tmp
@@ -42,17 +42,17 @@
    x = rpm.expand(macro)
    for line in string.gmatch(x, "([^\\n]+)") do
        print("%exclude " .. line .. "\\n")
    end
 }
 
 Name:       copr-frontend
 Version:    2.1
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Frontend for Copr
 
 License:    GPL-2.0-or-later
 URL:        https://github.com/fedora-copr/copr
 
 # Source is created by:
 # git clone %%url && cd copr
 # tito build --tgz --tag %%name-%%version-%%release
@@ -226,16 +226,21 @@ Summary: Development files to build against %{name}
 %description devel
 Files which allow a build against %{name}, currently it's useful to build
 custom %{name}-flavor package.
 
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >copr-frontend.sysusers.conf <<EOF
+u copr-fe - 'COPR frontend user' %{_datadir}/copr/coprs_frontend /bin/bash
+EOF
+
 
 %build
 %if %{with doc}
 COPR_CONFIG=../../documentation/copr-documentation.conf \
   make -C documentation %{?_smp_mflags} python
 %endif
 
 
@@ -291,26 +296,23 @@ Requires: copr-frontend
 %%copr_frontend_templatedir       %templatedir
 %%copr_frontend_chroot_logodir    %%copr_frontend_staticdir/chroot_logodir
 EOF
 
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/copr/coprs_frontend/coprs
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/copr/coprs_frontend/alembic
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/copr/coprs_frontend/tests
 
+install -m0644 -D copr-frontend.sysusers.conf %{buildroot}%{_sysusersdir}/copr-frontend.conf
+
 %check
 %if %{with check}
 ./run_tests.sh -vv --no-cov
 %endif
 
-%pre
-getent group copr-fe >/dev/null || groupadd -r copr-fe
-getent passwd copr-fe >/dev/null || \
-useradd -r -g copr-fe -G copr-fe -d %{_datadir}/copr/coprs_frontend -s /bin/bash -c "COPR frontend user" copr-fe
-usermod -L copr-fe
 
 
 %post
 /bin/systemctl condrestart httpd.service || :
 %systemd_post fm-consumer@copr_messaging.service
 
 
 %preun
@@ -355,16 +357,17 @@ usermod -L copr-fe
 %defattr(-, root, root, -)
 %config %{_sysconfdir}/cron.hourly/copr-frontend
 %config %{_sysconfdir}/cron.daily/copr-frontend
 %config(noreplace) %{_sysconfdir}/cron.hourly/copr-frontend-optional
 %config(noreplace) %{_sysconfdir}/cron.daily/copr-frontend-optional
 %{_libexecdir}/copr_dump_db.sh
 %exclude_files flavor
 %exclude_files devel
+%{_sysusersdir}/copr-frontend.conf
 
 
 %files fedora
 %license LICENSE
 %flavor_files
 
 
 %files devel
@@ -378,16 +381,19 @@ usermod -L copr-fe
 %if %{with doc}
 %files doc
 %license LICENSE
 %doc documentation/python-doc
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Oct 03 2024 Pavel Raiskup <praiskup@redhat.com> 2.1-1
 - bugfix Packit 500, attempt no. 2
 
 * Wed Oct 02 2024 Jiri Kyjovsky <j1.kyjovsky@gmail.com> 2.0-1
 - Show Webhook History table under Settings -> Integrations
diff --git copr-keygen/copr-keygen.spec copr-keygen/copr-keygen.spec.tmp
index 75cb1ed3a8..7ef2698e75 100644
--- copr-keygen/copr-keygen.spec
+++ copr-keygen/copr-keygen.spec.tmp
@@ -1,14 +1,14 @@
 %global with_test 1
 %global copr_common_version 0.16.3.dev
 
 Name:       copr-keygen
 Version:    2.0
-Release:    2%{?dist}
+Release:    3%{?dist}
 Summary:    Part of Copr build system. Aux service that generate keys for signd
 
 License:    GPL-2.0-or-later
 URL:        https://github.com/fedora-copr/copr
 
 # Source is created by:
 # git clone %%url && cd copr
 # tito build --tgz --tag %%name-%%version-%%release
@@ -74,16 +74,21 @@ and submit new builds and COPR will create yum repository from latests builds.
 This package contains document for copr-keygen service.
 
 %endif
 
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >copr-keygen.sysusers.conf <<EOF
+u copr-signer - 'Copr rpm signer' %{_datadir}/copr-keygen /bin/bash
+EOF
+
 
 %build
 %py3_build
 
 # We currently have FTBFS errors for F37/Rawhide, related issues:
 # https://bugzilla.redhat.com/show_bug.cgi?id=2113156
 # https://bugzilla.redhat.com/show_bug.cgi?id=2105348
 # https://bugzilla.redhat.com/show_bug.cgi?id=2007282
@@ -122,25 +127,22 @@ cp -a configs/sudoers/copr_signer %{buildroot}%{_sysconfdir}/sudoers.d/copr_sign
 
 # FTBFS - See above
 %if 0%{?fedora} <= 36 && 0%{?fedora}
 cp -a docs/_build/html %{buildroot}%{_pkgdocdir}/
 %{__install} -p -m 0644 configs/httpd/copr-keygen.conf.example %{buildroot}%{_pkgdocdir}/httpd/
 %{__install} -p -m 0644 configs/sign/sign.conf.example %{buildroot}%{_pkgdocdir}/sign/sign.conf.example
 %endif
 
+install -m0644 -D copr-keygen.sysusers.conf %{buildroot}%{_sysusersdir}/copr-keygen.conf
+
 %check
 ./run_tests.sh -vv --no-cov
 
 
-%pre
-getent group copr-signer >/dev/null || groupadd -r copr-signer
-getent passwd copr-signer >/dev/null || \
-  useradd -r -g copr-signer -G copr-signer -d %{_datadir}/copr-keygen -s /bin/bash -c "Copr rpm signer" copr-signer
-/usr/bin/passwd -l copr-signer >/dev/null
 
 
 %post
 systemctl condrestart httpd &>/dev/null || :
 
 %postun
 systemctl condrestart httpd &>/dev/null || :
 
@@ -161,23 +163,27 @@ systemctl condrestart httpd &>/dev/null || :
 %config %{_sysconfdir}/sudoers.d/copr_signer
 
 # Only copr-signer owned files go below!
 %defattr(600, copr-signer, copr-signer, 700)
 %{_sharedstatedir}/copr-keygen
 %config(noreplace) %{_sysconfdir}/copr-keygen
 %dir %{_localstatedir}/log/copr-keygen
 %ghost %{_localstatedir}/log/copr-keygen/main.log
+%{_sysusersdir}/copr-keygen.conf
 
 %if 0%{?fedora}
 %files -n copr-keygen-doc
 %doc %{_pkgdocdir}
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Oct 02 2024 Jiri Kyjovsky <j1.kyjovsky@gmail.com> 2.0-1
 - Drop support for python2
 
 * Fri Mar 01 2024 Pavel Raiskup <praiskup@redhat.com> 1.92-1
 - keep logs 6 weeks instead of 13
diff --git corosync-qdevice/corosync-qdevice.spec corosync-qdevice/corosync-qdevice.spec.tmp
index f146b0028c..a41c38a39f 100644
--- corosync-qdevice/corosync-qdevice.spec
+++ corosync-qdevice/corosync-qdevice.spec.tmp
@@ -6,17 +6,17 @@
 %bcond_without systemd
 
 %global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
 %global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
 
 Name: corosync-qdevice
 Summary: The Corosync Cluster Engine Qdevice
 Version: 3.0.3
-Release: 7%{?gitver}%{?dist}
+Release: 8%{?gitver}%{?dist}
 License: BSD-3-Clause
 URL: https://github.com/corosync/corosync-qdevice
 Source0: https://github.com/corosync/corosync-qdevice/releases/download/v%{version}%{?gittarver}/%{name}-%{version}%{?gittarver}.tar.gz
 
 # Runtime bits
 Requires: corosync >= 2.4.0
 Requires: corosynclib >= 2.4.0
 Requires: nss-tools
@@ -41,16 +41,21 @@ BuildRequires: nss-devel
 %if %{with runautogen}
 BuildRequires: autoconf automake libtool
 %endif
 BuildRequires: make
 
 %prep
 %setup -q -n %{name}-%{version}%{?gittarver}
 
+# Create a sysusers.d config file
+cat >corosync-qdevice.sysusers.conf <<EOF
+u coroqnetd - 'User for corosync-qnetd' / -
+EOF
+
 %build
 %if %{with runautogen}
 ./autogen.sh
 %endif
 
 %{configure} \
 %if %{with userflags}
 	--enable-user-flags \
@@ -83,16 +88,18 @@ install -p -m 644 init/corosync-qnetd.sysconfig.example \
 %if %{with systemd}
 sed -i -e 's/^#User=/User=/' \
    %{buildroot}%{_unitdir}/corosync-qnetd.service
 %else
 sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \
    %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
 %endif
 
+install -m0644 -D corosync-qdevice.sysusers.conf %{buildroot}%{_sysusersdir}/corosync-qdevice.conf
+
 %description
 This package contains the Corosync Cluster Engine Qdevice, script for creating
 NSS certificates and an init script.
 
 %post
 %if %{with systemd} && 0%{?systemd_post:1}
 %systemd_post corosync-qdevice.service
 %else
@@ -144,31 +151,25 @@ The Corosync Cluster Engine Qdevice
 
 %files -n corosync-qdevice-devel
 %license LICENSE
 %{_datadir}/pkgconfig/corosync-qdevice.pc
 
 %package -n corosync-qnetd
 Summary: The Corosync Cluster Engine Qdevice Network Daemon
 Requires: nss-tools
-Requires(pre): shadow-utils
 
 %if %{with systemd}
 %{?systemd_requires}
 %endif
 
 %description -n corosync-qnetd
 This package contains the Corosync Cluster Engine Qdevice Network Daemon,
 script for creating NSS certificates and an init script.
 
-%pre -n corosync-qnetd
-getent group coroqnetd >/dev/null || groupadd -r coroqnetd
-getent passwd coroqnetd >/dev/null || \
-    useradd -r -g coroqnetd -d / -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd
-exit 0
 
 %post -n corosync-qnetd
 %if %{with systemd} && 0%{?systemd_post:1}
 %systemd_post corosync-qnetd.service
 %else
 if [ $1 -eq 1 ]; then
 	/sbin/chkconfig --add corosync-qnetd || :
 fi
@@ -200,18 +201,22 @@ fi
 %if %{with systemd}
 %{_unitdir}/corosync-qnetd.service
 %else
 %{_initrddir}/corosync-qnetd
 %endif
 %{_mandir}/man8/corosync-qnetd-tool.8*
 %{_mandir}/man8/corosync-qnetd-certutil.8*
 %{_mandir}/man8/corosync-qnetd.8*
+%{_sysusersdir}/corosync-qdevice.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.3-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git crack/crack.spec crack/crack.spec.tmp
index 5d69c246f8..9349f56258 100644
--- crack/crack.spec
+++ crack/crack.spec.tmp
@@ -1,12 +1,12 @@
 Summary:   Password cracker
 Name:      crack
 Version:   5.0a
-Release:   48%{?dist}
+Release:   49%{?dist}
 # Automatically converted from old format: Artistic clarified - review is highly recommended.
 License:   ClArtistic
 Source:    ftp://ftp.cerias.purdue.edu/pub/tools/unix/pwdutils/crack/%{name}5.0.tar.gz
 Patch0:    %{name}-chris.patch
 Patch1:    %{name}-FHS.patch
 URL:       https://dropsafe.crypticide.com/alecm/software/crack/c50-faq.html
 BuildRequires: words, gawk, gcc
 BuildRequires: make
@@ -32,16 +32,21 @@ ln src/util/elcid.c,bsd src/util/elcid.c
 mkdir run bin
 # Try not to pollute bin namespace
 sed -i -e 's/Reporter/CrackReporter/g' doc/gui.txt manual.html manual.txt
 %patch -P0 -p1 -b .chris
 sed -i 's|/usr/dict/|/usr/share/dict/|g' conf/dictgrps.conf
 # Alter script to use FHS layout
 %patch -P1 -p1 -b .FHS
 
+# Create a sysusers.d config file
+cat >crack.sysusers.conf <<EOF
+g crack -
+EOF
+
 %build
 %global build_type_safety_c 0
 C5FLAGS="-D_XOPEN_SOURCE -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H"
 make XDIR=../../bin XCC=gcc XCFLAGS="$RPM_OPT_FLAGS $C5FLAGS" XLIBS=-lcrypt utils
 CRACK_HOME=`pwd` CRACK_BIN_HOME=`pwd` CRACK_STATE_DIR=`pwd` ./Crack -makedict
 
 
 %install
@@ -52,37 +57,42 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name}
 mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
 cp -a bin $RPM_BUILD_ROOT%{_libexecdir}/%{name} 
 cp -a conf dict scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
 cp -a run $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
 install -p -m0755 Crack $RPM_BUILD_ROOT%{_bindir}/Crack
 install -p -m0755 Reporter $RPM_BUILD_ROOT%{_bindir}/CrackReporter
 
+install -m0644 -D crack.sysusers.conf %{buildroot}%{_sysusersdir}/crack.conf
+
 
 
 %pre
 if [ $1 -eq 1 ]; then
-    groupadd -r crack >/dev/null 2>&1 || :
 fi
 
 
 %files
 %doc LICENCE manual.* doc
 %attr(00750, root, crack) %{_bindir}/Crack*
 %{_libexecdir}/%{name}/
 %{_datadir}/%{name}/
 %dir %{_sharedstatedir}/%{name}/
 %attr(02770, root, crack) %dir %{_sharedstatedir}/%{name}/run/
 %attr(02770, root, crack) %dir %{_sharedstatedir}/%{name}/run/dict/
 %attr(00640, root, crack) %{_sharedstatedir}/%{name}/run/dict/*
 %attr(00640, root, crack) %{_sharedstatedir}/%{name}/run/dict/.dictmade
+%{_sysusersdir}/crack.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.0a-49
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.0a-48
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 5.0a-47
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.0a-46
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git crossfire/crossfire.spec crossfire/crossfire.spec.tmp
index 29e02c0a3f..3d618a4fc1 100644
--- crossfire/crossfire.spec
+++ crossfire/crossfire.spec.tmp
@@ -4,17 +4,17 @@
 
 
 %define logwatch_root %{_datadir}/logwatch
 %define logwatch_conf %{logwatch_root}/dist.conf
 %define logwatch_scripts %{logwatch_root}/scripts
 
 Name: crossfire
 Version: 1.71.0
-Release: 30%{?dist}
+Release: 31%{?dist}
 Summary: Server for hosting crossfire games
 # All files GPLv2+ except server/daemon.c which also has MIT attributions
 License: GPL-2.0-or-later and MIT
 URL: http://crossfire.real-time.com
 
 Source0: http://downloads.sourceforge.net/crossfire/%{name}-%{version}.tar.bz2
 Source1: http://downloads.sourceforge.net/crossfire/%{name}-%{version}.arch.tar.bz2
 Source2: crossfire.service
@@ -119,16 +119,21 @@ sed -i 's#\r##' utils/player_dl.pl.in
 sed -i "s#^\$TMPDIR=.*#\$TMPDIR=\"`pwd`\";#" lib/adm/collect_images.pl
 # Don't map stdio streams to /
 # This is fixed in CVS, but didn't make it into the 1.9.1 release.
 sed -i 's#    (void) open ("/", O_RDONLY);#    (void) open ("/var/log/crossfire/crossfire.log", O_RDONLY);#' server/daemon.c
 
 # Change the location of the tmp directory
 sed -i "s@^#define TMPDIR \"/tmp\"@#define TMPDIR \"%{_var}/games/%{name}/tmp\"@" include/config.h
 
+# Create a sysusers.d config file
+cat >crossfire.sysusers.conf <<EOF
+u crossfire - 'Daemon account for the crossfire server' %{_datadir}/%{name} -
+EOF
+
 %build
 # Change the localstatedir so that the variable data files are
 # put in /var/games/crossfire instead of /var/crossfire.  This is
 # in agreement with the FHS.
 %configure --localstatedir=%{_var}/games --disable-static
 
 #make %%{?_smp_mflags} # parallel build is broken
 make CFLAGS="$RPM_OPT_FLAGS"
@@ -212,23 +217,19 @@ popd
 # Hardlink identical policy module packages together
 /usr/bin/hardlink -cv $RPM_BUILD_ROOT%{_datadir}/selinux
 
 # Install logwatch files
 install -pD -m 0644 %{SOURCE8} $RPM_BUILD_ROOT%{logwatch_conf}/logfiles/%{name}.conf
 install -pD -m 0755 %{SOURCE9} $RPM_BUILD_ROOT%{logwatch_scripts}/services/%{name}
 install -pD -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{logwatch_conf}/services/%{name}.conf
 
+install -m0644 -D crossfire.sysusers.conf %{buildroot}%{_sysusersdir}/crossfire.conf
+
 
-%pre
-getent group crossfire >/dev/null || groupadd -r crossfire
-getent passwd crossfire >/dev/null || \
-useradd -r -g crossfire -d %{_datadir}/%{name} -s /sbin/nologin \
-    -c "Daemon account for the crossfire server" crossfire
-exit 0
 
 %post
 if [ $1 -eq 1 ] ; then 
     # Initial installation 
     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
 
@@ -307,16 +308,17 @@ fi
 %config(noreplace) %{_sysconfdir}/%{name}/metaserver2
 %config(noreplace) %{_sysconfdir}/%{name}/stat_bonus
 %attr(-,crossfire,root) %{_var}/games/%{name}
 %attr(-,crossfire,root) %{_var}/log/%{name}
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %{_mandir}/man6/*
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/crossfire.conf
 
 %files doc
 %doc doc/Developers doc/playbook* doc/scripts doc/spell-docs doc/spoiler doc/spoiler-html doc/*.txt
 
 #%files devel
 #%defattr(-,root,root,-)
 #%%{_bindir}/crossfire-config
 #%doc doc/plugins
@@ -333,16 +335,19 @@ fi
 
 %files logwatch
 %{logwatch_conf}/logfiles/%{name}.conf
 %{logwatch_conf}/services/%{name}.conf
 %{logwatch_scripts}/services/%{name}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.71.0-31
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.71.0-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.71.0-29
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.71.0-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git cyrus-imapd/cyrus-imapd.spec cyrus-imapd/cyrus-imapd.spec.tmp
index 1b44b5e05a..10a97e8e6f 100644
--- cyrus-imapd/cyrus-imapd.spec
+++ cyrus-imapd/cyrus-imapd.spec.tmp
@@ -208,19 +208,17 @@ BuildRequires: perl(XML::Spice)
 BuildRequires: perl(DBD::SQLite)
 BuildRequires: perl(Digest::CRC)
 BuildRequires: perl(Moo)
 BuildRequires: perl(String::CRC32)
 BuildRequires: perl(Types::Standard)
 BuildRequires: perl(Unix::Syslog)
 %endif
 
-Requires(pre): shadow-utils
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
 Requires: cyrus-imapd-utils = %{version}-%{release}
 Requires: file sscg
 
 %{?perl_default_filter}
 
 %description
@@ -693,18 +691,16 @@ sudo -u cyrus -g mail LD_LIBRARY_PATH=%buildroot/%_libdir ./testrunner.pl -j%{?_
 # CASSANDANE_END
 
 if [ -s "work/failed" ]; then
    cat work/failed
    exit 1
 fi
 
 
-%pre
-%sysusers_create_compat %{SOURCE19}
 
 %post
 %systemd_post cyrus-imapd.service
 
 %preun
 %systemd_preun cyrus-imapd.service
 
 %postun
diff --git dahdi-tools/dahdi-tools.spec dahdi-tools/dahdi-tools.spec.tmp
index ad90fc54a3..4d001a5510 100644
--- dahdi-tools/dahdi-tools.spec
+++ dahdi-tools/dahdi-tools.spec.tmp
@@ -1,14 +1,14 @@
 %global tools_version 2.11.1
 %global linux_version 2.11.1
 
 Name:           dahdi-tools
 Version:        %{tools_version}
-Release:        34%{?dist}
+Release:        35%{?dist}
 Summary:        Userspace tools to configure the DAHDI kernel modules
 
 # Automatically converted from old format: GPLv2 and LGPLv2 - review is highly recommended.
 License:        GPL-2.0-only AND LicenseRef-Callaway-LGPLv2
 URL:            http://www.asterisk.org/
 
 Source0:        http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-%{tools_version}.tar.gz
 Source1:        http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-%{tools_version}.tar.gz.asc
@@ -45,18 +45,16 @@ BuildRequires:  perl-podlators
 BuildRequires:  perl-generators
 BuildRequires:  udev
 %{?systemd_requires}
 
 Requires:        dahdi-tools-libs%{?_isa} = %{version}-%{release}
 %if 0%{?fedora} || 0%{?rhel} >= 8
 Requires:        systemd-udev
 %endif
-Requires(pre):   %{_sbindir}/useradd
-Requires(pre):   %{_sbindir}/groupadd
 
 Conflicts:       zaptel-utils
 
 %description
 DAHDI stands for Digium Asterisk Hardware Device Interface. This
 package contains the userspace tools to configure the DAHDI kernel
 modules.  DAHDI is the replacement for Zaptel, which must be renamed
 due to trademark issues.
@@ -97,16 +95,21 @@ sed -i -e \
    's/675 Mass Ave, Cambridge, MA 02139/51 Franklin St, Boston, MA 02110/' \
    xpp/*.c xpp/*.h xpp/xtalk/*.c xpp/xtalk/*.h xpp/xtalk/include/xtalk/*.h \
    xpp/waitfor_xpds xpp/xpp_fxloader
 
 sed -i -e \
    's/59 Temple Place, Suite 330, Boston, MA  02111-1307/51 Franklin St, Boston, MA 02110/' \
    LICENSE
 
+# Create a sysusers.d config file
+cat >dahdi-tools.sysusers.conf <<EOF
+u dahdi - 'DAHDI User' /usr/share/dahdi -
+EOF
+
 
 %build
 autoreconf -fi
 %configure --with-dahdi=`pwd` --enable-shared --with-pic --with-perllib=%{perl_vendorlib}
 
 # allow overrding the variable in Makefile
 #sed -i s/UDEVRULES_DIR:=/UDEVRULES_DIR=/ Makefile
 
@@ -119,20 +122,18 @@ install -D -p -m 0644 include/dahdi/user.h %{buildroot}%{_includedir}/dahdi/user
 install -D -p -m 0644 include/dahdi/user.h %{buildroot}%{_includedir}/dahdi/dahdi_config.h
 find %{buildroot} -name '*.a' -delete
 rm -f %{buildroot}%{_sbindir}/sethdlc
 rm -f %{buildroot}%{_libdir}/libtonezone.la
 chrpath --delete %{buildroot}%{_sbindir}/dahdi_cfg
 mkdir -p %{buildroot}%{_unitdir}
 install -D -p -m 0644 dahdi.service %{buildroot}%{_unitdir}/dahdi.service
 
-%pre
-%{_sbindir}/groupadd -r dahdi &>/dev/null || :
-%{_sbindir}/useradd  -r -s /sbin/nologin -d /usr/share/dahdi -M \
-                               -c 'DAHDI User' -g dahdi dahdi &>/dev/null || :
+install -m0644 -D dahdi-tools.sysusers.conf %{buildroot}%{_sysusersdir}/dahdi-tools.conf
+
 
 %post
 %systemd_post dahdi.service
 
 %preun
 %systemd_preun dahdi.service
 
 %postun
@@ -206,27 +207,31 @@ install -D -p -m 0644 dahdi.service %{buildroot}%{_unitdir}/dahdi.service
 %{_mandir}/man8/twinstar.8.gz
 %{_mandir}/man8/xpp_blink.8.gz
 %{_mandir}/man8/xpp_sync.8.gz
 %{perl_vendorlib}/Dahdi.pm
 %{perl_vendorlib}/Dahdi
 %{_sbindir}/xtalk_send
 %{_mandir}/man8/xtalk_send.8.gz
 %{_unitdir}/dahdi.service
+%{_sysusersdir}/dahdi-tools.conf
 
 %files libs
 %license LICENSE LICENSE.LGPL
 %{_libdir}/*.so.*
 
 %files devel
 %license LICENSE LICENSE.LGPL
 %{_includedir}/*
 %{_libdir}/*.so
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.11.1-35
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-34
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 2.11.1-33
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-32
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git darkstat/darkstat.spec darkstat/darkstat.spec.tmp
index 2bfded2b27..0d48a9875c 100644
--- darkstat/darkstat.spec
+++ darkstat/darkstat.spec.tmp
@@ -1,12 +1,12 @@
 Name:		darkstat
 Summary:	Network traffic analyzer
 Version:	3.0.721
-Release:	9%{?dist}
+Release:	10%{?dist}
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:	GPL-2.0-only
 
 URL:		https://unix4lyfe.org/darkstat
 Source:		https://github.com/emikulic/darkstat/archive/%{version}/%{name}-%{version}.tar.gz
 
 Source1:	%{name}.service
 Source2:	%{name}.sysconfig
@@ -28,32 +28,33 @@ Requires(postun): systemd
 %description
 darkstat is a network traffic analyzer. It's basically a packet sniffer
 which runs as a background process on a cable/DSL router and gathers
 all sorts of useless but interesting statistics.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >darkstat.sysusers.conf <<EOF
+u darkstat - 'Network traffic analyzer' /var/lib/darkstat -
+EOF
+
 %build
 autoreconf -ifv
 %configure --disable-silent-rules
 %make_build
 
 %install
 %make_install
 install -Dpm444 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
 
-%pre
-getent group darkstat >/dev/null || groupadd -r darkstat
-getent passwd darkstat >/dev/null || \
-	useradd -r -g darkstat -d /var/lib/darkstat -s /sbin/nologin \
-	-c "Network traffic analyzer" darkstat
-exit 0
+install -m0644 -D darkstat.sysusers.conf %{buildroot}%{_sysusersdir}/darkstat.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -61,18 +62,22 @@ exit 0
 
 %files
 %license COPYING.GPL LICENSE
 %doc AUTHORS NEWS README.md
 %attr(0755, darkstat, root) %{_sbindir}/%{name}
 %attr(0644, darkstat, root) %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %{_mandir}/man8/%{name}*
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/darkstat.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.721-10
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.721-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 3.0.721-8
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.721-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git davfs2/davfs2.spec davfs2/davfs2.spec.tmp
index a46bf5eb20..9db8ef17e4 100644
--- davfs2/davfs2.spec
+++ davfs2/davfs2.spec.tmp
@@ -1,11 +1,11 @@
 Name:           davfs2
 Version:        1.7.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        A filesystem driver for WebDAV
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License:        GPL-3.0-or-later
 URL:            https://savannah.nongnu.org/projects/davfs2
 Source0:        https://download.savannah.gnu.org/releases/davfs2/%{name}-%{version}.tar.gz
 Source1:        https://download.savannah.gnu.org/releases/davfs2/%{name}-%{version}.tar.gz.sig
 # key retrieved via
 #  wget -O davfs2-memberlist-gpgkeys.asc 'https://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=davfs2&download=1'
@@ -17,31 +17,36 @@ Patch0:         davfs2-neon-34.patch
 
 Conflicts:      filesystem < 3
 BuildRequires:  automake
 BuildRequires:  gcc
 BuildRequires:  gettext
 BuildRequires:  gnupg2
 BuildRequires:  neon-devel
 BuildRequires:  make
-Requires(pre):  shadow-utils
 
 %define cachedir /var/cache/davfs2
 %define piddir /var/run/mount.davfs
 %define username davfs2
 %define groupname %{username}
 
 %description
 davfs2 is a Linux file system driver that allows you to mount a WebDAV server
 as a disk drive.
 
 %prep
 %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >davfs2.sysusers.conf <<EOF
+g davfs2 -
+u davfs2 - 'User account for %{name}' %{cachedir} -
+EOF
+
 %build
 export CFLAGS="%{optflags} -fno-strict-aliasing"
 %configure ssbindir=%{_sbindir}
 %make_build
 
 
 %install
 %make_install
@@ -53,23 +58,19 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/davfs2
 # Remove suid bit, to work around a problem with brp-strip on suid binaries
 chmod 0755 $RPM_BUILD_ROOT/%{_sbindir}/mount.davfs
 # UTF8ify translated man pages
 find $RPM_BUILD_ROOT/%{_mandir}/{de,es} -name "*.[58].gz" | while read m; do 
   gzip -dc $m | iconv -f "ISO8859-15" -t "UTF-8" - -o - | gzip -c9 > $m.utf8
   mv -f $m.utf8 $m
 done
 
+install -m0644 -D davfs2.sysusers.conf %{buildroot}%{_sysusersdir}/davfs2.conf
+
 
-%pre
-getent group  %{groupname} >/dev/null || groupadd -r %{groupname}
-getent passwd %{username} >/dev/null || \
-  useradd -r -g %{groupname} -d %{cachedir} -s /sbin/nologin \
-          -c "User account for %{name}" %{username}
-exit 0
 
 
 %files -f %{name}.lang
 # Docs
 %doc AUTHORS BUGS ChangeLog FAQ INSTALL NEWS README.md README.translators THANKS TODO
 %license COPYING
 %{_mandir}/man5/*.gz
 %{_mandir}/man8/*.gz
@@ -89,18 +90,22 @@ exit 0
 # Binaries
 %{_sbindir}/umount.davfs
 # re-apply suid bit to mount.davfs
 %attr (4755,root,root) %{_sbindir}/mount.davfs
 
 # Extra dirs needed by mount.davfs
 %ghost %dir %attr(00775,root,%{groupname}) %{cachedir}
 %ghost %dir %attr(01775,root,%{groupname}) %{piddir}
+%{_sysusersdir}/davfs2.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.7.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 06 2024 Felix Schwarz <fschwarz@fedoraproject.org> - 1.7.1-1
 - update to 1.7.1
 
 * Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 1.7.0-7
 - convert license to SPDX
diff --git ddclient/ddclient.spec ddclient/ddclient.spec.tmp
index bcd1146728..ebab53208c 100644
--- ddclient/ddclient.spec
+++ ddclient/ddclient.spec.tmp
@@ -1,15 +1,15 @@
 %global cachedir %{_localstatedir}/cache/ddclient
 %global rundir   %{_rundir}/ddclient
 
 Summary:           Client to update dynamic DNS host entries
 Name:              ddclient
 Version:           4.0.0
-Release:           1%{?dist}
+Release:           2%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:           GPL-2.0-or-later
 URL:               https://ddclient.net/
 Source0:           https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:           ddclient.rwtab
 Source2:           ddclient.service
 Source3:           ddclient.sysconfig
 Source4:           ddclient.NetworkManager
@@ -19,17 +19,16 @@ BuildArch:         noarch
 
 BuildRequires:     autoconf
 BuildRequires:     automake
 BuildRequires:     make
 BuildRequires:     perl-generators
 BuildRequires:     perl(Sys::Hostname)
 BuildRequires:     perl(version)
 BuildRequires:     systemd
-Requires(pre):     shadow-utils
 Requires(post):    systemd
 Requires(preun):   systemd
 Requires(postun):  systemd
 
 # For tests
 BuildRequires:     iproute
 BuildRequires:     perl(HTTP::Daemon)
 BuildRequires:     perl(HTTP::Daemon::SSL)
@@ -59,16 +58,21 @@ updates for multiple addresses, MX, wildcards, abuse avoidance, retrying
 the failed updates and sending update status to syslog and through e-mail.
 
 %prep
 %autosetup -p 1
 # Send less mail by default, eg. not on every shutdown.
 sed -e 's|^mail=|#mail=|' -i ddclient.conf.in
 ./autogen
 
+# Create a sysusers.d config file
+cat >ddclient.sysusers.conf <<EOF
+u ddclient - 'Dynamic DNS Client' %{_localstatedir}/cache/%{name} -
+EOF
+
 
 %build
 %configure --runstatedir=%{rundir}
 make
 
 
 %install
 install -D -p -m 755 %{name} $RPM_BUILD_ROOT%{_sbindir}/%{name}
@@ -88,25 +92,23 @@ install -D -p -m 644 %{SOURCE5} \
 
 mkdir -p $RPM_BUILD_ROOT%{cachedir}
 mkdir -p $RPM_BUILD_ROOT%{rundir}
 touch $RPM_BUILD_ROOT%{cachedir}/%{name}.cache
 
 # Correct permissions for later usage in %doc
 chmod 644 sample-*
 
+install -m0644 -D ddclient.sysusers.conf %{buildroot}%{_sysusersdir}/ddclient.conf
+
 
 %check
 make VERBOSE=1 check
 
 
-%pre
-getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name}
-getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin -c "Dynamic DNS Client" %{name}
-exit 0
 
 %post
 %systemd_post %{name}.service
 if [ $1 == 1 ]; then
     mkdir -p %{rundir}
     chown %{name}:%{name} %{rundir}
 fi
 
@@ -132,19 +134,23 @@ fi
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %attr(600,%{name},%{name}) %config(noreplace) %{_sysconfdir}/%{name}.conf
 %{_prefix}/lib/NetworkManager/dispatcher.d/50-%{name}
 
 # localstatedir
 %attr(0700,%{name},%{name}) %dir %{cachedir}
 %attr(0600,%{name},%{name}) %ghost %{cachedir}/%{name}.cache
 %ghost %attr(0755,%{name},%{name}) %dir %{rundir}
+%{_sysusersdir}/ddclient.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.0-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Wed Jan 22 2025 Scott Talbert <swt@techie.net> - 4.0.0-1
 - Update to new upstream release 4.0.0 (#2334061)
 
 * Wed Jan 22 2025 Scott Talbert <swt@techie.net> - 3.11.2-7
 - Fix FTBFS with newer autoconf
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.2-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
diff --git deluge/deluge.spec deluge/deluge.spec.tmp
index 3805f93860..de0d5b5351 100644
--- deluge/deluge.spec
+++ deluge/deluge.spec.tmp
@@ -1,11 +1,11 @@
 Name:           deluge
 Version:        2.1.1
-Release:        11%{?dist}
+Release:        12%{?dist}
 Summary:        A GTK+ BitTorrent client with support for DHT, UPnP, and PEX
 # Automatically converted from old format: GPLv3 with exceptions - review is highly recommended.
 License:        LicenseRef-Callaway-GPLv3-with-exceptions
 URL:            http://deluge-torrent.org/
 Source0:        https://ftp.osuosl.org/pub/deluge/source/2.0/%{name}-%{version}.tar.xz
 Source1:        https://ftp.osuosl.org/pub/deluge/source/2.0/%{name}-%{version}.tar.xz.sha256
 Source2:        deluge-daemon.service
 Source3:        deluge-web.service
@@ -99,24 +99,28 @@ Requires:   %{name}-daemon = %{version}-%{release}
 %description web
 Deluge bittorent client web interface
 
 %package daemon
 Summary:    The Deluge daemon
 # Automatically converted from old format: GPLv3 with exceptions - review is highly recommended.
 License:    LicenseRef-Callaway-GPLv3-with-exceptions
 Requires:   %{name}-common = %{version}-%{release}
-Requires(pre): shadow-utils
 
 %description daemon
 Files for the Deluge daemon
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >deluge.sysusers.conf <<EOF
+u deluge - 'deluge daemon account' %{_sharedstatedir}/%{name} -
+EOF
+
 %build
 %py3_build
 
 %install
 %py3_install
 
 # http://dev.deluge-torrent.org/ticket/2034
 mkdir -p %{buildroot}%{_unitdir}
@@ -155,16 +159,18 @@ pushd %{buildroot}
             s:%lang(C) ::
             /^$/d' \
     > %{name}.lang
 
 ## Now we move that list back to our sources, so that '%%files -f' can find it
 ## properly.
 popd && mv %{buildroot}/%{name}.lang .
 
+install -m0644 -D deluge.sysusers.conf %{buildroot}%{_sysusersdir}/deluge.conf
+
 %files
 
 %files common -f %{name}.lang
 %doc CHANGELOG.md LICENSE README.md
 
 %{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info/
 %dir %{python3_sitelib}/%{name}
 %{python3_sitelib}/%{name}/__pycache__
@@ -209,23 +215,18 @@ popd && mv %{buildroot}/%{name}.lang .
 %{_mandir}/man?/%{name}-web*
 %{_unitdir}/%{name}-web.service
 
 %files daemon
 %{_bindir}/%{name}d
 %{_unitdir}/%{name}-daemon.service
 %attr(-,%{name}, %{name})%{_sharedstatedir}/%{name}/
 %{_mandir}/man?/%{name}d*
+%{_sysusersdir}/deluge.conf
 
-%pre daemon
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-        -c "deluge daemon account" %{name}
-exit 0
 
 
 %post daemon
 %systemd_post deluge-daemon.service
 
 %post web
 %systemd_post deluge-web.service
 
@@ -237,16 +238,19 @@ exit 0
 
 %postun daemon
 %systemd_postun_with_restart deluge-daemon.service
 
 %postun web
 %systemd_postun_with_restart deluge-web.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.1-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.1.1-10
 - Backport upstream patch to support python 3.13 cgi module removal (bug 2292651)
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 2.1.1-9
 - convert license to SPDX
diff --git dhcp-forwarder/dhcp-forwarder.spec dhcp-forwarder/dhcp-forwarder.spec.tmp
index 65cb436283..4700a13aca 100644
--- dhcp-forwarder/dhcp-forwarder.spec
+++ dhcp-forwarder/dhcp-forwarder.spec.tmp
@@ -1,12 +1,12 @@
 Summary: DHCP relay agent
 Name: dhcp-forwarder
 Version: 0.11
-Release: 23%{?dist}
+Release: 24%{?dist}
 # Automatically converted from old format: GPLv3 - review is highly recommended.
 License: GPL-3.0-only
 URL: http://www.nongnu.org/dhcp-fwd/
 Source0: http://savannah.nongnu.org/download/dhcp-fwd/%name-%version.tar.xz
 Source1: http://savannah.nongnu.org/download/dhcp-fwd/%name-%version.tar.xz.asc
 Source2: dhcp-forwarder.service
 
 BuildRequires:  gcc
@@ -28,16 +28,21 @@ ISC's DHCP, but has the following important features:
 * Uses AF_INET sockets which makes it possible to filter incoming
   messages with packetfilters
 * The DHCP agent IDs can be defined freely
 * Has a small memory footprint when using dietlibc
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >dhcp-forwarder.sysusers.conf <<EOF
+u dhcp-fwd - 'DHCP Forwarder user' %{_sharedstatedir}/dhcp-fwd -
+EOF
+
 %build
 %configure \
  --enable-release \
  --with-systemd-unitdir=%_unitdir \
  --disable-dietlibc
 
 make %{?_smp_mflags}
 
@@ -45,44 +50,44 @@ make %{?_smp_mflags}
 rm -rf %{buildroot}
 
 install -d %{buildroot}/%{_sharedstatedir}/dhcp-fwd \
  %{buildroot}/%{_unitdir} %{buildroot}/%{_sysconfdir}
 make DESTDIR=%{buildroot} install
 install %{SOURCE2} %{buildroot}/%{_unitdir}/dhcp-forwarder.service
 install contrib/dhcp-fwd.conf %{buildroot}/%{_sysconfdir}
 
+install -m0644 -D dhcp-forwarder.sysusers.conf %{buildroot}%{_sysusersdir}/dhcp-forwarder.conf
+
 %check
 make check
 
-%pre
-getent group dhcp-fwd >/dev/null || groupadd -r dhcp-fwd
-getent passwd dhcp-fwd >/dev/null || \
-    useradd -r -g dhcp-fwd -d %{_sharedstatedir}/dhcp-fwd -s /sbin/nologin \
-    -c "DHCP Forwarder user" dhcp-fwd
-exit 0
 
 %files
 %doc AUTHORS COPYING ChangeLog NEWS README
 %dir %attr(0755,root,root) %{_sharedstatedir}/dhcp-fwd
 %_sbindir/*
 %_mandir/*/*
 %attr(0644,root,root) %{_unitdir}/dhcp-forwarder.service
 %attr(0755,root,root) %config(noreplace) %{_sysconfdir}/dhcp-fwd.conf
+%{_sysusersdir}/dhcp-forwarder.conf
 
 %post
 %systemd_post dhcp-forwarder.service
 
 %preun
 %systemd_preun dhcp-forwarder.service
 
 %postun
 %systemd_postun_with_restart dhcp-forwarder.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.11-24
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 0.11-22
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-21
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git dictd/dictd.spec dictd/dictd.spec.tmp
index 340b653ab1..b57e2c2884 100644
--- dictd/dictd.spec
+++ dictd/dictd.spec.tmp
@@ -2,17 +2,17 @@
 # Do no change username -- hardcoded in dictd.c
 %global username    dictd
 %global homedir     %{_datadir}/dict/dictd
 %global selinux_variants mls targeted
 
 Summary:   DICT protocol (RFC 2229) server and command-line client
 Name:      dictd
 Version:   1.13.1
-Release:   5%{?dist}
+Release:   6%{?dist}
 License:   GPL-2.0-only AND GPL-2.0-or-later AND GPL-1.0-or-later AND GPL-3.0-or-later AND MIT AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain
 Source0:   https://github.com/cheusov/dictd/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:   dictd.service
 Source2:   dictd2.te
 Source3:   dictd.conf
 Patch0:    0001-Fix-C99-compatibility-issues-in-lexer-parser-integra.patch
 Patch1:    0001-remove-use-of-deprecated-inet_aton-and-inet_ntoa.patch
 URL:       http://www.dict.org/
@@ -26,17 +26,16 @@ BuildRequires: libmaa-devel
 BuildRequires: byacc
 BuildRequires: libdbi-devel
 BuildRequires: zlib-devel
 BuildRequires: gawk
 BuildRequires: gcc
 BuildRequires: pkgconfig(systemd)
 BuildRequires: checkpolicy, selinux-policy-devel
 
-Requires(pre): shadow-utils
 
 %description
 Command-line client for the DICT protocol.  The Dictionary Server
 Protocol (DICT) is a TCP transaction based query/response protocol that
 allows a client to access dictionary definitions from a set of natural
 language dictionary databases.
 
 %package server
@@ -56,16 +55,21 @@ More information can be found in the INSTALL file in this package.
 
 %prep
 %autosetup -p1
 
 autoreconf -fv
 mkdir SELinux
 cp -p %{SOURCE2} SELinux
 
+# Create a sysusers.d config file
+cat >dictd.sysusers.conf <<EOF
+u dictd - 'dictd dictionary server' %{homedir} -
+EOF
+
 %build
 pushd SELinux
 for selinuxvariant in %{selinux_variants}
 do
   make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
   mv dictd2.pp dictd2.pp.${selinuxvariant}
   make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
 done
@@ -84,38 +88,35 @@ install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/dictd.conf
 
 for selinuxvariant in %{selinux_variants}
 do
   install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
   install -p -m 644 SELinux/dictd2.pp.${selinuxvariant} \
     %{buildroot}%{_datadir}/selinux/${selinuxvariant}/dictd2.pp
 done
 
+install -m0644 -D dictd.sysusers.conf %{buildroot}%{_sysusersdir}/dictd.conf
+
 
 %post server
 %systemd_post dictd.service
 
 %preun server
 %systemd_preun dictd.service
 
 %postun server
 %systemd_postun_with_restart dictd.service
 
-%pre
-getent group %{username} >/dev/null || groupadd -r %{username}
-getent passwd %{username} >/dev/null || \
-    useradd -r -g %{username} -d %{homedir} -s /sbin/nologin \
-    -c "dictd dictionary server" %{username}
-exit 0
 
 %files
 %doc ANNOUNCE COPYING README doc/rfc2229.txt doc/security.doc
 %doc examples/dict1.conf
 %{_bindir}/dict
 %{_mandir}/man1/dict.1*
+%{_sysusersdir}/dictd.conf
 
 %files server
 %doc ANNOUNCE COPYING INSTALL README doc/rfc2229.txt doc/security.doc
 %doc examples/dictd*
 %exclude %{_mandir}/man1/dict.1*
 %exclude %{_bindir}/dict
 %{_bindir}/dict_lookup
 %{_bindir}/dictfmt
@@ -137,16 +138,19 @@ exit 0
 %{_mandir}/man8/dictd.8*
 %attr(0644,root,root) %{_unitdir}/dictd.service
 %{homedir}
 %config(noreplace) %{_sysconfdir}/dictd.conf
 %doc SELinux
 %{_datadir}/selinux/*/dictd2.pp
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.13.1-6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Mar 11 2024 Carlos Rodriguez-Fernandez <carlosrodrifernandez@gmail.com> 1.13.1-3
 - Remove use of deprecated functions
diff --git dionaea/dionaea.spec dionaea/dionaea.spec.tmp
index 0ca98a0703..efdc2790ab 100644
--- dionaea/dionaea.spec
+++ dionaea/dionaea.spec.tmp
@@ -1,13 +1,13 @@
 Name:           dionaea
 Version:        0.11.0
 Summary:        Low interaction honeypot
 # Show as the RPM release number (keep same number line for tarball and git builds)
-%global         baserelease     3
+%global         baserelease     4
 
 %if 0%{?rhel}
 # Group needed for EPEL
 Group:          Applications/System
 %endif
 
 # Dionaea package is licensed with GPLv2
 # On top of that it is granting one exception extra - it is permitted by the license
@@ -176,17 +176,16 @@ Requires:       python%{python3_pkgversion}-dionaea
 %{?systemd_requires}
 %else
 Requires(post): chkconfig
 Requires(preun): chkconfig
 Requires(preun): initscripts
 Requires(postun): initscripts
 %endif
 
-Requires(pre): shadow-utils
 
 %description
 Dionaea is low interaction honeypot. It is meant to be a nepenthes successor,
 embedding python as scripting language, using libemu to detect shell-codes,
 supporting ipv6 and TLS.
 
 
 # ============= documentation package ==========================================
@@ -261,16 +260,21 @@ sed -i -e "s|var/dionaea|var/lib/dionaea|g;" \
 # Scripts should run with /usr/bin/python3 shabang and not /usr/bin/env python3 or /bin/python3
 # Fedora specific - not reported upstream
 sed -i -e 's|#!/bin/python3|#!/usr/bin/python3|g; s|#!/usr/bin/env python3|#!/usr/bin/python3|g;' \
     modules/python/util/readlogsqltree.py \
     modules/python/util/logsql2postgres.py \
     modules/python/util/gnuplotsql.py \
     modules/python/util/updateccs.py
 
+# Create a sysusers.d config file
+cat >dionaea.sysusers.conf <<EOF
+u dionaea - 'Dionaea honeypot' /home/dionaea -
+EOF
+
 
 
 
 # ============= Build ==========================================================
 %build
 export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
 # %%configure --enable-python --with-python=`which python3` --with-glib=glib --with-nl-include=/usr/include/libnl3 --disable-werror
 # %%make_build CFLAGS="%%{optflags} -Wno-error -D_GNU_SOURCE -std=c99"
@@ -346,16 +350,18 @@ mkdir -p %{buildroot}%{_sharedstatedir}/%{name}/roots/upnp || :
 touch %{buildroot}%{_sharedstatedir}/%{name}/dionaea.sqlite
 touch %{buildroot}%{_sharedstatedir}/%{name}/dionaea_incident.sqlite
 touch %{buildroot}%{_sharedstatedir}/%{name}/sipaccounts.sqlite
 
 # leave this for the %%license tag
 rm -f %{buildroot}/usr/share/doc/dionaea/LICENSE \
     %{buildroot}/usr/share/doc/dionaea/LICENSE.openssl
 
+install -m0644 -D dionaea.sysusers.conf %{buildroot}%{_sysusersdir}/dionaea.conf
+
 
 
 # ============= Scriptlets ==========================================================
 %post
 %if 0%{?with_systemd}
   %systemd_post %{name}.service
 %else
   /sbin/chkconfig --add %{name}
@@ -376,21 +382,16 @@ rm -f %{buildroot}/usr/share/doc/dionaea/LICENSE \
   %systemd_postun %{name}.service
 %else
   if [ $1 -eq 1 ] ; then
      /sbin/service %{name} condrestart >/dev/null 2>&1 || :
   fi
 %endif
 
 
-%pre
-getent group dionaea >/dev/null || groupadd -r dionaea || :
-getent passwd dionaea >/dev/null || \
-    useradd -r -g dionaea -d /home/dionaea -s /sbin/nologin \
-    -c "Dionaea honeypot" dionaea || :
 
 
 
 
 # ============= package files ==================================================
 %files
 %license LICENSE src/LICENSE.openssl
 %doc README.md CHANGELOG.rst CONTRIBUTING.rst
@@ -418,16 +419,17 @@ getent passwd dionaea >/dev/null || \
 
 
 
 %if 0%{?with_systemd}
 %{_unitdir}/*.service
 %else
 %{_initrddir}/*
 %endif
+%{_sysusersdir}/dionaea.conf
 
 
 
 %files doc
 %doc README.md
 %doc html
 
 
@@ -436,16 +438,19 @@ getent passwd dionaea >/dev/null || \
 %license LICENSE
 %doc README.md
 %{_libdir}/%{name}/python.so
 %{python3_sitearch}/%{name}*
 # %%{python3_sitearch}/%%{name}-*egg-info
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.11.0-4.20210228git4e459f1
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-3.20210228git4e459f1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 0.11.0-2.20210228git4e459f1
 - convert license to SPDX
 
 * Thu Jul 04 2024 Michal Ambroz <rebus at, seznam.cz> 0.11.0-1
 - bump to 0.11.0
diff --git dist-git/dist-git.spec dist-git/dist-git.spec.tmp
index fdcce5ea87..a38d3880b9 100644
--- dist-git/dist-git.spec
+++ dist-git/dist-git.spec.tmp
@@ -1,15 +1,15 @@
 %global selinux_variants mls targeted
 %global modulename dist_git
 %global installdir /var/lib/dist-git
 
 Name:           dist-git
 Version:        1.18
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Package source version control system
 
 # upload.cgi uses GPLv1
 License:        MIT AND GPL-1.0-only
 URL:            https://github.com/release-engineering/dist-git
 # Source is created by
 # git clone https://github.com/release-engineering/dist-git.git
 # cd dist-git
@@ -21,17 +21,16 @@ BuildRequires:  systemd
 
 Requires:       httpd
 Requires:       perl(Sys::Syslog)
 Requires:       (dist-git-selinux if selinux-policy-targeted)
 Requires:       git
 Requires:       git-daemon
 Requires:       mod_ssl
 Requires:       crudini
-Requires(pre):  shadow-utils
 
 Requires:       python3-requests
 Recommends:     python3-grokmirror
 Suggests:       python3-fedmsg
 Suggests:       fedora-messaging
 %if 0%{?rhel} == 8
 BuildRequires:  python3-nose
 %else
@@ -71,38 +70,36 @@ Dist Git is a remote Git repository specifically designed to hold RPM
 package sources.
 
 This package includes SELinux support.
 
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >dist-git.sysusers.conf <<EOF
+g packager -
+EOF
+
 
 %build
 # ------------------------------------------------------------------------------
 # SELinux
 # ------------------------------------------------------------------------------
 cd selinux
 for selinuxvariant in %{selinux_variants}
 do
   make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
   mv %{modulename}.pp %{modulename}.pp.${selinuxvariant}
   make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
 done
 cd -
 
 
-%pre
-# ------------------------------------------------------------------------------
-# Users and Groups
-# ------------------------------------------------------------------------------
-getent group packager > /dev/null || \
-    groupadd -r packager
-exit 0
 
 
 %check
 %if 0%{?rhel} && 0%{?rhel} <= 8
 %if 0%{?rhel} < 8
 nosetests -v .
 %else
 nosetests-3 -v .
@@ -166,16 +163,18 @@ do
   install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
   install -p -m 644 %{modulename}.pp.${selinuxvariant} \
     %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
 done
 cd -
 
 hardlink -cv %{buildroot}%{_datadir}/selinux
 
+install -m0644 -D dist-git.sysusers.conf %{buildroot}%{_sysusersdir}/dist-git.conf
+
 %post selinux
 for selinuxvariant in %{selinux_variants}
 do
   /usr/sbin/semodule -s ${selinuxvariant} -i \
     %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || :
 done
 %{_sbindir}/restorecon -v %{installdir}/cache || :
 %{_sbindir}/restorecon -v %{installdir}/cache/lookaside || :
@@ -241,24 +240,28 @@ fi
 %dir              %{_datadir}/dist-git
 %attr (775, -, -) %{_datadir}/dist-git/*
 %{_bindir}/dist-git-gc
 # TODO: move _datadir executables to _libexecdir, and drop these symlinks
 %{_bindir}/mkbranch
 %{_bindir}/mkbranch_branching
 %{_bindir}/remove_unused_sources
 %{_bindir}/setup_git_package
+%{_sysusersdir}/dist-git.conf
 
 
 %files selinux
 %doc selinux/*
 %{_datadir}/selinux/*/%{modulename}.pp
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.18-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Sep 27 2024 Pavel Raiskup <praiskup@redhat.com> 1.18-1
 - replace test on _selinux_policy_version by macro that does it all
 - handle situation when _selinux_policy_version is not defined
 - silence pylint
 - remove rhel7 specific code
diff --git dlt-daemon/dlt-daemon.spec dlt-daemon/dlt-daemon.spec.tmp
index 87e726e7e0..41efa70a53 100644
--- dlt-daemon/dlt-daemon.spec
+++ dlt-daemon/dlt-daemon.spec.tmp
@@ -1,24 +1,23 @@
 Name: dlt-daemon
 Version: 2.18.9
-Release: 6%{?dist}
+Release: 7%{?dist}
 Summary: DLT - Diagnostic Log and Trace
 Group: System Environment/Base
 License: MPL-2.0
 URL: https://github.com/COVESA/dlt-daemon
 Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
 Patch0: dlt-daemon-config.patch
 
 BuildRequires: cmake
 BuildRequires: pandoc
 BuildRequires: systemd
 BuildRequires: systemd-devel
 BuildRequires: gcc-c++
-Requires(pre): shadow-utils
 
 %description
 This component provides a standardised log and trace interface, based on the
 standardised protocol specified in the AUTOSAR standard 4.0 DLT.
 This component can be used by GENIVI components and other applications as
 logging facility providing
 - the DLT shared library
 - the DLT daemon, including startup scripts
@@ -47,16 +46,21 @@ Recommends:     %{name} = %{version}-%{release}
 Summary:        DLT - Diagnostic Log and Trace: Examples
 Requires:       %{name} = %{version}-%{release}
 %description -n dlt-examples
 %{summary}.
 
 %prep
 %autosetup -n %{name}-%{version} -p1
 
+# Create a sysusers.d config file
+cat >dlt-daemon.sysusers.conf <<EOF
+u dlt-daemon - 'User for dlt-daemon' /var/lib/dlt-daemon -
+EOF
+
 %build
 mkdir -p build
 cd build
 %cmake .. -Wno-dev \
         -DDLT_USER=dlt-daemon \
         -DCMAKE_INSTALL_PREFIX=/usr \
         -DWITH_DLT_USE_IPv6=OFF \
         -DDLT_IPC=UNIX_SOCKET \
@@ -72,38 +76,34 @@ cd build
 %install
 cd build
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
 %cmake_install
 
 # Home directory for the 'dlt-daemon' user
 mkdir -p $RPM_BUILD_ROOT/var/lib/dlt-daemon
 
-%pre
-## This creates the users that are needed for /var/lib/dlt-daemon
-getent group dlt-daemon >/dev/null || groupadd -r dlt-daemon
-getent passwd dlt-daemon >/dev/null || \
-    useradd -r -g dlt-daemon -d /var/lib/dlt-daemon -s /sbin/nologin \
-    -c "User for dlt-daemon" dlt-daemon
-exit 0
+install -m0644 -D dlt-daemon.sysusers.conf %{buildroot}%{_sysusersdir}/dlt-daemon.conf
+
 
 %ldconfig_scriptlets -n dlt-libs
 
 %files
 %license LICENSE
 %doc AUTHORS README.md ReleaseNotes.md
 %attr(755,dlt-daemon,dlt-daemon) %dir /var/lib/dlt-daemon
 %config(noreplace) %{_sysconfdir}/dlt.conf
 %config(noreplace) %{_sysconfdir}/dlt_gateway.conf
 %{_unitdir}/dlt.service
 %attr(0755,root,root)
 %{_bindir}/dlt-daemon
 %{_mandir}/man1/dlt-daemon.1*
 %{_mandir}/man5/dlt.conf.5*
 %{_mandir}/man5/dlt_gateway.conf.5*
+%{_sysusersdir}/dlt-daemon.conf
 
 %files -n dlt-examples
 # The binaries do not have man pages but do have markdown documents.
 %doc doc/dlt-qnx-system.md doc/dlt_build_options.md doc/dlt_cdh.md doc/dlt_demo_setup.md doc/dlt_design_specification.md doc/dlt_example_user.md doc/dlt_extended_network_trace.md doc/dlt_filetransfer.md doc/dlt_for_developers.md doc/dlt_glossary.md doc/dlt_kpi.md doc/dlt_multinode.md doc/dlt_offline_logstorage.md
 %{_bindir}/dlt-example-filetransfer
 %{_bindir}/dlt-example-user
 %{_bindir}/dlt-example-user-common-api
 %{_bindir}/dlt-example-user-func
@@ -153,16 +153,19 @@ exit 0
 
 %files -n dlt-libs-devel
 %{_includedir}/dlt/*.h
 %{_libdir}/pkgconfig/automotive-dlt.pc
 %{_libdir}/libdlt.so
 %{_libdir}/cmake/automotive-dlt/*.cmake
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.18.9-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.9-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.9-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.9-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git dmapd/dmapd.spec dmapd/dmapd.spec.tmp
index edc8a92cab..d2b59fed27 100644
--- dmapd/dmapd.spec
+++ dmapd/dmapd.spec.tmp
@@ -11,17 +11,16 @@ Source0: http://www.flyn.org/projects/%name/%{name}-%{version}.tar.gz
 %{?systemd_requires}
 BuildRequires: libdmapsharing4-devel >= 3.9.3
 BuildRequires: vips-devel >= 7.38
 BuildRequires: gstreamer1-devel
 BuildRequires: gstreamer1-plugins-base-devel
 BuildRequires: totem-pl-parser-devel
 BuildRequires: systemd
 BuildRequires: make
-Requires(pre): shadow-utils
 Requires(post): systemd-units systemd-sysv
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
 %description 
 The dmapd project provides a GObject-based, Open Source implementation 
 of DMAP sharing with the following features:
 
@@ -43,16 +42,21 @@ of DMAP sharing with the following features:
 Dmapd runs on Linux and other POSIX operating systems. It has been 
 used on OpenWrt Linux-based systems with as little as 32MB of memory 
 to serve music, video and photograph libraries containing thousands of 
 files.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >dmapd.sysusers.conf <<EOF
+u dmapd - 'dmapd Daemon' / -
+EOF
+
 %build
 %configure                                      \
 	--disable-static                        \
 	--disable-tests                         \
 	--with-systemdsystemunitdir=%{_unitdir} \
 
 make %{?_smp_mflags}
 
@@ -61,34 +65,33 @@ make install DESTDIR=%{buildroot} INSTALL="install -p"
 rm -f %{buildroot}%{_libdir}/libdmapd.la
 rm -f %{buildroot}%{_libdir}/dmapd/%{version}/modules/*.la
 rm -f %{buildroot}%{_sbindir}/dmapd-test
 mkdir -p %{buildroot}%{_localstatedir}/cache/dmapd/DAAP
 mkdir -p %{buildroot}%{_localstatedir}/cache/dmapd/DPAP
 mkdir -p %{buildroot}%{_localstatedir}/run/dmapd
 install -D -p -m 644 distro/dmapd.conf %{buildroot}%{_sysconfdir}/dmapd.conf
 
+install -m0644 -D dmapd.sysusers.conf %{buildroot}%{_sysusersdir}/dmapd.conf
+
 %files 
 %{_libdir}/*.so.0
 %{_libdir}/*.so.%{version}
 %{_libdir}/dmapd
 %{_sbindir}/dmapd
 %{_bindir}/dmapd-transcode
 %{_bindir}/dmapd-hashgen
 %config(noreplace) %{_sysconfdir}/dmapd.conf
 %attr(0700,dmapd,root) %{_localstatedir}/cache/dmapd/
 %attr(0700,dmapd,root) %{_localstatedir}/run/dmapd
 %{_mandir}/*/*
 %{_unitdir}/dmapd.service
 %doc AUTHORS COPYING ChangeLog INSTALL NEWS README FAQ 
+%{_sysusersdir}/dmapd.conf
 
-%pre
-getent group dmapd >/dev/null || groupadd -r dmapd
-getent passwd dmapd >/dev/null || useradd -r -g dmapd -d / -s /sbin/nologin -c "dmapd Daemon" dmapd
-exit 0
 
 %post
 /sbin/ldconfig
 %systemd_post dmapd.service
 
 %preun
 %systemd_preun dmapd.service
 
RPMAutoSpec usage detected, not changing the spec file.
diff --git dnsdist/dnsdist.spec dnsdist/dnsdist.spec.tmp
index e322f349b5..dc917ea6f6 100644
--- dnsdist/dnsdist.spec
+++ dnsdist/dnsdist.spec.tmp
@@ -55,16 +55,21 @@ legitimate users while shunting or blocking abusive traffic.
 
 
 %prep
 %autosetup -p2
 
 # run as dnsdist user
 sed -i '/^ExecStart/ s/dnsdist/dnsdist -u dnsdist -g dnsdist/' dnsdist.service.in
 
+# Create a sysusers.d config file
+cat >dnsdist.sysusers.conf <<EOF
+u dnsdist - 'dnsdist user' / -
+EOF
+
 %build
 %configure \
     --sysconfdir=%{_sysconfdir}/%{name} \
     --disable-static \
     --disable-dependency-tracking \
     --disable-silent-rules \
     --enable-dnscrypt \
     --enable-dns-over-https \
@@ -93,22 +98,18 @@ make %{?_smp_mflags}
 make install DESTDIR=%{buildroot}
 
 # install systemd unit file
 install -D -p -m 644 %{name}.service %{buildroot}%{_unitdir}/%{name}.service
 install -d %{buildroot}%{_sysconfdir}/%{name}/
 %{__mv} %{buildroot}%{_sysconfdir}/%{name}/dnsdist.conf-dist %{buildroot}%{_sysconfdir}/%{name}/dnsdist.conf
 chmod 0640 %{buildroot}/%{_sysconfdir}/%{name}/dnsdist.conf
 
-%pre
-getent group dnsdist >/dev/null || groupadd -r dnsdist
-getent passwd dnsdist >/dev/null || \
-    useradd -r -g dnsdist -d / -s /sbin/nologin \
-    -c "dnsdist user" dnsdist
-exit 0
+install -m0644 -D dnsdist.sysusers.conf %{buildroot}%{_sysusersdir}/dnsdist.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -119,11 +120,12 @@ exit 0
 %doc README.md
 %license COPYING
 %{_bindir}/%{name}
 %{_mandir}/man1/%{name}.1*
 %{_unitdir}/%{name}.service
 %{_unitdir}/%{name}@.service
 %dir %{_sysconfdir}/%{name}/
 %config(noreplace) %{_sysconfdir}/%{name}/dnsdist.conf
+%{_sysusersdir}/dnsdist.conf
 
 %changelog
 %autochangelog
diff --git domoticz/domoticz.spec domoticz/domoticz.spec.tmp
index 2987d9a790..d8c7be9c1e 100644
--- domoticz/domoticz.spec
+++ domoticz/domoticz.spec.tmp
@@ -1,14 +1,14 @@
 #global git_short_hash df9de70
 #global git_hash df9de7020c4317a484c39f7330e6d1c9ca3d9ec9
 
 Name:		domoticz
 Version:	2024.7
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	Open source Home Automation System
 
 # Automatically converted from old format: GPLv3+ and ASL 2.0 and Boost and BSD and MIT - review is highly recommended.
 License:	GPL-3.0-or-later AND Apache-2.0 AND BSL-1.0 AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT
 URL:		http://www.domoticz.com
 Source0:	https://github.com/domoticz/domoticz/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
 #Source0:	https://github.com/domoticz/domoticz/archive/%%{git_short_hash}.tar.gz#/%%{name}-%%{version}.tar.gz
 Source1:	%{name}.service
@@ -39,17 +39,16 @@ BuildRequires:	minizip-compat-devel
 BuildRequires:	mosquitto-devel
 BuildRequires:	openssl-devel
 BuildRequires:	python3-devel
 BuildRequires:	sqlite-devel
 BuildRequires:	systemd-devel
 BuildRequires:	tinyxpath-devel
 BuildRequires:	zlib-devel
 
-Requires(pre):	shadow-utils
 Requires(post):	systemd
 Requires(postun):	systemd
 Requires(preun):	systemd
 
 Requires:	google-droid-sans-fonts
 Recommends:     mosquitto
 Recommends:	system-python-libs >= 3.4
 #Recommends:     zwave-js-ui
@@ -100,16 +99,22 @@ any mobile device
 # Add support for future versions of Python by replacing hardcoded version with macro
 sed -i 's/-lpythonVER/-lpython%{python3_version}/' CMakeLists.txt
 # Renaming of old define used wrong case in ZWave file
 sed -i 's/sTypeSetPoint/sTypeSetpoint/g' hardware/ZWaveBase.cpp
 rm -rf sqlite/
 rm -rf tinyxpath/
 cp -p %{SOURCE3} ./appversion.h
 
+# Create a sysusers.d config file
+cat >domoticz.sysusers.conf <<EOF
+u domoticz - 'Domoticz Home Automation Server' %{_datadir}/%{name} -
+m domoticz dialout
+EOF
+
 
 %build
 %cmake \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DUSE_STATIC_LIBSTDCXX=NO \
  -DUSE_STATIC_OPENZWAVE=NO \
  -DUSE_OPENSSL_STATIC=NO \
  -DUSE_BUILTIN_JSONCPP=NO \
@@ -198,27 +203,25 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{name}/www/templates/{custom.example,readme.txt}
    $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/templates
 rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/www/templates
 ln -s %{_sharedstatedir}/%{name}/templates \
       $RPM_BUILD_ROOT%{_datadir}/%{name}/www/templates
 
 # Byte compile the default plugin
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/plugins/AwoxSMP
 
+install -m0644 -D domoticz.sysusers.conf %{buildroot}%{_sysusersdir}/domoticz.conf
+
 
 %pretrans
 # Handle directory move for a few releases
 rm -rf %{_datadir}/%{name}/www/templates
 
 
 %pre
-getent group domoticz >/dev/null || groupadd -r domoticz
-getent passwd domoticz >/dev/null || \
-useradd -r -g domoticz -d %{_datadir}/%{name} -s /sbin/nologin \
--c "Domoticz Home Automation Server" domoticz
 # For OpenZWave USB access (/dev/ttyACM#)
 usermod -G domoticz,dialout domoticz
 
 
 %post
 %systemd_post %{name}.service
 
 
@@ -233,19 +236,23 @@ usermod -G domoticz,dialout domoticz
 %files
 %license License.txt
 %doc README.md History.txt
 %{_bindir}/%{name}
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %{_datadir}/%{name}/
 %attr(0755,domoticz,domoticz) %{_sharedstatedir}/%{name}/
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/domoticz.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2024.7-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2024.7-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 05 2025 Michael Cronenworth <mike@cchtml.com> - 2024.7-2
 - Fix ZWave SetPoint devices
 
 * Fri Dec 27 2024 Michael Cronenworth <mike@cchtml.com> - 2024.7-1
 - New stable release
diff --git ebnetd/ebnetd.spec ebnetd/ebnetd.spec.tmp
index f344a8e846..4434dd3f40 100644
--- ebnetd/ebnetd.spec
+++ ebnetd/ebnetd.spec.tmp
@@ -2,17 +2,17 @@
 
 %global username	ebnetd
 %global gecos		EBNET User
 %global base_homedir	%{_localstatedir}/lib/
 %global homedir		%{base_homedir}%{username}
 
 Name:		ebnetd
 Version:	1.0
-Release:	52%{?dist}
+Release:	53%{?dist}
 License:	GPL-2.0-or-later
 URL:		http://www.sra.co.jp/people/m-kasahr/ebnetd/
 # For systemd.macros
 BuildRequires:	systemd
 BuildRequires:	eb-devel
 BuildRequires:	gcc autoconf automake libtool
 BuildRequires: make
 
@@ -43,17 +43,16 @@ Requires:	%{name}-common = %{version}-%{release}
 EBNET is a protocol to communicate to the EB library that is a C library
 for accessing "CD-ROM books".
 
 This package contains a EBNET protocol server.
 
 
 %package common
 Summary:		Common package for ebnetd families
-Requires(pre):		shadow-utils
 %{?systemd_requires}
 
 %description common
 EBNET is a protocol to communicate to the EB library that is a C library
 for accessing "CD-ROM books".
 
 This package contains a bunch of the common programs/files to be shared
 by ebnetd families.
@@ -79,16 +78,21 @@ HTTP/1.1. which provide a way to access "CD-ROM books" through the EB library.
 Note that ebhttpd can't be used for generic WWW purposes.
 
 
 %prep
 %autosetup -p1
 cp -p %{SOURCE1} .
 autoreconf -i # to remove the unnecessary checking like g++
 
+# Create a sysusers.d config file
+cat >ebnetd.sysusers.conf <<EOF
+u ebnetd - '%{gecos}' %{homedir} -
+EOF
+
 %build
 %configure --disable-static --enable-ipv6 --with-eb-conf=%{_libdir}/eb.conf --with-logdir=%{_localstatedir}/log/ebnetd --localstatedir=%{base_homedir}
 
 make
 
 %install
 make install DESTDIR=$RPM_BUILD_ROOT INSTALL="/usr/bin/install -p"
 
@@ -123,30 +127,28 @@ sed -i	-e 's/^\(user[ 	]*\)[a-z].*$/\1ebnetd/' \
 mv $RPM_BUILD_ROOT%{_sysconfdir}/ebnetd.conf{.sample,} && \
 touch -r ebnetd.conf.sample $RPM_BUILD_ROOT%{_sysconfdir}/ebnetd.conf
 
 mkdir -p $RPM_BUILD_ROOT%{homedir} || :
 
 # remove unnecessary files
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 
+install -m0644 -D ebnetd.sysusers.conf %{buildroot}%{_sysusersdir}/ebnetd.conf
+
 
 %post
 %systemd_post ebnetd.socket
 
 %preun
 %systemd_preun ebnetd.socket ebnetd-instances.target
 
 %postun
 %systemd_postun_with_restart ebnetd.socket ebnetd-instances.target
 
-%pre common
-getent group %{username} > /dev/null || groupadd -r %{username}
-getent passwd %{username} > /dev/null || useradd -r -g %{username} -d %{homedir} -s /sbin/nologin -c '%{gecos}' %{username}
-exit 0
 
 %post	-n ndtpd
 %systemd_post ndtpd.socket
 
 %preun	-n ndtpd
 %systemd_preun ndtpd.socket ndtpd-instances.target
 
 %postun	-n ndtpd
@@ -177,16 +179,17 @@ exit 0
 %{_sbindir}/ebndaily
 %{_sbindir}/ebnupgrade
 %{_infodir}/ebnetd.info*
 %lang(ja) %doc %{_infodir}/ebnetd-ja.info*
 %config(noreplace) %{_sysconfdir}/ebnetd.conf
 %attr (-, ebnetd, ebnetd) %{homedir}
 %attr (-, ebnetd, ebnetd) %{_localstatedir}/run/ebnetd
 %{_tmpfilesdir}/%{name}.conf
+%{_sysusersdir}/ebnetd.conf
 
 %files -n ndtpd
 %{_sbindir}/ndtp*
 %{_libexecdir}/ndtpstat
 /lib/systemd/system/ndtpd.socket
 /lib/systemd/system/ndtpd@.service
 /lib/systemd/system/ndtpd-instances.target
 
@@ -195,16 +198,19 @@ exit 0
 %{_sbindir}/ebht*
 %{_libexecdir}/ebhtstat
 /lib/systemd/system/ebhttpd.socket
 /lib/systemd/system/ebhttpd@.service
 /lib/systemd/system/ebhttpd-instances.target
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0-53
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-52
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-51
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed May  8 2024 Akira TAGOH <tagoh@redhat.com> - 1.0-50
 - Fix FTBFS.
diff --git elfutils/elfutils.spec elfutils/elfutils.spec.tmp
index 70ec135728..ad4cfb60e9 100644
--- elfutils/elfutils.spec
+++ elfutils/elfutils.spec.tmp
@@ -1,15 +1,15 @@
 # Rebuild --with static to enable static subpackages
 # This is *not* supported by elfutils maintainers
 %bcond_with static
 
 Name: elfutils
 Version: 0.192
-%global baserelease 8
+%global baserelease 9
 Release: %{baserelease}%{?dist}
 URL: http://elfutils.org/
 %global source_url ftp://sourceware.org/pub/elfutils/%{version}/
 License: GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GFDL-1.3-no-invariants-or-later
 Source: %{?source_url}%{name}-%{version}.tar.bz2
 Source1: elfutils-debuginfod.sysusers
 Summary: A collection of utilities and DSOs to handle ELF files and DWARF data
 
@@ -291,19 +291,17 @@ BuildRequires: systemd
 %if %{with_sysusers}
 BuildRequires: systemd-rpm-macros
 %endif
 BuildRequires: make
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 %if %{with_sysusers}
-%{?sysusers_requires_compat}
 %else
-Requires(pre): shadow-utils
 %endif
 # To extract .deb files with a bsdtar (= libarchive) subshell
 Requires: bsdtar
 
 %description debuginfod-client
 The elfutils-debuginfod-client package contains shared libraries
 dynamically loaded from -ldw, which use a debuginfod service
 to look up debuginfo and associated data. Also includes a
@@ -517,32 +515,28 @@ fi
 %{_mandir}/man8/debuginfod*.8*
 
 
 %dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod
 %ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite
 
 %pre debuginfod
 %if %{with_sysusers}
-%sysusers_create_compat %{SOURCE1}
-%else
-getent group debuginfod >/dev/null || groupadd -r debuginfod
-getent passwd debuginfod >/dev/null || \
-    useradd -r -g debuginfod -d /var/cache/debuginfod -s /sbin/nologin \
-            -c "elfutils debuginfo server" debuginfod
-exit 0
 %endif
 
 %post debuginfod
 %systemd_post debuginfod.service
 
 %postun debuginfod
 %systemd_postun_with_restart debuginfod.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.192-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.192-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 
 * Mon Dec 2 2024 Mark Wielaard <mjw@fedoraproject.org> - 0.192-7
 - Add elfutils-0.192-ATOMIC_VAR_INIT.patch
 - Add elfutils-0.192-more-dwarf5-lang.patch
 
diff --git erlang/erlang.spec erlang/erlang.spec.tmp
index 5472a29a37..efc4af1d08 100644
--- erlang/erlang.spec
+++ erlang/erlang.spec.tmp
@@ -64,17 +64,17 @@
 # reltool (*)
 # wx
 #
 %global __with_wxwidgets 1
 
 
 Name:		erlang
 Version:	26.2.5.6
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	General-purpose programming language and runtime environment
 
 License:	Apache-2.0
 URL:		https://www.erlang.org
 VCS:		git:https://github.com/erlang/otp.git
 Source0:	https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz
 Source5:	epmd.service
 Source6:	epmd.socket
@@ -346,17 +346,16 @@ Low level interface to C.
 
 %package erts
 Summary: Functionality necessary to run the Erlang System itself
 BuildRequires: lksctp-tools-devel
 BuildRequires: m4
 BuildRequires: ncurses-devel
 BuildRequires: zlib-devel
 # epmd user, epmd group
-Requires(pre): shadow-utils
 Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
 Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
 Requires: lksctp-tools
 # See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version).
 #Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt)
 Provides: erlang(erl_drv_version) = 3.3
 # See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
 #Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
@@ -738,16 +737,21 @@ Provides support for XML 1.0.
 
 %prep
 %autosetup -p1 -n otp-OTP-%{version}
 
 # FIXME we should come up with a better solution
 # remove shipped zlib sources
 #rm -f erts/emulator/zlib/*.[ch]
 
+# Create a sysusers.d config file
+cat >erlang.sysusers.conf <<EOF
+u epmd - 'Erlang Port Mapper Daemon' /dev/null -
+EOF
+
 
 %build
 # Reconfigure everything to apply changes to the autotools templates
 ./otp_build autoconf
 
 # Set up proper cflags/cxxflags first
 %ifarch sparcv9 sparc64
 ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
@@ -946,31 +950,28 @@ do
 	rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/erts-*/bin/${exe}
 done
 %endif # __with_wxwidgets
 
 # Provide a place for noarch libs to live.
 install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/
 install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/lib
 
+install -m0644 -D erlang.sysusers.conf %{buildroot}%{_sysusersdir}/erlang.conf
+
 
 %check
 TARGET="$(make target_configured)"
 ERL_TOP="$(pwd)"
 ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests
 # Unfortunately running the tests will take several hours. So we build the
 # package w/o tests for now. See this:
 # https://github.com/erlang/otp/wiki/Running-tests
 
 
-%pre erts
-getent group epmd >/dev/null || groupadd -r epmd
-getent passwd epmd >/dev/null || \
-useradd -r -g epmd -d /dev/null -s /sbin/nologin \
--c "Erlang Port Mapper Daemon" epmd 2>/dev/null || :
 
 
 %files
 %if %{with doc}
 %dir %{_docdir}/%{name}-%{version}/
 %doc %{_docdir}/%{name}-%{version}/AUTHORS
 %doc %{_docdir}/%{name}-%{version}/COPYRIGHT
 %doc %{_docdir}/%{name}-%{version}/LICENSE.txt
@@ -1204,16 +1205,17 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
 %{_mandir}/man3/zlib.*
 %endif
 %{_libdir}/erlang/releases/*
 %{_libdir}/erlang/usr/
 %{_unitdir}/epmd.service
 %{_unitdir}/epmd.socket
 %{_unitdir}/epmd@.service
 %{_unitdir}/epmd@.socket
+%{_sysusersdir}/erlang.conf
 
 %if %{__with_wxwidgets}
 %files et
 %dir %{_libdir}/erlang/lib/et-*/
 %{_libdir}/erlang/lib/et-*/ebin
 %{_libdir}/erlang/lib/et-*/include
 %{_libdir}/erlang/lib/et-*/src
 %if %{with doc}
@@ -1956,16 +1958,19 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
 %{_mandir}/man3/xmerl_scan.*
 %{_mandir}/man3/xmerl_xpath.*
 %{_mandir}/man3/xmerl_xs.*
 %{_mandir}/man3/xmerl_xsd.*
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.2.5.6-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 26.2.5.6-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Dec  7 2024 Peter Lemenkov <lemenkov@gmail.com> - 26.2.5.6-1
 - Ver. 26.2.5.6
 
 * Fri Nov  1 2024 Peter Lemenkov <lemenkov@gmail.com> - 26.2.5.5-1
 - Ver. 26.2.5.5
RPMAutoSpec usage detected, not changing the spec file.
diff --git etcd/etcd.spec etcd/etcd.spec.tmp
index 3290a1d988..4f0d19483e 100644
--- etcd/etcd.spec
+++ etcd/etcd.spec.tmp
@@ -42,17 +42,16 @@ Summary:        Distributed reliable key-value store for the most critical data
 License:        Apache-2.0
 URL:            %{gourl}
 Source0:        %{gosource}
 Source1:        %{name}.service
 Source2:        %{name}.conf
 
 BuildRequires:  python3-devel
 BuildRequires:  systemd-rpm-macros
-Requires(pre):  shadow-utils
 
 %description %{common_description}
 
 %gopkg
 
 %prep
 %goprep -k
 rm -rf vendor/
@@ -78,16 +77,21 @@ mv server/!(v3) server/v3/.
 mv tools/!(v3) tools/v3/.
 shopt -u extglob
 
 
 %if %{without bootstrap}
 %generate_buildrequires
 %go_generate_buildrequires
 
+# Create a sysusers.d config file
+cat >etcd.sysusers.conf <<EOF
+u etcd - 'etcd user' %{_sharedstatedir}/%{name} -
+EOF
+
 %build
 %gobuild -o %{gobuilddir}/bin/etcd %{goipath}/server/v3
 %gobuild -o %{gobuilddir}/bin/etcdctl %{goipath}/etcdctl/v3
 %gobuild -o %{gobuilddir}/bin/etcdutl %{goipath}/etcdutl/v3
 %endif
 
 %install
 %gopkginstall
@@ -98,16 +102,18 @@ install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
 
 install -Dpm 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 install -dm 0755 %{buildroot}%{_sysconfdir}/%{name}
 install -pm 644 -t %{buildroot}%{_sysconfdir}/%{name} %{SOURCE2}
 
 # And create /var/lib/etcd
 install -dm 0755 %{buildroot}%{_sharedstatedir}/%{name}
 
+install -m0644 -D etcd.sysusers.conf %{buildroot}%{_sysusersdir}/etcd.conf
+
 %if %{with check}
 %check
 %gocheck -d client/v2 \
          -d client/v3 \
          -d raft/v3 \
          -d server/v3/auth \
          -d server/v3/wal/walpb \
          -d tests/e2ev \
@@ -115,20 +121,16 @@ install -dm 0755 %{buildroot}%{_sharedstatedir}/%{name}
          -d tests/e2e \
          -d tests/integration/client \
          -t tests/integration/clientv3 \
          -d server/v3/etcdserver/api/membership \
          -d server/v3/mvcc/backend \
          -d pkg/v3/proxy
 %endif
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || useradd -r -g %{name} -d %{_sharedstatedir}/%{name} \
-    -s /sbin/nologin -c "etcd user" %{name}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -140,11 +142,12 @@ getent passwd %{name} >/dev/null || useradd -r -g %{name} -d %{_sharedstatedir}/
 %doc Documentation README-*.md READMEv2-etcdctl.md
 %{_bindir}/*
 %config(noreplace) %{_sysconfdir}/%{name}
 %dir %attr(-,%{name},%{name}) %{_sharedstatedir}/%{name}
 %{_unitdir}/%{name}.service
 %endif
 
 %gopkgfiles
+%{_sysusersdir}/etcd.conf
 
 %changelog
 %autochangelog
diff --git exim/exim.spec exim/exim.spec.tmp
index 6d848a473e..d2265928cd 100644
--- exim/exim.spec
+++ exim/exim.spec.tmp
@@ -7,26 +7,25 @@
 %endif
 
 # hardened build if not overridden
 %{!?_hardened_build:%global _hardened_build 1}
 
 Summary: The exim mail transfer agent
 Name: exim
 Version: 4.98
-Release: 5%{?dist}
+Release: 6%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 Url: https://www.exim.org/
 
 Provides: MTA smtpd smtpdaemon server(smtp)
 Requires(post): %{_sbindir}/restorecon %{_sbindir}/alternatives systemd
 Requires(preun): %{_sbindir}/alternatives systemd
 Requires(postun): %{_sbindir}/alternatives systemd
-Requires(pre): %{_sbindir}/groupadd, %{_sbindir}/useradd
 %if %{with clamav}
 BuildRequires: clamd
 %endif
 Source: https://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.xz
 Source1: https://ftp.exim.org/pub/exim/exim4/%{name}-%{version}.tar.xz.asc
 Source2: https://downloads.exim.org/Exim-Maintainers-Keyring.asc
 
 Source3: exim.sysconfig
@@ -193,16 +192,22 @@ cp exim_monitor/EDITME Local/eximon.conf
 
 # Workaround for rhbz#1791878
 pushd doc
 for f in $(ls -dp cve-* | grep -v '/\|\(\.txt\)$'); do
   mv "$f" "$f.txt"
 done
 popd
 
+# Create a sysusers.d config file
+cat >exim.sysusers.conf <<EOF
+u exim 93 - %{_var}/spool/exim -
+m exim mail
+EOF
+
 %build
 %ifnarch s390 s390x sparc sparcv9 sparcv9v sparc64 sparc64v
 	export PIE=-fpie
 	export PIC=-fpic
 %else
 	export PIE=-fPIE
 	export PIC=-fPIC
 %endif
@@ -325,22 +330,22 @@ touch $RPM_BUILD_ROOT%{_var}/log/clamd.exim
 # Set up the greylist subpackage
 install -m644 %{SOURCE20} $RPM_BUILD_ROOT/%_sysconfdir/exim/exim-greylist.conf.inc
 install -m644 %{SOURCE21} $RPM_BUILD_ROOT/%_sysconfdir/exim/mk-greylist-db.sql
 mkdir -p $RPM_BUILD_ROOT/%_sysconfdir/cron.daily
 install -m755 %{SOURCE22} $RPM_BUILD_ROOT/%_sysconfdir/cron.daily/greylist-tidy.sh
 install -m644 %{SOURCE23} $RPM_BUILD_ROOT/%_sysconfdir/exim/trusted-configs
 touch $RPM_BUILD_ROOT/%_var/spool/exim/db/greylist.db
 
+install -m0644 -D exim.sysusers.conf %{buildroot}%{_sysusersdir}/exim.conf
+
 %check
 build-`scripts/os-type`-`scripts/arch-type`/exim -C src/configure.default -bV
 
 %pre
-%{_sbindir}/groupadd -g 93 exim 2>/dev/null
-%{_sbindir}/useradd -d %{_var}/spool/exim -s %{_sbindir}/nologin -G mail -M -r -u 93 -g exim exim 2>/dev/null
 # Copy TLS certs from old location to new -- don't move them, because the
 # config file may be modified and may be pointing to the old location.
 if [ ! -f /etc/pki/tls/certs/exim.pem -a -f %{_datadir}/ssl/certs/exim.pem ] ; then
    cp %{_datadir}/ssl/certs/exim.pem /etc/pki/tls/certs/exim.pem
    cp %{_datadir}/ssl/private/exim.pem /etc/pki/tls/private/exim.pem
 fi
 
 exit 0
@@ -439,16 +444,17 @@ fi
 %attr(0755,root,root) %ghost %{_bindir}/mailq
 %attr(0755,root,root) %ghost %{_bindir}/runq
 %attr(0755,root,root) %ghost %{_bindir}/rsmtp
 %attr(0755,root,root) %ghost %{_bindir}/rmail
 %attr(0755,root,root) %ghost %{_bindir}/newaliases
 %attr(0755,root,root) %ghost /usr/lib/sendmail
 %ghost %{_sysconfdir}/pam.d/smtp
 %ghost %{_mandir}/man1/mailq.1.gz
+%{_sysusersdir}/exim.conf
 
 %files mysql
 %{_libdir}/exim/%{version}-%{release}/lookups/mysql.so
 
 %files pgsql
 %{_libdir}/exim/%{version}-%{release}/lookups/pgsql.so
 
 %files mon
@@ -491,16 +497,19 @@ fi
 
 %files greylist
 %config %{_sysconfdir}/exim/exim-greylist.conf.inc
 %ghost %{_var}/spool/exim/db/greylist.db
 %{_sysconfdir}/exim/mk-greylist-db.sql
 %{_sysconfdir}/cron.daily/greylist-tidy.sh
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.98-6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.98-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.98-4
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 4.98-3
 - convert license to SPDX
RPMAutoSpec usage detected, not changing the spec file.
diff --git festival/festival.spec festival/festival.spec.tmp
index e14001fcef..d3ca4e05f7 100644
--- festival/festival.spec
+++ festival/festival.spec.tmp
@@ -296,16 +296,21 @@ you can also interface with Festival in via the shell or with BSD sockets.
 
 %patch -P100 -p1 -b .pulseaudio
 %patch -P101 -p1 -b .use-system-speech-tools
 %patch -P102 -p1 -b .use-system-libs
 %patch -P103 -p1 -b .filesystem-standard
 %patch -P104 -p1 -b .siteinit
 %patch -P105 -p1
 
+# Create a sysusers.d config file
+cat >festival.sysusers.conf <<EOF
+u festival - 'festival Daemon' / -
+EOF
+
 %build
 
 # build the main program
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/src/lib
 # instead of doing this, maybe we should patch the make process
 # so it looks in the right place explicitly:
 export PATH=$(pwd)/bin:$PATH
 %configure
@@ -413,34 +418,33 @@ install -p -m 644 examples/intro.text $RPM_BUILD_ROOT%{_datadir}/festival/exampl
 mkdir -p $RPM_BUILD_ROOT%{_includedir}/festival
 cp -a src/include/* $RPM_BUILD_ROOT%{_includedir}/festival
 
 
 # systemd service
 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
 install -p -m 644 %{SOURCE230} $RPM_BUILD_ROOT%{_unitdir}/
 
+install -m0644 -D festival.sysusers.conf %{buildroot}%{_sysusersdir}/festival.conf
+
 %files
 %doc ACKNOWLEDGMENTS NEWS README.md
 %license COPYING COPYING.poslex COPYING.cmudict
 %{_bindir}/default_voices
 %{_bindir}/festival
 %{_bindir}/festival_client
 %{_bindir}/festival_server
 %{_bindir}/festival_server_control
 %{_bindir}/text2wave
 %{_bindir}/saytime
 %{_libexecdir}/festival
 %{_mandir}/man1/*
 %{_unitdir}/festival.service
+%{_sysusersdir}/festival.conf
 
-%pre
-getent group festival >/dev/null || groupadd -r festival
-getent passwd festival >/dev/null || useradd -r -g festival -d / -s /sbin/nologin -c "festival Daemon" festival
-exit 0
 
 %post
 %systemd_post festival.service
 
 %preun
 %systemd_preun festival.service
 
 %postun
diff --git firebird/firebird.spec firebird/firebird.spec.tmp
index 4344e79320..c104470453 100644
--- firebird/firebird.spec
+++ firebird/firebird.spec.tmp
@@ -5,17 +5,17 @@
 %global         _hardened_build 1
 # firebird is mis-compiled when LTO is enabled. A root
 # cause analysis has not yet been completed. Reported upstream.
 # Disable LTO for now
 %global         _lto_cflags %nil
 
 Name:           firebird
 Version:        %{upversion}
-Release:        6%{?dist}
+Release:        7%{?dist}
 
 Summary:        SQL relational database management system
 # Automatically converted from old format: Interbase - review is highly recommended.
 License:        Interbase-1.0
 URL:            http://www.firebirdsql.org/
 
 Source0:        https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/%{pkgversion}.tar.xz
 Source1:        firebird-logrotate
@@ -55,18 +55,16 @@ BuildRequires: zlib-devel
 BuildRequires: procmail
 BuildRequires: make
 BuildRequires: libtomcrypt-devel
 BuildRequires: unzip
 BuildRequires: sed
 
 Requires(postun): /usr/sbin/userdel
 Requires(postun): /usr/sbin/groupdel
-Requires(pre):    /usr/sbin/groupadd
-Requires(pre):    /usr/sbin/useradd
 Recommends:     logrotate
 Requires:       libfbclient2 = %{version}-%{release}
 Requires:       libib-util = %{version}-%{release}
 Requires:       %{name}-utils = %{version}-%{release}
 
 Obsoletes:      firebird-arch < 4.0
 Obsoletes:      firebird-filesystem < 4.0
 Obsoletes:      firebird-classic-common < 4.0
@@ -202,16 +200,21 @@ in production systems, under a variety of names, since 1981.
 %patch -P205 -p1
 %patch -P301 -p1
 %patch -P302 -p1
 %patch -P303 -p1
 %patch -P401 -p1
 %patch -P402 -p1
 %patch -P501 -p1
 
+# Create a sysusers.d config file
+cat >firebird.sysusers.conf <<EOF
+u firebird - - / -
+EOF
+
 
 %build
 %ifarch s390x
 %global _lto_cflags %{nil}
 %endif
 export CFLAGS="%{optflags} -fno-strict-aliasing"
 export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks"
 NOCONFIGURE=1 ./autogen.sh
@@ -266,22 +269,20 @@ rm -rvf .%{_defaultdocdir}/%{name}/sample/prebuilt
 mkdir -p .%{_localstatedir}/log/%{name}
 mkdir -p .%{_sysconfdir}/logrotate.d
 echo 1 > .%{_localstatedir}/log/%{name}/%{name}.log
 sed "s@%{name}.log@%{_localstatedir}/log/%{name}/%{name}.log@g" %{SOURCE1} > .%{_sysconfdir}/logrotate.d/%{name}
 
 mkdir -p .%{_unitdir}
 cp -f %{SOURCE3} .%{_unitdir}/%{name}.service
 
+install -m0644 -D firebird.sysusers.conf %{buildroot}%{_sysusersdir}/firebird.conf
+
 
 %pre 
-# Create the firebird group if it doesn't exist
-getent group %{name} > /dev/null || /usr/sbin/groupadd -r %{name} 
-getent passwd %{name} >/dev/null || /usr/sbin/useradd -d / -g %{name} -s /sbin/nologin -r %{name} 
-
 # Add gds_db to /etc/services if needed
 FileName=/etc/services
 newLine="gds_db 3050/tcp  # Firebird SQL Database Remote Protocol"
 oldLine=`grep "^gds_db" $FileName`
 if [ -z "$oldLine" ]; then
  echo $newLine >> $FileName
 fi
 
@@ -328,16 +329,17 @@ fi
 %attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/tzdata/*.res
 %ghost %dir %attr(0775,%{name},%{name}) /run/%{name}
 %ghost %attr(0644,%{name},%{name}) /run/%{name}/fb_guard
 %dir %{_localstatedir}/log/%{name}
 %config(noreplace) %attr(0664,%{name},%{name})  %{_localstatedir}/log/%{name}/%{name}.log
 %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
 
 %attr(0644,root,root) %{_unitdir}/%{name}.service
+%{_sysusersdir}/firebird.conf
 
 
 %files devel
 %{_includedir}/*.h
 %{_includedir}/%{name}
 %{_libdir}/fb_config
 %{_sbindir}/fb_config
 
@@ -376,16 +378,19 @@ fi
 
 
 %files examples
 %{_docdir}/%{name}/sample
 %attr(0600,firebird,firebird) %{_localstatedir}/lib/%{name}/data/employee.fdb
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.4.3010-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 4.0.4.3010-5
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git flow-tools/flow-tools.spec flow-tools/flow-tools.spec.tmp
index ebe1f9cf97..e91396a48e 100644
--- flow-tools/flow-tools.spec
+++ flow-tools/flow-tools.spec.tmp
@@ -7,17 +7,17 @@
 
 %global username flow-tools
 %global homedir %{_localstatedir}/%{name}
 %global gecos "Network flow monitoring"
 
 Version: 0.68.5.1
 Name: flow-tools
 Summary: Tool set for working with NetFlow data
-Release: 43%{?dist}
+Release: 44%{?dist}
 # Automatically converted from old format: BSD - review is highly recommended.
 License: LicenseRef-Callaway-BSD 
 URL: http://code.google.com/p/%{name}/
 Source0: http://%{name}.googlecode.com/files/%{name}-%{version}.tar.bz2
 Source1: flow-capture.service
 Source2: flow-capture.sysconfig
 Patch0:  flow-werror-fix.patch
 # Fix extern usage
@@ -32,17 +32,16 @@ BuildRequires: mariadb-connector-c-devel
 BuildRequires: libpq-devel
 BuildRequires: zlib-devel 
 BuildRequires: bison
 BuildRequires: flex
 BuildRequires: doxygen
 %if 0%{?fedora} >= 31
 BuildRequires: /usr/bin/2to3
 %endif
-Requires(pre): shadow-utils
 BuildRequires: systemd-rpm-macros
 BuildRequires: make
 Provides: group(%username)
 Provides: user(%username)
 
 
 %description
 Flow-tools is library and a collection of programs used to collect, 
@@ -114,16 +113,21 @@ sed -i '1s|^#!.*python|#!/usr/bin/python3|' bin/flow*
 2to3 --write --nobackups bin/flow*
 %else
 sed -i '1s|^#!.*python|#!/usr/bin/python2|' bin/flow*
 %endif
 sed -i '1s|^#!.*perl|#!/usr/bin/perl|' utils/*
 # Fix mariadb-connector-c detection
 sed -i s/my_init/mysql_init/g configure
 
+# Create a sysusers.d config file
+cat >flow-tools.sysusers.conf <<EOF
+u flow-tools - '%{gecos}' %{homedir} -
+EOF
+
 %build
 %configure \
   --localstatedir=%{_localstatedir}/%{name} \
   --sysconfdir=%{_sysconfdir}/%{name} \
   --enable-static=no \
   --with-mysql \
   --with-postgresql \
 %if 0%{with openssl}
@@ -139,22 +143,18 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 %make_install
 find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/%{name}
 install -d $RPM_BUILD_ROOT%{_unitdir}
 install -m 0644 %SOURCE1 $RPM_BUILD_ROOT%{_unitdir}/flow-capture.service
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
 install -m 0644 %SOURCE2 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/flow-capture
 
-%pre
-getent group %{username} >/dev/null || groupadd -r %{username}
-getent passwd %{username} >/dev/null || \
-    useradd -r -g %{username} -d %{homedir} -s /sbin/nologin \
-    -c '%{gecos}' %{username}
-exit 0
+install -m0644 -D flow-tools.sysusers.conf %{buildroot}%{_sysusersdir}/flow-tools.conf
+
 
 
 %post
 /sbin/ldconfig
 %systemd_post flow-capture.service
 
 %preun
 %systemd_preun flow-capture.service
@@ -216,31 +216,35 @@ exit 0
 %dir %{_sysconfdir}/%{name}/sym/
 %config(noreplace) %{_sysconfdir}/%{name}/cfg/*
 %config(noreplace) %{_sysconfdir}/%{name}/sym/*
 %config(noreplace) %{_sysconfdir}/sysconfig/flow-capture
 %{_unitdir}/flow-capture.service
 %attr(-,flow-tools,flow-tools) %{_localstatedir}/%{name}/
 %dir %{_datadir}/%{name}/
 %{_datadir}/%{name}/*
+%{_sysusersdir}/flow-tools.conf
 
 %files devel
 %{_libdir}/*.so
 %{_includedir}/*.h
 
 %files rrdtool
 %{_bindir}/flow-rpt2rrd
 %{_bindir}/flow-log2rrd
 %{_mandir}/man1/flow-rpt2rrd.1*
 %{_mandir}/man1/flow-log2rrd.1*
 
 %files docs
 %doc docs/*.html ChangeLog.old TODO INSTALL SECURITY
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.68.5.1-44
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.68.5.1-43
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 0.68.5.1-42
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.68.5.1-41
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git galera/galera.spec galera/galera.spec.tmp
index bb5441396f..9bace3d690 100644
--- galera/galera.spec
+++ galera/galera.spec.tmp
@@ -1,14 +1,14 @@
 # To both save infrastrucutre resources and workaround for i686 FTBFS
 ExcludeArch: %{ix86}
 
 Name:           galera
 Version:        26.4.20
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Synchronous multi-master wsrep provider (replication engine)
 
 License:        GPL-2.0-only
 URL:            http://galeracluster.com/
 
 # Actually, the truth is, we do use galera source tarball provided by MariaDB on
 # following URL (without macros):
 #   https://archive.mariadb.org/mariadb-10.4.16/galera-26.4.6/src/galera-26.4.6.tar.gz
@@ -16,17 +16,16 @@ URL:            http://galeracluster.com/
 Source0:        http://releases.galeracluster.com/source/%{name}-%{version}.tar.gz
 
 Patch0:         cmake_paths.patch
 Patch1:         docs.patch
 Patch2:         network.patch
 Patch3:         openssl_engine.patch
 
 BuildRequires:  boost-devel check-devel openssl-devel cmake systemd gcc-c++ asio-devel
-Requires(pre):  /usr/sbin/useradd
 Requires:       nmap-ncat
 Requires:       procps-ng
 
 %{?systemd_requires}
 
 
 %description
 Galera is a fast synchronous multimaster wsrep provider (replication engine)
@@ -37,16 +36,21 @@ description of Galera replication engine see https://www.galeracluster.com web.
 
 %prep
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
 
+# Create a sysusers.d config file
+cat >galera.sysusers.conf <<EOF
+u garb - 'Galera Arbitrator Daemon' /dev/null -
+EOF
+
 %build
 %{set_build_flags}
 
 
 %cmake \
        -DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \
        -DINSTALL_LAYOUT=RPM \
        -DCMAKE_RULE_MESSAGES:BOOL=OFF \
@@ -98,23 +102,24 @@ sed -i 's;/usr/bin/garbd;/usr/sbin/garbd;g' %{buildroot}/usr/sbin/garb-systemd
 ##   It is strongly recommended to avoid running services under this user identity,
 ##   in particular on systems using NFS or running containers. Allocate a user ID
 ##   specific to this service, either statically via systemd-sysusers or dynamically
 ##   via the DynamicUser= service setting.
 sed -i 's/User=nobody/User=garb/g' %{buildroot}%{_unitdir}/garb.service
 # Maintainers from other distributions also tries to resolve it on the upstream:
 #   https://github.com/codership/galera/pull/633
 
+install -m0644 -D galera.sysusers.conf %{buildroot}%{_sysusersdir}/galera.conf
+
 
 %check
 %ctest
 
 
 %pre
-/usr/sbin/useradd -M -r -d /dev/null -s /sbin/nologin -c "Galera Arbitrator Daemon" garb >/dev/null 2>&1 || :
 # Fixup after upgrading on system before systemd unit rename
 unlink /etc/systemd/system/garb.service || :
 
 %post
 /sbin/ldconfig
 %systemd_post garb.service
 
 %preun
@@ -141,19 +146,23 @@ unlink /etc/systemd/system/garb.service || :
 
 %{_unitdir}/garb.service
 
 %{_libdir}/galera/libgalera_smm.so
 
 %doc %{_docdir}/galera/COPYING
 %doc %{_docdir}/galera/LICENSE.asio
 %doc %{_docdir}/galera/README-MySQL
+%{_sysusersdir}/galera.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.4.20-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 26.4.20-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Nov 14 2024 Michal Schorm <mschorm@redhat.com> - 26.4.20-1
 - Rebase to 26.4.20
 
 * Fri Oct 18 2024 Michal Schorm <mschorm@redhat.com> - 26.4.19-1
 - Rebase to 26.4.19
diff --git ganglia/ganglia.spec ganglia/ganglia.spec.tmp
index 7fa091aa17..f3393dbaa4 100644
--- ganglia/ganglia.spec
+++ ganglia/ganglia.spec.tmp
@@ -9,17 +9,17 @@
 %global py2             1
 %else
 %global py3             1
 %endif
 
 Summary:            Distributed Monitoring System
 Name:               ganglia
 Version:            %{gangver}
-Release:            56%{?dist}
+Release:            57%{?dist}
 # Automatically converted from old format: BSD - review is highly recommended.
 License:            LicenseRef-Callaway-BSD
 URL:                http://ganglia.sourceforge.net/
 Source0:            http://downloads.sourceforge.net/sourceforge/ganglia/ganglia-%{version}.tar.gz
 Source1:            https://github.com/ganglia/ganglia-web/archive/%{webver}/ganglia-web-%{webver}.tar.gz
 Source2:            gmond.service
 Source3:            gmetad.service
 Source4:            ganglia-httpd24.conf.d
@@ -196,16 +196,21 @@ install -m 0644 %{SOURCE3} gmetad/gmetad.service.in
 %setup -q -T -D -a 1
 mv ganglia-web-%{webver} web
 pushd web
 %patch -P 20 -p1
 %patch -P 21 -p1
 %patch -P 22 -p1
 popd
 
+# Create a sysusers.d config file
+cat >ganglia.sysusers.conf <<EOF
+u ganglia - 'Ganglia Monitoring System' %{_localstatedir}/lib/%{name} -
+EOF
+
 %build
 touch Makefile.am
 
 %if 0%{?fedora} || 0%{?rhel} > 7
 aclocal -I m4
 autoheader
 automake --add-missing --copy --foreign 2>/dev/null
 libtoolize --automake --copy
@@ -330,20 +335,18 @@ rm -f %{buildroot}%{_libdir}/*.la
 chmod 0644 %{buildroot}%{_datadir}/%{name}/header.php
 %{?with_python:chmod 0644 %{buildroot}%{_libdir}/%{name}/python_modules/*.py}
 chmod 0644 %{buildroot}%{_datadir}/%{name}/css/smoothness/jquery-ui-1.10.2.custom.css
 chmod 0644 %{buildroot}%{_datadir}/%{name}/css/smoothness/jquery-ui-1.10.2.custom.min.css
 
 # Remove shebang
 %{?with_python:sed -i '1{\@^#!@d}' %{buildroot}%{_libdir}/%{name}/python_modules/*.py}
 
-%pre
-## Add the "ganglia" user
-/usr/sbin/useradd -c "Ganglia Monitoring System" \
-        -s /sbin/nologin -r -d %{_localstatedir}/lib/%{name} ganglia 2> /dev/null || :
+install -m0644 -D ganglia.sysusers.conf %{buildroot}%{_sysusersdir}/ganglia.conf
+
 
 %if 0%{?systemd}
 %post gmond
 %systemd_post gmond.service
 
 %preun gmond
 %systemd_preun gmond.service
 
@@ -391,16 +394,17 @@ end
 
 %files
 %license COPYING
 %doc AUTHORS NEWS README ChangeLog
 %{_libdir}/libganglia*.so.*
 %dir %{_libdir}/ganglia
 %{_libdir}/ganglia/*.so
 %{?with_python:%exclude %{_libdir}/ganglia/modpython.so}
+%{_sysusersdir}/ganglia.conf
 
 %files gmetad
 %dir %{_localstatedir}/lib/%{name}
 %attr(0755,ganglia,ganglia) %{_localstatedir}/lib/%{name}/rrds
 %{_sbindir}/gmetad
 %if 0%{?systemd}
 %{_unitdir}/gmetad.service
 %else
@@ -461,16 +465,19 @@ end
 %{_datadir}/%{name}
 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}-web/conf
 %config(noreplace) %attr(0644,apache,apache) %{_localstatedir}/lib/%{name}-web/conf/*.json
 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}-web/dwoo
 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}-web/dwoo/cache
 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}-web/dwoo/compiled
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.7.2-57
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-56
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Nov 04 2024 Terje Rosten <terjeros@gmail.com> - 3.7.6-55
 - Add forgotten int() conversion patch
 
 * Tue Oct 15 2024 Terje Rosten <terjeros@gmail.com> - 3.7.6-54
 - Various fixes to improve Python 3 support
diff --git getdns/getdns.spec getdns/getdns.spec.tmp
index 550f0420d2..f357665dcf 100644
--- getdns/getdns.spec
+++ getdns/getdns.spec.tmp
@@ -4,17 +4,17 @@
 %global upstream_version %{version}%{?extraver:-%{extraver}}
 %global stubby_version 0.4.2
 
 %undefine __cmake_in_source_build
 
 Summary: Modern asynchronous API to the DNS
 Name: getdns
 Version: 1.7.3
-Release: 7%{?extraver:.%{extraver}}%{?dist}
+Release: 8%{?extraver:.%{extraver}}%{?dist}
 License: BSD-3-Clause
 Url: http://www.getdnsapi.net
 Source: http://www.getdnsapi.net/dist/%{name}-%{upstream_version}.tar.gz
 Source1: http://www.getdnsapi.net/dist/%{name}-%{upstream_version}.tar.gz.asc
 Source2: http://keys.gnupg.net/pks/lookup?op=get&search=0xE5F8F8212F77A498#/willem.nlnetlabs.nl
 BuildRequires:  gcc
 BuildRequires: libidn2-devel unbound-devel doxygen libevent-devel
 BuildRequires: pkgconfig openssl-devel libyaml-devel
@@ -70,16 +70,21 @@ Provides: stubby%{?_isa} = stubby-%{stubby_version}
 Stubby is an application that acts as a local DNS Privacy stub resolver (using DNS-over-TLS). Stubby encrypts DNS queries sent from a client machine (desktop or laptop) to a DNS Privacy resolver increasing end user privacy. Stubby is in the early stages of development but is suitable for technical/advanced users. A more generally user-friendly version is on the way!
 %end
 %endif
 
 %prep
 %{?gpgverify:%gpgverify -k 2 -s 1 -d 0}
 %autosetup -p1 -n %{name}-%{upstream_version}
 
+# Create a sysusers.d config file
+cat >getdns.sysusers.conf <<EOF
+u stubby - 'stubby DNS daemon account' %{_sysconfdir}/stubby -
+EOF
+
 %build
 %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_STATIC=OFF \
   -DPATH_TRUST_ANCHOR_FILE=%{_sharedstatedir}/unbound/root.key \
 %if %{with stubby}
   -DBUILD_STUBBY=ON \
 %endif
 
 %cmake_build
@@ -98,16 +103,18 @@ install -d -m 0750 %{buildroot}%{_localstatedir}/cache/stubby
 install -d -m 0755 %{buildroot}%{_sysconfdir}/stubby
 install -d %__cmake_builddir/stubby/stubby.yml %{buildroot}%{_sysconfdir}/stubby/stubby.yml
 rm -rf %{buildroot}%{_docdir}/stubby
 %endif
 
 rm -rf %{buildroot}%{_libdir}/*.la
 rm -rf %{buildroot}%{_docdir}/%{name}
 
+install -m0644 -D getdns.sysusers.conf %{buildroot}%{_sysusersdir}/getdns.conf
+
 %files
 %{_libdir}/libgetdns*so.10*
 %doc README.md NEWS AUTHORS ChangeLog
 %license LICENSE
 
 %files utils
 %{_bindir}/getdns_query
 %{_bindir}/getdns_server_mon
@@ -117,51 +124,49 @@ rm -rf %{buildroot}%{_docdir}/%{name}
 %{_bindir}/stubby
 %{_mandir}/*/stubby.1*
 %dir %attr(0755,root,root) %{_sysconfdir}/stubby
 %config(noreplace) %{_sysconfdir}/stubby/stubby.yml
 %attr(0644,root,root) %{_unitdir}/stubby.service
 %dir %attr(0750,stubby,stubby) %{_localstatedir}/cache/stubby
 %doc stubby/README.md stubby/AUTHORS stubby/NEWS stubby/ChangeLog
 %endif
+%{_sysusersdir}/getdns.conf
 
 %files devel
 %{_libdir}/libgetdns*.so
 %{_includedir}/getdns/
 %{_libdir}/pkgconfig/*.pc
 %{_mandir}/*/*.3*
 %doc spec
 
 %post
 %{?ldconfig}
 
 %postun
 %{?ldconfig}
 %end
 
 %if %{with stubby}
-%pre stubby
-getent group stubby >/dev/null || groupadd -r stubby
-getent passwd stubby >/dev/null || \
-useradd -r -g stubby -d %{_sysconfdir}/stubby -s /sbin/nologin \
-    -c "stubby DNS daemon account" stubby
-exit 0
 
 %post stubby
 %systemd_post stubby.service
 
 %preun stubby
 %systemd_preun stubby.service
 
 %postun stubby
 %systemd_postun_with_restart stubby.service
 %end
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.7.3-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git gitit/gitit.spec gitit/gitit.spec.tmp
index fcd5f1a5e5..0b9272ce0b 100644
--- gitit/gitit.spec
+++ gitit/gitit.spec.tmp
@@ -38,17 +38,16 @@ Provides:       bundled(js-yui2) = 2.7.0
 # I couldn't find any version information for bluetrip or tango icons.
 Provides:       bundled(bluetrip)
 Provides:       bundled(tango-icon-theme)
 
 # We install a systemd service file.
 BuildRequires:  systemd
 
 # Want to create a user for gitit.
-Requires(pre):  shadow-utils
 
 # Begin cabal-rpm deps:
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-HStringTemplate-devel
 BuildRequires:  ghc-HTTP-devel
 BuildRequires:  ghc-SHA-devel
 BuildRequires:  ghc-aeson-devel
@@ -236,16 +235,21 @@ This package provides the Haskell %{name} profiling library.
 %endif
 
 
 %prep
 # Begin cabal-rpm setup:
 %setup -q
 # End cabal-rpm setup
 
+# Create a sysusers.d config file
+cat >gitit.sysusers.conf <<EOF
+u gitit - 'Account for gitit wiki service' %{_sharedstatedir}/gitit -
+EOF
+
 
 %build
 # Begin cabal-rpm build:
 %ghc_lib_build
 # End cabal-rpm build
 
 
 %install
@@ -264,22 +268,18 @@ cp -a %SOURCE1 %{buildroot}%{_sysconfdir}/gitit/
 mkdir -p %{buildroot}%{_unitdir}
 cp -a %SOURCE2 %{buildroot}%{_unitdir}
 
 # Install home directory for gitit user.
 # We need some structure here (a "wiki" subdir, for the actual contents)
 # which is why it's created in the package.
 mkdir -p %{buildroot}%{_sharedstatedir}/gitit/wiki
 
-%pre
-getent group gitit >/dev/null || groupadd -r gitit
-getent passwd gitit >/dev/null || \
-    useradd -r -g gitit -d %{_sharedstatedir}/gitit -s /sbin/nologin \
-    -c "Account for gitit wiki service" gitit
-exit 0
+install -m0644 -D gitit.sysusers.conf %{buildroot}%{_sysusersdir}/gitit.conf
+
 
 %post
 %systemd_post gitit.service
 
 %preun
 %systemd_preun gitit.service
 
 %postun
@@ -293,16 +293,17 @@ exit 0
 # End cabal-rpm files
 %{_unitdir}/gitit.service
 %config(noreplace) %{_sysconfdir}/gitit
 # We want to install /var/lib/gitit/wiki and make it owned by the
 # gitit user created in %pre... I forget if this is the best way to do that.
 # (I guess the alternative is to try and make the directories in %post).
 %attr(-,gitit,gitit) %dir %{_sharedstatedir}/gitit/
 %attr(-,gitit,gitit) %dir %{_sharedstatedir}/gitit/wiki/
+%{_sysusersdir}/gitit.conf
 
 
 %files common
 # Begin cabal-rpm files:
 %license LICENSE
 %doc CHANGES
 %{_datadir}/%{pkgver}
 # End cabal-rpm files
diff --git gitolite3/gitolite3.spec gitolite3/gitolite3.spec.tmp
index 4633b69c7b..1b8618eda6 100644
--- gitolite3/gitolite3.spec
+++ gitolite3/gitolite3.spec.tmp
@@ -4,33 +4,32 @@
 %global gitolite_homedir /var/lib/%{name}
 %else
 %global gitolite_homedir %{_sharedstatedir}/%{name}
 %endif
 
 Name:           gitolite3
 Epoch:          1
 Version:        3.6.13
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        Highly flexible server for git directory version tracker
 
 License:        GPL-2.0-only AND CC-BY-SA-1.0
 URL:            http://github.com/sitaramc/gitolite
 Source0:        https://github.com/sitaramc/gitolite/archive/v%{version}.tar.gz
 Source1:        gitolite3-README-fedora
 # Upstream: https://github.com/sitaramc/gitolite/commit/c656af01b73a5cc4f80512
 Source2:        compile-1
 
 
 BuildArch:      noarch
 BuildRequires:      perl-generators
 Provides:       perl(%{name}) = %{version}-%{release}
 Requires:       git
 Requires:       openssh-clients
-Requires(pre):  shadow-utils
 Recommends:       subversion
 
 %description
 Gitolite allows a server to host many git repositories and provide access
 to many developers, without having to give them real userids on the server.
 The essential magic in doing this is ssh's pubkey access and the authorized
 keys file, and the inspiration was an older program called gitosis.
 
@@ -41,16 +40,21 @@ without requiring root permissions, and with no additional software than git
 itself and perl. It also has several other neat features described below and
 elsewhere in the doc/ directory.
 
 
 %prep
 %setup -qn gitolite-%{version}
 cp %{SOURCE1} .
 
+# Create a sysusers.d config file
+cat >gitolite3.sysusers.conf <<EOF
+u gitolite3 - 'git repository hosting' %{gitolite_homedir} /bin/sh
+EOF
+
 
 %build
 #This page intentionally left blank.
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 # Directory structure
@@ -65,38 +69,37 @@ cp -pr src/lib/Gitolite $RPM_BUILD_ROOT%{perl_vendorlib}
 echo "%{version}-%{release}" >src/VERSION
 cp -a src/* $RPM_BUILD_ROOT%{_datadir}/%{name}
 cp %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}/commands/
 ln -s %{_datadir}/%{name}/gitolite $RPM_BUILD_ROOT%{_bindir}/gitolite
 
 # empty authorized_keys file
 touch $RPM_BUILD_ROOT%{gitolite_homedir}/.ssh/authorized_keys
 
+install -m0644 -D gitolite3.sysusers.conf %{buildroot}%{_sysusersdir}/gitolite3.conf
+
 
-%pre
-# Add "gitolite" user per https://fedoraproject.org/wiki/Packaging:UsersAndGroups
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-useradd -r -g %{name} -d %{gitolite_homedir} -s /bin/sh \
-        -c "git repository hosting" %{name}
-exit 0
 
 
 %files
 %{_bindir}/*
 %{perl_vendorlib}/*
 %{_datadir}/%{name}
 # make homedir non world readable
 %attr(750,%{name},%{name}) %dir %{gitolite_homedir}
 %attr(750,%{name},%{name}) %dir %{gitolite_homedir}/.ssh
 %config(noreplace) %attr(640,%{name},%{name}) %{gitolite_homedir}/.ssh/authorized_keys
 %doc gitolite3-README-fedora COPYING README.markdown CHANGELOG
+%{_sysusersdir}/gitolite3.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:3.6.13-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.13-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.13-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.13-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git gkrellm/gkrellm.spec gkrellm/gkrellm.spec.tmp
index e65dc71597..cbc9079b0b 100644
--- gkrellm/gkrellm.spec
+++ gkrellm/gkrellm.spec.tmp
@@ -27,17 +27,17 @@ Additional features are:
   * A gui popup for configuration of chart sizes and resolutions.
 
 
 %package daemon
 Summary:        The GNU Krell Monitors Server
 # systemd >= 186 for scriptlet macros
 BuildRequires:  systemd >= 186
 BuildRequires: make
-Requires(pre):  shadow-utils systemd
+Requires(pre):  systemd
 Requires(post,preun,postun): systemd
 
 
 %description daemon
 gkrellmd listens for connections from gkrellm clients. When a gkrellm
 client connects to a gkrellmd server all builtin monitors collect their
 data from the server.
 
@@ -54,16 +54,21 @@ Development files for the GNU Krell Monitors.
 %autosetup -p1
 
 for i in gkrellmd.1 gkrellm.1 README Changelog.OLD Changelog-plugins.html \
     src/gkrellm.h server/gkrellmd.h; do
    sed -i -e "s@/usr/lib/gkrellm2*/plugins@%{_libdir}/gkrellm2/plugins@" $i
    sed -i -e "s@/usr/local/lib/gkrellm2*/plugins@/usr/local/%{_lib}/gkrellm2/plugins@" $i
 done
 
+# Create a sysusers.d config file
+cat >gkrellm.sysusers.conf <<EOF
+u gkrellmd - 'GNU Krell daemon' / -
+EOF
+
 
 %build
 make %{?_smp_mflags} PREFIX=%{_prefix} \
     PKGCONFIGDIR=%{_libdir}/pkgconfig \
     INCLUDEDIR=%{_includedir} \
     SINSTALLDIR=%{_sbindir} \
     CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -Wno-error=incompatible-pointer-types" \
     LDFLAGS="$RPM_LD_FLAGS"
@@ -81,22 +86,19 @@ make install DESTDIR=%{buildroot} PREFIX=%{_prefix} \
     PKGCONFIGDIR=%{buildroot}%{_libdir}/pkgconfig \
     INCLUDEDIR=%{buildroot}%{_includedir} \
     CFGDIR=%{buildroot}%{_sysconfdir}
 %find_lang %name
 
 desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
 appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
 
+install -m0644 -D gkrellm.sysusers.conf %{buildroot}%{_sysusersdir}/gkrellm.conf
+
 
-%pre daemon
-getent group gkrellmd >/dev/null || groupadd -r gkrellmd
-getent passwd gkrellmd >/dev/null || \
-useradd -r -g gkrellmd -M -d / -s /sbin/nologin -c "GNU Krell daemon" gkrellmd
-:
 
 %post daemon
 %systemd_post gkrellmd.service
 
 %preun daemon
 %systemd_preun gkrellmd.service
 
 %postun daemon
@@ -120,12 +122,13 @@ useradd -r -g gkrellmd -M -d / -s /sbin/nologin -c "GNU Krell daemon" gkrellmd
 %{_libdir}/pkgconfig/%{name}.pc
 
 %files daemon
 %license %{_licensedir}/%{name}*
 %{_unitdir}/gkrellmd.service
 %{_sbindir}/gkrellmd
 %{_mandir}/man1/gkrellmd.*
 %config(noreplace) %{_sysconfdir}/gkrellmd.conf
+%{_sysusersdir}/gkrellm.conf
 
 
 %changelog
 %autochangelog
diff --git glusterfs/glusterfs.spec glusterfs/glusterfs.spec.tmp
index eb067ebb1d..c9019022b3 100644
--- glusterfs/glusterfs.spec
+++ glusterfs/glusterfs.spec.tmp
@@ -191,37 +191,36 @@
 
 ##-----------------------------------------------------------------------------
 ## All package definitions should be placed here in alphabetical order
 ##
 Summary:          Distributed File System
 %if ( 0%{_for_fedora_koji_builds} )
 Name:             glusterfs
 Version:          11.1
-Release:          8%{?prereltag:%{prereltag}}%{?dist}
+Release:          9%{?prereltag:%{prereltag}}%{?dist}
 %else
 Name:             @PACKAGE_NAME@
 Version:          @PACKAGE_VERSION@
-Release:          0.@PACKAGE_RELEASE@%{?dist}.21
+Release:          0.@PACKAGE_RELEASE@%{?dist}.22
 %endif
 License:          GPL-2.0-only OR LGPL-3.0-or-later
 URL:              http://docs.gluster.org/
 %if ( 0%{_for_fedora_koji_builds} )
 Source0:          http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
 Source1:          glusterd.sysconfig
 Source2:          glusterfsd.sysconfig
 Source7:          glusterfsd.service
 Source8:          glusterfsd.init
 %else
 Source0:          @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
 %endif
 Patch0001:        0001-configure.ac.patch
 Patch0002:        0002-contrib-aclocal-python.m4.patch
 
-Requires(pre):    shadow-utils
 BuildRequires:    systemd
 
 %if 0%{!?_without_tcmalloc:1}
 Requires:         gperftools-libs%{?_isa}
 %endif
 
 Requires:         libglusterfs0%{?_isa} = %{version}-%{release}
 Requires:         libgfrpc0%{?_isa} = %{version}-%{release}
@@ -816,16 +815,21 @@ This package provides the glusterfs thin-arbiter translator.
 %patch 0002 -p1
 %if ( ! %{_usepython3} )
 echo "fixing python shebangs..."
 for f in api events extras geo-replication libglusterfs tools xlators; do
 find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \;
 done
 %endif
 
+# Create a sysusers.d config file
+cat >glusterfs.sysusers.conf <<EOF
+u gluster - 'GlusterFS daemons' %{_rundir}/gluster -
+EOF
+
 %build
 %ifarch armv7hl
 %set_build_flags
 export CFLAGS="$(echo $CFLAGS) -DUATOMIC_NO_LINK_ERROR"
 %endif
 sed -i -e 's/--quiet//' configure.ac
 ./autogen.sh && %configure \
         %{?_with_asan} \
@@ -979,16 +983,18 @@ mv -v %{buildroot}/sbin/* %{buildroot}%{_sbindir}/
 
 %global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
 %if "%{bashcompdir}" == ""
 %global bashcompdir ${sysconfdir}/bash_completion.d
 %endif
 
 ##-----------------------------------------------------------------------------
 ## All package definitions should be placed here in alphabetical order
+
+install -m0644 -D glusterfs.sysusers.conf %{buildroot}%{_sysusersdir}/glusterfs.conf
 ##
 %post
 %{?ldconfig}
 %if ( 0%{!?_without_syslog:1} )
 %if ( 0%{?fedora} ) || ( 0%{?rhel} )
 %systemd_postun_with_restart rsyslog
 %endif
 %endif
@@ -1113,20 +1119,16 @@ else
 fi
 exit 0
 %endif
 
 ##-----------------------------------------------------------------------------
 ## All package definitions should be placed here in alphabetical order
 ##
 %pre
-getent group gluster > /dev/null || groupadd -r gluster
-getent passwd gluster > /dev/null || useradd -r -g gluster -d %{_rundir}/gluster -s /sbin/nologin -c "GlusterFS daemons" gluster
-exit 0
-
 ##-----------------------------------------------------------------------------
 ## All package definitions should be placed here in alphabetical order
 ##
 %if ( 0%{!?_without_events:1} )
 %preun events
 if [ $1 -eq 0 ]; then
     if [ -f %glustereventsd_svcfile ]; then
         %service_stop glustereventsd
@@ -1286,16 +1288,17 @@ exit 0
 %endif
 
 %if ( 0%{?_without_server:1} )
 #exclude ganesha related files
 %exclude %{_sysconfdir}/ganesha/ganesha-ha.conf.sample
 %exclude %{_libexecdir}/ganesha/*
 %exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
 %endif
+%{_sysusersdir}/glusterfs.conf
 
 %files cli
 %{_sbindir}/gluster
 %{_mandir}/man8/gluster.8*
 %{bash_completions_dir}/gluster.bash
 
 %files client-xlators
 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster
@@ -1630,16 +1633,19 @@ exit 0
 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
      %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so
 %dir %{_datadir}/glusterfs/scripts
      %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
 %config %{_sysconfdir}/glusterfs/thin-arbiter.vol
 %{_unitdir}/gluster-ta-volume.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.1-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.1-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.1-7
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.1-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git gmediarender/gmediarender.spec gmediarender/gmediarender.spec.tmp
index c1e9df6987..3dd473038d 100644
--- gmediarender/gmediarender.spec
+++ gmediarender/gmediarender.spec.tmp
@@ -4,17 +4,17 @@
 # commit
 %global forgeurl https://github.com/hzeller/gmrender-resurrect
 #%%global commit 4f221e6b85abf85957b547436e982d7a501a1718
 #%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
 
 
 Name:    gmediarender
 Version: 0.0.9
-Release: 12%{?dist}
+Release: 13%{?dist}
 Summary: Resource efficient UPnP/DLNA renderer
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 # Following is for Forge-hosted projects packaging automation
 # https://fedoraproject.org/wiki/Forge-hosted_projects_packaging_automation
 
 %forgemeta
 
@@ -24,31 +24,36 @@ Source:  %{forgesource}
 BuildRequires:  gcc
 BuildRequires: systemd
 BuildRequires: automake
 BuildRequires: libupnp-devel
 BuildRequires: gstreamer1-devel
 BuildRequires: make
 
 Requires: gstreamer1-plugins-good
-Requires(pre): shadow-utils
 Requires: firewalld-filesystem
 Requires(post): firewalld-filesystem
 %{?systemd_requires}
 Recommends: gstreamer1-plugins-bad-free
 
 %description
 GMediaRender is a resource efficient UPnP/DLNA renderer.
 
 %prep
 #%%setup -q -n %%repo-%%{commit}
 # Replace above with the following if using forge macro
 %forgeautosetup
 autoreconf -vfi
 
+# Create a sysusers.d config file
+cat >gmediarender.sysusers.conf <<EOF
+u gmediarender - 'GMediaRender DLNA/UPnP Renderer' %{_datadir}/%{name} -
+m gmediarender audio
+EOF
+
 %build
 %configure
 make %{?_smp_mflags}
 
 %install
 install -d %{buildroot}%{_bindir}
 install -m 0755 src/%{name} %{buildroot}%{_bindir}
 
@@ -58,21 +63,18 @@ install -m 0644 data/grender-*.png %{buildroot}%{_datadir}/%{name}
 install -d %{buildroot}%{_unitdir}
 install -m 0644 dist-scripts/fedora/%{name}.service %{buildroot}%{_unitdir}
 
 install -d %{buildroot}%{_prefix}/lib/firewalld/services
 install -m 0644 dist-scripts/fedora/*.xml %{buildroot}%{_prefix}/lib/firewalld/services
 # Remove ssdp.xml as firewalld already provides it. RHBZ 1768706
 rm %{buildroot}%{_prefix}/lib/firewalld/services/ssdp.xml
 
-%pre
-getent group %{name} &>/dev/null || groupadd -r %{name}
-getent passwd %{name} &>/dev/null || \
-    useradd -r -g %{name} -G audio -M -d %{_datadir}/%{name} -s /sbin/nologin \
-    -c "GMediaRender DLNA/UPnP Renderer" %{name}
+install -m0644 -D gmediarender.sysusers.conf %{buildroot}%{_sysusersdir}/gmediarender.conf
+
 
 %post
 %systemd_post %{name}.service
 %firewalld_reload
 
 %preun
 %systemd_preun %{name}.service
 
@@ -86,18 +88,22 @@ fi
 %files
 %doc README.md
 %license COPYING
 %{_bindir}/%{name}
 %dir %attr(0755, %{name}, %{name}) %{_datadir}/%{name}
 %{_datadir}/%{name}/grender-*.png
 %{_unitdir}/%{name}.service
 %{_prefix}/lib/firewalld/services/%{name}.xml
+%{_sysusersdir}/gmediarender.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.0.9-13
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.9-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 0.0.9-11
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.9-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git gns3-server/gns3-server.spec gns3-server/gns3-server.spec.tmp
index 416318efeb..12408ce2a2 100644
--- gns3-server/gns3-server.spec
+++ gns3-server/gns3-server.spec.tmp
@@ -1,17 +1,17 @@
 # For pre-release
 %global git_tag %{version}
 
 # Filter auto-generated deps from bundled shell script (which depends on busybox only)
 %global __requires_exclude_from ^%{python3_sitelib}/gns3server/compute/docker/resources/.*$
 
 Name:           gns3-server
 Version:        2.2.53
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Graphical Network Simulator 3
 
 # Automatically converted from old format: GPLv3 - review is highly recommended.
 License:        GPL-3.0-only
 URL:            http://gns3.com
 Source0:        https://github.com/GNS3/gns3-server/archive/v%{git_tag}/%{name}-%{git_tag}.tar.gz
 Source1:        gns3.service
 Patch0:         0001-changing-busybox-udhcpc-script-path.patch
@@ -60,16 +60,21 @@ sed -i -r 's/aiohttp>=3.10.10,<3.11/aiohttp>=3.9.3/' requirements.txt
 sed -i -r 's/Jinja2>=3.1.5,<3.2/jinja2>=2.11.3/' requirements.txt
 sed -i -r 's/jsonschema>=4.23,<4.24/jsonschema>=3.2.0/' requirements.txt
 sed -i -r 's/platformdirs>=2.4.0,<3/platformdirs>=2.4.0/' requirements.txt
 sed -i -r 's/py-cpuinfo>=9.0.0,<10.0/py-cpuinfo>=8.0.0/' requirements.txt
 sed -i -r 's/async-timeout>=5.0.1,<5.1/async-timeout>=4.0.2/' requirements.txt
 sed -i -r 's/sentry-sdk.*//g' requirements.txt
 sed -i -r 's/truststore.*//g' requirements.txt
 
+# Create a sysusers.d config file
+cat >gns3-server.sysusers.conf <<EOF
+u gns3 - 'gns3 server' /var/lib/gns3 -
+EOF
+
 %build
 %py3_build
 
 %install
 %py3_install
 
 # Remove shebang
 find %{buildroot}/%{python3_sitelib}/ -name '*.py' -print \
@@ -85,58 +90,58 @@ rm -f %{buildroot}/%{python3_sitelib}/gns3server/symbols/.gitkeep
 mkdir -p %{buildroot}%{_unitdir}
 install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}
 mkdir -p  %{buildroot}%{_sharedstatedir}/gns3
 
 # Don't bundle OVMF_CODE.fd OVMF_VARS.fd with the package
 rm -fv %{buildroot}/%{python3_sitelib}/gns3server/disks/OVMF_CODE.fd
 rm -fv %{buildroot}/%{python3_sitelib}/gns3server/disks/OVMF_VARS.fd
 
+install -m0644 -D gns3-server.sysusers.conf %{buildroot}%{_sysusersdir}/gns3-server.conf
+
 %check
 
 
 %files
 %license LICENSE
 %doc README.md AUTHORS CHANGELOG
 %{python3_sitelib}/gns3_server*.egg-info/
 %ghost %{python3_sitelib}/gns3server/disks/OVMF_CODE.fd
 %ghost %{python3_sitelib}/gns3server/disks/OVMF_VARS.fd
 %{python3_sitelib}/gns3server/
 %{_bindir}/gns3server
 %{_bindir}/gns3vmnet
 %{_bindir}/gns3loopback
 %{_unitdir}/gns3.service
 %dir %attr(0755,gns3,gns3) %{_sharedstatedir}/gns3
+%{_sysusersdir}/gns3-server.conf
 
 %files doc
 %license LICENSE
 %doc docs/_build/html
 
-%pre
-getent group gns3 >/dev/null || groupadd -r gns3
-getent passwd gns3 >/dev/null || \
-       useradd -r -g gns3 -d /var/lib/gns3 -s /sbin/nologin \
-               -c "gns3 server" gns3
-exit 0
 
 %post
 [ -d "/var/lib/gns3" ] && chown -R gns3:gns3 %{_sharedstatedir}/gns3
 %systemd_post gns3.service
 
 # Replace bundled OVMF_CODE.fd OVMF_VARS.fd with Fedora ones
 cp -fp %{_datadir}/edk2/ovmf/OVMF_CODE.fd %{python3_sitelib}/gns3server/disks/OVMF_CODE.fd
 cp -fp %{_datadir}/edk2/ovmf/OVMF_VARS.fd %{python3_sitelib}/gns3server/disks/OVMF_VARS.fd
 
 %preun
 %systemd_preun gns3.service
 
 %postun
 %systemd_postun_with_restart gns3.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.2.53-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Wed Jan 22 2025 Alexey Kurov <nucleo@fedoraproject.org> - 2.2.53-1
 - Update to 2.2.53
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.52-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Dec  2 2024 Alexey Kurov <nucleo@fedoraproject.org> - 2.2.52-1
 - Update to 2.2.52
diff --git golang-github-shopify-toxiproxy/golang-github-shopify-toxiproxy.spec golang-github-shopify-toxiproxy/golang-github-shopify-toxiproxy.spec.tmp
index 656eedf217..ab5307f6c0 100644
--- golang-github-shopify-toxiproxy/golang-github-shopify-toxiproxy.spec
+++ golang-github-shopify-toxiproxy/golang-github-shopify-toxiproxy.spec.tmp
@@ -26,17 +26,17 @@ repository contains) and a client communicating with the proxy over HTTP. You
 configure your application to make all test connections go through Toxiproxy
 and can then manipulate their health via HTTP. See Usage below on how to set
 up your project.}
 
 %global golicenses      LICENSE
 %global godocs          CHANGELOG.md CREATING_TOXICS.md README.md README-client.md
 
 Name:           %{goname}
-Release:        19%{?dist}
+Release:        20%{?dist}
 Summary:        TCP proxy to simulate network and system conditions for resiliency testing
 
 License:        MIT
 URL:            %{gourl}
 Source0:        %{gosource}
 # Stolen from Debian:
 Source1:        toxiproxy-server.1
 Source2:        toxiproxy-cli.1
@@ -46,33 +46,37 @@ Source5:        toxiproxy.logrotate
 
 %{?systemd_requires}
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  golang(github.com/gorilla/mux)
 BuildRequires:  golang(github.com/sirupsen/logrus)
 BuildRequires:  golang(github.com/urfave/cli)
 BuildRequires:  golang(golang.org/x/crypto/ssh/terminal)
 BuildRequires:  golang(gopkg.in/tomb.v1)
-Requires(pre):  shadow-utils
 
 %description
 %{common_description}
 
 %package -n toxiproxy
 Summary:       %{summary}
 
 %description -n toxiproxy
 %{common_description}
 
 %gopkg
 
 %prep
 %goprep
 mv client/README.md README-client.md
 
+# Create a sysusers.d config file
+cat >golang-github-shopify-toxiproxy.sysusers.conf <<EOF
+u toxiproxy - 'Toxiproxy-server account' %{_sharedstatedir}/toxiproxy -
+EOF
+
 %build
 %gobuild -o %{gobuilddir}/bin/toxiproxy-cli     %{goipath}/cli
 %gobuild -o %{gobuilddir}/bin/toxiproxy-server  %{goipath}/cmd
 
 %install
 %gopkginstall
 install -m 0755 -vd                     %{buildroot}%{_bindir}
 install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
@@ -88,27 +92,23 @@ install -d -m 0755 %{buildroot}%{_unitdir}
 install -p -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/toxiproxy.service
 
 install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
 install -p -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/toxiproxy
 
 install -d -m 0755 %{buildroot}%{_sharedstatedir}/toxiproxy
 install -d -m 0755 %{buildroot}%{_localstatedir}/log/toxiproxy
 
+install -m0644 -D golang-github-shopify-toxiproxy.sysusers.conf %{buildroot}%{_sysusersdir}/golang-github-shopify-toxiproxy.conf
+
 %if %{with check}
 %check
 %gocheck
 %endif
 
-%pre  -n toxiproxy
-getent group toxiproxy >/dev/null || groupadd -r toxiproxy
-getent passwd toxiproxy >/dev/null || \
-    useradd -r -g toxiproxy -d %{_sharedstatedir}/toxiproxy -s /sbin/nologin \
-    -c "Toxiproxy-server account" toxiproxy
-exit 0
 
 %post  -n toxiproxy
 %systemd_post toxiproxy.service
 
 %preun  -n toxiproxy
 %systemd_preun toxiproxy.service
 
 %postun  -n toxiproxy
@@ -123,18 +123,22 @@ exit 0
 %config(noreplace) %{_sysconfdir}/logrotate.d/toxiproxy
 %{_unitdir}/toxiproxy.service
 %{_mandir}/man1/toxiproxy-server.1.*
 %{_mandir}/man1/toxiproxy-cli.1.*
 %attr(0775,root,toxiproxy) %dir %{_localstatedir}/log/toxiproxy
 %attr(0750,toxiproxy,toxiproxy) %dir %{_sharedstatedir}/toxiproxy
 
 %gopkgfiles
+%{_sysusersdir}/golang-github-shopify-toxiproxy.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.4-20
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-19
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sun Feb 11 2024 Maxwell G <maxwell@gtmx.me> - 2.1.4-17
 - Rebuild for golang 1.22.0
diff --git gr-funcube/gr-funcube.spec gr-funcube/gr-funcube.spec.tmp
index f344895f01..5e17bf3a74 100644
--- gr-funcube/gr-funcube.spec
+++ gr-funcube/gr-funcube.spec.tmp
@@ -3,17 +3,17 @@
 %global git_date 20240726
 
 %global git_short_commit %(echo %{git_commit} | cut -c -8)
 %global git_suffix %{git_date}git%{git_short_commit}
 
 Name:          gr-funcube
 URL:           https://github.com/dl1ksv/gr-funcube
 Version:       3.10.0~rc3^%{git_suffix}
-Release:       4%{?dist}
+Release:       5%{?dist}
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License:       GPL-3.0-or-later
 BuildRequires: cmake
 BuildRequires: gcc-c++
 BuildRequires: gnuradio-devel
 BuildRequires: hidapi-devel
 BuildRequires: doxygen
 BuildRequires: graphviz
@@ -52,61 +52,65 @@ Requires:      %{name} = %{version}-%{release}
 #BuildArch:    noarch
 
 %description doc
 Documentation files for gr-funcube.
 
 %prep
 %autosetup -p1 -n %{name}-%{git_commit}
 
+# Create a sysusers.d config file
+cat >gr-funcube.sysusers.conf <<EOF
+g rtlsdr -
+EOF
+
 %build
 %cmake -DENABLE_DOXYGEN=on -DGR_PKG_DOC_DIR=%{_docdir}/%{name}
 %cmake_build
 
 %check
 # Temporary disabled until resolved ppc64le problems
 #cd %{_vpath_builddir}
 #make test
 
 %install
 %cmake_install
 
 # udev rule
 install -Dpm 0644 %{S:1} %{buildroot}%{_udevrulesdir}/10-funcube.rules
 
+install -m0644 -D gr-funcube.sysusers.conf %{buildroot}%{_sysusersdir}/gr-funcube.conf
+
 %ldconfig_scriptlets
 
-%pre
-# sharing group with the rtl-sdr package not to introduce new group
-# todo: consolidate also with the uhd package (usrp group) to have one generic
-# group e.g. 'sdr' for this class of devices
-getent group rtlsdr >/dev/null || \
-  %{_sbindir}/groupadd -r rtlsdr >/dev/null 2>&1
-exit 0
 
 %files
 %exclude %{_docdir}/%{name}/html
 %exclude %{_docdir}/%{name}/xml
 %license COPYING
 %doc README.md
 %{_libdir}/*.so.*
 %{python3_sitearch}/funcube
 %{_datadir}/gnuradio/grc/blocks/*
 %{_udevrulesdir}/10-funcube.rules
+%{_sysusersdir}/gr-funcube.conf
 
 %files devel
 %{_includedir}/funcube
 %{_libdir}/*.so
 %{_libdir}/cmake/funcube
 
 %files doc
 %doc %{_docdir}/%{name}/html
 %doc %{_docdir}/%{name}/xml
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.10.0~rc3^20240726gitcbda6c6c-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0~rc3^20240726gitcbda6c6c-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Nov 28 2024 Jaroslav Škarvada <jskarvad@redhat.com> - 3.10.0~rc3^20240726gitcbda6c6c-3
 - Rebuilt for new spdlog
   Resolves: rhbz#2329123
 
 * Tue Nov 26 2024 František Zatloukal <fzatlouk@redhat.com> - 3.10.0~rc3^20240726gitcbda6c6c-2
diff --git icecast/icecast.spec icecast/icecast.spec.tmp
index 5198874756..934f1b3600 100644
--- icecast/icecast.spec
+++ icecast/icecast.spec.tmp
@@ -7,17 +7,17 @@
 %global with_systemd 1
 %endif # 0%{?fedora} || 0%{?rhel} >= 7
 
 # Setup _pkgdocdir if not defined already.
 %{!?_pkgdocdir:%global _pkgdocdir	%{_docdir}/%{name}-%{version}}
 
 Name:		icecast
 Version:	2.4.4
-Release:	19%{?dist}
+Release:	20%{?dist}
 Summary:	ShoutCast compatible streaming media server
 
 # admin/xspf.xsl:	GPLv2+
 # COPYING:		GPLv2 text
 # src/fserve.c:		GPLv2
 # src/thread/thread.c:	GPLv2+
 # src/avl/avl.c:	BSD
 # web/xml2json.xslt:	BSD
@@ -57,17 +57,16 @@ BuildRequires:	libtheora-devel >= 1.0
 BuildRequires:	libvorbis-devel >= 1.0
 BuildRequires:	libxml2-devel
 BuildRequires:	libxslt-devel
 BuildRequires:	openssl-devel
 BuildRequires:	speex-devel
 
 Requires:	mailcap
 
-Requires(pre):	shadow-utils
 
 %if 0%{?with_systemd}
 BuildRequires:	systemd
 
 %{?systemd_requires}
 %else # 0%{?with_systemd}
 Requires(post):		/sbin/chkconfig
 Requires(preun):	/sbin/chkconfig
@@ -98,16 +97,21 @@ This package contains the documentation files for %{name}.
 
 %prep
 %autosetup -p 1
 %{_bindir}/find doc/ -type f | xargs %{__chmod} 0644
 %{__cp} -a doc/ html/
 %{_bindir}/find html/ -name 'Makefile*' | xargs %{__rm} -f
 autoreconf -f
 
+# Create a sysusers.d config file
+cat >icecast.sysusers.conf <<EOF
+u icecast - '%{name} streaming server' /usr/share/%{name} -
+EOF
+
 
 %build
 %configure \
 	--with-curl \
 	--enable-largefile \
 	--enable-maintainer-mode \
 	--with-ogg \
 	--with-openssl \
@@ -137,22 +141,19 @@ autoreconf -f
 	%{buildroot}%{_pkgdocdir}/{conf,examples}
 %{__cp} -a html/ AUTHORS ChangeLog COPYING NEWS TODO %{buildroot}%{_pkgdocdir}
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %{__rm} -f %{buildroot}%{_pkgdocdir}/COPYING
 %endif # 0%{?fedora} || 0%{?rhel} >= 7
 %{__cp} -a conf/*.dist %{buildroot}%{_pkgdocdir}/conf
 %{__cp} -a examples/%{name}_auth-1.0.tar.gz %{buildroot}%{_pkgdocdir}/examples
 
+install -m0644 -D icecast.sysusers.conf %{buildroot}%{_sysusersdir}/icecast.conf
+
 
-%pre
-%{_bindir}/getent passwd %{name} >/dev/null ||					\
-	%{_sbindir}/useradd -M -r -d /usr/share/%{name} -s /sbin/nologin	\
-		-c "%{name} streaming server" %{name} > /dev/null 2>&1 || :
-exit 0
 
 
 %post
 %if 0%{?with_systemd}
 %systemd_post %{name}.service
 %else # 0%{?with_systemd}
 /sbin/chkconfig --add %{name}
 %endif # 0%{?with_systemd}
@@ -192,26 +193,30 @@ fi
 %{_datadir}/%{name}
 %{_sysconfdir}/logrotate.d/%{name}
 %if 0%{?with_systemd}
 %{_unitdir}/%{name}.service
 %else # 0%{?with_systemd}
 %dir %attr(-,%{name},%{name}) %{_localstatedir}/run/%{name}
 %{_initrddir}/%{name}
 %endif # 0%{?with_systemd}
+%{_sysusersdir}/icecast.conf
 
 
 %files doc
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %license %{_datadir}/licenses/%{name}*
 %endif # 0%{?fedora} || 0%{?rhel} >= 7
 %doc %{_pkgdocdir}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4.4-20
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-19
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 2.4.4-18
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.4-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git icecream/icecream.spec icecream/icecream.spec.tmp
index 0b3bc492a8..aef219fc9a 100644
--- icecream/icecream.spec
+++ icecream/icecream.spec.tmp
@@ -34,17 +34,16 @@ BuildRequires: libcap-ng-devel
 BuildRequires: lzo-devel libzstd-devel libarchive-devel
 BuildRequires: docbook2X
 BuildRequires: environment(modules)
 BuildRequires: firewalld-filesystem
 BuildRequires: autoconf automake libtool
 
 Requires:         firewalld-filesystem
 Requires:         environment(modules)
-Requires(pre):    shadow-utils
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 Requires(post):   findutils
 
 %if %{with selinux}
 # For SELinux protection:
 BuildRequires: checkpolicy selinux-policy-devel hardlink
@@ -85,16 +84,21 @@ This package contains development files for %{name}.
 %prep
 %autosetup -p1 -n %{name}-%{version}%{preversion}
 
 mkdir SELinux
 cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} SELinux
 mkdir fedora
 cp -p %{SOURCE6} %{SOURCE7} %{SOURCE9} %{SOURCE10} %{SOURCE11} fedora
 
+# Create a sysusers.d config file
+cat >icecream.sysusers.conf <<EOF
+u icecc - 'Icecream distributed compiler' %{_localstatedir}/cache/icecream -
+EOF
+
 %build
 ./autogen.sh
 
 %configure \
     --disable-static \
     --enable-shared \
     --enable-clang-rewrite-includes \
     --enable-clang-wrappers 
@@ -167,29 +171,24 @@ fi;
 . %{_sysconfdir}/selinux/config; \
 FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \
 selinuxenabled; \
 if [ $? == 0  -a "${SELINUXTYPE}" == %1 -a -f ${FILE_CONTEXT}.%{name} ]; then \
 	fixfiles -C ${FILE_CONTEXT}.%{name} restore; \
 	rm -f ${FILE_CONTEXT}.%name; \
 fi;
 
+install -m0644 -D icecream.sysusers.conf %{buildroot}%{_sysusersdir}/icecream.conf
+
 %pre
 %if %{with selinux}
 for selinuxvariant in %{selinux_variants}; do
 	%saveFileContext ${selinuxvariant}
 done
 %endif
-
-getent group icecc >/dev/null || groupadd -r icecc
-getent passwd icecc >/dev/null || \
-	useradd -r -g icecc -d %{_localstatedir}/cache/icecream \
-	-s /sbin/nologin -c "Icecream distributed compiler" icecc
-exit 0
-
 %post
 /sbin/ldconfig
 %if %{with selinux}
 for selinuxvariant in %{selinux_variants}; do
 	semodule -s ${selinuxvariant} -i \
 		%{_datadir}/selinux/${selinuxvariant}/icecream.pp 2>/dev/null
 done
 
@@ -260,16 +259,17 @@ exit 0
 %{_unitdir}/icecc*.service
 %attr(0775, root, icecc) %{_localstatedir}/cache/icecream
 %attr(0775, root, icecc) /run/icecc
 %{_mandir}/man*/*
 %{_tmpfilesdir}/icecream.conf
 %{?with_selinux:%{_datadir}/selinux/*/icecream.pp}
 %{_prefix}/lib/firewalld/services/icecream.xml
 %{_prefix}/lib/firewalld/services/icecream-scheduler.xml
+%{_sysusersdir}/icecream.conf
 
 %files devel
 %dir %{_includedir}/icecc/
 %{_includedir}/icecc/*.h
 %{_libdir}/libicecc.so
 %{_libdir}/pkgconfig/icecc.pc
 
 %changelog
diff --git iguanaIR/iguanaIR.spec iguanaIR/iguanaIR.spec.tmp
index f6ea3a2bc3..749a27f25d 100644
--- iguanaIR/iguanaIR.spec
+++ iguanaIR/iguanaIR.spec.tmp
@@ -1,16 +1,16 @@
 %global commit6 e23b9d3726b010c9e747786ffe72e38debc8cfef
 %global shortcommit %(c=%{commit6}; echo ${c:0:7})
 %global repo https://github.com/iguanaworks/iguanair-lirc/archive
 %global __python %{__python3}
 
 Name:           iguanaIR
 Version:        1.1.0
-Release:        42%{?dist}
+Release:        43%{?dist}
 Epoch:          2
 Summary:        Driver for Iguanaworks USB IR transceiver
 
 # Automatically converted from old format: GPLv2 and LGPLv2 - review is highly recommended.
 License:        GPL-2.0-only AND LicenseRef-Callaway-LGPLv2
 URL:            http://iguanaworks.net/ir
 Source0:        http://iguanaworks.net/downloads/%{name}-%{version}.tar.bz2
 Source1:        iguanaIR.service
@@ -104,16 +104,21 @@ patch -p1 < %{SOURCE10}
 patch -p1 < %{SOURCE11}
 patch -p1 < %{SOURCE12}
 git apply --whitespace=fix %{SOURCE13}
 dos2unix Makefile
 patch -l -p2 --fuzz 2 < %{SOURCE20}
 cd ..
 patch  -p1 --fuzz 2 < %{SOURCE21}
 
+# Create a sysusers.d config file
+cat >iguanair.sysusers.conf <<EOF
+u iguanair - 'Iguanaworks IR Daemon' %{_localstatedir}/run/%{name} -
+EOF
+
 
 
 %build
 ./runCmake -DLIBDIR="%{_libdir}"
 cd build
 make CFLAGS="%{optflags} -fpic -DFEDORA=1 -DHAVE_KERNEL_LIRC_H=1 -I.." %{?_smp_mflags}
 cp %{SOURCE4} .
 
@@ -170,23 +175,19 @@ install -m755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/iguanaIR
 
 install -m755 -d $RPM_BUILD_ROOT/%{_tmpfilesdir}
 cat > $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf <<EOF
 d   /run/%{name}    0755    iguanair   iguanair
 EOF
 install -m 755 -d $RPM_BUILD_ROOT/run/%{name}
 install -m 644 -D %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 
+install -m0644 -D iguanair.sysusers.conf %{buildroot}%{_sysusersdir}/iguanair.conf
+
 
-%pre
-getent group iguanair >/dev/null || groupadd -r iguanair
-getent passwd iguanair >/dev/null || \
-    useradd -r -g iguanair -d %{_localstatedir}/run/%{name} -s /sbin/nologin \
-    -c "Iguanaworks IR Daemon" iguanair
-exit 0
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -209,16 +210,17 @@ exit 0
 %config(noreplace) /etc/sysconfig/%{name}
 %{_tmpfilesdir}/%{name}.conf
 %ghost %attr(755, iguanair, iguanair) /run/%{name}
 %attr(775, iguanair, iguanair) %{_localstatedir}/log/%{name}
 
 %if 0%{fedora} < 30
 %{_libdir}/python2.7/*
 %endif
+%{_sysusersdir}/iguanair.conf
 
 %files devel
 %{_includedir}/%{name}.h
 %{_libdir}/lib%{name}.so
 
 %files reflasher
 %{_datadir}/%{name}-reflasher/
 %{_bindir}/%{name}-reflasher
@@ -228,16 +230,19 @@ exit 0
 %config /etc/modprobe.d/60-blacklist-kernel-iguanair.conf
 %{_libdir}/lirc/plugins/iguanair.so
 %{_docdir}/lirc/plugindocs/iguanair.html
 %{_datadir}/lirc/configs/iguanair.conf
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2:1.1.0-43
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.1.0-42
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 2:1.1.0-41
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.1.0-40
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git inadyn-mt/inadyn-mt.spec inadyn-mt/inadyn-mt.spec.tmp
index e63580ac9a..54dfbec34c 100644
--- inadyn-mt/inadyn-mt.spec
+++ inadyn-mt/inadyn-mt.spec.tmp
@@ -1,11 +1,11 @@
 Name:           inadyn-mt
 Version:        2.28.10
-Release:        23%{?dist}
+Release:        24%{?dist}
 Summary:        Dynamic DNS Client
 # Automatically converted from old format: GPLv3 - review is highly recommended.
 License:        GPL-3.0-only
 URL:            http://inadyn-mt.sourceforge.net
 Source0:        http://prdownloads.sourceforge.net/inadyn-mt/inadyn-mt.v.0%{version}.tar.gz
 Source1:        inadyn-mt.conf
 Source2:        inadyn.service
 Source3:        inadyn-nm-dispatcher
@@ -20,17 +20,16 @@ BuildRequires:  autoconf
 BuildRequires:  gcc
 BuildRequires:  libao-devel
 BuildRequires:  systemd-units
 BuildRequires: make
 
 Obsoletes:      inadyn < %{version}
 Provides:       inadyn = %{version}-%{release}
 
-Requires(pre):    shadow-utils
 Requires(post):   systemd-units
 Requires(preun):  systemd-units
 Requires(postun): systemd-units
 
 Obsoletes:      inadyn-mt-units < %{version}-%{release}
 Provides:       inadyn-mi-units = %{version}-%{release}
 
 Obsoletes:      inadyn-mt-sysvinit < %{version}-%{release}
@@ -49,16 +48,21 @@ should then fill in /etc/inadyn.conf with the appropriate detail
 
 %prep
 %setup -q -n %name.v.0%{version}
 %patch -P1 -p1 -b .libao
 %patch -P2 -p1 -b .gcc10
 %patch -P3 -p1 -b .c99
 %patch -P4 -p1 -b .c23
 
+# Create a sysusers.d config file
+cat >inadyn-mt.sysusers.conf <<EOF
+u inadyn - 'Dynamic DNS client' /var/cache/inadyn-mt -
+EOF
+
 %build
 rm -rf bin/
 autoreconf
 %configure --prefix=/usr/share
 make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS"
 
 %install
 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
@@ -81,22 +85,18 @@ cp -R extra/* $RPM_BUILD_ROOT%{_datadir}/inadyn-mt/extra
 mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
 install -p -m 0644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_unitdir}
 
 mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib/NetworkManager/dispatcher.d
 install -p %{SOURCE3} ${RPM_BUILD_ROOT}%{_prefix}/lib/NetworkManager/dispatcher.d/30-inadyn
 
 mkdir -p $RPM_BUILD_ROOT/var/cache/inadyn-mt
 
-%pre
-getent group inadyn >/dev/null || groupadd -r inadyn
-getent passwd inadyn >/dev/null || \
-    useradd -r -g inadyn -d /var/cache/inadyn-mt -s /sbin/nologin \
-    -c "Dynamic DNS client" inadyn
-exit 0
+install -m0644 -D inadyn-mt.sysusers.conf %{buildroot}%{_sysusersdir}/inadyn-mt.conf
+
 
 %post
 %systemd_post inadyn.service
 [ $1 -gt 1 ] && chown -R inadyn: /var/cache/inadyn-mt || :
 
 %preun
 %systemd_preun inadyn.service
 
@@ -108,18 +108,22 @@ exit 0
 %doc readme.html
 %{_sbindir}/inadyn
 %{_unitdir}/inadyn.service
 %{_mandir}/man*/*
 %attr(640,inadyn,inadyn) %config(noreplace) %{_sysconfdir}/%{name}.conf
 %{_prefix}/lib/NetworkManager/
 %{_datadir}/%{name}/
 %attr(755,inadyn,inadyn) %dir /var/cache/inadyn-mt/
+%{_sysusersdir}/inadyn-mt.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.28.10-24
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Wed Jan 22 2025 Michael Cronenworth <mike@cchtml.com> - 2.28.10-23
 - C23 compatibility fixes
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.28.10-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.28.10-21
 - convert license to SPDX
diff --git inn/inn.spec inn/inn.spec.tmp
index ca952fa132..9ef3d678bb 100644
--- inn/inn.spec
+++ inn/inn.spec.tmp
@@ -1,14 +1,14 @@
 %global _hardened_build 1
 
 Summary: The InterNetNews system, an Usenet news server
 Name: inn
 Version: 2.7.2
-Release: 2%{?dist}
+Release: 3%{?dist}
 # most files are under ISC, except:
 # contrib/analyze-traffic.in: public-domain
 # contrib/mm_ckpasswd: GPL-2.0-or-later
 # contrib/nnrp.access2readers.conf.in: public-domain
 # contrib/tunefeed.in: Perl
 # control/perl-nocem.in: GPL
 # control/pgpverify.in: BSD-4-Clause
 # innd/tinyleaf.c: MIT
@@ -71,17 +71,16 @@ BuildRequires: wget
 BuildRequires: zlib-devel
 BuildRequires: %{_bindir}/gpgv2
 BuildRequires: make
 %if 0%{?fedora} || 0%{?rhel} >= 8
 Recommends: perl(GD)
 Recommends: perl(subs)
 Recommends: uucp
 %endif
-Requires(pre): shadow-utils
 Requires: bash >= 2.0
 Requires: coreutils
 Requires: grep
 Requires: sed
 Requires: wget
 Requires(post): inews
 
 # XXX white out bogus perl requirement for now
@@ -130,16 +129,22 @@ Summary: Libraries provided by INN
 
 %description libs
 This package contains dynamic libraries provided by INN project
 
 %prep
 gpgv2 --keyring %{S:3} %{S:1} %{S:0}
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >inn.sysusers.conf <<EOF
+g news 13
+u news 9 'News server user' /etc/news -
+EOF
+
 %build
 %configure \
   --disable-static \
   --enable-largefiles \
   --enable-reduced-depends \
   --enable-shared \
   --enable-uucp-rnews \
   --bindir=%{_libexecdir}/news \
@@ -276,28 +281,24 @@ cat <<EOF >%{buildroot}%{_presetdir}/80-inn.preset
 enable innd-expire.timer
 enable innd-nntpsend.timer
 enable innd-rnews.timer
 EOF
 
 install -dm755 %{buildroot}%{_sysconfdir}/rsyslog.d
 install -pm644 %{S:30} %{buildroot}%{_sysconfdir}/rsyslog.d/inn.conf
 
+install -m0644 -D inn.sysusers.conf %{buildroot}%{_sysusersdir}/inn.conf
+
 %check
 LD_LIBRARY_PATH=%{buildroot}%{_libdir} make -C tests test
 
 %global inn_units_with_restart innd.service innd-expire.timer innd-nntpsend.timer innd-rnews.timer
 %global inn_units innd-expire.service innd-nntpsend.service innd-rnews.service
 
-%pre -n inews
-getent group news >/dev/null || groupadd -g 13 -r news
-getent passwd news >/dev/null || \
-useradd -r -u 9 -g news -d /etc/news  \
--c "News server user" news
-exit 0
 
 %pre
 getent group news >/dev/null || groupadd -g 13 -r news
 getent passwd news >/dev/null || \
 useradd -r -u 9 -g news -d /etc/news  \
 -c "News server user" news
 getent group uucp >/dev/null || groupadd -g 14 -r uucp
 if ! getent passwd uucp >/dev/null ; then
@@ -579,18 +580,22 @@ fi
 %exclude %{_mandir}/man3/libinn_uwildmat.3*
 
 %files -n inews
 %config(noreplace) %attr(-,news,news) %{_sysconfdir}/news/inn.conf
 %config(noreplace) %attr(-,news,news) %{_sysconfdir}/news/passwd.nntp
 %{_bindir}/inews
 %attr(0755,root,root) %{_libexecdir}/news/inews
 %{_mandir}/man1/inews*
+%{_sysusersdir}/inn.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.7.2-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Oct 13 2024 Dominik Mierzejewski <dominik@greysector.net> - 2.7.2-1
 - update to 2.7.2 (#2293907)
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 2.7.1-10
 - convert license to SPDX
diff --git ipa-hcc/ipa-hcc.spec ipa-hcc/ipa-hcc.spec.tmp
index af9b9ffba8..41826b612d 100644
--- ipa-hcc/ipa-hcc.spec
+++ ipa-hcc/ipa-hcc.spec.tmp
@@ -65,17 +65,17 @@
 
 %if %{with selinux}
     %global selinuxtype targeted
     %global modulename ipa-hcc
 %endif
 
 Name:           %{package_name}
 Version:        0.18
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Hybrid Cloud Console extension for IPA
 
 BuildArch:      noarch
 
 License:        GPL-3.0-or-later
 URL:            https://github.com/podengo-project/ipa-hcc
 
 # tag names are generated by rpkg
@@ -164,17 +164,16 @@ Requires(post): %{ipa_name}-server >= %{ipa_version}
 Requires: httpd
 Requires: mod_ssl
 %if %{with selinux}
 Requires: selinux-policy >= %{selinux_policy_version}
 Requires(post): selinux-policy-base >= %{selinux_policy_version}
 Requires(post): (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype})
 %endif
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description server
 This package contains IPA server plugins, LDAP schema extension, WebUI
 extension, and registration agent for Hybrid Cloud Console integration. The
 extensions require an account on https://console.redhat.com/ and registration
 with subscription manager.
 
 %posttrans server
@@ -188,21 +187,16 @@ if [ $? -eq 0 ]; then
 
     # restart httpd if running
     /bin/systemctl try-restart gssproxy.service httpd.service >/dev/null 2>&1 || :
 fi
 
 %pre server
 # create user account for service
 %if 0%{?sysusers_requires_compat:1}
-%sysusers_create_compat %{SOURCE1}
-%else
-# RHEL 8
-getent passwd ipahcc >/dev/null || useradd -r -s /sbin/nologin -d /var/cache/ipa-hcc -c "IPA Hybrid Cloud Console enrollment service" ipahcc
-usermod -a -G ipaapi ipahcc
 %endif
 
 %post server
 # ipa-hcc-update.timer is started by ipactl
 %systemd_post ipa-hcc-update.service
 %systemd_post ipa-hcc-update.timer
 /bin/systemctl daemon-reload
 
@@ -590,16 +584,19 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/ipa-hcc.conf
 %files selinux
 %doc README.md CONTRIBUTORS.txt
 %license COPYING
 %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.*
 # with selinux
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.18-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.18-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Aug 10 2024 Fraser Tweedale <frase@frase.id.au> 0.18-1
 - test: use RHEL with golang 1.21 for backend vm
 - test: fix idm-domains-backend-deploy after RBAC changes
 - chore: supress mypy errors in generated stubs
 - fix(HMS-4323): print hcc reponse headers in debug
diff --git ip-sentinel/ip-sentinel.spec ip-sentinel/ip-sentinel.spec.tmp
index 90f99db666..bca6d8f79d 100644
--- ip-sentinel/ip-sentinel.spec
+++ ip-sentinel/ip-sentinel.spec.tmp
@@ -1,16 +1,16 @@
 %{!?username:%global username	ip-sentinel}
 %global service		ip-sentinel
 %global homedir		%{_var}/lib/ip-sentinel
 
 Summary:	Tool to prevent unauthorized usage of IP addresses
 Name:		ip-sentinel
 Version:	0.12
-Release:	1931%{?dist}
+Release:	1932%{?dist}
 License:	GPL-2.0-only
 URL:		http://www.nongnu.org/ip-sentinel/
 Source0:	http://savannah.nongnu.org/download/ip-sentinel/%{name}-%{version}.tar.bz2
 Source1:	http://savannah.nongnu.org/download/ip-sentinel/%{name}-%{version}.tar.bz2.sig
 Source2:	ip-sentinel.service
 Patch0:		ip-sentinel-0.12-pidfile.patch
 Patch1:		ip-sentinel-0.12-glibc.patch
 Provides:	user(%username) = 1
@@ -19,17 +19,16 @@ BuildRequires:  gcc
 BuildRequires:	which systemd
 BuildRequires: make
 Obsoletes: ip-sentinel-sysvinit < %{version}-%{release}
 Provides: ip-sentinel-sysvinit = %{version}-%{release}
 Obsoletes: ip-sentinel-minit < %{version}-%{release}
 Provides: ip-sentinel-minit = %{version}-%{release}
 Obsoletes: ip-sentinel-upstart < %{version}-%{release}
 Provides: ip-sentinel-upstart = %{version}-%{release}
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 
 %description
 IP Sentinel is a tool that tries to prevent unauthorized usage of
 IP addresses within an ethernet broadcast domain by answering ARP
@@ -38,16 +37,21 @@ the MAC in their ARP tables and will send future packets to this
 invalid MAC, rendering the IP unreachable.
 
 
 %prep
 %setup -q
 %patch -P0 -p0 -b .pidfile
 %patch -P1 -p0
 
+# Create a sysusers.d config file
+cat >ip-sentinel.sysusers.conf <<EOF
+u ip-sentinel - 'IP sentinel user' %{homedir} -
+EOF
+
 %build
 %configure --enable-release \
 	   --with-initrddir=%{_initrddir} \
 	   --with-username=%username \
            --disable-dietlibc
 make %{?_smp_mflags} all
 
 
@@ -57,27 +61,23 @@ rm -rf $RPM_BUILD_ROOT
 make DESTDIR=$RPM_BUILD_ROOT install install-contrib
 install -m750 -d $RPM_BUILD_ROOT%homedir
 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/minit/
 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/ip-sentinel
 
 
 install -Dpm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/ip-sentinel.service
 
+install -m0644 -D ip-sentinel.sysusers.conf %{buildroot}%{_sysusersdir}/ip-sentinel.conf
+
 %check
 make check
 
 
 
-%pre
-getent group ip-sentinel >/dev/null || groupadd -r ip-sentinel
-getent passwd ip-sentinel >/dev/null || \
-    useradd -r -g ip-sentinel -d %{homedir} -s /sbin/nologin \
-    -c "IP sentinel user" ip-sentinel
-exit 0
 
 %post
 %systemd_post ip-sentinel.service
 
 %preun
 %systemd_preun ip-sentinel.service
 
 %postun
@@ -96,18 +96,22 @@ exit 0
 
 %files
 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
 %{_mandir}/*/*
 %{_sbindir}/*
 %{_unitdir}/ip-sentinel.service
 %{_sysconfdir}/sysconfig/ip-sentinel
 %attr(-,root,%username) %homedir
+%{_sysusersdir}/ip-sentinel.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.12-1932
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-1931
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-1930
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-1929
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git ipsilon/ipsilon.spec ipsilon/ipsilon.spec.tmp
index d3b6a28bff..63598ba178 100644
--- ipsilon/ipsilon.spec
+++ ipsilon/ipsilon.spec.tmp
@@ -3,17 +3,17 @@
 %global snapdate 20241202
 %global commit 01109c17e79c95ddf338dd1a64d88b89a43c1847
 %global shortcommit %%(c=%%{commit}; echo ${c:0:7})
 
 # post-release format...
 %global snaprel %%{?snapdate:.git%%{snapdate}.%%{shortcommit}}
 
 # for rpmdev-bumpspec
-%global baserelease 0.3
+%global baserelease 0.4
 
 Name:       ipsilon
 Version:    3.0.5
 Release:    %{baserelease}%{?snaprel}%{?dist}
 Summary:    An Identity Provider Server
 
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License:    GPL-3.0-or-later
@@ -54,17 +54,16 @@ Requires:       %{name}-provider = %{version}-%{release}
 Requires:       python3-mod_wsgi
 Requires:       python3-cherrypy
 Requires:       python3-jinja2
 Requires:       python3-lxml
 Requires:       python3-sqlalchemy
 Requires:       open-sans-fonts
 Requires:       font(fontawesome)
 Requires:       pam
-Requires(pre):  shadow-utils
 
 %description base
 The Ipsilon IdP server without installer
 
 
 %package filesystem
 Summary:        Package providing files required by Ipsilon
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
@@ -256,16 +255,21 @@ Provides a theme for Ipsilon used for openSUSE Accounts.
 
 %prep
 %if %{defined snaprel}
 %autosetup -n %{name}-%{commit} -p1
 %else
 %autosetup -p1
 %endif
 
+# Create a sysusers.d config file
+cat >ipsilon.sysusers.conf <<EOF
+u ipsilon - 'Ipsilon Server' %{_sharedstatedir}/ipsilon -
+EOF
+
 
 %build
 %py3_build
 
 
 %install
 %py3_install
 mkdir -p %{buildroot}%{_libexecdir}/ipsilon
@@ -283,22 +287,18 @@ mkdir -p  %{buildroot}%{_sysconfdir}/pam.d
 cp %{buildroot}%{_datadir}/ipsilon/templates/install/pam/ipsilon.pamd %{buildroot}%{_sysconfdir}/pam.d/ipsilon
 
 #%check
 # The test suite is not being run because:
 #  1. The last step of %%install removes the entire test suite
 #  2. It increases build time a lot
 #  3. It adds more build dependencies (namely postgresql server and client libraries)
 
-%pre base
-getent group ipsilon >/dev/null || groupadd -r ipsilon
-getent passwd ipsilon >/dev/null || \
-    useradd -r -g ipsilon -d %{_sharedstatedir}/ipsilon -s /sbin/nologin \
-    -c "Ipsilon Server" ipsilon
-exit 0
+install -m0644 -D ipsilon.sysusers.conf %{buildroot}%{_sysusersdir}/ipsilon.conf
+
 
 
 %files filesystem
 %doc README.md
 %license COPYING
 %dir %{_datadir}/ipsilon
 %dir %{_datadir}/ipsilon/templates
 %dir %{_datadir}/ipsilon/templates/install
@@ -379,16 +379,17 @@ exit 0
 %{_datadir}/ipsilon/ui/fonts-local
 %{_libexecdir}/ipsilon/
 %{_sbindir}/ipsilon-upgrade-database
 %dir %attr(0751,root,root) %{_sharedstatedir}/ipsilon
 %dir %attr(0751,root,root) %{_sysconfdir}/ipsilon
 %dir %attr(0750,ipsilon,apache) %{_localstatedir}/cache/ipsilon
 %config(noreplace) %{_sysconfdir}/pam.d/ipsilon
 %dir %{_datadir}/ipsilon/themes
+%{_sysusersdir}/ipsilon.conf
 
 %files client
 %license COPYING
 %{_bindir}/ipsilon-client-install
 %{_datadir}/ipsilon/templates/install/saml2
 %{_datadir}/ipsilon/templates/install/openidc
 %{_mandir}/man*/ipsilon-client-install.1*
 
@@ -463,16 +464,19 @@ exit 0
 %{_datadir}/ipsilon/themes/Fedora
 
 %files theme-openSUSE
 %license COPYING
 %{_datadir}/ipsilon/themes/openSUSE
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.5-0.4.git20241202.01109c1
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Kevin Fenzi <kevin@scrye.com> - 3.0.5-0.3.git20241202.01109c1
 - Fix fallout due to /sbin merge.
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5-0.2.git20241202.01109c1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Dec 02 2024 Kevin Fenzi <kevin@scrye.com> - 3.0.5-0.1
 - Switch to a git snapshot.
diff --git jabberd/jabberd.spec jabberd/jabberd.spec.tmp
index 1cb4dafd50..4fc50cdf33 100644
--- jabberd/jabberd.spec
+++ jabberd/jabberd.spec.tmp
@@ -9,17 +9,17 @@
 %bcond_with systemd
 %else
 %bcond_without systemd
 %endif
 
 Summary:        OpenSource server implementation of the Jabber protocols
 Name:           jabberd
 Version:        2.6.1
-Release:        30%{?dist}
+Release:        31%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 Source0:        https://github.com/jabberd2/jabberd2/releases/download/jabberd-%{version}/jabberd-%{version}.tar.xz
 Source1:        README.fedora
 Source2:        jabberd.init
 Source3:        jabberd.sysconfig
 Patch0:         jabberd-fedora-crypto-policy.patch
 Patch1:         jabberd-fix-paths.patch
@@ -37,17 +37,16 @@ BuildRequires:  perl-generators
 BuildRequires:  cppunit-devel
 %if %{with systemd}
 BuildRequires:          systemd-units
 Requires(post):         systemd-units systemd-sysv
 Requires(preun):        systemd-units
 Requires(postun):       systemd-units
 %else
 Requires(post):         openssl chkconfig /sbin/service
-Requires(pre):          shadow-utils
 Requires(preun):        chkconfig shadow-utils /sbin/service
 Requires(postun):       chkconfig /sbin/service
 %endif
 %if %{with pam}
 BuildRequires:  pam-devel
 %endif
 %if %{with sqlite}
 BuildRequires:  sqlite-devel
@@ -72,17 +71,16 @@ BuildRequires:  mysql-devel
 %if %{with postgresql}
 BuildRequires:  libpq-devel
 %endif
 BuildRequires:          libgsasl-devel udns-devel
 BuildRequires:          http-parser-devel
 BuildRequires:          autoconf libtool
 BuildRequires: make
 Requires(post):         openssl
-Requires(pre):          shadow-utils
 Requires(preun):        shadow-utils
 
 %description
 The jabberd project aims to provide an open-source server implementation of
 the Jabber protocols for instant messaging and XML routing. The goal of this
 project is to provide a scalable, reliable, efficient and extensible server
 that provides a complete set of features and is up to date with the latest
 protocol revisions.
@@ -113,16 +111,21 @@ This package defaults to use pam and sqlite.
 %patch -P4 -p1
 %patch -P5 -p1
 %patch -P7 -p1
 %patch -P8 -p1
 autoreconf --verbose --force --install
 %endif
 %patch -P6 -p1
 
+# Create a sysusers.d config file
+cat >jabberd.sysusers.conf <<EOF
+u jabber - 'Jabber Server' %{_var}/lib/%{name} -
+EOF
+
 %build
 export CFLAGS="%{optflags}"
 %configure \
         --sysconfdir=%{_sysconfdir}/%{name} \
         --localstatedir=%{_var}/lib \
 %if %{with pam}
         --enable-pam \
 %else
@@ -233,25 +236,20 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/jabberd/server.pem
 rm -f $RPM_BUILD_ROOT%{_bindir}/jabberd
 
 # we have our own start script
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/jabberd.cfg*
 
 # README.fedora
 cp %{SOURCE1} .
 
+install -m0644 -D jabberd.sysusers.conf %{buildroot}%{_sysusersdir}/jabberd.conf
+
 
 
-%pre
-#creating jabber user
-getent group jabber >/dev/null || groupadd -r jabber
-getent passwd jabber >/dev/null || \
-useradd -r -g jabber -d %{_var}/lib/%{name} -s /sbin/nologin \
-        -c "Jabber Server" jabber
-exit 0
 
 %post
 %if %{with systemd}
 %systemd_post %{name}.service
 if [ $1 -eq 1 ] ; then
         #replace default passwords, yet another hack
         export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
                                 | sha1sum | awk '{print $1}' )
@@ -351,18 +349,22 @@ fi
 %attr(750, jabber, jabber) %dir %{_sysconfdir}/%{name}/templates
 %config(noreplace) %{_sysconfdir}/%{name}/server.pem
 %attr(640, jabber, jabber) %config(noreplace) %{_sysconfdir}/%{name}/*xml*
 %attr(640, jabber, jabber) %config(noreplace) %{_sysconfdir}/%{name}/templates/*xml*
 %dir %{_datadir}/%{name}/
 %attr(644,root,root) %{_datadir}/%{name}/*
 %config(noreplace) %{_sysconfdir}/pam.d/%{name}
 %attr(700, jabber, jabber) %{_var}/lib/%{name}
+%{_sysusersdir}/jabberd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.1-31
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.6.1-29
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git jack-audio-connection-kit/jack-audio-connection-kit.spec jack-audio-connection-kit/jack-audio-connection-kit.spec.tmp
index 53ebefcb85..1a82279c5f 100644
--- jack-audio-connection-kit/jack-audio-connection-kit.spec
+++ jack-audio-connection-kit/jack-audio-connection-kit.spec.tmp
@@ -9,17 +9,17 @@
 %global pagroup   pulse-rt
 
 # Disable lto (#1872065, #1869059)
 %define _lto_cflags %{nil}
 
 Summary:       The Jack Audio Connection Kit
 Name:          jack-audio-connection-kit
 Version:       1.9.22
-Release:       8%{?dist}
+Release:       9%{?dist}
 # The entire source (~500 files) is a mixture of these three licenses
 # Automatically converted from old format: GPLv2 and GPLv2+ and LGPLv2+ - review is highly recommended.
 License:       GPL-2.0-only AND GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+
 URL:           https://www.jackaudio.org
 Source0:       https://github.com/jackaudio/jack2/archive/v%{version}/v%{version}.tar.gz#/jack2-%{version}.tar.gz
 Source1:       %{name}-README.Fedora
 Source2:       %{name}-script.pa
 Source3:       %{name}-limits.conf
@@ -42,17 +42,16 @@ BuildRequires: libffado-devel
 %endif
 BuildRequires: libsamplerate-devel
 BuildRequires: libsndfile-devel
 BuildRequires: ncurses-devel
 BuildRequires: opus-devel
 BuildRequires: pkgconfig
 BuildRequires: python3
 
-Requires(pre): shadow-utils
 Requires:      pam
 
 Obsoletes:     %{name}-example-clients < 1.9.22
 
 %description
 JACK is a low-latency audio server, written primarily for the Linux operating
 system. It can connect a number of different applications to an audio device, as
 well as allowing them to share audio between themselves. Its clients can run in
@@ -83,16 +82,21 @@ Header files for the Jack Audio Connection Kit.
 Summary:       Example clients that use Jack 
 
 %description example-clients
 Small example clients that use the Jack Audio Connection Kit.
 
 %prep
 %autosetup -p1 -n jack2-%{version}
 
+# Create a sysusers.d config file
+cat >jack-audio-connection-kit.sysusers.conf <<EOF
+g jackuser -
+EOF
+
 %build
 %set_build_flags
 export PREFIX=%{_prefix}
 python3 ./waf configure \
    --mandir=%{_mandir}/man1 \
    --libdir=%{_libdir} \
    --doxygen \
    --dbus \
@@ -125,48 +129,51 @@ sed -e 's,@groupname@,%groupname,g; s,@pagroup@,%pagroup,g;' \
 install -p -m644 %{SOURCE1} README.Fedora
 
 # install pulseaudio script for jack (as documentation part)
 install -p -m644 %{SOURCE2} jack.pa
 
 # Fix permissions of the modules
 chmod 755 %{buildroot}%{_libdir}/jack/*.so %{buildroot}%{_libdir}/libjack*.so.*.*.*
 
-%pre
-getent group %groupname > /dev/null || groupadd -r %groupname
-exit 0
+install -m0644 -D jack-audio-connection-kit.sysusers.conf %{buildroot}%{_sysusersdir}/jack-audio-connection-kit.conf
+
 
 %files
 %doc ChangeLog.rst README.rst README_NETJACK2
 %doc README.Fedora
 %doc jack.pa
 %license COPYING
 %{_bindir}/jackd
 %{_libdir}/jack/
 %{_libdir}/libjack.so.0*
 %{_libdir}/libjacknet.so.0*
 %{_libdir}/libjackserver.so.0*
 %config(noreplace) %{_sysconfdir}/security/limits.d/*.conf
 
 %{_mandir}/man1/jackd*.1*
+%{_sysusersdir}/jack-audio-connection-kit.conf
 
 %files dbus
 %{_bindir}/jackdbus
 %{_datadir}/dbus-1/services/org.jackaudio.service
 %{_bindir}/jack_control
 
 %files devel
 %doc reference/html/
 %{_includedir}/jack/
 %{_libdir}/libjack.so
 %{_libdir}/libjacknet.so
 %{_libdir}/libjackserver.so
 %{_libdir}/pkgconfig/jack.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.9.22-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.22-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 1.9.22-7
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.22-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git jwhois/jwhois.spec jwhois/jwhois.spec.tmp
index 0b4b5d4788..a0a3b966b6 100644
--- jwhois/jwhois.spec
+++ jwhois/jwhois.spec.tmp
@@ -1,13 +1,13 @@
 %{?!with_cache: %global with_cache 0}
 
 Name: jwhois
 Version: 4.0
-Release: 80%{?dist}
+Release: 81%{?dist}
 URL: http://www.gnu.org/software/jwhois/
 Source0: ftp://ftp.gnu.org/gnu/jwhois/jwhois-%{version}.tar.gz
 Source1: https://raw.githubusercontent.com/robert-scheck/jwhois/2bd561e06ca37cf6c2ef9f0a2e957e09f58e6972/example/jwhois.conf
 Patch0: jwhois-4.0-connect.patch
 Patch1: jwhois-4.0-ipv6match.patch
 Patch2: jwhois-4.0-fclose.patch
 Patch3: jwhois-4.0-select.patch
 Patch5: jwhois-4.0-multi-homed.patch
@@ -45,16 +45,21 @@ A whois client that accepts both traditional and finger-style queries.
 
 iconv -f iso-8859-1 -t utf-8 < doc/sv/jwhois.1 > doc/sv/jwhois.1_
 mv doc/sv/jwhois.1_ doc/sv/jwhois.1
 
 cp -pf %{SOURCE1} example/jwhois.conf
 
 autoreconf
 
+# Create a sysusers.d config file
+cat >jwhois.sysusers.conf <<EOF
+g jwhois -
+EOF
+
 %build
 %if %{with_cache}
 %configure --enable-sgid --localstatedir=%{_localstatedir}/cache/jwhois
 %else
 %configure
 %endif
 make %{?_smp_mflags}
 
@@ -74,35 +79,37 @@ rm -f "$RPM_BUILD_ROOT"%{_infodir}/dir
 # Make "whois.{%%alternative}" jwhois (because of localized manual pages).
 echo .so man1/jwhois.1 > $RPM_BUILD_ROOT/%{_mandir}/man1/whois.%{alternative}.1
 
 # Rename to alternative names
 touch $RPM_BUILD_ROOT%{_bindir}/whois
 chmod 755 $RPM_BUILD_ROOT%{_bindir}/whois
 touch $RPM_BUILD_ROOT%{_mandir}/man1/whois.1
 
+install -m0644 -D jwhois.sysusers.conf %{buildroot}%{_sysusersdir}/jwhois.conf
+
 %files -f %{name}.lang
 %doc AUTHORS COPYING ChangeLog NEWS README TODO
 %if %{with_cache}
 %attr(2755,root,jwhois) %{_bindir}/jwhois
 %attr(2775,root,jwhois) %{_localstatedir}/cache/jwhois/jwhois.db
 %else
 %attr(0755,root,root) %{_bindir}/jwhois
 %endif
 %ghost %verify(not md5 size mtime) %{_bindir}/whois
 %{_mandir}/man1/jwhois.1*
 %lang(sv) %{_mandir}/sv/man1/jwhois.1*
 %{_mandir}/man1/whois.%{alternative}.*
 %ghost %verify(not md5 size mtime) %{_mandir}/man1/whois.1.gz
 %{_infodir}/jwhois.info.*
 %config(noreplace) %{_sysconfdir}/jwhois.conf
+%{_sysusersdir}/jwhois.conf
 
 %if %{with_cache}
 %pre
-getent group jwhois >/dev/null || groupadd -r jwhois || :
 %endif
 
 %post
 %if 0%{?rhel} && 0%{?rhel} <= 7
 if [ -f %{_infodir}/jwhois.info ]; then # --excludedocs?
     /sbin/install-info %{_infodir}/jwhois.info %{_infodir}/dir || :
 fi
 %endif
@@ -120,16 +127,19 @@ if [ $1 = 0 ]; then
         /sbin/install-info --delete %{_infodir}/jwhois.info %{_infodir}/dir || :
     fi
 %endif
     %{_sbindir}/update-alternatives --remove \
             %{genname} %{_bindir}/jwhois
 fi
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0-81
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Tue Jan 21 2025 Vitezlsav Crhonek <vcrhonek@redhat.com> - 4.0-80
 - Fix FTBFS with GCC 15
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-79
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-78
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git kismet/kismet.spec kismet/kismet.spec.tmp
index 20f0d72504..33a5b70014 100644
--- kismet/kismet.spec
+++ kismet/kismet.spec.tmp
@@ -7,17 +7,17 @@
 ## ...local macros}
 
 %{!?apply:%global  apply(p:n:b:) %patch%%{-n:%%{-n*}} %%{-p:-p%%{-p*}} %%{-b:-b%%{-b*}} \
 %nil}
 
 Summary:        WLAN detector, sniffer and IDS
 Name:           kismet
 Version:        %_rpmversion
-Release:        8%{?dist}
+Release:        9%{?dist}
 License:        GPL-2.0-or-later
 URL:            http://www.kismetwireless.net/
 Source0:        http://www.kismetwireless.net/code/%{name}-%_version.tar.xz
 
 Patch0:         kismet-include.patch
 Patch1:         kismet-install.patch
 Patch2:         hak5-types.patch
 
@@ -57,33 +57,38 @@ sed -i 's!\$(prefix)/lib/!%{_libdir}/!g' plugin-*/Makefile
 # default
 sed -i \
     -e '\!^ouifile=/etc/manuf!d' \
     -e '\!^ouifile=/usr/share/wireshark/wireshark/manuf!d' \
     conf/kismet.conf
 
 sed -i s/@VERSION@/%{version}/g packaging/kismet.pc.in
 
+# Create a sysusers.d config file
+cat >kismet.sysusers.conf <<EOF
+g kismet -
+EOF
+
 %build
 
 export ac_cv_lib_uClibcpp_main=no # we do not want to build against uClibc++, even when available
 export LDFLAGS='-Wl,--as-needed'
 %configure \
            --sysconfdir=%cfgdir \
            CXXFLAGS="$RPM_OPT_FLAGS -D__STDC_FORMAT_MACROS" \
            --disable-python-tools
 
 %make_build
 
 
 %install
 BIN=$RPM_BUILD_ROOT/bin ETC=$RPM_BUILD_ROOT/etc %{__make} suidinstall DESTDIR=%{?buildroot} INSTALL="%{__install} -p"
 
-%pre
-getent group kismet >/dev/null || groupadd -f -r kismet
+install -m0644 -D kismet.sysusers.conf %{buildroot}%{_sysusersdir}/kismet.conf
+
 
 %files
 %doc README*
 %dir %attr(0755,root,root) %cfgdir
 %config(noreplace) %cfgdir/*
 %{_bindir}/kismet
 %{_bindir}/kismet_cap_kismetdb
 %{_bindir}/kismet_cap_pcapfile
@@ -104,18 +109,22 @@ getent group kismet >/dev/null || groupadd -f -r kismet
 %attr(4755,root,root) %{_bindir}/kismet_cap_nrf_52840
 %attr(4755,root,root) %{_bindir}/kismet_cap_nrf_mousejack
 %attr(4755,root,root) %{_bindir}/kismet_cap_nxp_kw41z
 %attr(4755,root,root) %{_bindir}/kismet_cap_rz_killerbee
 %attr(4755,root,root) %{_bindir}/kismet_cap_ti_cc_2531
 %attr(4755,root,root) %{_bindir}/kismet_cap_ti_cc_2540
 %{_datadir}/kismet
 %{_libdir}/pkgconfig/kismet.pc
+%{_sysusersdir}/kismet.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.0.2023.07.R1-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.2023.07.R1-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.2023.07.R1-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.2023.07.R1-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git knot-resolver/knot-resolver.spec knot-resolver/knot-resolver.spec.tmp
index 7e2e1a0c9a..e79b4d22b2 100644
--- knot-resolver/knot-resolver.spec
+++ knot-resolver/knot-resolver.spec.tmp
@@ -2,17 +2,17 @@
 %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
 
 %define GPG_CHECK 1
 %define repodir %{_builddir}/%{name}-%{version}
 %define NINJA ninja-build
 
 Name:           knot-resolver
 Version:        5.7.4
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Caching full DNS Resolver
 
 License:        GPL-3.0-or-later
 URL:            https://www.knot-resolver.cz/
 Source0:        https://secure.nic.cz/files/%{name}/%{name}-%{version}.tar.xz
 
 # LuaJIT only on these arches
 %if 0%{?rhel} == 7
@@ -61,26 +61,24 @@ BuildRequires:  pkgconfig(libprotobuf-c)
 
 # Distro-dependent dependencies
 %if 0%{?rhel} == 7
 BuildRequires:  lmdb-devel
 # Lua 5.1 version of the libraries have different package names
 Requires:       lua-basexx
 Requires:       lua-psl
 Requires:       lua-http
-Requires(pre):  shadow-utils
 %endif
 %if 0%{?fedora} || 0%{?rhel} > 7
 BuildRequires:  pkgconfig(lmdb)
 BuildRequires:  python3-sphinx
 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
 %if "x%{?suse_version}" == "x"
 BuildRequires:  openssl-devel
 %endif
 
 %if 0%{?suse_version}
@@ -162,16 +160,21 @@ native C implementation, which doesn't require this package.
 %if 0%{GPG_CHECK}
 export GNUPGHOME=./gpg-keyring
 mkdir -m 700 ${GNUPGHOME}
 gpg2 --import %{SOURCE100}
 gpg2 --verify %{SOURCE1} %{SOURCE0}
 %endif
 %setup -q -n %{name}-%{version}
 
+# Create a sysusers.d config file
+cat >knot-resolver.sysusers.conf <<EOF
+u knot-resolver - 'Knot Resolver' %{_sysconfdir}/knot-resolver -
+EOF
+
 %build
 CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" meson build_rpm \
 %if "x%{?rhel}" == "x"
     -Ddoc=enabled \
 %endif
     -Dsystemd_files=enabled \
     -Dclient=enabled \
 %if "x%{?suse_version}" == "x"
@@ -219,20 +222,19 @@ rm %{buildroot}%{_libdir}/knot-resolver/kres_modules/prometheus.lua
 %endif
 
 # rename doc directory for centos 7, opensuse
 %if 0%{?suse_version} || 0%{?rhel} == 7
 install -m 755 -d %{buildroot}/%{_pkgdocdir}
 mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_pkgdocdir}/
 %endif
 
+install -m0644 -D knot-resolver.sysusers.conf %{buildroot}%{_sysusersdir}/knot-resolver.conf
+
 %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
-
 %if "x%{?rhel}" == "x"
 # upgrade-4-to-5
 if [ -f %{_unitdir}/kresd.socket ] ; then
 	export UPG_DIR=%{_sharedstatedir}/knot-resolver/.upgrade-4-to-5
 	mkdir -p ${UPG_DIR}
 	touch ${UPG_DIR}/.unfinished
 
 	for sock in kresd.socket kresd-tls.socket kresd-webmgmt.socket kresd-doh.socket ; do
@@ -344,16 +346,17 @@ fi
 %{_libdir}/knot-resolver/kres_modules/serve_stale.lua
 %{_libdir}/knot-resolver/kres_modules/ta_sentinel.lua
 %{_libdir}/knot-resolver/kres_modules/ta_signal_query.lua
 %{_libdir}/knot-resolver/kres_modules/ta_update.lua
 %{_libdir}/knot-resolver/kres_modules/view.lua
 %{_libdir}/knot-resolver/kres_modules/watchdog.lua
 %{_libdir}/knot-resolver/kres_modules/workarounds.lua
 %{_mandir}/man8/kresd.8.gz
+%{_sysusersdir}/knot-resolver.conf
 
 %files devel
 %{_includedir}/libkres
 %{_libdir}/pkgconfig/libkres.pc
 %{_libdir}/libkres.so
 
 %if "x%{?rhel}" == "x"
 %files doc
@@ -373,16 +376,19 @@ fi
 %files module-http
 %{_libdir}/knot-resolver/debug_opensslkeylog.so
 %{_libdir}/knot-resolver/kres_modules/http
 %{_libdir}/knot-resolver/kres_modules/http*.lua
 %{_libdir}/knot-resolver/kres_modules/prometheus.lua
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.7.4-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.4-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Nov 26 2024 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.7.4-2
 - Rebuilt for Knot DNS 3.4
 
 * Wed Jul 24 2024 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.7.4-1
 - New upstream version 5.7.4
diff --git KoboDeluxe/KoboDeluxe.spec KoboDeluxe/KoboDeluxe.spec.tmp
index 0045aa2736..6d5cb351dd 100644
--- KoboDeluxe/KoboDeluxe.spec
+++ KoboDeluxe/KoboDeluxe.spec.tmp
@@ -1,11 +1,11 @@
 Name:           KoboDeluxe
 Version:        0.5.1
-Release:        44%{?dist}
+Release:        45%{?dist}
 Summary:        Third person scrolling 2D shooter
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://olofson.net/kobodl/
 Source0:        http://olofson.net/kobodl/download/%{name}-%{version}.tar.bz2
 Source1:        %{name}-32.png
 Source2:        %{name}-64.png
 Source3:        %{name}-128.png
@@ -15,17 +15,16 @@ Patch1:         KoboDeluxe-defaults.patch
 Patch2:         KoboDeluxe-0.5.1-avoid-unistd-pipe-collision.patch
 Patch3:         KoboDeluxe-0.5.1-gcc44.patch
 Patch4:         KoboDeluxe-0.5.1-midi-crash-fix.patch
 BuildRequires:  gcc
 BuildRequires:  gcc-c++
 BuildRequires:  SDL_image-devel desktop-file-utils libappstream-glib
 BuildRequires: make
 Requires:       hicolor-icon-theme
-Requires(pre):  shadow-utils
 
 %description
 Kobo Deluxe is a 3'rd person  scrolling 2D shooter with a simple
 and responsive control system  - which you'll need to tackle the
 tons of enemy ships that shoot at you,  chase you, circle around
 you shooting,  or even  launch other ships at you,  while you're
 trying to  destroy the  labyrinth  shaped  bases.  There  are 50
 action packed  levels with  smoothly increasing  difficulty, and
@@ -37,16 +36,21 @@ to be dealt with successfully.
 %autosetup -p1
 sed -i 's|$(sharedstatedir)/kobo-deluxe/scores|%{_var}/games/kobo-deluxe|g' \
   configure
 iconv -f ISO-8859-1 -t UTF8 README > tmp;         mv tmp README
 iconv -f ISO-8859-1 -t UTF8 ChangeLog > tmp;      mv tmp ChangeLog
 iconv -f ISO2022JP -t UTF8 README.jp > tmp;       mv tmp README.jp
 iconv -f ISO2022JP -t UTF8 README.xkobo.jp > tmp; mv tmp README.xkobo.jp
 
+# Create a sysusers.d config file
+cat >kobodeluxe.sysusers.conf <<EOF
+g kobodl -
+EOF
+
 
 
 %build
 %configure --disable-dependency-tracking --enable-opengl
 %make_build
 
 
 %install
@@ -64,33 +68,36 @@ install -p -m 644 %{SOURCE3} \
   $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
 desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE4}
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
 install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/appdata
 appstream-util validate-relax --nonet \
   $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml
 
-%pre
-getent group kobodl >/dev/null || groupadd -r kobodl
-exit 0
+install -m0644 -D kobodeluxe.sysusers.conf %{buildroot}%{_sysusersdir}/kobodeluxe.conf
+
 
 %files
 %doc ChangeLog COPYING* README README.jp README.xkobo.jp README.sfont 
 %doc README.xkobo TODO
 %attr(2755,root,kobodl) %{_bindir}/kobodl
 %{_datadir}/kobo-deluxe
 %{_mandir}/man6/kobodl.6.gz
 %config(noreplace) %attr(0775,root,kobodl) %{_var}/games/kobo-deluxe
 %{_datadir}/appdata/%{name}.appdata.xml
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{_sysusersdir}/kobodeluxe.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.1-45
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-44
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul  26 2024 Miroslav Suchý <msuchy@redhat.com> - 0.5.1-43
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-42
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git koji/koji.spec koji/koji.spec.tmp
index cc2827aa58..6e963d01f6 100644
--- koji/koji.spec
+++ koji/koji.spec.tmp
@@ -4,17 +4,17 @@
 
 %define __python %{__python3}
 
 # If the definition isn't available for python3_pkgversion, define it
 %{?!python3_pkgversion:%global python3_pkgversion 3}
 
 Name: koji
 Version: 1.35.1
-Release: 6%{?dist}
+Release: 7%{?dist}
 # the included arch lib from yum's rpmUtils is GPLv2+
 # Automatically converted from old format: LGPLv2 and GPLv2+ - review is highly recommended.
 License: LicenseRef-Callaway-LGPLv2 AND GPL-2.0-or-later
 Summary: Build system tools
 URL: https://pagure.io/koji/
 Source0: https://releases.pagure.org/koji/koji-%{version}.tar.bz2
 
 Patch1: https://pagure.io/koji/pull-request/4258.patch#/0001-repos-check-for-newer-create-event.patch
@@ -129,17 +129,16 @@ Requires: %{name}-builder = %{version}-%{release}
 %description builder-plugins
 Plugins for the koji build daemon
 
 %package builder
 Summary: Koji RPM builder daemon
 # Automatically converted from old format: LGPLv2 - review is highly recommended.
 License: LicenseRef-Callaway-LGPLv2
 Requires: mock >= 0.9.14
-Requires(pre): /usr/sbin/useradd
 Requires: squashfs-tools
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 Requires: /usr/bin/svn
 Requires: /usr/bin/git
 Requires: createrepo_c >= 0.10.0
 Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release}
@@ -212,16 +211,22 @@ Provides: %{name}-web-code = %{version}-%{release}
 koji-web is a web UI to the Koji system.
 
 %prep
 %autosetup -p1
 # we'll be packaging these separately and don't want them registered
 # to the wheel we will produce.
 sed -e '/util\/koji/g' -e '/koji_cli_plugins/g' -i setup.py
 
+# Create a sysusers.d config file
+cat >koji.sysusers.conf <<EOF
+u kojibuilder - - /builddir /bin/bash
+m kojibuilder mock
+EOF
+
 %build
 %py3_build_wheel
 
 %install
 %py3_install_wheel %{name}-%{version}-py3-none-any.whl
 mkdir -p %{buildroot}/etc/koji.conf.d
 cp cli/koji.conf %{buildroot}/etc/koji.conf
 for D in kojihub builder plugins util www vm schemas ; do
@@ -244,16 +249,18 @@ extra_dirs='
     %{_prefix}/koji-hub-plugins
     %{_datadir}/koji-hub
     %{_datadir}/koji-web/lib/kojiweb
     %{_datadir}/koji-web/scripts'
 for fn in $extra_dirs ; do
     %py_byte_compile %{__python3} %{buildroot}$fn
 done
 
+install -m0644 -D koji.sysusers.conf %{buildroot}%{_sysusersdir}/koji.conf
+
 %files
 %{_bindir}/*
 %{_datadir}/koji
 %config(noreplace) /etc/koji.conf
 %dir /etc/koji.conf.d
 %doc docs Authors COPYING LGPL
 
 %files -n python%{python3_pkgversion}-koji
@@ -322,19 +329,18 @@ done
 %{_datadir}/koji-web
 
 %files builder
 %{_sbindir}/kojid
 %{_unitdir}/kojid.service
 %dir /etc/kojid
 %config(noreplace) /etc/kojid/kojid.conf
 %attr(-,kojibuilder,kojibuilder) /etc/mock/koji
+%{_sysusersdir}/koji.conf
 
-%pre builder
-/usr/sbin/useradd -r -s /bin/bash -G mock -d /builddir -M kojibuilder 2>/dev/null ||:
 
 %post builder
 %systemd_post kojid.service
 
 %preun builder
 %systemd_preun kojid.service
 
 %postun builder
@@ -362,16 +368,19 @@ done
 
 %preun utils
 %systemd_preun kojira.service
 
 %postun utils
 %systemd_postun kojira.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.35.1-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.35.1-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Nov 26 2024 Romain Geissler <romain.geissler@amadeus.com> - 1.35.1-5
 - Drop the cvs requirement.
 
 * Tue Nov 19 2024 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.35.1-4
 - Fix symlink_if_latest() logic
diff --git libnxz/libnxz.spec libnxz/libnxz.spec.tmp
index ed92e5717e..291604c566 100644
--- libnxz/libnxz.spec
+++ libnxz/libnxz.spec.tmp
@@ -1,15 +1,15 @@
 # Keep the *.la file around
 # See https://fedoraproject.org/wiki/Changes/RemoveLaFiles
 %global __brp_remove_la_files %nil
 
 Name:		libnxz
 Version:	0.64
-Release:	7%{?dist}
+Release:	8%{?dist}
 Summary:	Zlib implementation for POWER processors
 License:    Apache-2.0 OR GPL-2.0-or-later
 Url:		https://github.com/libnxz/power-gzip
 BuildRequires:	zlib-devel
 Source0:	%{url}/archive/v%{version}/%{name}-%{version}.tar.gz
 # Fixes for GCC 14 and zlib-ng compat usage
 Patch0:         %{url}/pull/209.patch
 
@@ -43,50 +43,59 @@ Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
 
 %description	static
 The %{name}-static package contains static libraries for developing
 application that use %{name}.
 
 %prep
 %autosetup -p1 -n power-gzip-%{version}
 
+# Create a sysusers.d config file
+cat >libnxz.sysusers.conf <<EOF
+g nx-gzip -
+EOF
+
 %build
 %configure --enable-zlib-api
 %make_build
 
 %check
 # libnxz tests only work on P9 servers or newer, with Linux >= 5.8.
 # This combination is not guaranteed to have at build time.  Check if
 # NX GZIP engine device is available before deciding to run the tests.
 if [[ -w "/dev/crypto/nx-gzip" ]]; then
 	make check
 fi
 
 %install
 %make_install
 
-%pre
-%{_sbindir}/groupadd -r -f nx-gzip
+install -m0644 -D libnxz.sysusers.conf %{buildroot}%{_sysusersdir}/libnxz.conf
+
 
 %files
 %{_libdir}/%{soname}
 %{_libdir}/libnxz.so.0.%{version}
 %license %{_docdir}/%{name}/APACHE-2.0.txt
 %license %{_docdir}/%{name}/gpl-2.0.txt
 %doc README.md
+%{_sysusersdir}/libnxz.conf
 
 %files devel
 %{_includedir}/libnxz.h
 %{_libdir}/libnxz.so
 
 %files static
 %{_libdir}/libnxz.a
 %{_libdir}/libnxz.la
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.64-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.64-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.64-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.64-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git libservicelog/libservicelog.spec libservicelog/libservicelog.spec.tmp
index 4bff7ef899..e57b20ee82 100644
--- libservicelog/libservicelog.spec
+++ libservicelog/libservicelog.spec.tmp
@@ -1,25 +1,24 @@
 Name:          libservicelog
 Version:       1.1.19
-Release:       13%{?dist}
+Release:       14%{?dist}
 Summary:       Servicelog Database and Library
 
 #v29_notify_gram.c v29_notify_gram.h are GPLv2+
 License:       LGPL-2.0-only AND GPL-2.0-or-later
 
 URL:           https://github.com/power-ras/%{name}/releases
 Source:        https://github.com/power-ras/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
 
 # Link with needed libraries
 Patch0: libservicelog-1.1.9-libs.patch
 
 BuildRequires: sqlite-devel autoconf libtool bison librtas-devel flex
 BuildRequires: make
-Requires(pre): shadow-utils
 
 # because of librtas-devel
 ExclusiveArch: ppc %{power64}
 
 %description
 The libservicelog package contains a library to create and maintain a
 database for storing events related to system service.  This database
 allows for the logging of serviceable and informational events, and for
@@ -34,55 +33,64 @@ Requires:      pkgconfig sqlite-devel
 %description   devel
 Contains header files for building with libservicelog.
 
 
 %prep
 %setup -q
 %patch 0 -p1 -b .libs
 
+# Create a sysusers.d config file
+cat >libservicelog.sysusers.conf <<EOF
+g service -
+EOF
+
 %build
 autoreconf -fiv
 %configure --disable-static
 # disable "-Werror=format-security" checking gcc option until we fix
 # these errors are fixed in upstream code.
 CFLAGS="%{optflags} -fPIC -DPIC"
 CFLAGS=`echo $CFLAGS | sed 's/-Werror=format-security//'`
 make CFLAGS="$CFLAGS" %{?_smp_mflags}
 
 
 %install
 make install DESTDIR=%{buildroot}
 rm -f %{buildroot}%{_libdir}/*.la
 
+install -m0644 -D libservicelog.sysusers.conf %{buildroot}%{_sysusersdir}/libservicelog.conf
+
 %check
 make check || true
 
-%pre
-getent group service >/dev/null || /usr/sbin/groupadd -r service
 
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
 %files
 %{!?_licensedir:%global license %%doc}
 %license COPYING
 %doc AUTHORS
 %{_libdir}/libservicelog-*.so.*
 %dir %attr(755, root, service) /var/lib/servicelog
 %config(noreplace) %verify(not md5 size mtime) %attr(644,root,service) /var/lib/servicelog/servicelog.db
+%{_sysusersdir}/libservicelog.conf
 
 %files devel
 %{_includedir}/servicelog-1
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/servicelog-1.pc
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.19-14
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.19-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.19-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.19-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git libvirt-dbus/libvirt-dbus.spec libvirt-dbus/libvirt-dbus.spec.tmp
index 9321e210c2..e6cc7ecc7a 100644
--- libvirt-dbus/libvirt-dbus.spec
+++ libvirt-dbus/libvirt-dbus.spec.tmp
@@ -3,17 +3,17 @@
 %global meson_version 0.49.0
 %global glib2_version 2.44.0
 %global libvirt_version 3.1.0
 %global libvirt_glib_version 0.0.7
 %global system_user libvirtdbus
 
 Name: libvirt-dbus
 Version: 1.4.1
-Release: 6%{?dist}
+Release: 7%{?dist}
 Summary: libvirt D-Bus API binding
 License: LGPL-2.1-or-later
 URL: https://libvirt.org/
 Source0: https://libvirt.org/sources/dbus/%{name}-%{version}.tar.xz
 
 BuildRequires: gcc
 BuildRequires: meson >= %{meson_version}
 BuildRequires: glib2-devel >= %{glib2_version}
@@ -24,38 +24,38 @@ BuildRequires: systemd-rpm-macros
 BuildRequires: systemd
 
 Requires: dbus
 Requires: glib2 >= %{glib2_version}
 Requires: libvirt-libs >= %{libvirt_version}
 Requires: libvirt-glib >= %{libvirt_glib_version}
 Requires: polkit
 
-Requires(pre): shadow-utils
 
 %description
 This package provides D-Bus API for libvirt
 
 %prep
 %autosetup
 
+# Create a sysusers.d config file
+cat >libvirt-dbus.sysusers.conf <<EOF
+u libvirtdbus - 'Libvirt D-Bus bridge' / -
+EOF
+
 %build
 %meson \
     -Dinit_script=systemd
 %meson_build
 
 %install
 %meson_install
 
-%pre
-getent group %{system_user} >/dev/null || groupadd -r %{system_user}
-getent passwd %{system_user} >/dev/null || \
-    useradd -r -g %{system_user} -d / -s /sbin/nologin \
-    -c "Libvirt D-Bus bridge" %{system_user}
-exit 0
+install -m0644 -D libvirt-dbus.sysusers.conf %{buildroot}%{_sysusersdir}/libvirt-dbus.conf
+
 
 %post
 %systemd_post %{name}.service
 %systemd_user_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 %systemd_user_preun %{name}.service
@@ -71,18 +71,22 @@ exit 0
 %{_unitdir}/libvirt-dbus.service
 %{_userunitdir}/libvirt-dbus.service
 %{_datadir}/dbus-1/services/org.libvirt.service
 %{_datadir}/dbus-1/system-services/org.libvirt.service
 %{_datadir}/dbus-1/system.d/org.libvirt.conf
 %{_datadir}/dbus-1/interfaces/org.libvirt.*.xml
 %{_datadir}/polkit-1/rules.d/libvirt-dbus.rules
 %{_mandir}/man8/libvirt-dbus.8*
+%{_sysusersdir}/libvirt-dbus.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.1-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git lighttpd/lighttpd.spec lighttpd/lighttpd.spec.tmp
index 5ff45c54ae..98bbe9ac1f 100644
--- lighttpd/lighttpd.spec
+++ lighttpd/lighttpd.spec.tmp
@@ -45,17 +45,17 @@
 %bcond_without tmpfiles
 %else
 %bcond_with    tmpfiles
 %endif
 
 Summary: Lightning fast webserver with light system requirements
 Name: lighttpd
 Version: 1.4.77
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: BSD-3-Clause
 URL: http://www.lighttpd.net/
 Source0: http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-%{version}.tar.xz
 Source1: lighttpd.logrotate
 Source2: php.d-lighttpd.ini
 Source3: lighttpd.service
 Source10: index.html
 Source11: http://www.lighttpd.net/favicon.ico
@@ -309,28 +309,32 @@ Requires: %{name} = %{version}-%{release}
 
 %description mod_webdav
 WebDAV module for lighttpd.
 
 
 %package filesystem
 Summary: The basic directory layout for lighttpd
 BuildArch: noarch
-Requires(pre): /usr/sbin/useradd
 
 %description filesystem
 The lighttpd-filesystem package contains the basic directory layout
 for the lighttpd server including the correct permissions
 for the directories.
 
 
 %prep
 %setup -q
 %patch -P 0 -p0 -b .defaultconf
 
+# Create a sysusers.d config file
+cat >lighttpd.sysusers.conf <<EOF
+u lighttpd - 'lighttpd web server' %{webroot} -
+EOF
+
 %build
 autoreconf -if
 %configure \
     --libdir='%{_libdir}/lighttpd' \
     %{confswitch pcre} \
     %{confswitch pcre2} \
     %{confswitch nettle} \
     %{confswitch attr} \
@@ -405,19 +409,18 @@ mkdir -p %{buildroot}%{_var}/run/lighttpd
 # Setup tmpfiles.d config for the above
 mkdir -p %{buildroot}/usr/lib/tmpfiles.d
 echo 'D /run/lighttpd 0750 lighttpd lighttpd -' > \
     %{buildroot}/usr/lib/tmpfiles.d/lighttpd.conf
 %endif
 
 mkdir -p %{buildroot}%{_var}/lib/lighttpd/
 
-%pre filesystem
-/usr/sbin/useradd -s /sbin/nologin -M -r -d %{webroot} \
-    -c 'lighttpd web server' lighttpd &>/dev/null || :
+install -m0644 -D lighttpd.sysusers.conf %{buildroot}%{_sysusersdir}/lighttpd.conf
+
 
 %post
 %systemd_post lighttpd.service
 
 %preun
 %systemd_preun lighttpd.service
 
 %postun
@@ -583,18 +586,22 @@ mkdir -p %{buildroot}%{_var}/lib/lighttpd/
 %if %{with tmpfiles}
 %ghost %attr(0750, lighttpd, lighttpd) %{_var}/run/lighttpd/
 %else
 %attr(0750, lighttpd, lighttpd) %{_var}/run/lighttpd/
 %endif
 %attr(0750, lighttpd, lighttpd) %{_var}/lib/lighttpd/
 %attr(0750, lighttpd, lighttpd) %{_var}/log/lighttpd/
 %attr(0700, lighttpd, lighttpd) %dir %{webroot}/
+%{_sysusersdir}/lighttpd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.77-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.77-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jan 10 2025 Gwyn Ciesla <gwync@protonmail.com> - 1.4.77-1
 - 1.4.77
 
 * Tue Sep 03 2024 Morten Stevens <mstevens@fedoraproject.org> - 1.4.76-4
 - Rebuilt for mbedTLS 3.6.1
diff --git liquidwar/liquidwar.spec liquidwar/liquidwar.spec.tmp
index 1a128ad6b2..acd00d0025 100644
--- liquidwar/liquidwar.spec
+++ liquidwar/liquidwar.spec.tmp
@@ -1,12 +1,12 @@
 %define _hardened_build 1
 Name:           liquidwar
 Version:        5.6.5
-Release:        18%{?dist}
+Release:        19%{?dist}
 Summary:        Multiplayer wargame with liquid armies
 License:        GPL-2.0-or-later
 URL:            http://www.ufoot.org/liquidwar/v5
 Source0:        http://download.savannah.nongnu.org/releases/%{name}/%{name}-%{version}.tar.gz
 Source2:        liquidwar.sysconfig
 Source3:        liquidwar.logrotate
 Source4:        liquidwar-server.service
 Patch0:         liquidwar-5.6.5-python3.patch
@@ -31,17 +31,16 @@ Requires:       %{name} = %{version}-%{release}
 %description doc
 This package contains the documentation of LiquidWar in html, pdf, ps and txt
 format.
 
 
 %package server
 Summary:        Network game server for the LiquidWar game
 Requires:       %{name} = %{version}-%{release}
-Requires(pre):  /usr/sbin/useradd
 
 %description server
 This package contains the server for hosting network LiquidWar games.
 
 
 %prep
 %setup -q
 
@@ -50,16 +49,21 @@ This package contains the server for hosting network LiquidWar games.
 # don't strip the binaries please
 sed -i 's/install\(\s\+-c\)\?\s\+-s/install/g' Makefile.in
 # fix README.* encoding
 for i in de dk fr; do
   iconv -f ISO-8859-1 -t UTF8 README.$i > $i
   mv $i README.$i
 done
 
+# Create a sysusers.d config file
+cat >liquidwar.sysusers.conf <<EOF
+u liquidwar - 'LiquidWar Server' %{_datadir}/%{name} -
+EOF
+
 
 %build
 %configure --disable-target-opt \
   --disable-doc-pdf \
   --disable-doc-ps \
   --disable-doc-info \
 %ifnarch %{ix86}
   --disable-asm \
@@ -102,22 +106,21 @@ install -p -m 644 misc/%{name}.xpm \
 
 install -p -D -m 755 %{SOURCE4} \
         $RPM_BUILD_ROOT/%{_unitdir}/%{name}-server.service
 install -p -D -m 644 %{SOURCE2} \
         $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/%{name}-server
 install -p -D -m 644 %{SOURCE3} \
         $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}-server
 
+install -m0644 -D liquidwar.sysusers.conf %{buildroot}%{_sysusersdir}/liquidwar.conf
+
 %pre server
 user_uid=`id -u %{name} 2>/dev/null`
 if [ x"$user_uid" = x ] ; then
-    /usr/sbin/useradd -r -s /sbin/nologin -d %{_datadir}/%{name} -M \
-            -c 'LiquidWar Server' \
-            %{name} >/dev/null || :
 fi
 
 %post server
 %systemd_post liquidwar-server.service
 
 %preun server
 %systemd_post liquidwar-server.service
 
@@ -140,19 +143,23 @@ fi
 %doc liquidwardocs/*
 
 %files server
 %{_bindir}/%{name}-server
 %{_mandir}/man6/%{name}-server.6.gz
 %{_unitdir}/liquidwar-server.service
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}-server
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
+%{_sysusersdir}/liquidwar.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.6.5-19
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.5-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.5-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.5-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git lirc/lirc.spec lirc/lirc.spec.tmp
index 93e4452574..098b1960a8 100644
--- lirc/lirc.spec
+++ lirc/lirc.spec.tmp
@@ -4,17 +4,17 @@
 %global _hardened_build 1
 %global __python %{__python3}
 
 %global released 1
 #define tag     devel
 
 Name:           lirc
 Version:        0.10.0
-Release:        46%{?tag:.}%{?tag}%{?dist}
+Release:        47%{?tag:.}%{?tag}%{?dist}
 Summary:        The Linux Infrared Remote Control package
 
 %global repo    http://downloads.sourceforge.net/lirc/LIRC/%{version}
 %global tarball %{name}-%{version}%{?tag:-}%{?tag}.tar.gz
 
                 # lib/ciniparser* and lib/dictionary* are BSD, others GPLv2
 # Automatically converted from old format: GPLv2 and BSD - review is highly recommended.
 License:        GPL-2.0-only AND LicenseRef-Callaway-BSD
@@ -59,17 +59,16 @@ BuildRequires:  python%{python3_pkgversion}-setuptools
 BuildRequires:  socat
 BuildRequires:  systemd-devel
 BuildRequires: make
 
 Requires:       %{name}-libs = %{version}-%{release}
 Requires:       lockdev
 Suggests:       xorg-x11-misc-fonts
 
-Requires(pre):     shadow-utils
 Requires(post):    systemd
                    #for triggerun
 Requires(post):    systemd-sysv
 Requires(post):    policycoreutils
 Requires(postun):  systemd
 Requires(postun):  policycoreutils
 Requires(preun):   systemd
 
@@ -228,16 +227,24 @@ sed -i -e 's/#effective-user/effective-user /' lirc_options.conf
 sed -i -e '/^effective-user/s/=$/= lirc/' lirc_options.conf
 sed -i '/User=/s/; *//' systemd/lircd.service
 sed -i '/Group=/s/; *//' systemd/lircd.service
 sed -i 's/; *user=/User=/' systemd/irexec.service
 sed -i 's/; *group=/Group=/' systemd/irexec.service
 
 sed -i -e "s|/usr/local/etc/|%{_sysconfdir}/|" contrib/irman2lirc
 
+# Create a sysusers.d config file
+cat >lirc.sysusers.conf <<EOF
+u lirc - 'LIRC daemon user, runs lircd.' /var/log/lirc -
+m lirc dialout
+m lirc lock
+m lirc input
+EOF
+
 
 %build
 autoreconf -fi
 export PYTHON=/usr/bin/python3
 
 %configure \
         --docdir="%{_pkgdocdir}" \
         --enable-uinput \
@@ -271,26 +278,19 @@ install -Dpm 644 contrib/60-lirc.rules \
 install -Dpm 644 %{SOURCE2} \
     $RPM_BUILD_ROOT%{_udevrulesdir}/99-remote-control-lirc.rules
 cp -a %{SOURCE1} README.fedora
 
 mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir}
 echo "d %{_rundir}/lirc  0755  lirc  lirc  -" \
     > $RPM_BUILD_ROOT%{_tmpfilesdir}/lirc.conf
 
+install -m0644 -D lirc.sysusers.conf %{buildroot}%{_sysusersdir}/lirc.conf
+
 
-%pre core
-getent group lirc >/dev/null || groupadd -r lirc
-getent passwd lirc >/dev/null || \
-    useradd -r -g lirc -d /var/log/lirc -s /sbin/nologin \
-        -c "LIRC daemon user, runs lircd." lirc
-usermod -a -G dialout lirc &> /dev/null || :
-usermod -a -G lock lirc &> /dev/null || :
-usermod -a -G input lirc &> /dev/null || :
-exit 0
 
 %post core
 %systemd_post lircd.service lircmd.service
 systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
 
 %preun core
 %systemd_preun lircd.service lircmd.service
 
@@ -362,16 +362,17 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
 %{_mandir}/man8/lirc*d.8*
 %{_mandir}/man8/lircd-setup.8*
 %{_mandir}/man8/lircd-uinput.8*
 %exclude %{_mandir}/man1/lirc-config-tool*
 %exclude %{_mandir}/man1/irdb-get*
 %exclude %{_mandir}/man1/lirc-setup*
 %exclude %{_mandir}/man1/irxevent*
 %exclude %{_mandir}/man1/xmode2*
+%{_sysusersdir}/lirc.conf
 
 %files libs
 %license COPYING COPYING.ciniparser COPYING.curl
 %{_libdir}/libirrecord.so.*
 %{_libdir}/liblirc_client.so.*
 %{_libdir}/liblirc_driver.so.*
 %{_libdir}/liblirc.so.*
 
@@ -391,16 +392,19 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
 %license COPYING COPYING.ciniparser COPYING.curl
 %doc ChangeLog
 %{_pkgdocdir}
 
 %files disable-kernel-rc
 %{_udevrulesdir}/99-remote-control-lirc.rules
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.10.0-47
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-46
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 0.10.0-45
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-44
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git lizardfs/lizardfs.spec lizardfs/lizardfs.spec.tmp
index a3e3278c8d..6febd679d6 100644
--- lizardfs/lizardfs.spec
+++ lizardfs/lizardfs.spec.tmp
@@ -1,14 +1,14 @@
 %define __cmake_in_source_build 1
 
 Name:		lizardfs
 Summary:	Distributed, fault tolerant file system
 Version:	3.12.0
-Release:	29%{?dist}
+Release:	30%{?dist}
 # LizardFS is under GPLv3 while crcutil is under ASL 2.0 and there's one header,
 # src/common/coroutine.h, under the Boost license
 # Automatically converted from old format: GPLv3 and ASL 2.0 and Boost - review is highly recommended.
 License:	GPL-3.0-only AND Apache-2.0 AND BSL-1.0
 URL:		http://www.lizardfs.org/
 Source:		https://github.com/lizardfs/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:	pam-lizardfs
 Source2:	95-lizardfs.conf
@@ -122,22 +122,16 @@ Summary:		LizardFS administration utility
 
 %description adm
 LizardFS command line administration utility.
 
 
 # Scriptlets - master
 ############################################################
 
-%pre master
-getent group %{liz_group} >/dev/null || groupadd -r %{liz_group}
-getent passwd %{liz_user} >/dev/null || \
-	useradd -r -g %{liz_group} -d %{liz_datadir} -s /sbin/nologin \
-	-c "LizardFS System Account" %{liz_user}
-exit 0
 
 %post master
 %systemd_post lizardfs-master.service
 
 %preun master
 %systemd_preun lizardfs-master.service
 
 %postun master
@@ -209,16 +203,22 @@ for i in src/tools/mfstools.sh src/master/mfsrestoremaster.in \
 	 utils/coverage.sh utils/cpp-interpreter.sh utils/wireshark/plugins/lizardfs/generate.sh; do
 	sed -i 's@#!/usr/bin/env bash@#!/bin/bash@' $i
 done
 # Remove /usr/bin/env from python3 scripts
 for i in src/cgi/cgiserv.py.in src/cgi/chart.cgi.in src/cgi/lizardfs-cgiserver.py.in src/cgi/mfs.cgi.in utils/wireshark/plugins/lizardfs/make_dissector.py; do
 	sed -i 's@#!/usr/bin/env python3@#!/usr/bin/python3@' $i
 done
 
+# Create a sysusers.d config file
+cat >lizardfs.sysusers.conf <<EOF
+g mfs -
+u mfs - 'LizardFS System Account' %{liz_datadir} -
+EOF
+
 
 %build
 # Build code taken almost completely ./configure, but with some changes to use
 # Fedora's build flags
 rm -rf build-pack
 mkdir -p build-pack
 cd build-pack
 
@@ -255,16 +255,18 @@ install -d -m755 %{buildroot}%{_unitdir}
 for f in rpm/service-files/*.service ; do
 	install -m644 "$f" %{buildroot}%{_unitdir}/$(basename "$f")
 done
 mkdir -p %{buildroot}%{_sysconfdir}/pam.d
 install -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/lizardfs
 mkdir -p %{buildroot}%{_sysconfdir}/security/limits.d
 install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/security/limits.d/95-lizardfs.conf
 
+install -m0644 -D lizardfs.sysusers.conf %{buildroot}%{_sysusersdir}/lizardfs.conf
+
 
 %files master
 %doc NEWS README.md UPGRADE
 %license COPYING
 %{_sbindir}/mfsmaster
 %{_sbindir}/mfsrestoremaster
 %{_sbindir}/mfsmetadump
 %{_sbindir}/mfsmetarestore
@@ -287,16 +289,17 @@ install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/security/limits.d/95-lizardf
 %dir %{liz_confdir}
 %config %{liz_confdir}/mfsexports.cfg.dist
 %config %{liz_confdir}/mfstopology.cfg.dist
 %config %{liz_confdir}/mfsgoals.cfg.dist
 %config %{liz_confdir}/mfsmaster.cfg.dist
 %config %{liz_confdir}/globaliolimits.cfg.dist
 %config(noreplace) %{_sysconfdir}/pam.d/lizardfs
 %config(noreplace) %{_sysconfdir}/security/limits.d/95-lizardfs.conf
+%{_sysusersdir}/lizardfs.conf
 
 
 %files metalogger
 %doc NEWS README.md UPGRADE
 %license COPYING
 %{_sbindir}/mfsmetalogger
 %{_mandir}/man5/mfsmetalogger.cfg.5*
 %{_mandir}/man8/mfsmetalogger.8*
@@ -408,16 +411,19 @@ install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/security/limits.d/95-lizardf
 %license COPYING
 %{_bindir}/lizardfs-admin
 %{_mandir}/man8/lizardfs-admin.8*
 %{_bindir}/lizardfs-probe
 %{_mandir}/man8/lizardfs-probe.8*
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.12.0-30
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Artur Frenszek-Iwicki <fedora@svgames.pl> - 3.12.0-29
 - Fix FTBFS
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 3.12.0-27
 - convert license to SPDX
RPMAutoSpec usage detected, not changing the spec file.
diff --git lockdev/lockdev.spec lockdev/lockdev.spec.tmp
index d0ca9e28be..ccf2818a71 100644
--- lockdev/lockdev.spec
+++ lockdev/lockdev.spec.tmp
@@ -16,17 +16,16 @@ URL: https://alioth.debian.org/projects/lockdev/
 
 # This is a nightly snapshot downloaded via
 # https://alioth.debian.org/snapshots.php?group_id=100443
 Source0: lockdev-%{version}.%{checkout}.tar.gz
 
 Patch1: lockdev-euidaccess.patch
 Patch2: 0001-major-and-minor-functions-moved-to-sysmacros.h.patch
 
-Requires(pre): shadow-utils
 Requires(post): glibc
 Requires(postun): glibc
 Requires: systemd
 
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: libtool
 BuildRequires: perl-interpreter
@@ -50,16 +49,21 @@ package contains the development headers.
 
 %prep
 %setup -q -n lockdev-scm-%{co_date}
 
 # Replace access() calls with euidaccess() (600636#c33)
 %patch -P1 -p1 -b .access
 %patch -P2 -p1
 
+# Create a sysusers.d config file
+cat >lockdev.sysusers.conf <<EOF
+g lock 54
+EOF
+
 %build
 # Generate version information from git release tag
 ./scripts/git-version > VERSION
 
 # To satisfy automake
 touch ChangeLog
 
 # Bootstrap autotools
@@ -82,33 +86,34 @@ mkdir -p %{buildroot}%{_lockdir}
 # install /usr/lib/tmpfiles.d/lockdev.conf (#1324184)
 mkdir -p ${RPM_BUILD_ROOT}%{_tmpfilesdir}
 cat > ${RPM_BUILD_ROOT}%{_tmpfilesdir}/lockdev.conf <<EOF
 # See tmpfiles.d(5) for details
 
 d %{_lockdir} 0775 root lock -
 EOF
 
-%pre
-getent group lock >/dev/null 2>&1 || groupadd -g 54 -r -f lock >/dev/null 2>&1 || :
+install -m0644 -D lockdev.sysusers.conf %{buildroot}%{_sysusersdir}/lockdev.conf
+
 
 %post
 if [ $1 -eq 1 ] ; then
 # for the time until first reboot
 %tmpfiles_create lockdev.conf
 fi
 
 %files
 %{license} COPYING
 %doc AUTHORS
 %ghost %dir %attr(0775,root,lock) %{_lockdir}
 %attr(2711,root,lock)  %{_sbindir}/lockdev
 %{_tmpfilesdir}/lockdev.conf
 %{_libdir}/*.so.*
 %{_mandir}/man8/*
+%{_sysusersdir}/lockdev.conf
 
 %files devel
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/lockdev.pc
 %{_mandir}/man3/*
 %{_includedir}/*
 
 %changelog
diff --git lpf/lpf.spec lpf/lpf.spec.tmp
index f618b25a9d..a13b316fbb 100644
--- lpf/lpf.spec
+++ lpf/lpf.spec.tmp
@@ -1,16 +1,16 @@
 %global commit f9032ddd26ffb33fd140e0b9d5ee72c445608077
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 %global gitdate 20210927
 #%%global rel .%%{gitdate}.%%{shortcommit}
 
 Name:           lpf
 Version:        0.3
-Release:        12%{?rel}%{?dist}
+Release:        13%{?rel}%{?dist}
 Summary:        Local package factory - build non-redistributable rpms
 
 # Icon from iconarchive.com
 License:        MIT
 URL:            https://github.com/sergiomb2/lpf
 #Source0:        %%{url}/archive/%%{commit}/lpf-%%{version}%%{?rel}.tar.gz
 Source0:        %{url}/archive/v%{version}/lpf-%{version}%{?rel}.tar.gz
 Patch1:         https://github.com/sergiomb2/lpf/commit/4f414697e6977da5fdeff7632ec3ea86ffdfbdfb.patch
@@ -24,21 +24,19 @@ BuildRequires:  make
 BuildRequires:  desktop-file-utils
 BuildRequires:  python3-devel
 Requires:       hicolor-icon-theme
 Requires:       inotify-tools
 Requires:       polkit
 Requires:       procps-ng
 Requires:       rpmdevtools
 Requires:       rpm-build
-Requires:       shadow-utils
 Requires:       sudo
 Requires:       dnf
 Requires:       zenity
-Requires(pre):  shadow-utils
 #for lpf-gui
 Requires:      python3-gobject-base
 
 
 %description
 lpf (Local Package Factory) is designed to handle two separate
 problems:
  - Packages built from sources which does not allow redistribution.
@@ -48,34 +46,35 @@ It works by downloading sources, possibly requiring a user to accept
 license terms and then building and installing rpm package(s) locally.
 Besides being interactive the operation is similar to akmod and dkms.
 
 
 %prep
 %autosetup -p1
 #-n lpf-%%{commit}
 
+# Create a sysusers.d config file
+cat >lpf.sysusers.conf <<EOF
+u pkg-build - 'lpf local package build user' /var/lib/lpf -
+EOF
+
 
 %build
 
 
 %install
 make DESTDIR=%{buildroot} install
 desktop-file-validate %{buildroot}%{_datadir}/applications/lpf.desktop
 
+install -m0644 -D lpf.sysusers.conf %{buildroot}%{_sysusersdir}/lpf.conf
+
 %check
 appstream-util validate-relax --nonet appdata/lpf-gui.appdata.xml
 
 
-%pre
-getent group pkg-build >/dev/null || groupadd -r pkg-build
-getent passwd pkg-build >/dev/null || \
-    useradd -r -g pkg-build -d /var/lib/lpf -s /sbin/nologin \
-        -c "lpf local package build user" pkg-build
-exit 0
 
 
 %files
 %doc README.md LICENSE
 %{_bindir}/lpf
 %{_bindir}/lpf-gui
 %{_rpmconfigdir}/macros.d/macros.lpf
 %{_datadir}/lpf
@@ -83,19 +82,23 @@ exit 0
 %{_datadir}/applications/lpf-gui.desktop
 %{_datadir}/applications/lpf-notify.desktop
 %{_datadir}/icons/hicolor/*/apps/lpf*.png
 %{_datadir}/appdata/lpf-gui.appdata.xml
 %{_datadir}/man/man1/lpf*
 %{_libexecdir}/lpf-kill-pgroup
 %attr(440, root, root) %config(noreplace) %{_sysconfdir}/sudoers.d/pkg-build
 %attr(2775, pkg-build, pkg-build)/var/lib/lpf
+%{_sysusersdir}/lpf.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.3-13
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Nov 03 2024 Sérgio Basto <sergio@serjux.com> - 0.3-11
 - Only requires dnf to work with dnf5 Resolves: rhbz#2209396
 
 * Thu Oct 24 2024 Sérgio Basto <sergio@serjux.com> - 0.3-10
 - (#2319776) fixes dnf install for dnf5
diff --git lttng-tools/lttng-tools.spec lttng-tools/lttng-tools.spec.tmp
index 496526f56a..a4feef6378 100644
--- lttng-tools/lttng-tools.spec
+++ lttng-tools/lttng-tools.spec.tmp
@@ -4,17 +4,17 @@
     %define arg_python --enable-python-bindings
 %else
     %define arg_python --disable-python-bindings
 %endif
 
 
 Name:           lttng-tools
 Version:        2.13.14
-Release:        2%{?dist}
+Release:        3%{?dist}
 License:        GPL-2.0-only AND LGPL-2.1-only
 URL:            http://lttng.org
 Summary:        LTTng control and utility programs
 Source0:        http://lttng.org/files/lttng-tools/%{name}-%{version}.tar.bz2
 Source1:        http://lttng.org/files/lttng-tools/%{name}-%{version}.tar.bz2.asc
 # gpg2 --export --export-options export-minimal 7F49314A26E0DE78427680E05F1B2A0789F12B11 > gpgkey-7F49314A26E0DE78427680E05F1B2A0789F12B11.gpg
 Source2:        gpgkey-7F49314A26E0DE78427680E05F1B2A0789F12B11.gpg
 Source3:        lttng-sessiond.service
@@ -33,17 +33,16 @@ BuildRequires:  systemtap-sdt-devel
 BuildRequires:  userspace-rcu-devel >= 0.11.0
 
 # For check
 BuildRequires:  babeltrace
 BuildRequires:  hostname
 BuildRequires:  kmod
 BuildRequires:  procps-ng
 
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 #GCC crash when building this package on arm with hardening activated (See bug 987192).
 %ifnarch %{arm}
 %global _hardened_build 1
 %endif
@@ -69,16 +68,21 @@ BuildRequires:  python3-devel
 
 %description -n python3-lttng
 This package provides Python bindings for LTTng
 %endif
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >lttng-tools.sysusers.conf <<EOF
+g tracing -
+EOF
+
 %build
 # The build flags include -Wl,--as-needed by default, and this causes
 # some tests to fail (eg. regression/ust/libc-wrapper)
 %undefine _ld_as_needed
 # Reinitialize libtool with the fedora version to remove Rpath
 autoreconf -vif
 touch doc/man/*.1 doc/man/*.3 doc/man/*.8
 
@@ -96,19 +100,18 @@ make check
 %install
 make DESTDIR=%{buildroot} install
 rm -vf %{buildroot}%{_libdir}/*.la
 rm -vf %{buildroot}%{python3_sitearch}/*.la
 install -D -m644 %{_sourcedir}/lttng-sessiond.service %{buildroot}%{_unitdir}/lttng-sessiond.service
 # Install upstream bash auto completion for lttng
 install -D -m644 extras/lttng-bash_completion %{buildroot}%{_sysconfdir}/bash_completion.d/lttng
 
-%pre
-getent group tracing >/dev/null || groupadd -r tracing
-exit 0
+install -m0644 -D lttng-tools.sysusers.conf %{buildroot}%{_sysusersdir}/lttng-tools.conf
+
 
 %post
 /sbin/ldconfig
 %systemd_post lttng-sessiond.service
 
 %preun
 %systemd_preun lttng-sessiond.service
 
@@ -166,16 +169,17 @@ exit 0
 %{_defaultdocdir}/%{name}/live-reading-howto.txt
 %{_defaultdocdir}/%{name}/python-howto.txt
 %{_defaultdocdir}/%{name}/quickstart.txt
 %{_defaultdocdir}/%{name}/snapshot-howto.txt
 %{_defaultdocdir}/%{name}/streaming-howto.txt
 %{_unitdir}/lttng-sessiond.service
 %{_sysconfdir}/bash_completion.d/
 %{_datadir}/xml/lttng/session.xsd
+%{_sysusersdir}/lttng-tools.conf
 
 %files -n %{name}-devel
 %{_mandir}/man3/lttng-health-check.3.gz
 %{_defaultdocdir}/%{name}/live-reading-protocol.txt
 %{_defaultdocdir}/%{name}/valgrind-howto.txt
 %{_includedir}/*
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/lttng-ctl.pc
@@ -184,16 +188,19 @@ exit 0
 %files -n python%{python3_pkgversion}-lttng
 %{_defaultdocdir}/%{name}/python-howto.txt
 %{python3_sitelib}/lttng.py
 %{python3_sitelib}/__pycache__/*.pyc
 %{python3_sitearch}/_lttng.so*
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.13.14-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.14-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Kienan Stewart <kstewart@efficios.com> - 2.13.14-1
 - New upstream release
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.13-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git macromilter/macromilter.spec macromilter/macromilter.spec.tmp
index 9d9593937e..5648c09b38 100644
--- macromilter/macromilter.spec
+++ macromilter/macromilter.spec.tmp
@@ -1,14 +1,14 @@
 Summary:           Milter to check mails for suspicious Microsoft VBA macro code
 Name:              macromilter
 URL:               https://github.com/sbidy/MacroMilter
 Version:           3.7.0
 License:           MIT
-%global            baserelease      16
+%global            baserelease      17
 
 # Build from release or from git snapshot
 %bcond_without     snapshot
 
 # Build python2 up till fc31 and rhel7, use python3 on fc32+ and rhel8+
 %if ( 0%{?fedora} && 0%{?fedora} >= 32 ) || ( 0%{?rhel} && 0%{?rhel} >= 8 )
 %bcond_without     python3
 %else
@@ -38,17 +38,16 @@ Source2:           macromilter.logrotate
 Source3:           macromilter.tmpfilesd
 Source4:           README.fedora
 #Patch0:            macromilter-3.4.3-var-lib.patch
 
 BuildArch:         noarch
 
 BuildRequires:     systemd
 
-Requires(pre):     shadow-utils
 Requires(post):    systemd
 Requires(preun):   systemd
 Requires(postun):  systemd
 
 %if 0%{?with_python3}
 BuildRequires:     python%{python3_pkgversion}-devel
 Requires:          python%{python3_pkgversion}-oletools
 Requires:          python%{python3_pkgversion}-pymilter
@@ -79,16 +78,21 @@ be rejected.
 %prep
 %if ! 0%{?with_snapshot}
 %autosetup -n MacroMilter-%{version}
 %else
 %autosetup -n MacroMilter-%{commit}
 %endif
 cp -pf %{SOURCE4} .
 
+# Create a sysusers.d config file
+cat >macromilter.sysusers.conf <<EOF
+u macromilter - 'MacroMilter service' %{_localstatedir}/lib/%{name} -
+EOF
+
 
 %build
 # Empty build section, most likely nothing required.
 
 
 %install
 install -D -p -m 755 %{name}/macromilter.py %{buildroot}%{_bindir}/%{name}
 %if 0%{?with_python3}
@@ -98,21 +102,19 @@ sed -e '1i #!%{_bindir}/python2' -i %{buildroot}%{_bindir}/%{name}
 %endif
 touch -c -r %{name}/macromilter.py %{buildroot}%{_bindir}/%{name}
 install -D -p -m 644 %{name}/config.yaml %{buildroot}%{_sysconfdir}/%{name}/config.yaml
 install -D -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 install -D -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 install -D -p -m 644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 mkdir -p %{buildroot}{/run,%{_localstatedir}/{lib,log}}/%{name}/
 
+install -m0644 -D macromilter.sysusers.conf %{buildroot}%{_sysusersdir}/macromilter.conf
+
 
-%pre
-getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name}
-getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "MacroMilter service" %{name}
-exit 0
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -130,18 +132,22 @@ exit 0
 %config(noreplace) %{_sysconfdir}/%{name}/config.yaml
 %dir %{_sysconfdir}/logrotate.d/
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %{_unitdir}/%{name}.service
 %{_tmpfilesdir}/%{name}.conf
 %dir %attr(0755,%{name},%{name}) /run/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/lib/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/log/%{name}/
+%{_sysusersdir}/macromilter.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.7.0-0.17.20191111git2761838
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-0.16.20191111git2761838
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-0.15.20191111git2761838
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-0.14.20191111git2761838
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git maradns/maradns.spec maradns/maradns.spec.tmp
index fdd98efc50..0d8a546d54 100644
--- maradns/maradns.spec
+++ maradns/maradns.spec.tmp
@@ -1,40 +1,44 @@
 Name:		maradns
 Version:	3.5.0036
-Release:	6%{?dist}
+Release:	7%{?dist}
 Summary:	Authoritative and recursive DNS server made with security in mind
 
 Source0:	http://www.maradns.org/download/3.5/%{version}/%{name}-%{version}.tar.xz
 # http://maradns.samiam.org/download/patches/3rd_party/Thomasz-Torcz-systemd-2013-10-14.patch
 Patch0:		%{name}-0001-add-systemd-unit-files.patch
 # parts of MaraDNS – the files in coLunacyDNS/lunacy – are under MIT (Lua) license,
 # but we don't package them
 License:	BSD-2-Clause
 URL:		http://www.maradns.org/
 
 BuildRequires: make
 BuildRequires:	gcc
 %{?systemd_requires}
 BuildRequires:	systemd
-Requires(pre):	shadow-utils
 
 %description
 MaraDNS is a package that implements the Domain Name Service (DNS), an
 essential internet service. MaraDNS has the following advantages:
 	* Secure.
 	* Supported.
 	* Easy to use.
 	* Small.
 	* Open Source.
 
 %prep
 %setup -q
 %autopatch -p1
 
+# Create a sysusers.d config file
+cat >maradns.sysusers.conf <<EOF
+u maradns - 'MaraDns chroot user' /etc/maradns -
+EOF
+
 %build
 
 # We don't use %%configure here because this is a homebrew configure not generated by autoconf
 ./configure --ipv6 --libdir=%{_libdir}
 
 # recursive resolver is shipped in versioned directory
 # first compile Deadwood, otherwise we have no control over make flags
 pushd deadwood-%{version}/src
@@ -83,16 +87,18 @@ install -p -D -m 0644 -t %{buildroot}%{_mandir}/man8/ \
 # NOTE: upstream ships slightly different named units
 # migration to upstream units in Fedora will be done sometime in the future
 mkdir -p %{buildroot}%{_unitdir}
 install -p -D -m 0644 -t %{buildroot}%{_unitdir}/ \
 	build/maradns.service \
 	build/maradns-zoneserver.service \
 	build/maradns-deadwood.service
 
+install -m0644 -D maradns.sysusers.conf %{buildroot}%{_sysusersdir}/maradns.conf
+
 %files
 %doc doc/en/credits.txt doc/en/faq.txt doc/en/{examples,tutorial,html}
 %license COPYING
 %config(noreplace) %{_sysconfdir}/mararc
 %config(noreplace) %{_sysconfdir}/dwood3rc
 %attr(-,maradns,maradns) %{_sysconfdir}/maradns/
 %attr(-,maradns,maradns) /var/cache/deadwood/
 %{_unitdir}/%{name}.service
@@ -111,25 +117,21 @@ install -p -D -m 0644 -t %{buildroot}%{_unitdir}/ \
 %{_mandir}/man1/fetchzone.1*
 %{_mandir}/man1/Deadwood.1*
 %{_mandir}/man5/csv1.5*
 %{_mandir}/man5/csv2.5*
 %{_mandir}/man5/csv2_txt.5*
 %{_mandir}/man5/mararc.5*
 %{_mandir}/man8/maradns.8*
 %{_mandir}/man8/zoneserver.8*
+%{_sysusersdir}/maradns.conf
 
 
 %pre
 if [ $1 -eq 1 ]; then
-	getent group maradns >/dev/null || groupadd -r maradns
-	getent passwd maradns >/dev/null || \
-	useradd -r -g maradns -d /etc/maradns -s /sbin/nologin \
-		-c "MaraDns chroot user" maradns
-	exit 0
 fi
 
 
 %post
 if [ $1 -eq 1 ]; then
 	# correct UID/GID of maradns user
 	sed --in-place -e "s/^maradns_uid.*/maradns_uid = $(id -u maradns)/" %{_sysconfdir}/mararc
 	sed --in-place -e "s/^maradns_gid.*/maradns_gid = $(id -g maradns)/" %{_sysconfdir}/mararc
@@ -143,16 +145,19 @@ fi
 %preun
 %systemd_preun maradns.service maradns-zoneserver.service maradns-deadwood.service
 
 %postun
 %systemd_postun_with_restart maradns.service maradns-zoneserver.service maradns-deadwood.service
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.5.0036-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0036-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0036-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0036-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git mariadb10.11/mariadb10.11.spec mariadb10.11/mariadb10.11.spec.tmp
index 0992729b2f..36852f135b 100644
--- mariadb10.11/mariadb10.11.spec
+++ mariadb10.11/mariadb10.11.spec.tmp
@@ -152,17 +152,17 @@
 #   'community-mysql' names are deprecated and to be removed in future Fedora
 %bcond_without conflicts_community_mysql
 
 # Make long macros shorter
 %global sameevr   %{epoch}:%{version}-%{release}
 
 Name:             %{majorname}%{majorversion}
 Version:          %{package_version}
-Release:          3%{?with_debug:.debug}%{?dist}
+Release:          4%{?with_debug:.debug}%{?dist}
 Epoch:            3
 
 Summary:          A very fast and robust SQL database server
 URL:              http://mariadb.org
 License:          ( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC
 
 Source0:          https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
 %if %{with bundled_fmt}
@@ -530,17 +530,16 @@ Requires:         %{_sysconfdir}/my.cnf.d
 %if %{with require_mysql_selinux}
 # The *-selinux package should only be required on SELinux enabled systems. Therefore the following rich dependency syntax should be used:
 Requires:         (mysql-selinux >= 1.0.10 if selinux-policy-targeted)
 # This ensures that the *-selinux package and all its dependencies are not pulled into containers and other systems that do not use SELinux.
 # https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Adding_dependency_to_the_spec_file_of_corresponding_package
 %endif
 
 Requires:         coreutils
-Requires(pre):    /usr/sbin/useradd
 # We require this to be present for %%{_tmpfilesdir}
 Requires:         systemd
 # Make sure it's there when scriptlets run, too
 %{?systemd_requires}
 # RHBZ#1496131; use 'iproute' instead of 'net-tools'
 Requires:         iproute
 
 %{?with_conflicts_mysql:Conflicts: mysql-server}
@@ -896,16 +895,21 @@ fi
 # Check if the PCRE version that upstream use, is the same as the one present in system
 pcre_system_version=`pkgconf /usr/%{_lib}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1`
 
 if [ "$pcre_system_version" != "$pcre_version" ] ; then
   echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number: $pcre_system_version \n\tUpstream version number: $pcre_version\n"
 fi
 %endif
 
+# Create a sysusers.d config file
+cat >mariadb10.11.sysusers.conf <<EOF
+u mysql 27 'MySQL Server' %{dbdatadir} -
+EOF
+
 
 
 %build
 # fail quickly and obviously if user tries to build as root
 %if %runselftest
     if [ x"$(id -u)" = "x0" ]; then
         echo "mysql's regression tests fail if run as root."
         echo "If you really need to build the RPM as root, use"
@@ -1297,16 +1301,18 @@ rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1*
 rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1*
 rm %{buildroot}%{_mandir}/man1/mbstream.1*
 %endif
 
 %if %{without s3}
 rm %{buildroot}%{_mandir}/man1/aria_s3_copy.1*
 %endif
 
+install -m0644 -D mariadb10.11.sysusers.conf %{buildroot}%{_sysusersdir}/mariadb10.11.conf
+
 %check
 %if %{with test}
 %if %runselftest
 # The cmake build scripts don't provide any simple way to control the
 # options for mysql-test-run, so ignore the make target and just call it
 # manually.  Nonstandard options chosen are:
 # --force to continue tests after a failure
 # no retries please
@@ -1368,20 +1374,16 @@ rm %{buildroot}%{_mandir}/man1/aria_s3_copy.1*
 # NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2".
 #       however, all of the tests fail with: "failed: 12521: Can't use wrapper 'oracle' for SQL connection"
 
 %endif
 %endif
 
 
 
-%pre -n %{pkgname}-server
-/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
-/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \
-  -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
 
 %post -n %{pkgname}-server
 %systemd_post %{daemon_name}.service
 
 %preun -n %{pkgname}-server
 %systemd_preun %{daemon_name}.service
 
 %postun -n %{pkgname}-server
@@ -1670,16 +1672,17 @@ fi
 %attr(0750,mysql,mysql) %dir %{logfiledir}
 # This does what it should.
 # RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive.
 %attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
 %config(noreplace) %{logrotateddir}/%{daemon_name}
 
 %{_tmpfilesdir}/%{majorname}.conf
 %{_sysusersdir}/%{majorname}.conf
+%{_sysusersdir}/mariadb10.11.conf
 
 %if %{with cracklib}
 %files -n %{pkgname}-cracklib-password-check
 %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
 %{_libdir}/%{majorname}/plugin/cracklib_password_check.so
 %{_datadir}/selinux/packages/targeted/%{majorname}-plugin-cracklib-password-check.pp
 %endif
 
@@ -1799,16 +1802,19 @@ fi
 %attr(-,mysql,mysql) %{_datadir}/mysql-test
 %{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1*
 %{_mandir}/man1/my_safe_process.1*
 %{_mandir}/man1/mysql-stress-test.pl.1*
 %{_mandir}/man1/mysql-test-run.pl.1*
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3:10.11.10-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3:10.11.10-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Nov 29 2024 Timothée Ravier <tim@siosm.fr> - 3:10.11.10-2
 - Split mariadb-access & mariadb-find-rows into a client-utils subpackage
 
 * Sat Nov 16 2024 Michal Schorm <mschorm@redhat.com> - 3:10.11.10-1
 - Rebase to 10.11.10
diff --git mgetty/mgetty.spec mgetty/mgetty.spec.tmp
index c03f297563..a2d582233a 100644
--- mgetty/mgetty.spec
+++ mgetty/mgetty.spec.tmp
@@ -3,17 +3,17 @@
 # PIE is broken on s390 (#868839, #872148)
 %ifnarch s390 s390x
 %global _hardened_build 1
 %endif
 
 Summary: A getty replacement for use with data and fax modems
 Name: mgetty
 Version: 1.2.1
-Release: 24%{?dist}
+Release: 25%{?dist}
 Source: ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-%{version}.tar.gz
 Source1: ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-%{version}.tar.gz.asc
 Source2: logrotate.mgetty
 Source3: logrotate.sendfax
 Source4: logrotate.vgetty
 Source5: logrotate.vm
 Source6: vgetty@.service
 Source7: mgetty@.service
@@ -65,17 +65,16 @@ Requires(post): systemd
 Requires(postun): systemd
 URL: http://mgetty.greenie.net/
 
 %package sendfax
 Summary: Provides support for sending faxes over a modem
 Requires: mgetty = %{version}
 Requires: coreutils
 Requires: netpbm-progs
-Requires(pre): /usr/sbin/useradd
 Conflicts: hylafax+
 
 %package voice
 Summary: A program for using your modem and mgetty as an answering machine
 Requires: mgetty = %{version}
 Requires(post): systemd
 Requires(postun): systemd
 
@@ -145,16 +144,21 @@ rm -r voice/libmgsm
 %patch -P 25 -p1 -b .sd
 %patch -P 26 -p1 -b .makefile
 %patch -P 27 -p1 -b .lockdev
 %patch -P 28 -p1 -b .hardening
 %patch -P 29 -p1 -b .sys_nerr-removed
 %patch -P 30 -p1 -b .manpage-typos
 %patch -P 31 -p1 -b .c99
 
+# Create a sysusers.d config file
+cat >mgetty.sysusers.conf <<EOF
+u fax %SENDFAX_UID 'mgetty fax spool user' /var/spool/fax -
+EOF
+
 %build
 %define makeflags CFLAGS="$RPM_OPT_FLAGS -Wall -DAUTO_PPP -D_FILE_OFFSET_BITS=64 -DHAVE_LOCKDEV -fno-strict-aliasing" LIBS="-llockdev" prefix=%{_prefix} spool=%{_var}/spool BINDIR=%{_bindir} SBINDIR=%{_sbindir} LIBDIR=%{_libdir}/mgetty+sendfax HELPDIR=%{_libdir}/mgetty+sendfax CONFDIR=%{_sysconfdir}/mgetty+sendfax MANDIR=%{_mandir} MAN1DIR=%{_mandir}/man1 MAN4DIR=%{_mandir}/man4 MAN5DIR=%{_mandir}/man5 MAN8DIR=%{_mandir}/man8 INFODIR=%{_infodir} ECHO='"echo -e"' INSTALL=%{__install}
 make %{makeflags}
 make -C voice %{makeflags}
 make -C tools %{makeflags}
 
 pushd frontends/X11/viewfax
 make OPT="$RPM_OPT_FLAGS" CONFDIR=%{_sysconfdir}/mgetty+sendfax
@@ -206,29 +210,28 @@ install -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/
 install -m 0644 distro/faxrunqd.service %{buildroot}%{_unitdir}/
 
 # remove file droppings from buildroot
 rm -f %{buildroot}%{_bindir}/cutbl
 
 # remove file conflict with netpbm:
 rm -f %{buildroot}%{_bindir}/g3topbm
 
+install -m0644 -D mgetty.sysusers.conf %{buildroot}%{_sysusersdir}/mgetty.conf
+
 %post
 %systemd_post mgetty@.service
 
 %preun
 %systemd_preun mgetty@.service
 
 %postun
 %systemd_postun_with_restart mgetty@.service
 exit 0
 
-%pre sendfax
-getent group fax >/dev/null || groupadd -g %SENDFAX_UID -r fax
-getent passwd fax >/dev/null || useradd -r -u %SENDFAX_UID -g fax -d /var/spool/fax -s /sbin/nologin -c "mgetty fax spool user" fax
 
 %post sendfax
 %systemd_post faxrunqd.service
 
 %preun sendfax
 %systemd_preun faxrunqd.service
 
 %postun sendfax
@@ -302,16 +305,17 @@ exit 0
 %config(noreplace) %{_sysconfdir}/mgetty+sendfax/faxrunq.config
 # sample config file doesn't use noreplace option to be installed always latest ver.
 %config %{_sysconfdir}/mgetty+sendfax/faxspool.rules.sample
 %config(noreplace) %{_sysconfdir}/mgetty+sendfax/faxheader
 # logrotate file name uses only sub-package name
 %config(noreplace) %{_sysconfdir}/logrotate.d/sendfax
 # faxrunqd unit file
 %{_unitdir}/faxrunqd.service
+%{_sysusersdir}/mgetty.conf
 
 %files voice
 %doc voice/doc/* voice/Announce voice/ChangeLog voice/Readme
 %dir %{_var}/spool/voice
 %dir %{_var}/spool/voice/incoming
 %dir %{_var}/spool/voice/messages
 %{_sbindir}/vgetty
 %{_bindir}/vm
@@ -376,16 +380,19 @@ exit 0
 %files viewfax
 %doc frontends/X11/viewfax/C* frontends/X11/viewfax/README
 %{_bindir}/viewfax
 %dir %{_libdir}/mgetty+sendfax
 %{_libdir}/mgetty+sendfax/viewfax.tif
 %{_mandir}/man1/viewfax.1*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.1-25
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-24
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git milter-greylist/milter-greylist.spec milter-greylist/milter-greylist.spec.tmp
index bd5aae10fb..c0f1767b9b 100644
--- milter-greylist/milter-greylist.spec
+++ milter-greylist/milter-greylist.spec.tmp
@@ -13,17 +13,17 @@
 %else
 %global geoip_support		1
 %global maxminddb_support	0
 %endif
 
 Summary:		Milter for greylisting, the next step in the spam control war
 Name:			milter-greylist
 Version:		4.6.4
-Release:		16%{?dist}
+Release:		17%{?dist}
 # License is like BSD-4-Clause but without the 4th clause
 # We use spamd.c but not queue.h
 # See READNE for details
 # Automatically converted from old format: BSD with advertising - review is highly recommended.
 License:		LicenseRef-Callaway-BSD-with-advertising
 URL:			http://hcpnet.free.fr/milter-greylist/
 Source0:		ftp://ftp.espci.fr/pub/milter-greylist/milter-greylist-%{version}.tgz
 Source1:		README.fedora
@@ -47,17 +47,16 @@ BuildRequires:		libspf2-devel
 BuildRequires:		m4
 BuildRequires:		make
 BuildRequires:		%milter_devel_package
 BuildRequires:		perl-interpreter
 BuildRequires:		sed
 
 # Scriptlet dependencies
 BuildRequires:		systemd
-Requires(pre):		shadow-utils
 %{?systemd_requires}
 
 %if %{maxminddb_support}
 Recommends:		geolite2-country
 %endif
 
 %description
 Greylisting is a new method of blocking significant amounts of spam at
@@ -111,16 +110,21 @@ for i in `find -type f`; do
     sed -e 's|/var/milter-greylist/milter-greylist.sock|/run/milter-greylist/milter-greylist.sock|g;
 	    s|/var/milter-greylist/greylist.db|%{_localstatedir}/lib/milter-greylist/db/greylist.db|g;
 	    s|/var/milter-greylist/milter-greylist.pid|/run/milter-greylist.pid|g;
 	   ' "$i" >"$i.tmp"
     cmp -s "$i" "$i.tmp" || cat "$i.tmp" >"$i"
     rm -f "$i".tmp
 done
 
+# Create a sysusers.d config file
+cat >milter-greylist.sysusers.conf <<EOF
+u grmilter - 'Greylist-milter user' %{_localstatedir}/lib/milter-greylist -
+EOF
+
 
 %build
 # Harden the build if supported
 %global _hardened_build 1
 export CFLAGS="%{__global_cflags} -fno-strict-aliasing -D_GNU_SOURCE -std=gnu17"
 export LDFLAGS="-Wl,-z,now -Wl,-z,relro %{__global_ldflags} -Wl,--as-needed $LDLIBS"
 %configure \
 	--disable-drac				\
@@ -155,23 +159,18 @@ touch %{buildroot}/run/milter-greylist/milter-greylist.sock
 install -D -p -m 0644 %{SOURCE20} %{buildroot}%{_unitdir}/milter-greylist.service
 
 # Make sure /run/milter-greylist is re-created at boot time if /run is on tmpfs
 install -d -m 755 %{buildroot}%{_prefix}/lib/tmpfiles.d
 cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/milter-greylist.conf
 d /run/milter-greylist 0710 root mail
 EOF
 
-%pre
-# Create account for milter-greylist to run as
-getent group grmilter >/dev/null || groupadd -r grmilter
-getent passwd grmilter >/dev/null || \
-	useradd -r -g grmilter -d %{_localstatedir}/lib/milter-greylist -s /sbin/nologin \
-	 -c "Greylist-milter user" grmilter
-exit 0
+install -m0644 -D milter-greylist.sysusers.conf %{buildroot}%{_sysusersdir}/milter-greylist.conf
+
 
 %post
 %systemd_post milter-greylist.service
 
 %preun
 %systemd_preun milter-greylist.service
 
 %postun
@@ -185,18 +184,22 @@ exit 0
 %dir %attr(0751,grmilter,grmilter) %{_localstatedir}/lib/milter-greylist/
 %dir %attr(0770,root,grmilter) %{_localstatedir}/lib/milter-greylist/db/
 %dir %attr(0710,root,mail) /run/milter-greylist/
 %{_mandir}/man5/greylist.conf.5*
 %{_mandir}/man8/milter-greylist.8*
 %ghost /run/milter-greylist/milter-greylist.sock
 %{_prefix}/lib/tmpfiles.d/milter-greylist.conf
 %{_unitdir}/milter-greylist.service
+%{_sysusersdir}/milter-greylist.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.6.4-17
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Paul Howarth <paul@city-fan.org> - 4.6.4-16
 - Build with -std=gnu17 due to issues with milter API (#2336394)
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.4-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep  2 2024 Miroslav Suchý <msuchy@redhat.com> - 4.6.4-14
 - Convert license to SPDX
diff --git milter-regex/milter-regex.spec milter-regex/milter-regex.spec.tmp
index 72f2988f27..d46838f9e4 100644
--- milter-regex/milter-regex.spec
+++ milter-regex/milter-regex.spec.tmp
@@ -2,17 +2,17 @@
 %if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 25)
 %global milter_devel_package sendmail-devel
 %else
 %global milter_devel_package sendmail-milter-devel
 %endif
 
 Name:		milter-regex
 Version:	2.7
-Release:	16%{?dist}
+Release:	17%{?dist}
 Summary:	Milter plug-in for regular expression filtering
 License:	BSD-2-Clause
 URL:		http://www.benzedrine.ch/milter-regex.html
 Source0:	http://www.benzedrine.ch/milter-regex-%{version}.tar.gz
 # Note: signature made with ancient PGP key, needs gpg1 to verify
 Source10:	http://www.benzedrine.ch/milter-regex-%{version}.tar.gz.asc
 Source1:	milter-regex.service
 Source2:	milter-regex-options
@@ -20,33 +20,37 @@ Source3:	milter-regex.conf
 BuildRequires:	byacc
 BuildRequires:	coreutils
 BuildRequires:	gcc
 BuildRequires:	groff
 BuildRequires:	make
 BuildRequires:	%milter_devel_package >= 8.13
 BuildRequires:	sed
 BuildRequires:	systemd
-Requires(pre):	shadow-utils
 %{?systemd_requires}
 
 %description
 Milter-regex is a milter based filter that makes it possible to filter
 emails using regular expressions.
 
 %prep
 %setup -q
 
 # Customize config file location and dæmon user
 sed -i -e	's|/etc/milter-regex\.conf|%{_sysconfdir}/mail/milter-regex.conf|;
 		 s|_milter-regex|mregex|' milter-regex.[8c]
 
 # Copy out the license text from the source code
 head -n +31 milter-regex.c > LICENSE
 
+# Create a sysusers.d config file
+cat >milter-regex.sysusers.conf <<EOF
+u mregex - 'Regex Milter' %{_localstatedir}/spool/milter-regex -
+EOF
+
 %build
 make %{?_smp_mflags} -f Makefile.linux \
 	CFLAGS="%{optflags} -Wextra -Wwrite-strings -DYYMAXDEPTH=8192 -std=gnu17" \
 	LDFLAGS="-Wl,-z,now -Wl,-z,relro %{?__global_ldflags} -Wl,--as-needed -L/usr/lib/libmilter -lmilter -lpthread"
 
 %install
 mkdir -p \
 	%{buildroot}%{_unitdir} \
@@ -58,22 +62,18 @@ install -p -m 755 milter-regex %{buildroot}%{_sbindir}/
 install -p -m 644 milter-regex.8 %{buildroot}%{_mandir}/man8/
 install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/milter-regex.service
 install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/milter-regex
 install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/mail/milter-regex.conf
 
 # Create a ghost sock file so we can remove it on package deletion
 : > %{buildroot}%{_localstatedir}/spool/milter-regex/sock
 
-%pre
-getent group mregex >/dev/null || groupadd -r mregex
-getent passwd mregex >/dev/null || \
-	useradd -r -g mregex -d %{_localstatedir}/spool/milter-regex \
-		-s /sbin/nologin -c "Regex Milter" mregex
-exit 0
+install -m0644 -D milter-regex.sysusers.conf %{buildroot}%{_sysusersdir}/milter-regex.conf
+
 
 %post
 %systemd_post milter-regex.service
 
 %preun
 %systemd_preun milter-regex.service
 
 %postun
@@ -83,18 +83,22 @@ exit 0
 %license LICENSE
 %{_sbindir}/milter-regex
 %{_unitdir}/milter-regex.service
 %config(noreplace) %{_sysconfdir}/sysconfig/milter-regex
 %config(noreplace) %{_sysconfdir}/mail/milter-regex.conf
 %dir %attr(755,root,mregex) %{_localstatedir}/spool/milter-regex/
 %ghost %{_localstatedir}/spool/milter-regex/sock
 %{_mandir}/man8/milter-regex.8*
+%{_sysusersdir}/milter-regex.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.7-17
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Paul Howarth <paul@city-fan.org> - 2.7-16
 - Build with -std=gnu17 due to issues with milter API (#2336394)
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git minetest/minetest.spec minetest/minetest.spec.tmp
index a1d407124d..f5f25c7ff4 100644
--- minetest/minetest.spec
+++ minetest/minetest.spec.tmp
@@ -1,13 +1,13 @@
 %global irr_version 1.9.0mt13
 %global minetest_game_version 5.8.0
 Name:     minetest
 Version:  5.10.0
-Release:  3%{?dist}
+Release:  4%{?dist}
 Summary:  Multiplayer infinite-world block sandbox with survival mode
 
 # Automatically converted from old format: LGPLv2+ and CC-BY-SA - review is highly recommended.
 License:  LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-CC-BY-SA
 URL:      https://luanti.org
 
 Source0:  https://github.com/minetest/minetest/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:  %{name}.desktop
@@ -65,17 +65,16 @@ Provides:  bundled(irrlicht) = %{irr_version}
 %description
 Game of mining, crafting and building in the infinite world of cubic blocks with
 optional hostile creatures, features both single and the network multiplayer
 mode, mods. Public multiplayer servers are available.
 
 %package server
 Summary:  Minetest multiplayer server
 
-Requires(pre):    shadow-utils
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 Requires:         %{name}-data-common = %{version}-%{release}
 
 %description server
 Minetest multiplayer server. This package does not require X Window System.
 
@@ -97,16 +96,21 @@ cp %{SOURCE7} doc/
 
 # purge bundled jsoncpp and lua, and gmp :P
 rm -vrf lib/jsoncpp lib/lua lib/gmp
 
 find . -name .gitignore -print -delete
 find . -name .travis.yml -print -delete
 find . -name .luacheckrc -print -delete
 
+# Create a sysusers.d config file
+cat >minetest.sysusers.conf <<EOF
+u minetest - 'Minetest multiplayer server' %{_sharedstatedir}/%{name} /bin/bash
+EOF
+
 %build
 %ifarch aarch64
 %define _lto_cflags %{nil}
 %endif
 LDFLAGS="$LDFLAGS $(pkg-config --libs openssl)"
 export LDFLAGS
 # -DENABLE_FREETYPE=ON needed for Unicode in text chat
 %cmake -DENABLE_CURL=TRUE           \
@@ -168,22 +172,18 @@ cp -p %{SOURCE5} README.fedora
 mkdir __doc
 mv  %{buildroot}%{_datadir}/doc/luanti/* __doc
 rm -rf %{buildroot}%{_datadir}/doc/luanti
 
 %find_lang luanti
 
 appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/net.%{name}.%{name}.metainfo.xml
 
-%pre server
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /bin/bash \
-    -c "Minetest multiplayer server" %{name}
-exit 0
+install -m0644 -D minetest.sysusers.conf %{buildroot}%{_sysusersdir}/minetest.conf
+
 
 %post server
 %systemd_post %{name}@default.service
 
 %preun server
 %systemd_preun %{name}@default.service
 
 %postun server
@@ -211,23 +211,27 @@ exit 0
 %{_bindir}/luantiserver
 %{_unitdir}/%{name}@.service
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
 %config(noreplace) %{_sysconfdir}/rsyslog.d/%{name}.conf
 %attr(-,minetest,minetest)%{_sharedstatedir}/%{name}/
 %config(noreplace) %attr(-,minetest,minetest)%{_sysconfdir}/%{name}/
 %attr(-,minetest,minetest)%{_sysconfdir}/sysconfig/%{name}/
 %{_mandir}/man6/luantiserver.*
+%{_sysusersdir}/minetest.conf
 
 %files data-common
 %license doc/lgpl-2.1.txt
 %{_datadir}/luanti/builtin
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.10.0-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.10.0-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jan 6 2025 Diego Herrera <dherrera@redhat.com> - 5.10.0-2
 - Added parameter to minetest@.service to be able to set the GameID
 
 * Tue Nov 12 2024 Gwyn Ciesla <gwync@protonmail.com> - 5.10.0-1
 - 5.10.0
diff --git mirrormanager2/mirrormanager2.spec mirrormanager2/mirrormanager2.spec.tmp
index 4eaa9df604..a07777f0db 100644
--- mirrormanager2/mirrormanager2.spec
+++ mirrormanager2/mirrormanager2.spec.tmp
@@ -1,13 +1,13 @@
 %global toxenv py
 
 Name:           mirrormanager2
 Version:        1.0.0
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        Mirror management application
 
 # Most MirrorManager files are licensed under the MIT license. Some
 # imported/derivated parts like zebra-dump-parser or the the script
 # to generate the worldmaps are licensed under GPLv2 and GPLv2+
 # Automatically converted from old format: MIT and GPLv2+ and GPLv2 - review is highly recommended.
 License:        LicenseRef-Callaway-MIT AND GPL-2.0-or-later AND GPL-2.0-only
 URL:            https://github.com/fedora-infra/mirrormanager2/
@@ -61,31 +61,29 @@ Library to interact with MirrorManager's database
 %package crawler
 Summary:        Crawler for MirrorManager
 BuildArch:      noarch
 
 Requires:  %{name}-filesystem = %{version}-%{release}
 Requires:  %{name}-lib = %{version}-%{release}
 Requires:  python%{python3_pkgversion}-geoip2
 Requires:  logrotate
-Requires(pre):  shadow-utils
 
 %description crawler
 Install the crawler for MirrorManager, crawling all the mirrors to find out
 if they are up to date or not
 
 
 %package backend
 Summary:        Backend scripts for MirrorManager
 BuildArch:      noarch
 
 Requires:  %{name}-filesystem = %{version}-%{release}
 Requires:  %{name}-lib = %{version}-%{release}
 Requires:  logrotate
-Requires(pre):  shadow-utils
 
 %description backend
 Install a number of utility scripts to be used manually or in cron jobs to
 run MirrorManager.
 
 %package client
 Summary:        Fedora mirror management system downstream mirror tools
 BuildArch:      noarch
@@ -130,16 +128,21 @@ Base directories used by multiple subpackages
 
 %prep
 %autosetup -p1
 
 
 %generate_buildrequires
 %pyproject_buildrequires
 
+# Create a sysusers.d config file
+cat >mirrormanager2.sysusers.conf <<EOF
+u mirrormanager - 'MirrorManager' %{_localstatedir}/lib/mirrormanager -
+EOF
+
 %build
 # Recreating protobuf output
 protoc --python_out=mirrorlist mirrormanager.proto
 protoc --python_out=mirrormanager2/lib mirrormanager.proto
 %pyproject_wheel
 
 
 %install
@@ -211,23 +214,19 @@ install -m 0644 utility/country_continent.csv \
     $RPM_BUILD_ROOT/%{_datadir}/mirrormanager2/country_continent.csv
 
 # Fix the shebang for various scripts
 sed -e "s|#!/usr/bin/env python.*|#!%{__python3}|" -i \
     $RPM_BUILD_ROOT/%{_bindir}/* \
     $RPM_BUILD_ROOT/%{_datadir}/mirrormanager2/*.py \
     $RPM_BUILD_ROOT/%{python3_sitelib}/mirrormanager2/lib/umdl.py
 
+install -m0644 -D mirrormanager2.sysusers.conf %{buildroot}%{_sysusersdir}/mirrormanager2.conf
+
 
-%pre crawler
-getent group mirrormanager >/dev/null || groupadd -r mirrormanager
-getent passwd mirrormanager >/dev/null || \
-    useradd -r -g mirrormanager -d %{_localstatedir}/lib/mirrormanager -s /sbin/nologin \
-    -c "MirrorManager" mirrormanager
-exit 0
 
 %pre backend
 getent group mirrormanager >/dev/null || groupadd -r mirrormanager
 getent passwd mirrormanager >/dev/null || \
     useradd -r -g mirrormanager -d %{_localstatedir}/lib/mirrormanager -s /sbin/nologin \
     -c "MirrorManager" mirrormanager
 exit 0
 
@@ -269,16 +268,17 @@ MM2_SKIP_NETWORK_TESTS=1 %{pytest} tests
 
 
 %files crawler
 %config(noreplace) %{_sysconfdir}/logrotate.d/mm2_crawler
 %attr(755,mirrormanager,mirrormanager) %dir %{_localstatedir}/lib/mirrormanager
 %attr(755,mirrormanager,mirrormanager) %dir %{_localstatedir}/log/mirrormanager
 %attr(755,mirrormanager,mirrormanager) %dir %{_localstatedir}/log/mirrormanager/crawler
 %{_bindir}/mm2_crawler
+%{_sysusersdir}/mirrormanager2.conf
 
 
 %files backend
 %config(noreplace) %{_sysconfdir}/logrotate.d/mm2_umdl
 %attr(755,mirrormanager,mirrormanager) %dir /run/lock/mirrormanager
 %attr(755,mirrormanager,mirrormanager) %dir %{_localstatedir}/lib/mirrormanager
 %attr(755,mirrormanager,mirrormanager) %dir %{_localstatedir}/log/mirrormanager
 %attr(755,mirrormanager,mirrormanager) %dir /run/mirrormanager
@@ -303,16 +303,19 @@ MM2_SKIP_NETWORK_TESTS=1 %{pytest} tests
 
 %files statistics
 %{_bindir}/mm2_generate-worldmap
 %{_bindir}/mm2_propagation
 %{_bindir}/mirrorlist_statistics
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.0-11
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Dec 10 2024 Aurelien Bompard <abompard@fedoraproject.org> - 1.0.0-9
 - Patch the configuration file for the report-mirror client to update the server URL.
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.0-8
 - convert license to SPDX
diff --git mlmmj/mlmmj.spec mlmmj/mlmmj.spec.tmp
index 3676260835..1f96ffb695 100644
--- mlmmj/mlmmj.spec
+++ mlmmj/mlmmj.spec.tmp
@@ -1,15 +1,15 @@
 %global __requires_exclude perl\\(.*[.]pl\\)|\/bin\/bash
 %global modulename mlmmj
 %global selinuxtype targeted
 
 Name:           mlmmj
 Version:        1.4.7
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        A simple and slim mailing list manager inspired by ezmlm
 License:        MIT
 URL:            https://codeberg.org/mlmmj/mlmmj
 Source0:        https://codeberg.org/%{name}/%{name}/releases/download/%{name}-%{version}.tar.gz
 Source1:        %{modulename}.te
 Source2:        %{modulename}.fc
 Source3:        README.SELinux
 
@@ -63,16 +63,21 @@ This package adds SELinux enforcement support to mlmmj.
 %autosetup
 # SELinux
 mkdir selinux
 cp -p %{SOURCE1} selinux/%{modulename}.te
 cp -p %{SOURCE2} selinux/%{modulename}.fc
 cp -p %{SOURCE3} selinux/README.SELinux
 touch selinux/%{modulename}.if
 
+# Create a sysusers.d config file
+cat >mlmmj.sysusers.conf <<EOF
+u mlmmj - 'mlmmj user' %{_localstatedir}/spool/%{name} -
+EOF
+
 %build
 %configure --enable-receive-strip
 %make_build
 # SELinux
 make -f %{_datadir}/selinux/devel/Makefile %{modulename}.pp
 bzip2 -9 %{modulename}.pp
 
 %install
@@ -80,20 +85,18 @@ bzip2 -9 %{modulename}.pp
 
 mkdir -p %{buildroot}%{_localstatedir}/spool/%{name}
 find contrib/ -type f -name *.pl -exec chmod -x {} ";"
 find contrib/ -type f -name *.cgi -exec chmod -x {} ";"
 
 # SELinux
 install -D -m 0644 %{modulename}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2
 
-%pre
-getent group mlmmj &>/dev/null || %{_sbindir}/groupadd -r mlmmj
-getent passwd mlmmj &>/dev/null || \
-    %{_sbindir}/useradd -r -g mlmmj -s /sbin/nologin -c "mlmmj user" -d %{_localstatedir}/spool/%{name} mlmmj
+install -m0644 -D mlmmj.sysusers.conf %{buildroot}%{_sysusersdir}/mlmmj.conf
+
 
 %pre selinux
 %selinux_relabel_pre -s %{selinuxtype}
 
 %post selinux
 %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2
 
 %postun selinux
@@ -107,23 +110,27 @@ fi
 %files
 %license COPYING
 %doc AUTHORS ChangeLog FAQ README* TODO TUNABLES.md UPGRADE
 %doc contrib/web/
 %{_bindir}/*
 %{_mandir}/man1/mlmmj*.1*
 %{_datadir}/%{name}/
 %dir %attr(0700,mlmmj,root) %{_localstatedir}/spool/%{name}
+%{_sysusersdir}/mlmmj.conf
 
 %files selinux
 %doc selinux/README.SELinux
 %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.*
 %ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename}
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.7-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.7-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 21 2024 Denis Fateyev <denis@fateyev.com> - 1.4.7-1
 - Update to 1.4.7 release
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git mock/mock.spec mock/mock.spec.tmp
index 5fd187246c..af61721d9a 100644
--- mock/mock.spec
+++ mock/mock.spec.tmp
@@ -14,17 +14,17 @@
 %endif
 
 %global __python %{__python3}
 %global python_sitelib %{python3_sitelib}
 
 Summary: Builds packages inside chroots
 Name: mock
 Version: 6.0
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPL-2.0-or-later
 # Source is created by
 # git clone https://github.com/rpm-software-management/mock.git
 # cd mock
 # git reset --hard %%{name}-%%{version}
 # tito build --tgz
 Source: https://github.com/rpm-software-management/%{name}/releases/download/%{name}-%{version}-1/%{name}-%{version}.tar.gz
 URL: https://github.com/rpm-software-management/mock/
@@ -112,17 +112,16 @@ BuildRequires: python%{python3_pkgversion}-templated-dictionary
 BuildRequires: perl-interpreter
 %else
 BuildRequires: perl
 %endif
 # hwinfo plugin
 Requires: util-linux
 Requires: coreutils
 Requires: procps-ng
-Requires: shadow-utils
 
 
 %description
 Mock takes an SRPM and builds it in a chroot.
 
 %package scm
 Summary: Mock SCM integration module
 Requires: %{name} = %{version}-%{release}
@@ -152,32 +151,35 @@ Requires: %{name} = %{version}-%{release}
 # This lets mock determine if a spec file needs to be processed with rpmautospec.
 Requires: python%{python3_pkgversion}-rpmautospec-core
 
 %description rpmautospec
 Mock plugin that preprocesses spec files using rpmautospec.
 
 %package filesystem
 Summary:  Mock filesystem layout
-Requires(pre):  shadow-utils
 BuildRequires:  systemd-rpm-macros
 
 %if %{with sysusers_compat}
-Requires(pre): shadow-utils
 %endif
 
 %description filesystem
 Filesystem layout and group for Mock.
 
 %prep
 %setup -q
 for file in py/mock.py py/mock-parse-buildlog.py; do
   sed -i 1"s|#!/usr/bin/python3 |#!%{__python} |" $file
 done
 
+# Create a sysusers.d config file
+cat >mock.sysusers.conf <<EOF
+g mock 135
+EOF
+
 %build
 for i in py/mockbuild/constants.py py/mock-parse-buildlog.py; do
     perl -p -i -e 's|^VERSION\s*=.*|VERSION="%{version}"|' $i
     perl -p -i -e 's|^SYSCONFDIR\s*=.*|SYSCONFDIR="%{_sysconfdir}"|' $i
     perl -p -i -e 's|^PYTHONDIR\s*=.*|PYTHONDIR="%{python_sitelib}"|' $i
     perl -p -i -e 's|^PKGPYTHONDIR\s*=.*|PKGPYTHONDIR="%{python_sitelib}/mockbuild"|' $i
 done
 for i in docs/mock.1 docs/mock-parse-buildlog.1; do
@@ -235,23 +237,21 @@ install -p -m 0644 docs/buildroot-lock-schema-*.json %{buildroot}%{_pkgdocdir}
 install -p -m 0644 docs/site-defaults.cfg %{buildroot}%{_pkgdocdir}
 
 mkdir -p %{buildroot}%{_sysusersdir}
 install -p -D -m 0644 %{name}.conf %{buildroot}%{_sysusersdir}
 
 sed -i 's/^_MOCK_NVR = None$/_MOCK_NVR = "%name-%version-%release"/' \
     %{buildroot}%{_libexecdir}/mock/mock
 
+install -m0644 -D mock.sysusers.conf %{buildroot}%{_sysusersdir}/mock.conf
+
 
 %if %{with sysusers_compat}
 %pre filesystem
-# Some of these older distributions do not ship with the %%sysusers_*_compat.
-# Instead of another ifdef/else here, we prefer to hardcode the scriptlet
-# content here.
-getent group 'mock' >/dev/null || groupadd -f -g '135' -r 'mock' || :
 %endif
 
 
 %check
 %if %{with lint}
 # ignore the errors for now, just print them and hopefully somebody will fix it one day
 pylint-3 py/mockbuild/ py/*.py py/mockbuild/plugins/* || :
 %endif
@@ -323,18 +323,22 @@ pylint-3 py/mockbuild/ py/*.py py/mockbuild/plugins/* || :
 %files filesystem
 %license COPYING
 %dir  %{_sysconfdir}/mock
 %dir  %{_sysconfdir}/mock/eol
 %dir  %{_sysconfdir}/mock/eol/templates
 %dir  %{_sysconfdir}/mock/templates
 %dir  %{_datadir}/cheat
 %config(noreplace) %{_sysusersdir}/mock.conf
+%{_sysusersdir}/mock.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Dec 19 2024 Pavel Raiskup <praiskup@redhat.com> 6.0-1
 - export_buildroot_image: new plugin for OCI image exports
 - buildroot_image: allow using OCI images as the base for buildroot
 - hermetic: do not install buildroot via DNF
 - podman: typofix in library call error-message
diff --git monotone/monotone.spec monotone/monotone.spec.tmp
index 114c523ed0..dad006e899 100644
--- monotone/monotone.spec
+++ monotone/monotone.spec.tmp
@@ -1,11 +1,11 @@
 Name:            monotone
 Version:         1.1
-Release:         51%{?dist}
+Release:         52%{?dist}
 Summary:         A free, distributed version control system
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:         GPL-2.0-or-later
 URL:             http://monotone.ca/
 Source0:         http://monotone.ca/downloads/%{version}/%{name}-%{version}.tar.bz2
 Source1:         monotone.service
 Source2:         monotone.sysconfig
 Source3:         README.monotone-server
@@ -52,17 +52,16 @@ database, supports overlapping branches and extensible
 metadata, exchanges work over plain network protocols,
 performs history-sensitive merging, and delegates trust
 functions to client-side RSA certificates.
 
 
 %package server
 Summary: Standalone server setup for monotone
 Requires: monotone = %{version}-%{release}
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 
 %description server
 This package provides an easy-to-use standalone server setup for monotone.
 
@@ -75,16 +74,21 @@ Requires: monotone = %{version}-%{release}
 %description -n perl-Monotone
 This is a simple Perl module to start a monotone automate sub-process
 and then pass commands to it.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >monotone.sysusers.conf <<EOF
+u monotone - 'Monotone Netsync Server' %{_localstatedir}/lib/monotone -
+EOF
+
 
 %build
 export LC_MESSAGES=en_US
 %configure
 %make_build
 
 
 %check
@@ -137,16 +141,18 @@ install -m 0644 -p %{SOURCE3} .
 
 install -D -m 0644 -p contrib/Monotone.pm \
              %{buildroot}%{perl_vendorlib}/Monotone.pm
 
 mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
 mv %{buildroot}%{_sysconfdir}/bash_completion.d/monotone.bash_completion \
              %{buildroot}%{_datadir}/bash-completion/completions/%{name}.bash_completion
 
+install -m0644 -D monotone.sysusers.conf %{buildroot}%{_sysusersdir}/monotone.conf
+
 
 %files -f %{name}.lang
 %doc AUTHORS NEWS README UPGRADE
 %doc _doc/*
 %license COPYING
 %{_bindir}/mtn
 %{_bindir}/mtnopt
 %{_bindir}/mtn-cleanup
@@ -179,40 +185,37 @@ mv %{buildroot}%{_sysconfdir}/bash_completion.d/monotone.bash_completion \
 %dir %attr(0755,root,monotone) %{_sysconfdir}/monotone
 %dir %attr(0750,root,monotone) %{_sysconfdir}/monotone/private-keys
 %attr(0640,root,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_sysconfdir}/monotone/monotonerc
 %attr(0440,root,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_sysconfdir}/monotone/passphrase.lua
 %attr(0640,root,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_sysconfdir}/monotone/read-permissions
 %attr(0640,root,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_sysconfdir}/monotone/write-permissions
 %dir %attr(0770,monotone,monotone) %{_localstatedir}/lib/monotone
 %attr(0660,monotone,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/monotone/server.mtn
+%{_sysusersdir}/monotone.conf
 
 
-%pre server
-# Add "monotone" user per http://fedoraproject.org/wiki/Packaging/UsersAndGroups
-getent group monotone > /dev/null || groupadd -r monotone
-getent passwd monotone > /dev/null ||
-useradd -r -g monotone -r -d %{_localstatedir}/lib/monotone -s /sbin/nologin \
-        -c "Monotone Netsync Server" monotone
-exit 0
 
 
 %post server
 %systemd_post monotone.service
 
 
 %preun server
 %systemd_preun monotone.service
 
 
 %postun server
 %systemd_postun monotone.service
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1-52
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-51
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul  26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.1-50
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-49
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git mopidy/mopidy.spec mopidy/mopidy.spec.tmp
index f3cc42fd32..cd4c128086 100644
--- mopidy/mopidy.spec
+++ mopidy/mopidy.spec.tmp
@@ -1,13 +1,13 @@
 %global homedir %{_sharedstatedir}/%{name}
 
 Name:           mopidy
 Version:        4.0.0~a2
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        An extensible music server written in Python
 
 License:        Apache-2.0
 URL:            https://mopidy.com/
 Source0:        %{pypi_source}
 Source1:        mopidy.conf
 
 BuildArch:      noarch
@@ -28,17 +28,16 @@ BuildRequires:  gstreamer1-plugins-good
 BuildRequires:  libsoup3
 BuildRequires:  systemd-rpm-macros
 Requires:       python3-gstreamer1
 Requires:       libsoup3
 Requires:       gstreamer1-plugins-good
 Requires:       python3-tornado
 Requires:       python3-Pykka >= 4.0.0
 Requires:       python3-requests
-Requires(pre):  shadow-utils
 Suggests:       mopidy-mpd
 
 %description
 Mopidy plays music from local disk, and a plethora of streaming services and
 sources. You edit the playlist from any phone, tablet, or computer using a
 variety of MPD and web clients.
 
 %package doc
@@ -55,16 +54,21 @@ Documentation for Mopidy, an extensible music server written in Python.
 
 %prep
 %autosetup -n %{name}-4.0.0a2 -p1
 #HACK! revert to %%autosetup -n %%{name}-%%{version} -p1
 
 %generate_buildrequires
 %pyproject_buildrequires -p
 
+# Create a sysusers.d config file
+cat >mopidy.sysusers.conf <<EOF
+u mopidy - '%{summary}' %{homedir} -
+EOF
+
 %build
 %pyproject_wheel
 
 cd docs
 PYTHONPATH=../src make SPHINXBUILD=sphinx-build-3 html man
 rm _build/html/.buildinfo
 
 %install
@@ -76,25 +80,21 @@ install -d -m 0755 %{buildroot}%{_var}/cache/%{name}
 install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
 touch %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
 install -p -D extra/mopidyctl/mopidyctl %{buildroot}%{_sbindir}/mopidyctl
 install -p -D -m 0644 docs/_build/man/mopidy.1 %{buildroot}%{_mandir}/man1/%{name}.1
 install -p -D -m 0644 extra/mopidyctl/mopidyctl.8 %{buildroot}%{_mandir}/man8/mopidyctl.8
 install -p -D -m 0644 extra/systemd/mopidy.service %{buildroot}%{_unitdir}/%{name}.service
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/conf.d/mopidy.conf
 
+install -m0644 -D mopidy.sysusers.conf %{buildroot}%{_sysusersdir}/mopidy.conf
+
 %check
 %tox
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{homedir} -s /sbin/nologin \
-    -c "%{summary}" %{name}
-exit 0
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -112,22 +112,26 @@ exit 0
 # Note: users are expected to put streaming service credentials here
 %attr(0640,%name,%name) %ghost %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
 %{_bindir}/%{name}
 %{_sbindir}/mopidyctl
 %{_unitdir}/%{name}.service
 %{_mandir}/man1/%{name}.1.*
 %{_mandir}/man8/mopidyctl.8.*
 %{_datadir}/%{name}/conf.d/mopidy.conf
+%{_sysusersdir}/mopidy.conf
 
 %files doc
 %doc docs/_build/html
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.0~a2-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0~a2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Dec 14 2024 Tobias Girstmair <t-fedora@girst.at> - 4.0.0~a2-2
 - Fix test failures
 
 * Fri Dec 06 2024 Tobias Girstmair <t-fedora@girst.at> - 4.0.0~a2-1
 - Update to 4.0.0a2 (RHBZ#2330474) for Python 3.14 compatibility (RHBZ#2328700)
RPMAutoSpec usage detected, not changing the spec file.
diff --git mpdscribble/mpdscribble.spec mpdscribble/mpdscribble.spec.tmp
index b723198f42..5554d9a339 100644
--- mpdscribble/mpdscribble.spec
+++ mpdscribble/mpdscribble.spec.tmp
@@ -12,28 +12,32 @@ BuildRequires: cmake
 BuildRequires: gcc-g++
 BuildRequires: git
 BuildRequires: libcurl-devel
 BuildRequires: libgcrypt-devel
 BuildRequires: libmpdclient-devel >= 2.2
 BuildRequires: meson
 BuildRequires: systemd-devel
 
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 %description
 mpdscribble is a music player daemon (mpd) client which submits information
 about tracks being played to Last.fm (formerly audioscrobbler)
 
 %prep
 %autosetup -S git_am
 
+# Create a sysusers.d config file
+cat >mpdscribble.sysusers.conf <<EOF
+u mpdscribble - 'Mpdscribble' %{_localstatedir}/cache/%{name} -
+EOF
+
 %build
 %meson
 %meson_build
 
 %check
 %meson_test
 
 %install
@@ -44,21 +48,18 @@ install -D -m 0644 -p %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 install -d %{buildroot}%{_localstatedir}/run/%{name}
 
 # Make room for logs
 install -d %{buildroot}%{_localstatedir}/cache/%{name}
 
 # Remove installed docs (this will mess with versione/unversioned docdirs)
 rm -rf %{buildroot}%{_defaultdocdir}
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin \
--c "Mpdscribble" %{name} 2>/dev/null || :
+install -m0644 -D mpdscribble.sysusers.conf %{buildroot}%{_sysusersdir}/mpdscribble.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %files
@@ -67,11 +68,12 @@ useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin \
 %attr(0644,%{name},%{name}) %config(noreplace) %{_sysconfdir}/mpdscribble.conf
 %{_bindir}/mpdscribble
 %{_mandir}/man1/mpdscribble.1.gz
 %{_unitdir}/%{name}.service
 %{_userunitdir}/%{name}.service
 %{_tmpfilesdir}/%{name}.conf
 %attr(0755,%{name},%{name}) %dir %{_localstatedir}/run/%{name}
 %attr(0755,%{name},%{name}) %dir %{_localstatedir}/cache/%{name}
+%{_sysusersdir}/mpdscribble.conf
 
 %changelog
 %autochangelog
diff --git munin/munin.spec munin/munin.spec.tmp
index eab9b4ae3b..be7a6e0163 100644
--- munin/munin.spec
+++ munin/munin.spec.tmp
@@ -1,11 +1,11 @@
 Name:           munin
 Version:        2.0.76
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Network-wide resource monitoring tool
 License:        GPL-2.0-only
 URL:            http://munin-monitoring.org/
 
 Source0:        http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz
 Source1:        http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc
 # fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133
 # gpg --recv-keys $fpr
@@ -87,17 +87,16 @@ Requires:       perl(Net::SSLeay)
 Requires:       perl(Net::Server)
 Requires:       perl(Params::Validate)
 Requires:       perl(RRDs)
 Requires:       perl(Storable)
 Requires:       perl(Taint::Runtime)
 Requires:       perl(Text::Balanced)
 Requires:       perl(Time::HiRes)
 Requires:       rrdtool
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 
 BuildArch:      noarch
 
 # Some plugins are php or python3, remove them from autogenerated requires
 %global __requires_exclude ^/usr/bin/(php|python3)$
 
 
@@ -126,17 +125,16 @@ Requires:       firewalld-filesystem
 Requires:       hdparm
 Requires:       jo
 Requires:       perl(Cache::Cache)
 Requires:       perl(IO::Socket::INET6)
 Requires:       perl(Net::CIDR)
 Requires:       perl(Net::SSLeay)
 Requires:       perl(Net::Server)
 Requires:       procps-ng
-Requires(pre):  shadow-utils
 Requires(pre):  %{_sbindir}/semanage
 Requires(pre):  %{_sbindir}/restorecon
 %{?systemd_requires}
 BuildArch:      noarch
 
 
 %description node
 Munin is a highly flexible and powerful solution used to create graphs of
@@ -155,17 +153,16 @@ and is often done in a matter of minutes. You can also create plugins which
 relay information from other devices in your network that can't run Munin,
 such as a switch or a server running another operating system, by using
 SNMP or similar technology.
 
 
 %package common
 Summary:        Network-wide resource monitoring tool (common files)
 Requires:       acl
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 BuildArch:      noarch
 
 
 %description common
 Munin is a highly flexible and powerful solution used to create graphs of
 virtually everything imaginable throughout your network, while still
 maintaining a rattling ease of installation and configuration.
@@ -260,16 +257,21 @@ sed -i -e 's,@@DBDIR@@,%{_sharedstatedir}/munin-node,g' node/_bin/munin-get.in
 %patch -P 101 -p1
 %patch -P 102 -p1
 %patch -P 103 -p1
 
 cp %SOURCE16 .
 cp %SOURCE17 .
 cp %SOURCE18 .
 
+# Create a sysusers.d config file
+cat >munin.sysusers.conf <<EOF
+u munin - 'Munin user' %{_sharedstatedir}/munin /bin/sh
+EOF
+
 
 %build
 make CONFIG=Makefile.config
 
 
 %install
 make CONFIG=Makefile.config DESTDIR=%{buildroot} install
 
@@ -390,21 +392,19 @@ touch %{buildroot}%{_localstatedir}/log/munin-node/munin-node.log
 
 ### Keep old apache munin.conf files (ghost) ###
 
 mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
 touch %{buildroot}%{_sysconfdir}/httpd/conf.d/munin.conf
 touch %{buildroot}%{_sysconfdir}/httpd/conf.d/munin-cgi.conf
 touch %{buildroot}%{_sysconfdir}/munin/munin-htpasswd
 
+install -m0644 -D munin.sysusers.conf %{buildroot}%{_sysusersdir}/munin.conf
+
 
-%pre
-getent group munin >/dev/null || groupadd -r munin
-getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin
-exit 0
 
 
 %post
 # Create log files
 mkdir -p %{_localstatedir}/log/munin
 [ -f %{_localstatedir}/log/munin/munin-html.log ] || \
     /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-html.log
 [ -f %{_localstatedir}/log/munin/munin-limits.log ] || \
@@ -576,16 +576,17 @@ exit 0
 %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/rrdcached
 %{_unitdir}/munin-rrdcached.service
 %dir %{_datadir}/munin/plugins
 %{_datadir}/munin/plugins/munin_stats
 %config(noreplace) %ghost %{_sysconfdir}/munin/munin-htpasswd
 %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin.conf
 %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin-cgi.conf
 %config(noreplace) %ghost %{_localstatedir}/www/html/munin/.htaccess
+%{_sysusersdir}/munin.conf
 
 
 %files node
 %doc %{_mandir}/man1/munin*
 %doc %{_mandir}/man3/Munin*
 %doc %{_mandir}/man5/munin-node.conf*
 %dir %{_sysconfdir}/munin
 %dir %{_sysconfdir}/munin/plugin-conf.d
@@ -654,16 +655,19 @@ exit 0
 %files cgi
 %{_unitdir}/munin-cgi-graph.service
 %{_unitdir}/munin-cgi-graph.socket
 %{_unitdir}/munin-cgi-html.service
 %{_unitdir}/munin-cgi-html.socket
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.76-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Oct 21 2024 Kim B. Heino <b@bbbs.net> - 2.0.76-3
 - Don't restart firewalld on package update, rhbz #2295597
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git mysql8.0/mysql8.0.spec mysql8.0/mysql8.0.spec.tmp
index d8fec16298..1736836739 100644
--- mysql8.0/mysql8.0.spec
+++ mysql8.0/mysql8.0.spec.tmp
@@ -97,17 +97,17 @@
 %global obsolete_community_mysql_version 8.0.35-10
 %global community_mysql_version 8.0.36-1
 
 # Make long macros shorter
 %global sameevr   %{?epoch:%{epoch}:}%{version}-%{release}
 
 Name:             %{majorname}%{majorversion}
 Version:          %{package_version}
-Release:          3%{?with_debug:.debug}%{?dist}
+Release:          4%{?with_debug:.debug}%{?dist}
 Summary:          MySQL client programs and shared libraries
 URL:              http://www.mysql.com
 
 # Exceptions allow client libraries to be linked with most open source SW,
 # not only GPL code.  See README.mysql-license
 License:          GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND BSD-2-Clause
 
 Source0:          https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz
@@ -382,17 +382,16 @@ Requires:         %{pkgname}-common = %{sameevr}
 Requires:         mariadb-connector-c-config
 %else
 Requires:         %{_sysconfdir}/my.cnf
 Requires:         %{_sysconfdir}/my.cnf.d
 %endif
 Requires:         %{pkgname}-errmsg = %{sameevr}
 %{?mecab:Requires: mecab-ipadic}
 Requires:         coreutils
-Requires(pre):    /usr/sbin/useradd
 # We require this to be present for %%{_tmpfilesdir}
 Requires:         systemd
 # Make sure it's there when scriptlets run, too
 %{?systemd_requires: %systemd_requires}
 # SYS_NICE capabilities; #1540946
 Recommends:       libcap
 # semanage
 Requires(post):   policycoreutils-python-utils
@@ -529,16 +528,21 @@ cat %{SOURCE52} | tee -a mysql-test/%{skiplist}
 cat %{SOURCE53} | tee -a mysql-test/%{skiplist}
 %endif
 
 
 
 cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
    %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts
 
+# Create a sysusers.d config file
+cat >mysql8.0.sysusers.conf <<EOF
+u mysql 27 'MySQL Server' %{dbdatadir} -
+EOF
+
 %build
 # fail quickly and obviously if user tries to build as root
 %if %runselftest
     if [ x"$(id -u)" = "x0" ]; then
         echo "mysql's regression tests fail if run as root."
         echo "If you really need to build the RPM as root, use"
         echo "--nocheck to skip the regression tests."
         exit 1
@@ -725,16 +729,18 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\
 polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
 %endif
 
 %if ! %{with test}
 rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress}
 rm -r %{buildroot}%{_datadir}/mysql-test
 %endif
 
+install -m0644 -D mysql8.0.sysusers.conf %{buildroot}%{_sysusersdir}/mysql8.0.conf
+
 
 
 %check
 %if %{with test}
 %if %runselftest
 pushd %_vpath_builddir
 # Note: disabling building of unittests to workaround #1989847
 #make test VERBOSE=1
@@ -779,20 +785,16 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 ))
 popd
 popd
 
 %endif
 %endif
 
 
 
-%pre -n %{pkgname}-server
-/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
-/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \
-  -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
 
 %post -n %{pkgname}-server
 %systemd_post %{daemon_name}.service
 if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then
     install /dev/null -m0640 -omysql -gmysql "%{logfile}"
 fi
 
 %preun -n %{pkgname}-server
@@ -982,16 +984,17 @@ fi
 %{_tmpfilesdir}/%{daemon_name}.conf
 %attr(0755,mysql,mysql) %dir %{dbdatadir}
 %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files
 %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring
 %attr(0755,mysql,mysql) %dir %{pidfiledir}
 %attr(0750,mysql,mysql) %dir %{logfiledir}
 %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
 %config(noreplace) %{logrotateddir}/%{daemon_name}
+%{_sysusersdir}/mysql8.0.conf
 
 %if %{with devel}
 %files -n %{pkgname}-devel
 %{_bindir}/mysql_config*
 %exclude %{_bindir}/mysql_config_editor
 %{_includedir}/mysql
 %{_datadir}/aclocal/mysql.m4
 %dir %{_libdir}/mysql
@@ -1100,16 +1103,19 @@ fi
 %{_libdir}/mysql/plugin/test_services_command_services.so
 %{_libdir}/mysql/plugin/test_services_host_application_signal.so
 %{_libdir}/mysql/plugin/test_services_plugin_registry.so
 %{_libdir}/mysql/plugin/test_udf_services.so
 %{_libdir}/mysql/plugin/udf_example.so
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.0.40-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.40-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 8.0.40-2
 - Rebuild for ICU 76
 
 * Mon Oct 21 2024 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.40-1
 - Update to MySQL 8.0.40
RPMAutoSpec usage detected, not changing the spec file.
diff --git nats-server/nats-server.spec nats-server/nats-server.spec.tmp
index 69f71e2cc4..ab67889b60 100644
--- nats-server/nats-server.spec
+++ nats-server/nats-server.spec.tmp
@@ -24,51 +24,51 @@ Summary:        High-Performance server for NATS, the cloud native messaging sys
 
 # Upstream license specification: Apache-2.0
 License:        Apache-2.0
 URL:            %{gourl}
 Source0:        %{gosource}
 
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  help2man
-Requires(pre):  shadow-utils
 
 %description
 %{common_description}
 
 %gopkg
 
 %prep
 %goprep
 
 %generate_buildrequires
 %go_generate_buildrequires
 
+# Create a sysusers.d config file
+cat >nats-server.sysusers.conf <<EOF
+u nats - 'NATS Server account' %{_sharedstatedir}/%{name} -
+EOF
+
 %build
 %gobuild -o %{gobuilddir}/bin/%{name} %{goipath}
 
 
 %install
 %gopkginstall
 install -m 0755 -vd                     %{buildroot}%{_sbindir}
 install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_sbindir}/
 install -m 0755 -vd                     %{buildroot}%{_mandir}/man1
 help2man --no-discard-stderr --no-info --version-string=%{version} %{buildroot}%{_sbindir}/%{name} > %{buildroot}%{_mandir}/man1/%{name}.1
 install -m 0755 -vd                      %{buildroot}%{_unitdir}
 install -m 0755 -vp util/%{name}.service %{buildroot}%{_unitdir}/
 install -m 0755 -vd                         %{buildroot}%{_sysconfdir}
 install -m 0755 -vp docker/nats-server.conf %{buildroot}%{_sysconfdir}/
 mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
 
-%pre
-getent group nats >/dev/null || groupadd -r nats
-getent passwd nats >/dev/null || \
-    useradd -r -g nats -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-    -c "NATS Server account" nats
-exit 0
+install -m0644 -D nats-server.sysusers.conf %{buildroot}%{_sysusersdir}/nats-server.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -87,11 +87,12 @@ exit 0
 %doc CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md README.md TODO.md
 %{_sbindir}/*
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %{_mandir}/man1/%{name}.1*
 %{_unitdir}/%{name}.service
 %attr(0750, nats, nats) %dir %{_sharedstatedir}/%{name}
 
 %gopkgfiles
+%{_sysusersdir}/nats-server.conf
 
 %changelog
 %autochangelog
diff --git netdata/netdata.spec netdata/netdata.spec.tmp
index cf9a896ee5..7398a6660a 100644
--- netdata/netdata.spec
+++ netdata/netdata.spec.tmp
@@ -51,17 +51,17 @@ ExcludeArch: s390x
 
 # el8 only
 %global judy_ver 1.0.5-netdata2
 
 %global netdata_conf_stock %{_prefix}/lib/%{name}
 
 Name:           netdata
 Version:        %{upver}%{?rcver:~%{rcver}}
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Real-time performance monitoring
 # For a breakdown of the licensing, see license REDISTRIBUTED.md
 License:        GPL-3.0-or-later
 URL:            http://my-netdata.io
 Source0:        https://github.com/netdata/netdata/releases/download/v%{upver}%{?rcver:-%{rcver}}/%{name}-v%{upver}%{?rcver:-%{rcver}}.tar.gz
 # Use make-source.sh script to build tarball without closed source part
 #Source0:        %%{name}-%%{upver}%%{?rcver:-%%{rcver}}.tar.gz
 Source1:        netdata.tmpfiles.conf
@@ -172,18 +172,16 @@ queries, API calls, web site visitors, etc.
 netdata tries to visualize the truth of now, in its greatest detail,
 so that you can get insights of what is happening now and what just
 happened, on your systems and applications.
 
 %package data
 BuildArch:      noarch
 Summary:        Data files for netdata
 License:        GPL-3.0-or-later
-Requires:       /usr/sbin/useradd
-Requires:       /usr/sbin/groupadd
 Requires:       /usr/bin/systemctl
 
 %description data
 Data files for netdata
 
 %package conf
 BuildArch:      noarch
 Summary:        Configuration files for netdata
@@ -227,16 +225,22 @@ cp %{SOURCE5} .
 ### BEGIN go.d.plugin
 %if %{with plugin_go}
 pushd src/go
 tar -xf %{SOURCE20}
 popd
 %endif
 ### END go.d.plugin
 
+# Create a sysusers.d config file
+cat >netdata.sysusers.conf <<EOF
+u netdata - 'NetData User' /var/log/%{name} -
+m netdata systemd-journal
+EOF
+
 
 %build
 %cmake -G Ninja \
     -DCMAKE_INSTALL_PREFIX=/ \
 %if 0%{?rhel} && 0%{?rhel} == 8
     -DUSE_CXX_11=On \
     -DENABLE_CLOUD=Off \
 %else
@@ -341,22 +345,21 @@ sed -i -e '/NETDATA_STOCK_CONFIG_DIR/s;@STOCK_CONFIG_DIR@;%{netdata_conf_stock};
     
 rm -f %{buildroot}%{_sysconfdir}/%{name}/netdata-updater.conf
 rm -f %{buildroot}%{_libexecdir}/%{name}/netdata-updater.sh
 rm -rf %{buildroot}%{_prefix}/lib/netdata/system
 rm -rf %{buildroot}%{_localstatedir}/lib/%{name}/config
 
 cp -a %{buildroot}%{_datadir}/%{name}/web/v1/index.html %{buildroot}%{_datadir}/%{name}/web/index.html
 
+install -m0644 -D netdata.sysusers.conf %{buildroot}%{_sysusersdir}/netdata.conf
+
 %check
 %ctest
 
-%pre data
-getent group netdata > /dev/null || groupadd -r netdata
-getent passwd netdata > /dev/null || useradd -r -g netdata -G systemd-journal -c "NetData User" -s /sbin/nologin -d /var/log/%{name} netdata
 
 %post
 sed -i -e '/web files group/ s/root/netdata/' /etc/netdata/netdata.conf ||:
 sed -i -e '/stock config directory/ s;/etc/netdata/conf.d;/usr/lib/netdata/conf.d;' /etc/netdata/netdata.conf ||:
 sed -i -e '/stock health configuration directory/ s;/etc/netdata/conf.d/health.d;/usr/lib/netdata/conf.d/health.d;' /etc/netdata/netdata.conf ||:
 %systemd_post %{name}.service
 %tmpfiles_create %{name}.conf
 echo "Netdata config should be edited with %{_libexecdir}/%{name}/edit-config"
@@ -457,32 +460,36 @@ echo "Netdata config should be edited with %{_libexecdir}/%{name}/edit-config"
 %{_libexecdir}/%{name}/edit-config
 %{_sysconfdir}/netdata/.install-type
 
 %files data
 %doc README.md
 %license LICENSE REDISTRIBUTED.md
 %dir %{_datadir}/%{name}
 %attr(-, root, netdata) %{_datadir}/%{name}/web
+%{_sysusersdir}/netdata.conf
 
 %files freeipmi
 %doc README.md
 %license LICENSE REDISTRIBUTED.md
 %caps(cap_setuid=ep) %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
 
 %if %{with plugin_go}
 %files go.d.plugin
 %doc README.md
 %license LICENSE REDISTRIBUTED.md
 %caps(cap_dac_read_search,cap_net_admin,cap_net_raw=eip) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/go.d.plugin
 %caps(cap_setuid=ep)%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/ndsudo
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.1-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Jan 07 2025 Didier Fabert <didier.fabert@gmail.com> 2.1.1-1
 - Update from upstream
 
 * Sat Dec 21 2024 Didier Fabert <didier.fabert@gmail.com> 2.1.0-3
 - go-module cannot be built in fc40
diff --git NetworkManager-fortisslvpn/NetworkManager-fortisslvpn.spec NetworkManager-fortisslvpn/NetworkManager-fortisslvpn.spec.tmp
index 42393b0bd3..088960b674 100644
--- NetworkManager-fortisslvpn/NetworkManager-fortisslvpn.spec
+++ NetworkManager-fortisslvpn/NetworkManager-fortisslvpn.spec.tmp
@@ -3,17 +3,17 @@
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 
 %global ppp_version %(pkg-config --modversion pppd 2>/dev/null || echo bad)
 %global __provides_exclude ^libnm-.*\\.so
 
 Summary:    NetworkManager VPN plugin for Fortinet compatible SSLVPN
 Name:       NetworkManager-fortisslvpn
 Version:    1.4.1
-Release:    8.%{date}git%{shortcommit}%{?dist}
+Release:    9.%{date}git%{shortcommit}%{?dist}
 License:    GPL-2.0-or-later
 URL:        http://www.gnome.org/projects/NetworkManager/
 
 Source0:    https://gitlab.gnome.org/GNOME/%{name}/-/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
 
 BuildRequires:  make
 BuildRequires:  gcc
 BuildRequires:  gtk3-devel >= 3.4
@@ -47,16 +47,21 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
 
 %description -n NetworkManager-fortisslvpn-gnome
 This package contains software for integrating VPN capabilities with
 the Fortinet compatible SSLVPN server with NetworkManager (GNOME files).
 
 %prep
 %autosetup -p1 -n %{name}-%{commit}
 
+# Create a sysusers.d config file
+cat >networkmanager-fortisslvpn.sysusers.conf <<EOF
+u nm-fortisslvpn - 'Default user for running openfortivpn spawned by NetworkManager' / -
+EOF
+
 %build
 autoreconf -fi
 %configure \
   --disable-static \
   --with-gtk4 \
   --with-pppd-plugin-dir=%{_libdir}/pppd/%{ppp_version} \
   --with-dist-version=%{version}-%{release}
 
@@ -70,40 +75,40 @@ make check
 
 rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
 rm -f %{buildroot}%{_libdir}/pppd/%{ppp_version}/*.la
 
 mv %{buildroot}%{_sysconfdir}/dbus-1 %{buildroot}%{_datadir}/
 
 %find_lang %{name}
 
-%pre
-getent group nm-fortisslvpn >/dev/null || groupadd -r nm-fortisslvpn
-getent passwd nm-fortisslvpn >/dev/null || \
-        useradd -r -g nm-fortisslvpn -d / -s /sbin/nologin \
-        -c "Default user for running openfortivpn spawned by NetworkManager" nm-fortisslvpn
-exit 0
+install -m0644 -D networkmanager-fortisslvpn.sysusers.conf %{buildroot}%{_sysusersdir}/networkmanager-fortisslvpn.conf
+
 
 %files -f %{name}.lang
 %license COPYING
 %doc AUTHORS README ChangeLog
 %{_libdir}/NetworkManager/libnm-vpn-plugin-fortisslvpn.so
 %{_datadir}/dbus-1/system.d/nm-fortisslvpn-service.conf
 %{_prefix}/lib/NetworkManager/VPN/nm-fortisslvpn-service.name
 %{_libexecdir}/nm-fortisslvpn-pinentry
 %{_libexecdir}/nm-fortisslvpn-service
 %{_libdir}/pppd/%{ppp_version}/nm-fortisslvpn-pppd-plugin.so
 %{_sharedstatedir}/NetworkManager-fortisslvpn
+%{_sysusersdir}/networkmanager-fortisslvpn.conf
 
 %files -n NetworkManager-fortisslvpn-gnome
 %{_libexecdir}/nm-fortisslvpn-auth-dialog
 %{_libdir}/NetworkManager/lib*.so*
 %{_datadir}/metainfo/network-manager-fortisslvpn.metainfo.xml
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.1-9.20231021gite201da5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-8.20231021gite201da5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Nov 27 2024 Adam Williamson <awilliam@redhat.com> - 1.4.1-7.20231021gite201da5
 - Rebuild for ppp 2.5.1
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-6.20231021gite201da5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git NetworkManager-openconnect/NetworkManager-openconnect.spec NetworkManager-openconnect/NetworkManager-openconnect.spec.tmp
index ea0f8b1564..8434c7fc78 100644
--- NetworkManager-openconnect/NetworkManager-openconnect.spec
+++ NetworkManager-openconnect/NetworkManager-openconnect.spec.tmp
@@ -19,17 +19,17 @@
 
 %global nm_version          1.2.0
 %global gtk3_version        3.4.0
 %global openconnect_version 9.01
 
 Summary:   NetworkManager VPN plugin for openconnect
 Name:      NetworkManager-openconnect
 Version:   1.2.10
-Release:   7%{?dist}
+Release:   8%{?dist}
 License:   GPL-2.0-or-later AND LGPL-2.1-only
 URL:       http://www.gnome.org/projects/NetworkManager/
 Source:    https://download.gnome.org/sources/NetworkManager-openconnect/1.2/%{name}-%{version}.tar.xz
 
 BuildRequires: make
 BuildRequires: gcc
 BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version}
 BuildRequires: pkgconfig(libnm) >= %{nm_version}
@@ -55,18 +55,16 @@ BuildRequires: pkgconfig(webkit2gtk-4.1)
 BuildRequires: pkgconfig(webkit2gtk-4.0)
 %endif
 
 Requires: NetworkManager   >= %{nm_version}
 Requires: openconnect      >= %{openconnect_version}
 Requires: dbus-common
 Obsoletes: NetworkManager-openconnect < 1.2.3-0
 
-Requires(pre): %{_sbindir}/useradd
-Requires(pre): %{_sbindir}/groupadd
 
 %global __provides_exclude ^libnm-.*\\.so
 
 %description
 This package contains software for integrating the openconnect VPN software
 with NetworkManager and the GNOME desktop
 
 %package gnome
@@ -77,16 +75,21 @@ Obsoletes: NetworkManager-openconnect < 1.2.3-0
 
 %description gnome
 This package contains software for integrating VPN capabilities with
 the OpenConnect client with NetworkManager (GNOME files).
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >networkmanager-openconnect.sysusers.conf <<EOF
+u nm-openconnect - 'NetworkManager user for OpenConnect' / -
+EOF
+
 %build
 %configure \
         --enable-more-warnings=yes \
         --disable-static \
 %if %{with libnm_glib}
         --with-libnm-glib \
 %else
         --without-libnm-glib \
@@ -99,21 +102,18 @@ make %{?_smp_mflags}
 
 %install
 make install DESTDIR=%{buildroot}
 
 rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
 
 %find_lang %{name}
 
-%pre
-%{_sbindir}/groupadd -r nm-openconnect &>/dev/null || :
-%{_sbindir}/useradd  -r -s /sbin/nologin -d / -M \
-                     -c 'NetworkManager user for OpenConnect' \
-                     -g nm-openconnect nm-openconnect &>/dev/null || :
+install -m0644 -D networkmanager-openconnect.sysusers.conf %{buildroot}%{_sysusersdir}/networkmanager-openconnect.conf
+
 
 %if 0%{?rhel} && 0%{?rhel} <= 7
 %post
 /usr/bin/update-desktop-database &> /dev/null || :
 touch --no-create %{_datadir}/icons/hicolor
 if [ -x %{_bindir}/gtk-update-icon-cache ]; then
       %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
 fi
@@ -129,16 +129,17 @@ fi
 %files -f %{name}.lang
 %{_libdir}/NetworkManager/libnm-vpn-plugin-openconnect.so
 %{_datadir}/dbus-1/system.d/nm-openconnect-service.conf
 %{_prefix}/lib/NetworkManager/VPN/nm-openconnect-service.name
 %{_libexecdir}/nm-openconnect-service
 %{_libexecdir}/nm-openconnect-service-openconnect-helper
 %doc AUTHORS ChangeLog NEWS
 %license COPYING
+%{_sysusersdir}/networkmanager-openconnect.conf
 
 %files gnome
 %{_libexecdir}/nm-openconnect-auth-dialog
 %{_libdir}/NetworkManager/libnm-vpn-plugin-openconnect-editor.so
 %{_datadir}/metainfo/network-manager-openconnect.metainfo.xml
 
 %if %with gtk4
 %{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-openconnect-editor.so
@@ -146,16 +147,19 @@ fi
 
 %if %{with libnm_glib}
 %{_libdir}/NetworkManager/libnm-*-properties.so
 %{_sysconfdir}/NetworkManager/VPN/nm-openconnect-service.name
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.10-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.10-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.10-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.10-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git NetworkManager-openvpn/NetworkManager-openvpn.spec NetworkManager-openvpn/NetworkManager-openvpn.spec.tmp
index 3c9414c0e0..b3c1865163 100644
--- NetworkManager-openvpn/NetworkManager-openvpn.spec
+++ NetworkManager-openvpn/NetworkManager-openvpn.spec.tmp
@@ -3,17 +3,17 @@
 %else
 %bcond_without gtk4
 %endif
 
 Summary:   NetworkManager VPN plugin for OpenVPN
 Name:      NetworkManager-openvpn
 Epoch:     1
 Version:   1.12.0
-Release:   3%{?dist}
+Release:   4%{?dist}
 License:   GPL-2.0-or-later
 URL:       http://www.gnome.org/projects/NetworkManager/
 
 Source0:   https://download.gnome.org/sources/NetworkManager-openvpn/1.12/%{name}-%{version}.tar.xz
 #Patch1: 0001-example.patch
 
 
 BuildRequires: make
@@ -26,17 +26,16 @@ BuildRequires: libsecret-devel
 
 %if %with gtk4
 BuildRequires: libnma-gtk4-devel
 %endif
 
 Requires: dbus
 Requires: NetworkManager >= 1:1.46.2
 Requires: openvpn
-Requires(pre): shadow-utils
 Obsoletes: NetworkManager-openvpn < 1:0.9.8.2-3
 
 
 %global __provides_exclude ^libnm-.*\\.so
 
 
 %description
 This package contains software for integrating VPN capabilities with
@@ -54,16 +53,21 @@ Obsoletes: NetworkManager-openvpn < 1:0.9.8.2-3
 %description -n NetworkManager-openvpn-gnome
 This package contains software for integrating VPN capabilities with
 the OpenVPN server with NetworkManager (GNOME files).
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >networkmanager-openvpn.sysusers.conf <<EOF
+u nm-openvpn - 'Default user for running openvpn spawned by NetworkManager' / -
+EOF
+
 
 %build
 if [ ! -f configure ]; then
   ./autogen.sh
 fi
 %configure \
         --disable-static \
 %if %with gtk4
@@ -74,51 +78,51 @@ fi
 make %{?_smp_mflags}
 
 
 %check
 make check
 
 
 %pre
-getent group nm-openvpn >/dev/null || groupadd -r nm-openvpn
-getent passwd nm-openvpn >/dev/null || \
-    useradd -r -g nm-openvpn -d / -s /sbin/nologin \
-    -c "Default user for running openvpn spawned by NetworkManager" nm-openvpn
-exit 0
-
 
 %install
 make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
 
 rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
 
 %find_lang %{name}
 
+install -m0644 -D networkmanager-openvpn.sysusers.conf %{buildroot}%{_sysusersdir}/networkmanager-openvpn.conf
+
 %files -f %{name}.lang
 %{_libdir}/NetworkManager/libnm-vpn-plugin-openvpn.so
 %{_datadir}/dbus-1/system.d/nm-openvpn-service.conf
 %{_prefix}/lib/NetworkManager/VPN/nm-openvpn-service.name
 %{_libexecdir}/nm-openvpn-service
 %{_libexecdir}/nm-openvpn-service-openvpn-helper
 %doc AUTHORS README
 %license COPYING
+%{_sysusersdir}/networkmanager-openvpn.conf
 
 
 %files -n NetworkManager-openvpn-gnome
 %{_libexecdir}/nm-openvpn-auth-dialog
 %{_libdir}/NetworkManager/libnm-vpn-plugin-openvpn-editor.so
 %{_datadir}/metainfo/network-manager-openvpn.metainfo.xml
 
 %if %with gtk4
 %{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-openvpn-editor.so
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:1.12.0-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.12.0-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.12.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Jun 24 2024 Íñigo Huguet <ihuguet@redhat.com> - 1:1.12.0-1
 - Update to 1.12.0 release
diff --git newscache/newscache.spec newscache/newscache.spec.tmp
index d9439db2a2..56c5a19a37 100644
--- newscache/newscache.spec
+++ newscache/newscache.spec.tmp
@@ -1,32 +1,31 @@
 %define srcnamever	NewsCache-1.2rc6
 %define socketver	1.12.13
 
 Name: 		newscache
 Summary: 	Free cache server for USENET News
 Version: 	1.2
-Release: 	0.49.rc6%{?dist}
+Release: 	0.50.rc6%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:	GPL-2.0-or-later
 URL:		http://www.linuxhacker.at/newscache/
 Source0: 	http://src.linuxhacker.at/NewsCache/%{srcnamever}.tar.gz
 Source1:	http://src.linuxhacker.at/socket++/socket++-%{socketver}.tar.gz
 Source2:	%{name}.init
 Source3:	%{name}.service
 Patch1:		newscache-1.2rc6-config.patch
 Patch2:		newscache-1.2rc6-gcc43.patch
 Patch3:		socket++-1.12.12-drop_doc.patch
 Patch4:		newscache-glibc.patch
 BuildRequires: make
 BuildRequires:  gcc-c++
 BuildRequires:	libtool, texinfo, pam-devel
 BuildRequires:	systemd-units
 
-Requires(pre): shadow-utils
 Requires(post):	systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
 
 
 %description
 NewsCache is a free cache server for USENET News. NewsCache acts to
@@ -52,16 +51,21 @@ mkdir -p too/deep
 mv socket++-%{socketver} too/deep
 
 pushd too/deep/socket++-%{socketver}
 %patch -P3 -p1
 popd
 
 %patch -P4 -p1
 
+# Create a sysusers.d config file
+cat >newscache.sysusers.conf <<EOF
+u news - 'News user' /etc/news -
+EOF
+
 %build
 
 # socket++ is a library from the same site as NewScache.
 # While it is used by newscache only, there is no reason
 # to ship it separately.
 
 pushd too/deep/socket++-%{socketver}
 ./autogen
@@ -116,23 +120,19 @@ pushd $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
 cat <<EOF >%{name}
 #!/bin/bash
 /usr/sbin/newscacheclean
 
 EOF
 chmod 755 %{name}
 popd
 
+install -m0644 -D newscache.sysusers.conf %{buildroot}%{_sysusersdir}/newscache.conf
 
-%pre
 
-getent group news >/dev/null || groupadd -r news
-getent passwd news >/dev/null || \
-    useradd -r -g news -d /etc/news -s /sbin/nologin -c 'News user' news
-exit 0
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -150,19 +150,23 @@ exit 0
 %config(noreplace) %{_sysconfdir}/cron.daily/*
 #%config(noreplace) %{_initrddir}/*
 %{_unitdir}/%{name}.service
 %{_bindir}/*
 %{_sbindir}/*
 %doc AUTHORS COPYING NEWS README THANKS TODO
 %doc doc/newscache*.txt etc/*-dist
 %{_mandir}/*/*
+%{_sysusersdir}/newscache.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2-0.50.rc6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-0.49.rc6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.2-0.48.rc6
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-0.47.rc6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git nginx/nginx.spec nginx/nginx.spec.tmp
index 34ec48e3e3..762b98ae29 100644
--- nginx/nginx.spec
+++ nginx/nginx.spec.tmp
@@ -172,17 +172,16 @@ Requires:          nginx-mod-mail = %{epoch}:%{version}-%{release}
 Requires:          nginx-mod-stream = %{epoch}:%{version}-%{release}
 
 %description all-modules
 Meta package that installs all available nginx modules.
 
 %package filesystem
 Summary:           The basic directory layout for the Nginx server
 BuildArch:         noarch
-Requires(pre):     shadow-utils
 
 %description filesystem
 The nginx-filesystem package contains the basic directory layout
 for the Nginx server including the correct permissions for the
 directories.
 
 %if %{with geoip}
 %package mod-http-geoip
@@ -280,16 +279,21 @@ sed \
   -e 's|\(ngx_feature_libs="\)|\1-L%{_libdir}/openssl%{openssl_pkgversion} |' \
   -i auto/lib/openssl/conf
 %endif
 
 # Prepare sources for installation
 cp -a ../%{name}-%{version} ../%{name}-%{version}-%{release}-src
 mv ../%{name}-%{version}-%{release}-src .
 
+# Create a sysusers.d config file
+cat >nginx.sysusers.conf <<EOF
+u nginx - 'Nginx web server' %{_localstatedir}/lib/nginx -
+EOF
+
 
 %build
 # nginx does not utilize a standard configure script.  It has its own
 # and the standard configure options cause the nginx configure script
 # to error out.  This is is also the reason for the DESTDIR environment
 # variable.
 export DESTDIR=%{buildroot}
 # So the perl module finds its symbols:
@@ -467,23 +471,19 @@ sed -e "s|@@NGINX_ABIVERSION@@|%{nginx_abiversion}|g" \
 ## Install dependency generator
 install -Dpm0644 %{SOURCE16} %{buildroot}%{_fileattrsdir}/nginxmods.attr
 
 # install http-ssl-pass-dialog
 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
 install -m755 $RPM_SOURCE_DIR/nginx-ssl-pass-dialog \
         $RPM_BUILD_ROOT%{_libexecdir}/nginx-ssl-pass-dialog
 
+install -m0644 -D nginx.sysusers.conf %{buildroot}%{_sysusersdir}/nginx.conf
+
 
-%pre filesystem
-getent group %{nginx_user} > /dev/null || groupadd -r %{nginx_user}
-getent passwd %{nginx_user} > /dev/null || \
-    useradd -r -d %{_localstatedir}/lib/nginx -g %{nginx_user} \
-    -s /sbin/nologin -c "Nginx web server" %{nginx_user}
-exit 0
 
 %post
 %systemd_post nginx.service
 
 %if %{with geoip}
 %post mod-http-geoip
 if [ $1 -eq 1 ]; then
     /usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
@@ -575,16 +575,17 @@ fi
 %files filesystem
 %dir %{_datadir}/nginx
 %dir %{_datadir}/nginx/html
 %dir %{_sysconfdir}/nginx
 %dir %{_sysconfdir}/nginx/conf.d
 %dir %{_sysconfdir}/nginx/default.d
 %dir %{_sysconfdir}/systemd/system/nginx.service.d
 %dir %{_unitdir}/nginx.service.d
+%{_sysusersdir}/nginx.conf
 
 %if %{with geoip}
 %files mod-http-geoip
 %{nginx_moduleconfdir}/mod-http-geoip.conf
 %{nginx_moduledir}/ngx_http_geoip_module.so
 %endif
 
 %files mod-http-image-filter
diff --git ngircd/ngircd.spec ngircd/ngircd.spec.tmp
index 3ee38496e2..6f41b15c94 100644
--- ngircd/ngircd.spec
+++ ngircd/ngircd.spec.tmp
@@ -1,11 +1,11 @@
 Name:           ngircd
 Version:        27
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Next Generation IRC Daemon
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://ngircd.barton.de/
 Source0:        http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz
 Source1:        ngircd.init
 Source2:        ngircd.service
 # Listen only on localhost by default, set user/group
@@ -23,26 +23,30 @@ BuildRequires:  gnutls-devel
 BuildRequires:  pam-devel
 # Needed for tests
 BuildRequires:  expect procps-ng telnet openssl
 BuildRequires: systemd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
-Requires(pre): shadow-utils
 
 %description
 ngIRCd is a free open source daemon for Internet Relay Chat (IRC), 
 developed under the GNU General Public License (GPL). It's written from 
 scratch and is not based upon the original IRCd like many others.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >ngircd.sysusers.conf <<EOF
+u ngircd - 'Next Generation IRC Daemon' /tmp/ -
+EOF
+
 %build
 %configure \
 	--with-syslog \
 	--with-zlib \
 	--with-epoll \
 	--with-gnutls \
 	--with-pam \
 	--enable-ipv6
@@ -60,25 +64,21 @@ install -D -m 660 doc/sample-ngircd.conf %{buildroot}%{_sysconfdir}/ngircd.conf
 mkdir -p %{buildroot}%{_sysconfdir}/pam.d
 install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/ngircd
 
 touch  %{buildroot}%{_sysconfdir}/ngircd.motd
 rm %{buildroot}%{_docdir}/ngircd/INSTALL.md
 mkdir -p %{buildroot}%{_tmpfilesdir}
 echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf
 
+install -m0644 -D ngircd.sysusers.conf %{buildroot}%{_sysusersdir}/ngircd.conf
+
 %check
 make check
 
-%pre
-getent group ngircd >/dev/null || groupadd -r ngircd
-getent passwd ngircd >/dev/null || \
-    useradd -r -g ngircd -d /tmp/ -s /sbin/nologin \
-    -c "Next Generation IRC Daemon" ngircd
-exit 0
 
 %post
 %systemd_post ngircd.service
 
 %preun
 %systemd_preun ngircd.service
 
 %postun
@@ -91,18 +91,22 @@ exit 0
 %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd
 %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd
 %{_unitdir}/ngircd.service
 %{_sbindir}/ngircd
 %{_docdir}/ngircd/
 %{_mandir}/man5/ngircd.conf*
 %{_mandir}/man8/ngircd.8*
 %{_tmpfilesdir}/ngircd.conf
+%{_sysusersdir}/ngircd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 27-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 27-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 27-3
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 27-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git noip/noip.spec noip/noip.spec.tmp
index 4615508070..f277411777 100644
--- noip/noip.spec
+++ noip/noip.spec.tmp
@@ -1,21 +1,20 @@
 Name:		noip
 Version:	2.1.9
-Release:	42%{?dist}
+Release:	43%{?dist}
 Summary:	A dynamic DNS update client
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:	GPL-2.0-or-later
 URL:		http://www.no-ip.com
 Source0:	http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
 Source1:	noip.service
 # Patch for Fedora specifics 
 Patch0:		noip.patch
 
-Requires(pre):		shadow-utils
 %{?systemd_requires}
 BuildRequires: make
 BuildRequires: systemd
 BuildRequires: gcc
 
 %description
 Keep your current IP address in sync with your No-IP host or domain with 
 this Dynamic Update Client (DUC). The client continually checks for IP 
@@ -26,53 +25,58 @@ N.B. You need to run
 	%# noip2 -C
 before starting the service.
 
 %prep
 %setup -q -n %{name}-%{version}-1
 %patch -P0 -p1
 sed -i 's|@OPTFLAGS@|%{optflags}|g;s|@SBINDIR@|%{buildroot}%{_sbindir}|g;s|@SYSCONFDIR@|%{buildroot}%{_sysconfdir}|g' Makefile
 
+# Create a sysusers.d config file
+cat >noip.sysusers.conf <<EOF
+u noip - 'No-ip daemon user' /var/run/noip -
+EOF
+
 %build
 make %{?_smp_mflags}
 
 %install
 install -D -p -m 755 noip2 %{buildroot}/%{_sbindir}/noip2
 
 # Make dummy config file 
 mkdir -p %{buildroot}/%{_sysconfdir}
 touch %{buildroot}/%{_sysconfdir}/no-ip2.conf
 
 install -Dm644  %{SOURCE1} %{buildroot}%{_unitdir}/noip.service
 # Install init script
 #install -D -p -m 755 redhat.noip.sh %{buildroot}%{_initrddir}/noip
 
-%pre
-# Add noip user & group
-getent group noip >/dev/null || groupadd -r noip
-getent passwd noip >/dev/null || \
-	useradd -r -g noip -d /var/run/noip -s /sbin/nologin \
-	-c "No-ip daemon user" noip
+install -m0644 -D noip.sysusers.conf %{buildroot}%{_sysusersdir}/noip.conf
+
 
 %post
 %systemd_post noip.service
 
 %preun
 %systemd_preun noip.service
 
 %postun
 %systemd_postun_with_restart noip.service
 
 %files
 %doc COPYING README.FIRST
 %{_sbindir}/noip2
 %attr(600,noip,noip) %config(noreplace) %{_sysconfdir}/no-ip2.conf
 %{_unitdir}/noip.service
+%{_sysusersdir}/noip.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.9-43
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.9-42
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.1.9-41
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.9-40
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git nqc/nqc.spec nqc/nqc.spec.tmp
index 51303752eb..8056aec0c5 100644
--- nqc/nqc.spec
+++ nqc/nqc.spec.tmp
@@ -1,11 +1,11 @@
 Name:           nqc
 Version:        3.1.7
-Release:        38%{?dist}
+Release:        39%{?dist}
 Summary:        Not Quite C compiler
 
 # Automatically converted from old format: MPLv1.0 - review is highly recommended.
 License:        LicenseRef-Callaway-MPLv1.0
 URL:            http://bricxcc.sourceforge.net/nqc/
 Source0:        http://bricxcc.sourceforge.net/nqc/release/nqc-3.1.r6.tgz
 Source1:        60-legousbtower.rules
 Source2:        http://bricxcc.sourceforge.net/nqc/doc/faq.html
@@ -22,17 +22,16 @@ Source12:       http://people.cs.uu.nl/markov/lego/tutorial_t.doc
 Source13:       http://people.cs.uu.nl/markov/lego/tutorial_p.pdf
 Patch0:         nqc-3.1.6-linux.patch
 Patch1:         nqc-3.1.6.gcc47.patch
 Patch2:         nqc-3.1.6-unistd.patch
 BuildRequires: make
 BuildRequires:  gcc-c++
 BuildRequires:  flex >= 2.5 
 BuildRequires:  byacc
-Requires(pre):  %{_sbindir}/groupadd
 
 %description
 Not Quite C is a simple language with a C-like syntax that can be used to
 program Lego's RCX programmable brick (from the Mindstorms set).
 
 %package        doc
 Summary:        English Documentation for NQC
 Supplements:    (%{name} = %{version}-%{release} and langpacks-en)
@@ -110,39 +109,46 @@ done
 %{__mkdir} tutorial_files
 %{__unzip} -qq -a %{SOURCE6} -d tutorial_files
 
 
 # This piece of software seems to come from the Dark Side. Fix permissions and
 # line endings.
 find -type f -exec chmod 644 {} \; -exec perl -pi -e 's/\r\n/\n/g' {} \;
 
+# Create a sysusers.d config file
+cat >nqc.sysusers.conf <<EOF
+g lego -
+EOF
+
 
 %build
 %{__make} %{?_smp_mflags}
 
 
 %install
 %{__rm} -rf %{buildroot}
 %{__make} install PREFIX=%{buildroot}%{_prefix} MANDIR=%{buildroot}%{_mandir}/man1
 %{__rm} %{buildroot}%{_bindir}/mkdata
 %{__install} -p -m 644 -D %{SOURCE1} %{buildroot}/lib/udev/rules.d/60-legousbtower.rules
 
+install -m0644 -D nqc.sysusers.conf %{buildroot}%{_sysusersdir}/nqc.conf
+
 
 %pre
 if [ $1 -eq 1 ]; then
-  %{_sbindir}/groupadd -f -r lego &>/dev/null || :
 fi
 
 
 %files
 %{_bindir}/nqc
 %{_mandir}/man1/nqc.1.gz
 /lib/udev/rules.d/60-legousbtower.rules
 %doc readme.txt LICENSE
+%{_sysusersdir}/nqc.conf
 
 %files doc
 %doc scout.txt history.txt test.nqc
 %doc faq.html NQC_Manual.pdf NQC_Guide.pdf NQC_Tutorial.pdf tutorial_files/
 
 %files doc-nl
 %lang(nl) %doc nqc-tutorial-nl.doc
 
@@ -160,16 +166,19 @@ fi
 
 %files doc-th
 %lang(th) %doc nqc-tutorial-th.doc
 
 %files doc-pt
 %lang(pt) %doc nqc-tutorial-pt.pdf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.7-39
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.7-38
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 3.1.7-37
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.7-36
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git nrpe/nrpe.spec nrpe/nrpe.spec.tmp
index 5d263d728b..2fbeef5404 100644
--- nrpe/nrpe.spec
+++ nrpe/nrpe.spec.tmp
@@ -3,19 +3,19 @@
 %global commit 4f7dd1199f1f3f72f9197e8565da339a4a2490b7
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 %global commdate 20200423
 %global fromgit 0
 
 Name: nrpe
 Version: 4.1.3
 %if 0%{?fromgit}
-Release: 2%{?dist}
+Release: 3%{?dist}
 %else
-Release: 2%{?dist}
+Release: 3%{?dist}
 %endif
 Summary: Host/service/network monitoring agent for Nagios
 
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License: GPL-2.0-only
 URL: http://www.nagios.org
 %if 0%{?fromgit}
 Source0: https://github.com/NagiosEnterprises/nrpe/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
@@ -43,17 +43,17 @@ BuildRequires: openssl, openssl-devel
 %if 0%{?fedora} >= 40
 BuildRequires: openssl-devel-engine
 %endif
 
 %if 0%{?fedora} < 28 && 0%{?rhel} < 8
 BuildRequires: tcp_wrappers-devel
 %endif
 
-Requires(pre): %{_sbindir}/useradd, %{_sbindir}/usermod
+Requires(pre): %{_sbindir}/usermod
 
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 # owns /etc/nagios
 Requires: nagios-common
 Provides: nagios-nrpe = %{version}-%{release}
@@ -95,16 +95,22 @@ SElinux context for %{name}.
 
 %prep
 %if 0%{fromgit}
 %autosetup -p1 -n %{name}-%{commit}
 %else
 %autosetup -p1 -n %{name}-%{name}-%{version}
 %endif
 
+# Create a sysusers.d config file
+cat >nrpe.sysusers.conf <<EOF
+u nrpe - 'NRPE user for the NRPE service' %{_localstatedir}/run/%{name} -
+m nrpe nagios
+EOF
+
 %build
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="%{?__global_ldflags}" \
 %configure \
     --with-nrpe-port=%{nsport} \
     --with-nrpe-user=nrpe \
     --with-nrpe-group=nrpe \
     --with-piddir=/run/nrpe \
     --bindir=%{_sbindir} \
@@ -142,20 +148,19 @@ install -D -p -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/sysconfig/%{name}
 install -d %{buildroot}%{_sysconfdir}/nrpe.d
 install -d %{buildroot}%{_localstatedir}/run/%{name}
 install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 %if 0%{?rhel} > 5
 # Selinux configs
 install -p -m 644 -D %{name}_epel.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/%{name}_epel.pp
 %endif
 
+install -m0644 -D nrpe.sysusers.conf %{buildroot}%{_sysusersdir}/nrpe.conf
+
 %pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-%{_sbindir}/useradd -c "NRPE user for the NRPE service" -d %{_localstatedir}/run/%{name} -r -g %{name} -s /sbin/nologin %{name} 2> /dev/null || :
 getent group nagios >/dev/null && %{_sbindir}/usermod -a -G nagios %{name} || :
 
 %preun
 %systemd_preun nrpe.service
 
 %post
 %systemd_post nrpe.service
 
@@ -194,29 +199,33 @@ fi
 %{_sbindir}/nrpe
 %dir %{_sysconfdir}/nrpe.d
 %config(noreplace) %{_sysconfdir}/nagios/nrpe.cfg
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %config(noreplace) %{_tmpfilesdir}/%{name}.conf
 %license LICENSE.md
 %doc CHANGELOG.md LEGAL README.md README.SSL.md SECURITY.md docs/NRPE.pdf
 %dir %attr(775, %{name}, %{name}) %{_localstatedir}/run/%{name}
+%{_sysusersdir}/nrpe.conf
 
 %files -n nagios-plugins-nrpe
 %{_libdir}/nagios/plugins/check_nrpe
 %license LICENSE.md
 %doc CHANGELOG.md LEGAL README.md
 
 %if 0%{?rhel} > 5
 %files selinux
 %doc README.SELinux.rst
 %{_datadir}/selinux/packages/%{name}/%{name}_epel.pp
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.3-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.3-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Dec 11 2024 Ján ONDREJ (SAL) <ondrejj(at)salstar.sk> - 4.1.3-1
 - Update to upstream.
 
 * Tue Dec 10 2024 Ján ONDREJ (SAL) <ondrejj(at)salstar.sk> - 4.1.2-2
 - Use openssl-devel-engine only on Fedora
RPMAutoSpec usage detected, not changing the spec file.
diff --git nsd/nsd.spec nsd/nsd.spec.tmp
index 0877725992..a3b7949247 100644
--- nsd/nsd.spec
+++ nsd/nsd.spec.tmp
@@ -9,31 +9,35 @@ Source0: http://www.nlnetlabs.nl/downloads/%{name}/%{name}-%{version}%{?prever}.
 Source1: nsd.conf
 Source2: nsd.service
 Source3: tmpfiles-nsd.conf
 BuildRequires: make
 BuildRequires: gcc
 BuildRequires: flex
 BuildRequires: openssl-devel
 BuildRequires: libevent-devel
-Requires(pre): shadow-utils
 BuildRequires: systemd-units
 BuildRequires: systemd-devel
 Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
 %description
 NSD is a complete implementation of an authoritative DNS name server.
 For further information about what NSD is and what NSD is not please
 consult the REQUIREMENTS document which is a part of this distribution.
 
 %prep
 %setup -q -n %{name}-%{version}%{?prever}
 
+# Create a sysusers.d config file
+cat >nsd.sysusers.conf <<EOF
+u nsd - 'nsd daemon account' /etc/nsd -
+EOF
+
 %build
 CFLAGS="%{optflags} -fPIE -pie"
 LDFLAGS="-Wl,-z,relro,-z,now"
 export CFLAGS LDFLAGS
 %configure \
     --enable-bind8-stats \
     --enable-zone-stats \
     --enable-checking \
@@ -71,16 +75,18 @@ for name in control server; do
 done
 
 # Take care of the configuration
 mkdir -p %{buildroot}%{_sysconfdir}/nsd/conf.d
 mkdir -p %{buildroot}%{_sysconfdir}/nsd/server.d
 install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/nsd/nsd.conf
 rm %{buildroot}%{_sysconfdir}/nsd/nsd.conf.sample
 
+install -m0644 -D nsd.sysusers.conf %{buildroot}%{_sysusersdir}/nsd.conf
+
 %files
 %license LICENSE
 %doc doc/*
 %doc contrib/nsd.zones2nsd.conf
 %dir %{_sysconfdir}/nsd
 %config(noreplace) %{_sysconfdir}/nsd/nsd.conf
 %attr(0640,root,nsd) %ghost %{_sysconfdir}/nsd/nsd_server.key
 %attr(0640,root,nsd) %ghost %{_sysconfdir}/nsd/nsd_server.pem
@@ -89,23 +95,18 @@ rm %{buildroot}%{_sysconfdir}/nsd/nsd.conf.sample
 %dir %{_sysconfdir}/nsd/conf.d
 %dir %{_sysconfdir}/nsd/server.d
 %attr(0644,root,root) %{_unitdir}/nsd.service
 %attr(0644,root,root) %{_tmpfilesdir}/nsd.conf
 %attr(0755,nsd,nsd) %dir %{_rundir}/nsd
 %attr(0750,nsd,nsd) %dir %{_sharedstatedir}/nsd
 %{_sbindir}/*
 %{_mandir}/*/*
+%{_sysusersdir}/nsd.conf
 
-%pre
-getent group nsd >/dev/null || groupadd -r nsd
-getent passwd nsd >/dev/null || \
-useradd -r -g nsd -d /etc/nsd -s /sbin/nologin \
-    -c "nsd daemon account" nsd
-exit 0
 
 %post
 %systemd_post nsd.service
 
 %preun
 %systemd_preun nsd.service
 
 %postun
diff --git nss-pam-ldapd/nss-pam-ldapd.spec nss-pam-ldapd/nss-pam-ldapd.spec.tmp
index 74ef96bf66..5b4be98656 100644
--- nss-pam-ldapd/nss-pam-ldapd.spec
+++ nss-pam-ldapd/nss-pam-ldapd.spec.tmp
@@ -1,16 +1,16 @@
 %global nssdir /%{_lib}
 %global pamdir /%{_lib}/security
 
 %define _hardened_build 1
 
 Name:           nss-pam-ldapd
 Version:        0.9.10
-Release:        18%{?dist}
+Release:        19%{?dist}
 Summary:        An nsswitch module which uses directory servers
 License:        LGPL-2.0-or-later
 URL:            http://arthurdejong.org/nss-pam-ldapd/
 Source0:        http://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-%{version}.tar.gz
 Source1:        http://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-%{version}.tar.gz.sig
 Source3:        nslcd.tmpfiles
 Source4:        nslcd.service
 
@@ -37,27 +37,32 @@ Provides:       nss-ldapd = %{version}-%{release}
 Provides:       nss_ldap = 265-12
 Obsoletes:      nss_ldap < 265-11
 
 # Obsolete PADL's pam_ldap
 Provides:       pam_ldap = 185-15
 Obsoletes:      pam_ldap < 185-15
 
 # For user/group creation
-Requires(pre):  shadow-utils
 
 %description
 The nss-pam-ldapd daemon, nslcd, uses a directory server to look up name
 service information (users, groups, etc.) on behalf of a lightweight
 nsswitch module.
 
 %prep
 %autosetup -p1
 autoreconf -f -i
 
+# Create a sysusers.d config file
+cat >nss-pam-ldapd.sysusers.conf <<EOF
+g ldap 55
+u nslcd 65 'LDAP Client User' / -
+EOF
+
 %build
 %configure --libdir=%{nssdir} \
            --disable-utils \
            --with-pam-seclib-dir=%{pamdir} \
            --with-nslcd-pidfile=/run/nslcd/nslcd.pid \
            --with-nslcd-socket=/run/nslcd/socket
 %make_build
 
@@ -74,47 +79,47 @@ ln -s libnss_ldap.so.2 $RPM_BUILD_ROOT/%{nssdir}/libnss_ldap.so
 
 sed -i -e 's,^uid.*,uid nslcd,g' -e 's,^gid.*,gid ldap,g' \
 $RPM_BUILD_ROOT/%{_sysconfdir}/nslcd.conf
 touch -r nslcd.conf $RPM_BUILD_ROOT/%{_sysconfdir}/nslcd.conf
 mkdir -p -m 0755 $RPM_BUILD_ROOT/run/nslcd
 mkdir -p -m 0755 $RPM_BUILD_ROOT/%{_tmpfilesdir}
 install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf
 
+install -m0644 -D nss-pam-ldapd.sysusers.conf %{buildroot}%{_sysusersdir}/nss-pam-ldapd.conf
+
 %files
 %doc AUTHORS ChangeLog COPYING HACKING NEWS README TODO
 %{_sbindir}/*
 %{nssdir}/*.so*
 %{pamdir}/pam_ldap.so
 %{_mandir}/*/*
 %attr(0600,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/nslcd.conf
 %attr(0644,root,root) %config(noreplace) %{_tmpfilesdir}/%{name}.conf
 %{_unitdir}/nslcd.service
 %attr(0775,nslcd,root) /run/nslcd
+%{_sysusersdir}/nss-pam-ldapd.conf
 
-%pre
-getent group  ldap  > /dev/null || \
-/usr/sbin/groupadd -r -g 55 ldap
-getent passwd nslcd > /dev/null || \
-/usr/sbin/useradd -r -g ldap -c 'LDAP Client User' \
-    -u 65 -d / -s /sbin/nologin nslcd 2> /dev/null || :
 
 %post
 # The usual stuff.
 /sbin/ldconfig
 %systemd_post nslcd.service
 
 %preun
 %systemd_preun nslcd.service
 
 %postun
 /sbin/ldconfig
 %systemd_postun_with_restart nslcd.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.10-19
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git ntp-refclock/ntp-refclock.spec ntp-refclock/ntp-refclock.spec.tmp
index eeac070b20..995633e84c 100644
--- ntp-refclock/ntp-refclock.spec
+++ ntp-refclock/ntp-refclock.spec.tmp
@@ -1,23 +1,22 @@
 %global ntp_version 4.2.8p18
 
 Name:		ntp-refclock
 Version:	0.6
-Release:	7%{?dist}
+Release:	8%{?dist}
 Summary:	Drivers for hardware reference clocks
 License:	BSD-2-Clause AND NTP AND BSD-3-Clause AND BSD-4-Clause AND Beerware
 URL:		https://github.com/mlichvar/ntp-refclock
 Source0:	https://github.com/mlichvar/ntp-refclock/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:	https://downloads.nwtime.org/ntp/4.2.8/ntp-%{ntp_version}.tar.gz
 Patch0:		ntp-refclock-configure-c99.patch
 
 BuildRequires:	gcc make systemd pps-tools-devel
 
-Requires(pre):	shadow-utils
 Requires:	udev
 %{?systemd_requires}
 
 # The drivers and some code they need are from ntp
 Provides:	bundled(ntp) = %{ntp_version}
 
 %description
 ntp-refclock is a wrapper for reference clock drivers included in the ntpd
@@ -43,16 +42,21 @@ for p in $preserve_timestamps ; do
     touch -r $p.timestamp $p
     rm $p.timestamp
 done
 popd
 
 # Refer to packaged documentation for drivers
 sed -i 's|<https:.*refclock.html>|in %{_pkgdocdir}/drivers/|' ntp-refclock.8
 
+# Create a sysusers.d config file
+cat >ntp-refclock.sysusers.conf <<EOF
+u ntp-refclock - 'Reference clock driver' / -
+EOF
+
 %build
 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-overflow"
 
 pushd ntp
 
 %configure \
 	--enable-all-clocks \
 	--enable-parse-clocks \
@@ -89,22 +93,18 @@ install -m 644 -p examples/ntp-refclock.sysconfig \
 	$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ntp-refclock
 install -m 644 -p examples/ntp-refclock.rules \
 	$RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/80-ntp-refclock.rules
 install -m 644 -p examples/ntp-refclock.service \
 	$RPM_BUILD_ROOT%{_unitdir}/ntp-refclock.service
 install -m 644 -p examples/pps-ldattach@.service \
 	$RPM_BUILD_ROOT%{_unitdir}/pps-ldattach@.service
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-	useradd -r -g %{name} -d / -s /sbin/nologin \
-		-c "Reference clock driver" %{name}
-:
+install -m0644 -D ntp-refclock.sysusers.conf %{buildroot}%{_sysusersdir}/ntp-refclock.conf
+
 
 %post
 %systemd_post ntp-refclock.service
 
 %preun
 %systemd_preun ntp-refclock.service
 
 %postun
@@ -113,18 +113,22 @@ getent passwd %{name} >/dev/null || \
 %files
 %license COPYRIGHT*
 %doc README NEWS ntp/html/drivers
 %config(noreplace) %{_sysconfdir}/sysconfig/ntp-refclock
 %config(noreplace) %{_sysconfdir}/udev/rules.d/80-ntp-refclock.rules
 %{_sbindir}/%{name}
 %{_mandir}/man8/%{name}.8*
 %{_unitdir}/*.service
+%{_sysusersdir}/ntp-refclock.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.6-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon May 27 2024 Miroslav Lichvar <mlichvar@redhat.com> 0.6-5
 - update ntp to 4.2.8p18
diff --git ntpsec/ntpsec.spec ntpsec/ntpsec.spec.tmp
index f9114a07ad..28120983e2 100644
--- ntpsec/ntpsec.spec
+++ ntpsec/ntpsec.spec.tmp
@@ -1,11 +1,11 @@
 Name:           ntpsec
 Version:        1.2.3
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        NTP daemon and utilities
 
 License:        NTP AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC AND Apache-2.0 AND Beerware
 URL:            https://www.ntpsec.org/
 Source0:        https://ftp.ntpsec.org/pub/releases/ntpsec-%{version}.tar.gz
 Source1:        https://ftp.ntpsec.org/pub/releases/ntpsec-%{version}.tar.gz.asc
 Source2:        https://ftp.ntpsec.org/pub/releases/ntpsec.gpg.pub.asc
 Source3:        ntp.conf
@@ -22,17 +22,16 @@ BuildRequires:  python3-devel
 BuildRequires:  rubygem-asciidoctor
 BuildRequires:  systemd
 BuildRequires:  waf
 
 # Use the bundled waf script instead of the system one until ntpsec supports
 # the newer version
 %global waf python3 waf
 
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 
 Conflicts:      ntp ntp-perl ntpdate
 Obsoletes:      ntp < 4.2.10 ntp-perl < 4.2.10 ntp-doc < 4.2.10 ntpdate < 4.2.10 sntp < 4.2.10
 
 # Set pool.ntp.org vendor zone for default configuration
 %if 0%{!?vendorzone:1}
 %global vendorzone %(source /etc/os-release && echo ${ID}.)
@@ -61,16 +60,21 @@ Protocol derived from the original NTP project.
 
 # Fix egg info to use a shorter version which will work as an rpm provide
 sed -i 's|NTPSEC_VERSION_EXTENDED|NTPSEC_VERSION|' pylib/ntp-in.egg-info
 
 # Modify compiled-in statsdir
 sed -i 's|/var/NTP|%{_localstatedir}/log/ntpstats|' \
         docs/includes/ntpd-body.adoc ntpd/ntp_util.c
 
+# Create a sysusers.d config file
+cat >ntpsec.sysusers.conf <<EOF
+u ntp 38 - %{_localstatedir}/lib/ntp -
+EOF
+
 %build
 export CFLAGS="$RPM_OPT_FLAGS"
 export LDFLAGS="$RPM_LD_FLAGS"
 
 %{waf} configure \
         --enable-debug \
         --disable-doc \
         --refclock=all \
@@ -120,24 +124,21 @@ mv .%{_bindir}/ntpq .%{_sbindir}/ntpq
 mkdir -p .%{_localstatedir}/{lib/ntp,log/ntpstats}
 touch .%{_localstatedir}/lib/ntp/ntp.drift
 
 mkdir -p .%{_prefix}/lib/systemd/ntp-units.d
 echo 'ntpd.service' > .%{_prefix}/lib/systemd/ntp-units.d/60-ntpd.list
 
 popd
 
+install -m0644 -D ntpsec.sysusers.conf %{buildroot}%{_sysusersdir}/ntpsec.conf
+
 %check
 %{waf} check
 
-%pre
-# UID/GID inherited from the ntp package
-/usr/sbin/groupadd -g 38 ntp 2> /dev/null || :
-/usr/sbin/useradd -u 38 -g 38 -s /sbin/nologin -M -r \
-        -d %{_localstatedir}/lib/ntp ntp 2>/dev/null || :
 
 %post
 %systemd_post ntpd.service ntp-wait.service
 systemctl daemon-reload 2> /dev/null || :
 
 %preun
 %systemd_preun ntpd.service ntp-wait.service
 
@@ -187,18 +188,22 @@ sed -i.bak -E '/^restrict/s/no(e?peer|trap)//g' %{_sysconfdir}/ntp.conf
 %{_unitdir}/ntp*.service
 %{_unitdir}/ntp*.timer
 %{_prefix}/lib/systemd/ntp-units.d/*ntpd.list
 %dir %attr(-,ntp,ntp) %{_localstatedir}/lib/ntp
 %ghost %attr(644,ntp,ntp) %{_localstatedir}/lib/ntp/ntp.drift
 %dir %attr(-,ntp,ntp) %{_localstatedir}/log/ntpstats
 %{python3_sitearch}/ntp-*.egg-info
 %{python3_sitearch}/ntp
+%{_sysusersdir}/ntpsec.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.3-11
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.3-10
 - Also add Provides:/usr/sbin/ntpdate (rhbz#2338300)
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.3-9
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Tue Dec 03 2024 Miroslav Lichvar <mlichvar@redhat.com> 1.2.3-8
 - switch to building with bundled waf (#2329938)
diff --git nut/nut.spec nut/nut.spec.tmp
index d3f0edcda0..72943f615f 100644
--- nut/nut.spec
+++ nut/nut.spec.tmp
@@ -9,28 +9,27 @@
 %global piddir  /run/nut
 %global modeldir /usr/sbin
 # powerman is retired on Fedora, therefore disable it by default
 %bcond_with powerman
 
 Summary: Network UPS Tools
 Name: nut
 Version: 2.8.2.1
-Release: 3%{?dist}.1.git20240703pr2505
+Release: 4%{?dist}.1.git20240703pr2505
 License: GPL-2.0-or-later AND GPL-3.0-or-later
 Url: https://www.networkupstools.org/
 Source: https://www.networkupstools.org/source/2.8/%{name}-%{version}.tar.gz
 Source4: libs.sh
 Patch2: nut-2.8.0-piddir-owner.patch
 
 #quick fix. TODO: fix it properly
 Patch9: nut-2.6.5-rmpidf.patch
 Patch15: nut-c99-strdup.patch
 
-Requires(pre): shadow-utils
 Requires(post): coreutils systemd
 Requires(preun): systemd
 Requires(postun): coreutils systemd
 Recommends: nut-xml
 
 BuildRequires: make
 BuildRequires: autoconf
 BuildRequires: automake
@@ -85,32 +84,30 @@ of UPSes that are found out there in the field. Many models have serial
 ports of some kind that allow some form of state checking. This
 capability has been harnessed where possible to allow for safe shutdowns,
 live status tracking on web pages, and more.
 
 %package client
 Summary: Network UPS Tools client monitoring utilities
 Requires(post): systemd
 Requires(preun): systemd
-Requires(pre): shadow-utils
 %if %{with python2}
 Requires: pygtk2, pygtk2-libglade
 #only for python and gui part
 %endif
 #Requires:
 
 %description client
 This package includes the client utilities that are required to monitor a
 ups that the client host has access to, but where the UPS is physically
 attached to a different computer on the network.
 
 %package cgi
 Summary: CGI utilities for the Network UPS Tools
 Requires: %{name}-client = %{version}-%{release} webserver
-Requires(pre): shadow-utils
 
 %description cgi
 This package includes CGI programs for accessing UPS status via a web
 browser.
 
 %package xml
 Summary: XML UPS driver for the Network UPS Tools
 Requires: %{name}-client = %{version}-%{release}
@@ -139,16 +136,23 @@ sed -i 's|LIBSSL_LDFLAGS|LIBSSL_LIBS|' lib/libupsclient-config.in
 sed -i 's|LIBSSL_LDFLAGS|LIBSSL_LIBS|' lib/libupsclient.pc.in
 
 # workaround for multilib conflicts - caused by patch changing modification time of scripts
 find . -mtime -1 -print0 | xargs -0 touch --reference %{SOURCE0}
 
 # fix python site packages check
 sed -i 's|\(PYTHON3\?_SITE_PACKAGES=\)".*"|\1"%{python3_sitelib}"|' m4/nut_check_python.m4
 
+# Create a sysusers.d config file
+cat >nut.sysusers.conf <<EOF
+u nut %{nut_uid} 'Network UPS Tools' %{_localstatedir}/lib/ups /bin/false
+m nut dialout
+m nut tty
+EOF
+
 %build
 %if 0%{?fedora} > 38
 #--without-gpio is not enough to stop it complaining about missing library
 sed -i 's|with_gpio="[^"]*"|with_gpio="no"|g' configure.ac
 %endif
 autoreconf -i
 export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS"
 # prevent assignment of default value, it would break configure's tests
@@ -245,21 +249,19 @@ install -p -D scripts/python/app/nut-monitor.png %{buildroot}%{_datadir}/pixmaps
 desktop-file-install --dir=%{buildroot}%{_datadir}/applications scripts/python/app/nut-monitor.desktop
 ln -s %{_datadir}/nut/nut-monitor/nut-monitor %{buildroot}%{_bindir}/nut-monitor
 %endif
 
 # Setup permissions for pid file
 touch %{buildroot}/%{piddir}/upsmon.pid
 chmod 0644 %{buildroot}/%{piddir}/upsmon.pid
 
+install -m0644 -D nut.sysusers.conf %{buildroot}%{_sysusersdir}/nut.conf
+
 %pre
-/usr/sbin/useradd -c "Network UPS Tools" -u %{nut_uid}  \
-        -s /bin/false -r -d %{_localstatedir}/lib/ups %{name} 2> /dev/null || :
-/usr/sbin/usermod -G dialout,tty %{name}
-
 # do not let upsmon run during upgrade rhbz#916472
 # phase 1: stop upsmon before upsd changes
 if [ "$1" = "2" ]; then
   rm -f %restart_flag
   /bin/systemctl is-active nut-monitor.service >/dev/null 2>&1 && touch %restart_flag ||:
   /bin/systemctl stop nut-monitor.service >/dev/null 2>&1
 fi
 
@@ -409,16 +411,17 @@ fi
 %{_mandir}/man8/tripplite_usb.8.gz
 %{_mandir}/man8/tripplitesu.8.gz
 %{_mandir}/man8/victronups.8.gz
 %{_mandir}/man8/upscode2.8*
 %{_mandir}/man8/upsd.8.gz
 %{_mandir}/man8/upsdrvctl.8.gz
 %{_mandir}/man8/upsdrvsvcctl.8.gz
 %{_mandir}/man8/usbhid-ups.8.gz
+%{_sysusersdir}/nut.conf
 
 %files client
 %license COPYING LICENSE-GPL2 LICENSE-GPL3
 %dir %{_sysconfdir}/ups
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/nut.conf
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upsmon.conf
 %config(noreplace) %attr(640,root,nut) %{_sysconfdir}/ups/upssched.conf
 %{_tmpfilesdir}/nut-common-tmpfiles.conf
@@ -486,16 +489,19 @@ fi
 %{_libdir}/libnutclientstub.so
 %{_libdir}/libnutscan.so
 %{_libdir}/pkgconfig/libupsclient.pc
 %{_libdir}/pkgconfig/libnutclient.pc
 %{_libdir}/pkgconfig/libnutclientstub.pc
 %{_libdir}/pkgconfig/libnutscan.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.8.2.1-4.1.git20240703pr2505
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.2.1-3.1.git20240703pr2505
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Nov 15 2024 Orion Poplawski <orion@nwra.com> - 2.8.2.1-2.1.git20240703pr2505
 - Add BR systemd-devel to enable systemd notification support
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.2.1-1.1.git20240703pr2505
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git obs-signd/obs-signd.spec obs-signd/obs-signd.spec.tmp
index 2209c892b8..7995b44da0 100644
--- obs-signd/obs-signd.spec
+++ obs-signd/obs-signd.spec.tmp
@@ -16,32 +16,36 @@ Version:          2.8.4
 Release:          %autorelease
 #Release:          %%{baserelease}%%{?snapshotrel}%%{?dist}
 Source0:          https://github.com/openSUSE/%{shortname}/archive/refs/tags/%{version}.tar.gz#/%{shortname}-%{version}.tar.gz
 # We renamed the option in gnupg2 to 'file-is-digest'
 Patch0:           0001-Rename-option-files-are-digests-to-file-is-digest.patch
 # https://github.com/openSUSE/obs-sign/pull/6
 Patch1:           0002-fixes-user-id-matching-to-provide-unique-results.patch
 Requires:         gnupg2
-Requires(pre):    shadow-utils
 BuildRequires:    perl-generators
 BuildRequires:    systemd
 BuildRequires:    gcc
 BuildRequires:    make
 
 %description
 The OpenSUSE Build Service sign client and daemon.
 
 This daemon can be used to sign anything via gpg by communicating
 with a remote server to avoid the need to host the private key
 on the same server.
 
 %prep
 %autosetup -n %{shortname}-%{version}
 
+# Create a sysusers.d config file
+cat >obs-signd.sysusers.conf <<EOF
+u obsrun - 'User for Open Build Service backend' %{_libdir}/obs /bin/false
+EOF
+
 %build
 %make_build CFLAGS="%{build_cflags}" LDFLAGS="%{build_ldflags}" sign
 
 %install
 mkdir -p %{buildroot}%{_sbindir} %{buildroot}%{_sysconfdir}
 install -d -m 0755 %{buildroot}%{_bindir}
 
 # binaries and configuration
@@ -56,38 +60,35 @@ install -m 0644 dist/signd.service %{buildroot}%{_unitdir}
 
 # man pages
 install -d -m 0755 %{buildroot}%{_mandir}/man{5,8}
 
 for f in 5 8; do
   install -m 0644 sig*.${f} %{buildroot}%{_mandir}/man${f}/
 done
 
-%pre
-getent group obsrun >/dev/null || %{_sbindir}/groupadd -r obsrun
-getent passwd obsrun >/dev/null || \
-  %{_sbindir}/useradd -r -s /bin/false -c "User for Open Build Service backend" \
-                         -d %{_libdir}/obs -g obsrun obsrun
-exit 0
+install -m0644 -D obs-signd.sysusers.conf %{buildroot}%{_sysusersdir}/obs-signd.conf
+
 
 %post
 %systemd_post signd.service
 
 %preun
 %systemd_preun signd.service
 
 %postun
 %systemd_postun_with_restart signd.service
 
 %files
 %config(noreplace) %{_sysconfdir}/sign.conf
 %attr(4750,root,obsrun) %{_bindir}/sign
 %{_sbindir}/signd
 %{_unitdir}/signd.service
 %doc %{_mandir}/man*/*
+%{_sysusersdir}/obs-signd.conf
 
 %changelog
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Jan 29 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
 
RPMAutoSpec usage detected, not changing the spec file.
diff --git ocserv/ocserv.spec ocserv/ocserv.spec.tmp
index 5663985279..d1219e4619 100644
--- ocserv/ocserv.spec
+++ ocserv/ocserv.spec.tmp
@@ -95,17 +95,16 @@ BuildRequires:	libseccomp-devel
 # no rubygem in epel7
 %if 0%{?fedora}
 BuildRequires:	rubygem-ronn-ng
 %endif
 
 Recommends:		gnutls-utils
 Recommends:		iproute
 Recommends:		pam
-Requires(pre):		shadow-utils
 %if %{use_systemd}
 Requires(post):		systemd
 Requires(preun):	systemd
 Requires(postun):	systemd
 %endif
 
 #gnulib is bundled. See https://fedorahosted.org/fpc/ticket/174
 Provides:		bundled(gnulib)
@@ -136,16 +135,21 @@ touch src/*.proto
 rm -rf src/ccan/talloc
 sed -i 's|/etc/ocserv.conf|/etc/ocserv/ocserv.conf|g' src/config.c
 sed -i 's/run-as-group = nogroup/run-as-group = nobody/g' tests/data/*.config
 
 %if 0%{?rhel} && 0%{?rhel} <= 6
 echo "int main() { return 77; }" > tests/valid-hostname.c
 %endif
 
+# Create a sysusers.d config file
+cat >ocserv.sysusers.conf <<EOF
+u ocserv - 'ocserv' %{_localstatedir}/lib/ocserv -
+EOF
+
 %build
 
 %if 0%{?rhel} && 0%{?rhel} <= 6
 export PKG_CONFIG_LIBDIR="%{_libdir}/gnutls30/pkgconfig:%{_libdir}/pkgconfig"
 export LIBGNUTLS_CFLAGS="-I/usr/include/gnutls30"
 export LIBGNUTLS_LIBS="-L%{_libdir}/gnutls30/ -lgnutls"
 export CFLAGS="$CFLAGS -I/usr/include/libev -I/usr/include/gnutls30"
 sed -i 's/AM_PROG_AR//g' configure.ac
@@ -166,20 +170,16 @@ autoreconf -fvi
 	--with-libwrap
 %else
 	--without-libwrap
 %endif
 
 make %{?_smp_mflags}
 
 %pre
-getent group ocserv &>/dev/null || groupadd -r ocserv
-getent passwd ocserv &>/dev/null || \
-	/usr/sbin/useradd -r -g ocserv -s /sbin/nologin -c ocserv \
-		-d %{_localstatedir}/lib/ocserv ocserv
 mkdir -p %{_sysconfdir}/pki/ocserv/public
 mkdir -p -m 700 %{_sysconfdir}/pki/ocserv/private
 mkdir -p %{_sysconfdir}/pki/ocserv/cacerts
 
 %check
 make check %{?_smp_mflags} VERBOSE=1
 
 %if %{use_systemd}
@@ -220,16 +220,18 @@ mkdir -p %{buildroot}/%{_unitdir}
 install -p -m 644 %{SOURCE4} %{buildroot}/%{_unitdir}
 %else
 mkdir -p %{buildroot}/%{_initrddir}
 install -D -m 0755 %{SOURCE11} %{buildroot}/%{_initrddir}/%{name}
 %endif
 
 %make_install
 
+install -m0644 -D ocserv.sysusers.conf %{buildroot}%{_sysusersdir}/ocserv.conf
+
 %files
 %defattr(-,root,root,-)
 
 %dir %{_localstatedir}/lib/ocserv
 %dir %{_sysconfdir}/ocserv
 
 %config(noreplace) %{_sysconfdir}/ocserv/ocserv.conf
 %config(noreplace) %{_sysconfdir}/pam.d/ocserv
@@ -250,11 +252,12 @@ install -D -m 0755 %{SOURCE11} %{buildroot}/%{_initrddir}/%{name}
 %{_sbindir}/ocserv-worker
 %{_sbindir}/ocserv-genkey
 %{_localstatedir}/lib/ocserv/profile.xml
 %if %{use_systemd}
 %{_unitdir}/ocserv.service
 %else
 %{_initrddir}/%{name}
 %endif
+%{_sysusersdir}/ocserv.conf
 
 %changelog
 %autochangelog
diff --git ocspd/ocspd.spec ocspd/ocspd.spec.tmp
index 588c1749d8..fe65933749 100644
--- ocspd/ocspd.spec
+++ ocspd/ocspd.spec.tmp
@@ -1,15 +1,15 @@
 # % global alphatag	rc1
 %global revision	%{?alphatag:-}%{?alphatag}
 
 
 Name:		ocspd
 Version:	1.9.0
-Release:	33%{?alphatag:.}%{?alphatag}%{?dist}
+Release:	34%{?alphatag:.}%{?alphatag}%{?dist}
 Summary:	OpenCA OCSP Daemon
 License:	Apache-1.0
 Source:		http://downloads.sourceforge.net/openca/openca-ocspd-%{version}%{revision}.tar.gz
 Source1:	ocspd.service
 Patch1:		ocspd-1.7.0-bufresponse.patch
 Patch2:		ocspd-1.9.0-misc.patch
 Patch3:		ocspd-1.7.0-openssl.patch
 Patch4:		ocspd-1.7.0-podsyntax.patch
@@ -20,17 +20,16 @@ Patch8:		ocspd-1.7.0-threadinit.patch
 Patch9:		ocspd-1.7.0-config.patch
 Patch10:	ocspd-1.7.0-setgroups.patch
 Patch11:	ocspd-1.9.0-stealthy.patch
 Patch12:	ocspd-1.9.0-noformat.patch
 Patch13:	ocspd-1.9.0-openssl11.patch
 URL:		http://www.openca.org/projects/ocspd
 Obsoletes:	openca-ocspd <= %{version}-%{release}
 Provides:	openca-ocspd = %{version}-%{release}
-Requires(pre):	shadow-utils
 BuildRequires:	make
 BuildRequires:	gcc
 BuildRequires:	openssl-devel
 %if 0%{?fedora} >= 41
 BuildRequires:	openssl-devel-engine
 %endif
 BuildRequires:	openldap-devel
 BuildRequires:	automake autoconf
@@ -61,16 +60,21 @@ Mozilla/Firefox/Thunderbird/Apache).
 %patch -P7 -p1 -b .deprecldap
 %patch -P8 -p1 -b .threadinit
 %patch -P9 -p1 -b .config
 %patch -P10 -p1 -b .setgroups
 %patch -P11 -p1 -b .stealthy
 %patch -P12 -p1 -b .noformat
 %patch -P13 -p1 -b .openssl11
 
+# Create a sysusers.d config file
+cat >ocspd.sysusers.conf <<EOF
+u ocspd - 'OCSP Responder' %{_sysconfdir}/ocspd -
+EOF
+
 
 #-------------------------------------------------------------------------------
 %build
 #-------------------------------------------------------------------------------
 
 #	Need automake/autoconf rebuild because of above patches.
 
 aclocal
@@ -98,25 +102,19 @@ make DESTDIR="${RPM_BUILD_ROOT}" install
 
 rm -rf "${RPM_BUILD_ROOT}%{_initrddir}"
 
 #	Install systemd service script.
 
 mkdir -p "${RPM_BUILD_ROOT}%{_unitdir}/"
 cp -a "%{SOURCE1}" "${RPM_BUILD_ROOT}%{_unitdir}/"
 
-#-------------------------------------------------------------------------------
-%pre
 #-------------------------------------------------------------------------------
 
-getent group ocspd >/dev/null || groupadd -r ocspd
-getent passwd ocspd >/dev/null ||
-	useradd -r -g ocspd -d "%{_sysconfdir}/ocspd"			\
-		-s /sbin/nologin -c "OCSP Responder" ocspd
-exit 0
+install -m0644 -D ocspd.sysusers.conf %{buildroot}%{_sysusersdir}/ocspd.conf
 
 
 #-------------------------------------------------------------------------------
 %post
 #-------------------------------------------------------------------------------
 
 %systemd_post ocspd.service
 
@@ -151,20 +149,24 @@ exit 0
 %{_sbindir}/*
 %dir %{_sysconfdir}/ocspd
 %dir %{_sysconfdir}/ocspd/c*
 %attr(700, ocspd, root) %dir %{_sysconfdir}/ocspd/private
 %config(noreplace) %{_sysconfdir}/ocspd/ocspd.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/*
 %{_mandir}/*/*
 %{_unitdir}/*
+%{_sysusersdir}/ocspd.conf
 
 
 #-------------------------------------------------------------------------------
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.9.0-34
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-33
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 #-------------------------------------------------------------------------------
 
 * Tue Jul 23 2024 Patrick Monnerat <patrick@monnerat.net> 1.9.0-32
 - BR openssl-devel-engine for Fedora >= 41.
 
diff --git odcs/odcs.spec odcs/odcs.spec.tmp
index fbb0180507..90b9ecd9b3 100644
--- odcs/odcs.spec
+++ odcs/odcs.spec.tmp
@@ -1,11 +1,11 @@
 Name:       odcs
 Version:    0.8.1
-Release:    4%{?dist}
+Release:    5%{?dist}
 Summary:    The On Demand Compose Service
 
 
 License:    MIT
 URL:        https://pagure.io/odcs
 Source0:    https://files.pythonhosted.org/packages/source/o/%{name}/%{name}-%{version}.tar.gz
 Source1:    odcs-backend.service
 # Fedora related configuration for ODCS.
@@ -40,17 +40,16 @@ BuildRequires:    python3-psutil
 BuildRequires:    python3-flufl-lock
 BuildRequires:    python3-celery
 BuildRequires:    python3-kobo
 BuildRequires:    python3-prometheus_client
 BuildRequires:    python3-tomli
 
 %{?systemd_requires}
 
-Requires(pre): shadow-utils
 Requires:    systemd
 Requires:    pungi
 Requires:    python3-requests-gssapi
 Requires:    python3-funcsigs
 Requires:    python3-openidc-client
 Requires:    python3-productmd
 Requires:    hardlink
 Requires:    python3-libmodulemd
@@ -107,16 +106,21 @@ Requires:       python3-odcs-client = %{version}-%{release}
 
 %description -n odcs-client
 Command line client for sending requests to ODCS.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >odcs.sysusers.conf <<EOF
+u odcs - 'On Demand Compose Service user' - -
+EOF
+
 %build
 %py3_build
 
 
 %install
 %py3_install
 
 export PYTHONPATH=%{buildroot}%{python3_sitelib}
@@ -132,23 +136,19 @@ help2man -N \
 done
 
 install -d -m 0755 %{buildroot}%{_unitdir}
 install -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/
 
 install -d -m 0755 %{buildroot}%{_datadir}/odcs
 install -p -m 0644 server/contrib/odcs.wsgi %{buildroot}%{_datadir}/odcs
 
+install -m0644 -D odcs.sysusers.conf %{buildroot}%{_sysusersdir}/odcs.conf
+
 
-%pre
-getent group odcs >/dev/null || groupadd -r odcs
-getent passwd odcs >/dev/null || \
-    useradd -r -g odcs -s /sbin/nologin \
-    -c "On Demand Compose Service user" odcs
-exit 0
 
 %post
 %systemd_post odcs-backend.service
 
 %preun
 %systemd_preun odcs-backend.service
 
 %postun
@@ -187,19 +187,23 @@ export ODCS_DEVELOPER_ENV=1
 %dir %{_sysconfdir}/odcs
 %config(noreplace) %{_sysconfdir}/odcs/config.py
 %config(noreplace) %{_sysconfdir}/odcs/pungi.conf
 %config(noreplace) %{_sysconfdir}/odcs/raw_config_urls.conf
 %config(noreplace) %{_sysconfdir}/odcs/raw_config_wrapper.conf
 %exclude %{_sysconfdir}/odcs/*.py[co]
 %exclude %{_sysconfdir}/odcs/__pycache__
 %exclude %{python3_sitelib}/odcs/__pycache__
+%{_sysusersdir}/odcs.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8.1-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 15 2025 Lubomír Sedlář <lsedlar@redhat.com> - 0.8.1-3
 - Remove dependency on python3-nose
 
 * Wed Jan 08 2025 Lubomír Sedlář <lsedlar@redhat.com> - 0.8.1-2
 - Drop dependency on python3-fedora
diff --git oidentd/oidentd.spec oidentd/oidentd.spec.tmp
index b7488f41a3..fdfb918429 100644
--- oidentd/oidentd.spec
+++ oidentd/oidentd.spec.tmp
@@ -1,14 +1,14 @@
 # Regenerate documentation with asciidoctor
 %bcond_without  oidentd_enables_asciidoctor
 Summary:    RFC 1413-compliant identification server with NAT support
 Name:       oidentd
 Version:    3.1.0
-Release:    7%{?dist}
+Release:    8%{?dist}
 # COPYING:                  GPL-2.0 text
 # COPYING.DOC:              GFDL-1.3 text
 # doc/book/src/download.md:                                 GFDL-1.3-no-invariants-or-later
 # doc/book/src/getting-started/capabilities.md:             GFDL-1.3-no-invariants-or-later
 # doc/book/src/getting-started/configuration/index.md:      GFDL-1.3-no-invariants-or-later
 # doc/book/src/getting-started/configuration/examples.md:   GFDL-1.3-no-invariants-or-later
 # doc/book/src/getting-started/index.md:                    GFDL-1.3-no-invariants-or-later
 # doc/book/src/getting-started/installation.md:             GFDL-1.3-no-invariants-or-later
@@ -104,17 +104,16 @@ BuildRequires:  libnetfilter_conntrack-devel
 BuildRequires:  make
 %if %{with oidentd_enables_asciidoctor}
 # asciidoctor regenerates the documentation
 BuildRequires:  rubygem-asciidoctor
 %endif
 # sed called by ylwrap
 BuildRequires:  sed
 BuildRequires:  systemd-rpm-macros
-Requires(pre):  shadow-utils
 Provides:       identd = %{version}-%{release}
 
 %description
 The oidentd package contains identd, which implements the RFC 1413
 identification server.  Identd looks up specific TCP/IP connections
 and returns either the user name or other information about the
 process that owns the connection.
 
@@ -136,16 +135,21 @@ truncate -c -s 0 src/missing/vasprintf.c
 rm src/cfg_parse.{c,h}
 rm src/cfg_scan.c
 %if %{with oidentd_enables_asciidoctor}
 rm doc/*.{5,8}
 %endif
 # Remove VCS files
 rm doc/book/.gitignore
 
+# Create a sysusers.d config file
+cat >oidentd.sysusers.conf <<EOF
+u oidentd - 'oidentd daemon' / -
+EOF
+
 %build
 autoreconf -fi
 %configure \
     --disable-debug \
     --enable-ipv6 \
     --enable-libnfct \
     --enable-nat \
     --disable-warn \
@@ -154,21 +158,18 @@ autoreconf -fi
 
 %install
 %{make_install}
 install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/oidentd.service
 install -D -p -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/oidentd
 install -D -p -m 0644 contrib/systemd/oidentd.socket %{buildroot}%{_unitdir}/
 install -D -p -m 0644 contrib/systemd/oidentd\@.service %{buildroot}%{_unitdir}/
 
-%pre
-getent group oidentd >/dev/null || groupadd -r oidentd
-getent passwd oidentd >/dev/null || \
-    useradd -r -g oidentd -d / -s /sbin/nologin -c "oidentd daemon" oidentd
-exit 0
+install -m0644 -D oidentd.sysusers.conf %{buildroot}%{_sysusersdir}/oidentd.conf
+
 
 %post
 %systemd_post oidentd.service
 
 %preun
 %systemd_preun oidentd.service
 
 %postun
@@ -183,18 +184,22 @@ exit 0
 %dir %{_prefix}/lib/systemd
 %dir %{_unitdir}
 %{_unitdir}/oidentd.service
 %{_unitdir}/oidentd@.service
 %{_unitdir}/oidentd.socket
 %{_sbindir}/oidentd
 %{_mandir}/man5/oidentd*
 %{_mandir}/man8/oidentd.*
+%{_sysusersdir}/oidentd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.0-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git omniORB/omniORB.spec omniORB/omniORB.spec.tmp
index 25d7ffdd49..480e55c958 100644
--- omniORB/omniORB.spec
+++ omniORB/omniORB.spec.tmp
@@ -4,17 +4,17 @@
 %global with_systemd 1
 %endif
 
 # openssl enabled by default, add conditional --without openssl
 %bcond_without openssl
 
 Name:           omniORB
 Version:        4.3.2
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        A robust high performance CORBA ORB for C++ and Python
 
 License:        LGPL-2.0-or-later
 URL:            http://omniorb.sourceforge.net
 Source0:        http://downloads.sourceforge.net/project/omniorb/%{name}/%{name}-%{version}/%{name}-%{version}.tar.bz2
 Source1:        omniORB-nameserver.init
 Source2:        omniORB-nameserver.logrotate
 Source3:        omniORB.cfg
@@ -29,17 +29,16 @@ BuildRequires:  zlib-devel
 %if 0%{?with_systemd}
 BuildRequires: systemd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 %else
 Requires(post): chkconfig
 Requires(preun): chkconfig
-Requires(pre):  shadow-utils
 # This is for /sbin/service
 Requires(postun): initscripts
 %endif
 
 # we don't want to provide private python extension libs
 %{?filter_setup:
 %filter_provides_in %{python3_sitearch}/.*\.so$
 %filter_setup
@@ -91,16 +90,21 @@ developing applications that use %{name}.
 
 %prep
 %autosetup -p1
 # Fix shebangs
 sed -i '1s=^#!/usr/bin/\(python\|env python\)[0-9.]*=#!%{__python3}=' \
   ./src/tool/omniidl/python3/scripts/omniidlrun.py \
   ./src/tool/omniidl/python3/omniidl/main.py
 
+# Create a sysusers.d config file
+cat >omniorb.sysusers.conf <<EOF
+u omniORB - 'OmniNames Naming Service' %{_sharedstatedir}/%{name} -
+EOF
+
 %build
 # Per guidelines: if the same functionality is provided regardless of the interpreter version, only the python 3 version should be packaged
 export PYTHON=%{__python3}
 %configure --disable-static %{?with_openssl:--with-openssl=%{_prefix}}
 %make_build
 
 
 
@@ -139,24 +143,20 @@ mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
 # install man pages
 pushd man
 mkdir -p %{buildroot}%{_mandir}/man1
 install -m 0644 man1/* %{buildroot}%{_mandir}/man1/
 mkdir -p %{buildroot}%{_mandir}/man8
 install -m 0644 man8/* %{buildroot}%{_mandir}/man8/
 popd
 
+install -m0644 -D omniorb.sysusers.conf %{buildroot}%{_sysusersdir}/omniorb.conf
+
 %ldconfig_scriptlets
 
-%pre servers
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
--c "OmniNames Naming Service" %{name}
-exit 0
 
 %if 0%{?with_systemd}
 %post servers
 %systemd_post omniNames.service
 
 %preun servers
 %systemd_preun omniNames.service
 
@@ -204,16 +204,17 @@ fi
 %dir %attr(0755, %{name}, root) %{_localstatedir}/run/%{name}
 %endif
 %config(noreplace) %{_sysconfdir}/%{name}.cfg
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{nameserver}
 %dir %attr(0755, %{name}, root) %{_localstatedir}/log/%{name}
 %{_bindir}/omniMapper
 %{_bindir}/%{nameserver}
 %{_mandir}/man8/*
+%{_sysusersdir}/omniorb.conf
 
 %files devel
 %doc doc/
 %{_bindir}/omniidl
 %{_bindir}/omniidlrun.py
 %{_bindir}/omnicpp
 %{_bindir}/omkdepend
 %{_includedir}/*
@@ -236,16 +237,19 @@ fi
 %{_bindir}/nameclt
 %{_mandir}/man1/catior.1.gz
 %{_mandir}/man1/convertior.1.gz
 %{_mandir}/man1/genior.1.gz
 %{_mandir}/man1/nameclt.1.gz
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.3.2-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.2-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 4.3.2-6
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.2-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git opendkim/opendkim.spec opendkim/opendkim.spec.tmp
index c8e601b45f..2ba53b8f47 100644
--- opendkim/opendkim.spec
+++ opendkim/opendkim.spec.tmp
@@ -8,17 +8,17 @@
 %global upname OpenDKIM
 %global bigname OPENDKIM
 
 %global full_version 2.11.0-Beta2
 
 Summary: A DomainKeys Identified Mail (DKIM) milter to sign and/or verify mail
 Name: opendkim
 Version: 2.11.0
-Release: 0.40%{?dist}
+Release: 0.41%{?dist}
 License: BSD-3-Clause AND Sendmail-Open-Source-1.1
 URL: http://%{name}.org/
 Source0: https://github.com/trusteddomainproject/OpenDKIM/archive/%{full_version}.tar.gz
 Source1: opendkim.conf
 Source2: opendkim.sysconfig
 Source3: SigningTable
 Source4: KeyTable
 Source5: TrustedHosts
@@ -32,17 +32,16 @@ Patch1: opendkim-2.11.0-comment-separator.patch
 Patch2: opendkim-systemd-service-simple.patch
 # https://github.com/trusteddomainproject/OpenDKIM/pull/189
 Patch3: opendkim-CVE-2022-48521-fix.patch
 
 # Required for all versions
 Requires: lib%{name}%{?_isa} = %{version}-%{release}
 BuildRequires: make
 BuildRequires: openssl-devel, libtool, pkgconfig, libbsd, libbsd-devel, opendbx-devel, lua-devel
-Requires(pre): shadow-utils
 
 %{?systemd_requires}
 BuildRequires: systemd
 BuildRequires: libdb-devel
 # Fedora 35+ and CentOS 9+ changed to libmemcached-awesome
 %if 0%{?fedora} >= 35 || 0%{?epel} >= 9
 BuildRequires: libmemcached-awesome-devel
 %else
@@ -81,16 +80,22 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
 
 %description -n lib%{name}-devel
 This package contains the static libraries, headers, and other support files
 required for developing applications against libopendkim.
 
 %prep
 %autosetup -p1 -n %{upname}-%{full_version}
 
+# Create a sysusers.d config file
+cat >opendkim.sysusers.conf <<EOF
+u opendkim - '%{upname} Milter' %{_rundir}/%{name} -
+m opendkim mail
+EOF
+
 %build
 autoreconf -iv
 # Always use system libtool instead of pacakge-provided one to
 # properly handle 32 versus 64 bit detection and settings
 %define LIBTOOL LIBTOOL=`which libtool`
 
 %configure --with-odbx --with-db --with-libmemcached --with-openldap --enable-query_cache --with-lua
 
@@ -140,22 +145,18 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}
 mkdir %{buildroot}%{_sysconfdir}/%{name}/keys
 
 install -m 0755 stats/%{name}-reportstats %{buildroot}%{_prefix}/sbin/%{name}-reportstats
 sed -i 's|^%{bigname}STATSDIR="/var/db/%{name}"|%{bigname}STATSDIR="%{_localstatedir}/spool/%{name}"|g' %{buildroot}%{_prefix}/sbin/%{name}-reportstats
 sed -i 's|^%{bigname}DATOWNER="mailnull:mailnull"|%{bigname}DATOWNER="%{name}:%{name}"|g' %{buildroot}%{_prefix}/sbin/%{name}-reportstats
 
 chmod 0644 contrib/convert/convert_keylist.sh
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-	useradd -r -g %{name} -G mail -d %{_rundir}/%{name} -s /sbin/nologin \
-	-c "%{upname} Milter" %{name}
-exit 0
+install -m0644 -D opendkim.sysusers.conf %{buildroot}%{_sysusersdir}/opendkim.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -193,16 +194,17 @@ exit 0
 %{_mandir}/man8/opendkim.8.gz
 %dir %attr(-,%{name},%{name}) %{_localstatedir}/spool/%{name}
 %dir %attr(0750,%{name},%{name}) %{_rundir}/%{name}
 %dir %attr(-,root,%{name}) %{_sysconfdir}/%{name}
 %dir %attr(0750,root,%{name}) %{_sysconfdir}/%{name}/keys
 %attr(0755,root,root) %{_sbindir}/%{name}-default-keygen
 
 %attr(0644,root,root) %{_unitdir}/%{name}.service
+%{_sysusersdir}/opendkim.conf
 
 %files -n libopendkim
 %license LICENSE LICENSE.Sendmail
 %doc README
 %{_libdir}/lib%{name}.so.*
 
 %files -n opendkim-tools
 %license LICENSE LICENSE.Sendmail
@@ -218,16 +220,19 @@ exit 0
 %files -n libopendkim-devel
 %license LICENSE LICENSE.Sendmail
 %doc lib%{name}/docs/*.html
 %{_includedir}/%{name}
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/*.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.11.0-0.41
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-0.40
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-0.39
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.0-0.38
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git opendmarc/opendmarc.spec opendmarc/opendmarc.spec.tmp
index 7c75c08acc..9ec62b1410 100644
--- opendmarc/opendmarc.spec
+++ opendmarc/opendmarc.spec.tmp
@@ -17,17 +17,16 @@ Patch01:   opendmarc-1.4.0-ticket159-179.patch
 
 # Patch for non security bug cve-2024-25768
 # https://github.com/trusteddomainproject/OpenDMARC/issues/256
 Patch02: cve-2024-25768.patch
 
 
 # Required for all versions
 Requires: lib%{name}%{?_isa} = %{version}-%{release}
-Requires(pre): shadow-utils
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: make
 BuildRequires: libbsd
 BuildRequires: libbsd-devel
 BuildRequires: libspf2-devel
 BuildRequires: libtool
 BuildRequires: openssl-devel
@@ -64,16 +63,22 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
 
 %description -n lib%{name}-devel
 This package contains the static libraries, headers, and other support files
 required for developing applications against libopendmarc.
 
 %prep
 %autosetup -p1 -n OpenDMARC-rel-opendmarc-1-4-2
 
+# Create a sysusers.d config file
+cat >opendmarc.sysusers.conf <<EOF
+u opendmarc - 'OpenDMARC Milter' %{_rundir}/%{name} -
+m opendmarc mail
+EOF
+
 %build
 autoreconf -v -i
 %configure \
   --with-sql-backend \
   --with-spf \
   --with-spf2-include=%{_prefix}/include/spf2 \
   --with-spf2-lib=%{_libdir}/
 %make_build
@@ -138,22 +143,18 @@ mkdir -p %{buildroot}%{_rundir}/%{name}
 mkdir -p %{buildroot}%{_datadir}/%{name}/contrib
 cp -R db/ %{buildroot}%{_datadir}/%{name}
 sed -i -e 's:/usr/local/bin/python:/usr/bin/python:' contrib/rddmarc/dmarcfail.py
 cp -R contrib/rddmarc/ %{buildroot}%{_datadir}/%{name}/contrib
 # not much point including the Makefiles
 rm -f %{buildroot}%{_datadir}/%{name}/contrib/rddmarc/Makefile*
 rm -f %{buildroot}%{_datadir}/%{name}/db/Makefile*
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-	useradd -r -g %{name} -G mail -d %{_rundir}/%{name} -s /sbin/nologin \
-	-c "OpenDMARC Milter" %{name}
-exit 0
+install -m0644 -D opendmarc.sysusers.conf %{buildroot}%{_sysusersdir}/opendmarc.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -174,16 +175,17 @@ exit 0
 %{_sbindir}/opendmarc-importstats
 %{_sbindir}/opendmarc-params
 %{_sbindir}/opendmarc-reports
 %{_mandir}/*/*
 %dir %attr(-,%{name},%{name}) %{_localstatedir}/spool/%{name}
 %dir %attr(710,%{name},mail) %{_rundir}/%{name}
 %dir %attr(-,%{name},%{name}) %{_sysconfdir}/%{name}
 %attr(0644,root,root) %{_unitdir}/%{name}.service
+%{_sysusersdir}/opendmarc.conf
 
 %files -n libopendmarc
 %{_libdir}/lib%{name}.so.*
 
 %files -n libopendmarc-devel
 %doc lib%{name}/docs/*.html
 %{_includedir}/%{name}
 %{_libdir}/*.so
diff --git opendnssec/opendnssec.spec opendnssec/opendnssec.spec.tmp
index 363399edb0..5121279623 100644
--- opendnssec/opendnssec.spec
+++ opendnssec/opendnssec.spec.tmp
@@ -1,15 +1,15 @@
 %global prever rc1
 %global _hardened_build 1
 
 Summary: DNSSEC key and zone management software
 Name: opendnssec
 Version: 2.1.14
-Release: 0.4rc1%{?dist}
+Release: 0.5rc1%{?dist}
 License: BSD-2-Clause
 Url: http://www.opendnssec.org/
 Source0: http://www.opendnssec.org/files/source/%{?prever:testing/}%{name}-%{version}%{?prever}.tar.gz
 Source10: http://www.opendnssec.org/files/source/%{?prever:testing/}%{name}-%{version}%{?prever}.tar.gz.sig
 Source1: ods-enforcerd.service
 Source2: ods-signerd.service
 Source3: ods.sysconfig
 Source4: conf.xml
@@ -30,17 +30,16 @@ BuildRequires:  gcc
 BuildRequires: ldns-devel >= 1.6.12, sqlite-devel >= 3.0.0, openssl-devel
 BuildRequires: libxml2-devel CUnit-devel, doxygen
 # It tests for pkill/killall and would use /bin/false if not found
 BuildRequires: procps-ng
 BuildRequires: perl-interpreter
 BuildRequires: libmicrohttpd-devel jansson-devel libyaml-devel
 
 BuildRequires: systemd-units
-Requires(pre): shadow-utils
 Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 %if 0%{?prever:1}
 # For building development snapshots
 Buildrequires: autoconf, automake, libtool
 %ifarch %{java_arches}
 Buildrequires: java
@@ -61,16 +60,21 @@ name server. It requires a PKCS#11 crypto module library, such as softhsm
 %patch -P5 -p1
 
 # Prevent re-running autoconf.
 touch -r aclocal.m4 configure* m4/*
 
 # bump default policy ZSK keysize to 2048
 sed -i "s/1024/2048/" conf/kasp.xml.in
 
+# Create a sysusers.d config file
+cat >opendnssec.sysusers.conf <<EOF
+u ods - 'opendnssec daemon account' /etc/opendnssec -
+EOF
+
 %build
 export LDFLAGS="-Wl,-z,relro,-z,now -pie -specs=/usr/lib/rpm/redhat/redhat-hardened-ld"
 export CFLAGS="$RPM_OPT_FLAGS -fPIE -pie -Wextra -Wformat -Wformat-nonliteral -Wformat-security"
 export CXXFLAGS="$RPM_OPT_FLAGS -fPIE -pie -Wformat-nonliteral -Wformat-security"
 %if 0%{?prever:1}
 # for development snapshots
 autoreconf
 %endif
@@ -104,16 +108,18 @@ cp -a enforcer/src/db/schema.* %{buildroot}%{_datadir}/opendnssec/migration/1.4-
 cp -a %{SOURCE7} %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/sqlite_convert.sql
 cp -a %{SOURCE8} %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/rpmversion.sql
 sed -i "s:^SCHEMA=.*schema:SCHEMA=%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/schema:" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_sqlite
 sed -i "s:find_problematic_zones.sql:%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/find_problematic_zones.sql:g" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_sqlite
 sed -i "s:^SCHEMA=.*schema:SCHEMA=%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/schema:" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_mysql
 sed -i "s:find_problematic_zones.sql:%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/find_problematic_zones.sql:g" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_mysql
 sed -i "s:sqlite_convert.sql:%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/sqlite_convert.sql:g" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_sqlite
 
+install -m0644 -D opendnssec.sysusers.conf %{buildroot}%{_sysusersdir}/opendnssec.conf
+
 
 %files
 %{_unitdir}/ods-enforcerd.service
 %{_unitdir}/ods-signerd.service
 %config(noreplace) %{_tmpfilesdir}/opendnssec.conf
 %attr(0770,root,ods) %dir %{_sysconfdir}/opendnssec
 %attr(0770,root,ods) %dir %{_localstatedir}/opendnssec
 %attr(0770,root,ods) %dir %{_localstatedir}/opendnssec/tmp
@@ -126,23 +132,18 @@ sed -i "s:sqlite_convert.sql:%{_datadir}/opendnssec/migration/1.4-2.0_db_convert
 %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cron.d/opendnssec
 %doc NEWS README.md
 %license LICENSE
 %{_mandir}/*/*
 %{_sbindir}/*
 %{_bindir}/*
 %attr(0755,root,root) %dir %{_datadir}/opendnssec
 %{_datadir}/opendnssec/*
+%{_sysusersdir}/opendnssec.conf
 
-%pre
-getent group ods >/dev/null || groupadd -r ods
-getent passwd ods >/dev/null || \
-useradd -r -g ods -d /etc/opendnssec -s /sbin/nologin \
--c "opendnssec daemon account" ods
-exit 0
 
 %post
 # Initialise a slot on the softhsm on first install
 if [ "$1" -eq 1 ]; then
    %{_sbindir}/runuser -u ods -- %{_bindir}/softhsm2-util --init-token \
                 --free --label "OpenDNSSEC" --pin 1234 --so-pin 1234
    if [ ! -s %{_localstatedir}/opendnssec/kasp.db ]; then
       echo y | %{_sbindir}/ods-enforcer-db-setup
@@ -191,16 +192,19 @@ ods-enforcer update all >/dev/null 2>/dev/null ||:
 %systemd_preun ods-enforcerd.service
 %systemd_preun ods-signerd.service
 
 %postun
 %systemd_postun_with_restart ods-enforcerd.service
 %systemd_postun_with_restart ods-signerd.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.14-0.5rc1
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.14-0.4rc1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 2.1.14-0.3rc1
 - Rebuild for Jansson 2.14
   (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/)
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.14-0.2rc1
diff --git openelp/openelp.spec openelp/openelp.spec.tmp
index a0a9b0a2f3..92c4f0a1bc 100644
--- openelp/openelp.spec
+++ openelp/openelp.spec.tmp
@@ -1,26 +1,25 @@
 Name:           openelp
 Version:        0.9.3
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Open Source EchoLink Proxy
 
 # Automatically converted from old format: BSD - review is highly recommended.
 License:        LicenseRef-Callaway-BSD
 URL:            https://github.com/cottsay/%{name}
 Source0:        https://github.com/cottsay/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
 
 BuildRequires:  cmake3
 BuildRequires:  doxygen
 BuildRequires:  firewalld-filesystem
 BuildRequires:  gcc
 BuildRequires:  openssl-devel
 BuildRequires:  pkgconfig(libpcre2-8)
 BuildRequires:  systemd
-Requires(pre):  shadow-utils
 Requires(post): firewalld-filesystem
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 
 %description
 OpenELP is an open source EchoLink proxy for Linux and Windows. It aims to be
 efficient and maintain a small footprint, while still implementing all of the
 features present in the official EchoLink proxy.
@@ -40,16 +39,21 @@ which utilizes OpenELP, and Open Source EchoLink Proxy.
 
 
 %prep
 %autosetup -p1
 
 # Remove bundled md5, use OpenSSL instead
 rm src/md5.c
 
+# Create a sysusers.d config file
+cat >openelp.sysusers.conf <<EOF
+u openelp - 'EchoLink Proxy' / -
+EOF
+
 
 %build
 %cmake3 \
   -DOPENELP_USE_OPENSSL:BOOL=ON \
   %{nil}
 
 %cmake3_build -- all doc
 
@@ -66,26 +70,23 @@ grep ^ExecStart= %{buildroot}%{_unitdir}/%{name}.service | \
   sed 's|.*openelpd *\(.*\) %{_sysconfdir}/ELProxy.conf|\1|' | \
   sed 's|\(.*\)|# Options for openelpd\nOPTIONS="\1"|' > %{buildroot}%{_sysconfdir}/sysconfig/openelpd
 sed -i '/^\[Service\]$/a EnvironmentFile=-%{_sysconfdir}/sysconfig/openelpd' %{buildroot}%{_unitdir}/%{name}.service
 sed -i 's|\(ExecStart=.*openelpd\).*|\1 \$OPTIONS %{_sysconfdir}/ELProxy.conf|' %{buildroot}%{_unitdir}/%{name}.service
 
 # Manually install the firewalld service
 install -m0644 -p -D doc/%{name}.xml %{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml
 
+install -m0644 -D openelp.sysusers.conf %{buildroot}%{_sysusersdir}/openelp.conf
+
 
 %check
 %ctest3
 
 
-%pre
-getent group openelp >/dev/null || groupadd -r openelp
-getent passwd openelp >/dev/null || \
-    useradd -r -g openelp -d / -s /sbin/nologin \
-    -c "EchoLink Proxy" openelp
 
 %post
 %{?ldconfig}
 %firewalld_reload
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
@@ -100,24 +101,28 @@ getent passwd openelp >/dev/null || \
 %doc AUTHORS README.md TODO.md
 %{_bindir}/%{name}d
 %{_libdir}/lib%{name}.so.*
 %{_mandir}/man1/openelpd.1.*
 %{_prefix}/lib/firewalld/services/%{name}.xml
 %attr(0640, openelp, root) %config(noreplace) %{_sysconfdir}/ELProxy.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/openelpd
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/openelp.conf
 
 %files devel
 %doc %{?__cmake3_builddir}%{!?__cmake3_builddir:%{__cmake_builddir}}/doc/html
 %{_includedir}/%{name}
 %{_libdir}/lib%{name}.so
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.3-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 0.9.3-3
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git openni-primesense/openni-primesense.spec openni-primesense/openni-primesense.spec.tmp
index f85af041fa..e46f5104c4 100644
--- openni-primesense/openni-primesense.spec
+++ openni-primesense/openni-primesense.spec.tmp
@@ -8,17 +8,17 @@
 %endif
 %ifarch %arm
 %global niarch Arm
 %endif
 
 
 Name:           openni-primesense
 Version:        5.1.6.6
-Release:        29%{?gitrev}%{?dist}
+Release:        30%{?gitrev}%{?dist}
 Summary:        PrimeSensor/Kinect Modules for OpenNI
 License:        Apache-2.0
 URL:            https://github.com/PrimeSense/Sensor
 
 Source0:        https://github.com/PrimeSense/Sensor/archive/%{commit}/Sensor-%{commit}.tar.gz
 Source1:        openni-primesense-55-primesense-usb.rules
 Patch0:         openni-primesense-5.1.6.6-fedora.patch
 Patch1:         openni-primesense-5.1.6.6-willowgarage.patch
@@ -28,17 +28,16 @@ ExclusiveArch:  x86_64 %{arm}
 
 BuildRequires:  make
 BuildRequires:  gcc-c++
 BuildRequires:  openni-devel >= 1.5.0.0
 BuildRequires:  libjpeg-devel
 BuildRequires:  systemd-rpm-macros
 Requires:       openni >= 1.5.0.0
 Requires:       udev
-Requires(pre):  shadow-utils
 
 %description
 This modules enables OpenNI to make use of the PrimeSense, also known as
 Kinect depth camera.
 
 %package        devel
 Summary:        Development files for %{name}
 Requires:       %{name} = %{version}-%{release}
@@ -54,16 +53,21 @@ developing applications that use %{name}.
 %patch 0 -p0 -b .fedora
 %patch 1 -p0 -b .willow
 %patch 2 -p0 -b .sse
 %patch 3 -p0 -b .softfloat
 
 rm -rf Source/External/LibJPEG
 rm -rf Platform/Android Platform/Win32
 
+# Create a sysusers.d config file
+cat >openni-primesense.sysusers.conf <<EOF
+g primesense -
+EOF
+
 %build
 cd Platform/Linux/CreateRedist
 # Add SSE_GENERATION=2 (or 3) to enable SSE
 sed -i 's|make -j$(calc_jobs_number) -C ../Build|make -C ../Build CFLAGS_EXT="%{optflags} -Wno-unknown-pragmas" LDFLAGS_EXT="%{optflags}" DEBUG=1|' RedistMaker
 ./RedistMaker
 
 
 %install
@@ -83,20 +87,19 @@ popd
 #mkdir $RPM_BUILD_ROOT%{_bindir}
 #install -p -m 0755 Platform/Linux/Redist/Sensor-Bin-Linux-%{niarch}-v%{version}/Bin/XnSensorServer $RPM_BUILD_ROOT%{_bindir}/XnSensorServer
 
 rm -rf $RPM_BUILD_ROOT%{_var}/log/primesense
 
 rm $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/55-primesense-usb.rules
 install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_udevrulesdir}/55-primesense-usb.rules
 
+install -m0644 -D openni-primesense.sysusers.conf %{buildroot}%{_sysusersdir}/openni-primesense.conf
+
 
-%pre
-getent group primesense >/dev/null || groupadd -r primesense
-exit 0
 
 %post
 /sbin/ldconfig
 if [ $1 == 1 ]; then
   niReg -r %{_libdir}/libXnDeviceSensorV2.so
   niReg -r %{_libdir}/libXnDeviceFile.so
 fi
 
@@ -113,18 +116,22 @@ fi
 
 %files
 %doc LICENSE 
 %dir %{_sysconfdir}/openni/primesense
 %config(noreplace) %{_sysconfdir}/openni/primesense/*
 %{_udevrulesdir}/55-primesense-usb.rules
 %{_libdir}/*.so
 %{_bindir}/XnSensorServer
+%{_sysusersdir}/openni-primesense.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.1.6.6-30
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.6.6-29
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.6.6-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Feb 03 2024 Scott K Logan <logans@cottsay.net> - 5.1.6.6-27
 - Disable parallelism in makefile to avoid an unknown bug
diff --git opensmtpd/opensmtpd.spec opensmtpd/opensmtpd.spec.tmp
index 30a9dbaa22..7cba61a25b 100644
--- opensmtpd/opensmtpd.spec
+++ opensmtpd/opensmtpd.spec.tmp
@@ -3,17 +3,17 @@
 %global _with_pam	1
 
 # Berkeley DB support
 %global _with_bdb	1
 
 Summary:	Free implementation of the server-side SMTP protocol as defined by RFC 5321
 Name:		opensmtpd
 Version:	7.6.0p1
-Release:	3%{?dist}
+Release:	4%{?dist}
 
 License:	ISC
 URL:		http://www.opensmtpd.org/
 Provides:	MTA smtpd smtpdaemon server(smtp)
 
 Source0:	http://www.opensmtpd.org/archives/%{name}-%{version}.tar.gz
 Source1:	opensmtpd.service
 Source2:	opensmtpd.pam
@@ -34,17 +34,16 @@ BuildRequires:	make
 BuildRequires:	automake
 BuildRequires:	libtool
 
 Requires(post):		systemd
 Requires(preun):	systemd
 Requires(postun):	systemd
 BuildRequires:		systemd
 
-Requires(pre):		shadow-utils
 
 %if "%{_sbindir}" == "%{_bindir}"
 # Compat symlinks for Requires in other packages.
 # We rely on filesystem to create the symlinks for us.
 Requires:       filesystem(unmerged-sbin-symlinks)
 Provides:       /usr/sbin/sendmail
 %endif
 
@@ -63,16 +62,22 @@ This package uses standard "alternatives" mechanism, you may call
 if you want to switch to OpenSMTPD MTA immediately after install, and
 "alternatives --set mta %{_sbindir}/sendmail.sendmail" to revert
 back to Sendmail as a default mail daemon.
 
 
 %prep
 %autosetup
 
+# Create a sysusers.d config file
+cat >opensmtpd.sysusers.conf <<EOF
+u smtpd - 'opensmtpd privsep user' %{_localstatedir}/empty/smtpd -
+u smtpq - 'opensmtpd queue user' %{_localstatedir}/empty/smtpd -
+EOF
+
 %build
 export CFLAGS="%{optflags}"
 
 %configure \
     --sysconfdir=%{_sysconfdir}/opensmtpd \
     --with-path-CAfile=%{_sysconfdir}/pki/tls/cert.pem \
     --with-mantype=man \
     %if 0%{?_with_pam}
@@ -140,24 +145,18 @@ done
 
 # fix aliases path in the config
 sed -i -e 's|/etc/mail/aliases|/etc/aliases|g' %{buildroot}/%{_sysconfdir}/opensmtpd/smtpd.conf
 ln -s %{_sysconfdir}/aliases %{buildroot}/%{_sysconfdir}/opensmtpd/aliases
 
 # set mbox delivery method
 sed -i -e 's|^action "local" maildir|action "local" mbox|g' %{buildroot}/%{_sysconfdir}/opensmtpd/smtpd.conf
 
-%pre
-getent group smtpd &>/dev/null || %{_sbindir}/groupadd -r smtpd
-getent group smtpq &>/dev/null || %{_sbindir}/groupadd -r smtpq
-getent passwd smtpd &>/dev/null || \
-    %{_sbindir}/useradd -r -g smtpd -s /sbin/nologin -c "opensmtpd privsep user" -d %{_localstatedir}/empty/smtpd smtpd
-getent passwd smtpq &>/dev/null || \
-    %{_sbindir}/useradd -r -g smtpq -s /sbin/nologin -c "opensmtpd queue user" -d %{_localstatedir}/empty/smtpd smtpq
-exit 0
+install -m0644 -D opensmtpd.sysusers.conf %{buildroot}%{_sysusersdir}/opensmtpd.conf
+
 
 %post
 %systemd_post %{name}.service
 %{_sbindir}/alternatives --install %{_sbindir}/sendmail mta %{_sbindir}/sendmail.opensmtpd 10 \
 	--slave %{_bindir}/mailq mta-mailq %{_bindir}/mailq.opensmtpd \
 	%if 0%{?_with_pam}
 	--slave /etc/pam.d/smtp mta-pam /etc/pam.d/smtp.opensmtpd \
 	%endif
@@ -248,19 +247,23 @@ exit 0
 %ghost %attr(0755,root,root) %{_sbindir}/sendmail
 %ghost %attr(0755,root,root) %{_bindir}/mailq
 %ghost %attr(0755,root,root) /usr/lib/sendmail
 %ghost %{_mandir}/man1/mailq.1.gz
 %ghost %{_mandir}/man5/aliases.5.gz
 %ghost %{_mandir}/man8/sendmail.8.gz
 %ghost %{_mandir}/man8/smtp.8.gz
 %ghost %{_mandir}/man8/smtpd.8.gz
+%{_sysusersdir}/opensmtpd.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.6.0p1-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.6.0p1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.6.0p1-2
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Fri Jan 03 2025 Denis Fateyev <denis@fateyev.com> - 7.6.0p1-1
 - Update to 7.6.0p1 release
diff --git openvpn/openvpn.spec openvpn/openvpn.spec.tmp
index 0e0d8e7171..a480fe40f5 100644
--- openvpn/openvpn.spec
+++ openvpn/openvpn.spec.tmp
@@ -17,17 +17,17 @@
 %endif
 
 # Build conditionals
 # tests_long - Enabled by default, enables long running tests in %%check
 %bcond_without tests_long
 
 Name:              openvpn
 Version:           2.6.13
-Release:           1%{?dist}
+Release:           2%{?dist}
 Summary:           A full-featured TLS VPN solution
 URL:               https://community.openvpn.net/
 Source0:           https://build.openvpn.net/downloads/releases/%{name}-%{version}.tar.gz
 Source1:           https://build.openvpn.net/downloads/releases/%{name}-%{version}.tar.gz.asc
 Source2:           roadwarrior-server.conf
 Source3:           roadwarrior-client.conf
 # Upstream signing key
 Source10:          gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg
@@ -57,17 +57,16 @@ BuildRequires:     pkcs11-helper-devel >= 1.11
 %endif
 BuildRequires:     pam-devel
 BuildRequires:     libselinux-devel
 BuildRequires:     libcmocka-devel
 BuildRequires:     systemd
 BuildRequires:     systemd-devel
 
 %{?systemd_requires}
-Requires(pre):     /usr/sbin/useradd
 
 %if %{with dco}
 Recommends:        kmod-ovpn-dco >= 0.2
 %endif
 
 BuildRequires:  python3-docutils
 
 # For the perl_default_filter macro
@@ -100,16 +99,21 @@ gpgv2 --quiet --keyring %{SOURCE10} %{SOURCE1} %{SOURCE0}
 %patch -P 1 -p1
 %patch -P 2 -p1
 %patch -P 50 -p1
 
 # %%doc items shouldn't be executable.
 find contrib sample -type f -perm /100 \
     -exec chmod a-x {} \;
 
+# Create a sysusers.d config file
+cat >openvpn.sysusers.conf <<EOF
+u openvpn - 'OpenVPN' /etc/openvpn -
+EOF
+
 %build
 %configure \
     --enable-silent-rules \
     --with-crypto-library=openssl \
     %{?with_pkcs11:--enable-pkcs11} \
     --enable-selinux \
     --enable-systemd \
     --enable-x509-alt-username \
@@ -180,23 +184,19 @@ cp -a AUTHORS ChangeLog contrib sample distro/systemd/README.systemd $RPM_BUILD_
 sed -e "s|^#!/usr/bin/env.*python3$|#!%{python3} -%{py3_shebang_flags}|" \
     -i $RPM_BUILD_ROOT%{_pkgdocdir}/contrib/extract-crl/extractcrl.py
 
 # Remove some files which does not really belong here
 rm -f  $RPM_BUILD_ROOT%{_pkgdocdir}/sample/Makefile{,.in,.am}
 rm -f  $RPM_BUILD_ROOT%{_pkgdocdir}/contrib/multilevel-init.patch
 rm -rf $RPM_BUILD_ROOT%{_pkgdocdir}/sample/sample-keys
 
+install -m0644 -D openvpn.sysusers.conf %{buildroot}%{_sysusersdir}/openvpn.conf
+
 
-%pre
-getent group openvpn &>/dev/null || groupadd -r openvpn
-getent passwd openvpn &>/dev/null || \
-    useradd -r -g openvpn -s /sbin/nologin -c OpenVPN \
-        -d /etc/openvpn openvpn
-exit 0
 
 %post
 for srv in `systemctl | awk '/openvpn-client@.*\.service/{print $1} /openvpn-server@.*\.service/{print $1}'`;
 do
     %systemd_post $srv
 done
 
 %preun
@@ -223,24 +223,28 @@ done
 %{_unitdir}/%{name}-server@.service
 %{_tmpfilesdir}/%{name}.conf
 %config %dir %{_sysconfdir}/%{name}/
 %config %dir %attr(-,-,openvpn) %{_sysconfdir}/%{name}/client
 %config %dir %attr(-,-,openvpn) %{_sysconfdir}/%{name}/server
 %attr(0770,openvpn,openvpn) %{_sharedstatedir}/%{name}
 %dir %attr(0750,-,openvpn) %{_rundir}/openvpn-client
 %dir %attr(0750,-,openvpn) %{_rundir}/openvpn-server
+%{_sysusersdir}/openvpn.conf
 
 %files devel
 %{_pkgdocdir}/sample/sample-plugins
 %{_includedir}/openvpn-plugin.h
 %{_includedir}/openvpn-msg.h
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.13-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Jan 16 2025 Frank Lichtenheld <frank@lichtenheld.com> - 2.6.13-1
 - Update to upstream OpenVPN 2.6.13 (RHBZ#2338321)
 - Remove RHEL 7 compat code
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.6.12-2
 - convert license to SPDX
 
 * Thu Jul 18 2024 Frank Lichtenheld <frank@lichtenheld.com> - 2.6.12-1
diff --git owfs/owfs.spec owfs/owfs.spec.tmp
index a96efa47fc..07367f5d39 100644
--- owfs/owfs.spec
+++ owfs/owfs.spec.tmp
@@ -8,17 +8,17 @@
 %bcond_without  php
 %endif
 
 %{!?tcl_version: %global tcl_version %(echo 'puts $tcl_version' | tclsh)}
 %{!?tcl_sitearch: %global tcl_sitearch %{_prefix}/%{_lib}/tcl%{tcl_version}}
 
 Name:		owfs
 Version:	3.2p4
-Release:	10%{?dist}
+Release:	11%{?dist}
 Summary:	1-Wire Virtual File System
 
 # some parts licensed differently, see http://owfs.org/index.php?page=license
 License:	GPL-2.0-only
 URL:		http://www.owfs.org/
 Source0:	https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
 Source1:	owserver.xml
 # install into 'vendor' perl directories; not suitable for upstream
@@ -108,17 +108,16 @@ Requires: %{name}-server
 %description ftpd
 %{name}-ftpd is a FTP daemon on top of %{name} providing access to 1-Wire networks.
 
 
 %package server
 Summary: Back-end server (daemon) for 1-wire control
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 Requires: firewalld-filesystem
-Requires(pre): shadow-utils
 BuildRequires: firewalld-filesystem
 BuildRequires: libftdi-devel
 
 %description server
 %{name}-server is the back-end component of the OWFS 1-wire bus control system.
 owserver arbitrates access to the bus from multiple client processes. The
 physical bus is usually connected to a serial or USB port, and other processes
 connect to owserver over network sockets (TCP port). Communication can be local
@@ -184,16 +183,21 @@ and owpresent.
 # Perl dirs
 %patch -P0 -p1
 %patch -P1 -p1
 
 sed -i -e 's/) Makefile.PL/& INSTALLDIRS=vendor/' \
 	module/swig/perl5/Makefile.am \
 	module/ownet/perl5/Makefile.am
 
+# Create a sysusers.d config file
+cat >owfs.sysusers.conf <<EOF
+u ow - '1-wire file-system (OWFS) utilities account' /var/empty -
+EOF
+
 
 %build
 ./bootstrap
 %configure --disable-rpath \
 %if %{without php}
   --disable-owphp \
 %endif
   --disable-owperl
@@ -220,23 +224,18 @@ rm -f %{buildroot}%{_libdir}/libowcapi.la
 rm -f %{buildroot}%{_libdir}/libownet.la
 rm -f %{buildroot}%{php_extdir}/libowphp.la
 rm -f %{buildroot}%{tcl_sitearch}/ow.la
 
 rm -f %{buildroot}/usr/local/lib64/perl5/auto/OWNet/.packlist
 
 install -Dm 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/firewalld/services/owserver.xml
 
-%pre server
-# TODO: migrate to systemd-sysusers when guidelines are ready
-getent group ow >/dev/null || groupadd -r ow
-getent passwd ow >/dev/null || \
-    useradd -r -g ow -d /var/empty -s /sbin/nologin \
-    -c "1-wire file-system (OWFS) utilities account" ow
-exit 0
+install -m0644 -D owfs.sysusers.conf %{buildroot}%{_sysusersdir}/owfs.conf
+
 
 
 %post fs
 %systemd_post owfs.service
 
 %post httpd
 %systemd_post owhttpd.service
 
@@ -340,16 +339,17 @@ exit 0
 
 %files server
 %{_bindir}/owserver
 %{_bindir}/owexternal
 %{_mandir}/man1/owserver.1.*
 %{_unitdir}/owserver.service
 %{_unitdir}/owserver.socket
 %{_prefix}/lib/firewalld/services/owserver.xml
+%{_sysusersdir}/owfs.conf
 
 
 %files tap
 %doc COPYING
 %{_bindir}/owtap
 %{_mandir}/man1/owtap.1.*
 
 
@@ -371,16 +371,19 @@ exit 0
 %dir %{tcl_sitearch}/owtcl-*
 %{tcl_sitearch}/owtcl-*/*
 %{_mandir}/mann/owtcl.n.*
 %{_mandir}/mann/ow.n.*
 
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2p4-11
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.2p4-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Oct 14 2024 Remi Collet <remi@fedoraproject.org> - 3.2p4-9
 - rebuild for https://fedoraproject.org/wiki/Changes/php84
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.2p4-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git parsec/parsec.spec parsec/parsec.spec.tmp
index 5fa542d702..4f92c45f2b 100644
--- parsec/parsec.spec
+++ parsec/parsec.spec.tmp
@@ -4,33 +4,32 @@
 
 # prevent library files from being installed
 %global cargo_install_lib 0
 
 %global enabled_cargo_features default,tpm-provider,pkcs11-provider,mbed-crypto-provider,direct-authenticator,unix-peer-credentials-authenticator
 
 Name:          parsec
 Version:       1.4.1
-Release:       3%{?candidate:.%{candidate}}%{?dist}
+Release:       4%{?candidate:.%{candidate}}%{?dist}
 Summary:       The PARSEC daemon
 
 SourceLicense: Apache-2.0
 # LICENSE.dependencies contains a full license breakdown
 License:       Apache-2.0
 URL:           https://github.com/parallaxsecond/parsec
 Source0:       %{url}/archive/v%{version}/%{name}-%{version}%{?candidate:-%{candidate}}.tar.gz
 Source1:       parsec.service
 Source2:       config.toml
 Source3:       parsec.tmpfile.conf
 Patch1:        parsec-fix-metadata.diff
 
 BuildRequires: rust-packaging
 BuildRequires: systemd
 Requires: tpm2-tss >= 4.0.0
-Requires(pre): shadow-utils
 Requires(pre): tpm2-tss >= 4.0.0
 %{?systemd_requires}
 
 %description
 PARSEC is the Platform AbstRaction for SECurity, an open-source initiative to
 provide a common API to hardware security and cryptographic services in a
 platform-agnostic way. This abstraction layer keeps workloads decoupled from
 physical platform details, enabling cloud-native delivery flows within the data
@@ -38,45 +37,46 @@ center and at the edge.
 
 %prep
 %autosetup -p1 -n %{name}-%{version}%{?candidate:-%{candidate}}
 %cargo_prep
 
 %generate_buildrequires
 %cargo_generate_buildrequires -f %{enabled_cargo_features}
 
+# Create a sysusers.d config file
+cat >parsec.sysusers.conf <<EOF
+g parsec-clients -
+u parsec - 'PARSEC service' /var/lib/parsec -
+m parsec parsec-clients
+EOF
+
 %build
 %cargo_build -f %{enabled_cargo_features}
 %{cargo_license_summary}
 %{cargo_license} > LICENSE.dependencies
 
 %install
 %cargo_install -f %{enabled_cargo_features}
 
 install -D -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/parsec.service
 install -D -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/parsec/config.toml
 install -D -p -m0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/parsec.conf
 install -d -m0755 %{buildroot}%{_localstatedir}/lib/parsec
 install -d -m0755 %{buildroot}%{_localstatedir}/lib/parsec/mappings
 install -d -m0755 %{buildroot}%{_libexecdir}
 mv %{buildroot}%{_bindir}/parsec %{buildroot}%{_libexecdir}/
 
+install -m0644 -D parsec.sysusers.conf %{buildroot}%{_sysusersdir}/parsec.conf
+
 %if %{with check}
 %check
 %cargo_test -f %{enabled_cargo_features} -- -- --skip real_ --skip loop_ --skip travis_
 %endif
 
-%pre
-getent group parsec >/dev/null || groupadd -r parsec
-# For PARSEC consumers
-getent group parsec-clients >/dev/null || groupadd -r parsec-clients
-getent passwd parsec >/dev/null || \
-    useradd -r -g parsec -G tss -G parsec-clients -d /var/lib/parsec -s /sbin/nologin \
-    -c "PARSEC service" parsec
-exit 0
 
 %post
 %systemd_post parsec.service
 
 %preun
 %systemd_preun parsec.service
 
 %postun
@@ -88,18 +88,22 @@ exit 0
 %doc README.md config.toml
 %attr(0750,parsec,parsec) %dir %{_sysconfdir}/parsec/
 %attr(0750,parsec,parsec) %dir %{_localstatedir}/lib/parsec/
 %attr(0750,parsec,parsec) %dir %{_localstatedir}/lib/parsec/mappings/
 %config(noreplace) %{_sysconfdir}/parsec/config.toml
 %{_libexecdir}/parsec
 %{_tmpfilesdir}/parsec.conf
 %{_unitdir}/parsec.service
+%{_sysusersdir}/parsec.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.1-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon May 20 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1-1
 - Update to 1.4.1
diff --git pbuilder/pbuilder.spec pbuilder/pbuilder.spec.tmp
index 1aa9176af0..76530074eb 100644
--- pbuilder/pbuilder.spec
+++ pbuilder/pbuilder.spec.tmp
@@ -1,11 +1,11 @@
 Name:           pbuilder
 Version:        0.231.1
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Personal package builder for Debian packages
 
 License:        GPL-2.0-or-later
 URL:            http://packages.debian.org/unstable/admin/%{name}
 Source0:        http://ftp.debian.org/debian/pool/main/p/%{name}/%{name}_%{version}.tar.xz
 Source1:        README.fedora
 Source2:        https://bitbucket.org/amidevous/fedora-rpm/raw/master/pbuilder/debian/pbuilder-config
 Source3:        https://bitbucket.org/amidevous/fedora-rpm/raw/master/pbuilder/debian/pbuilder-debian-stable
@@ -63,16 +63,21 @@ dependencies.
 
 
 %prep
 %autosetup -p1
 
 # Adjust ccache path
 sed -i 's|/usr/lib/ccache|%{_libdir}/ccache|g' pbuilderrc
 
+# Create a sysusers.d config file
+cat >pbuilder.sysusers.conf <<EOF
+u pbuilder - '%{name}' %{_localstatedir}/run/%{name} -
+EOF
+
 
 %build
 %make_build
 
 
 %install
 %make_install
 
@@ -93,23 +98,19 @@ install -Dpm 0777 %{SOURCE5} %{buildroot}%{_bindir}/pbuilder-ubuntu-old2
 install -Dpm 0777 %{SOURCE6} %{buildroot}%{_bindir}/pbuilder-ubuntu-stable
 
 # Configuration file
 install -Dpm 0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pbuilderrc
 
 # Copy README.fedora to root
 cp -a %{SOURCE1} README.fedora
 
+install -m0644 -D pbuilder.sysusers.conf %{buildroot}%{_sysusersdir}/pbuilder.conf
+
 
-%pre
-getent group %{name} > /dev/null || groupadd -r %{name}
-getent passwd %{name} > /dev/null || \
-  useradd -r -g %{name} -d %{_localstatedir}/run/%{name} -s /sbin/nologin \
-    -c "%{name}" %{name}
-exit 0
 
 
 %check
 %ifarch %arm
 # Some tests fail on arm because ubuntu mirrors are unavailable for that arch
 make check || :
 %else
 make check
@@ -133,19 +134,23 @@ make check
 %{_datadir}/pbuilder/
 %{_mandir}/man1/debuild-pbuilder.1*
 %{_mandir}/man1/pdebuild.1*
 %{_mandir}/man5/pbuilderrc.5*
 %{_mandir}/man8/pbuilder.8*
 %{_docdir}/pbuilder/*
 # The ccache folder needs to be owned by the pbuilder user
 %attr(0755,%{name},root) %{_localstatedir}/cache/%{name}/ccache
+%{_sysusersdir}/pbuilder.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.231.1-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.231.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Nov 30 2024 Sérgio Basto <sergio@serjux.com> - 0.231.1-3
 - Requires util-linux-core instead mount, which doesn't exist as package on
   Fedora
 
 * Sat Sep 21 2024 Sérgio Basto <sergio@serjux.com> - 0.231.1-2
diff --git pcsc-cyberjack/pcsc-cyberjack.spec pcsc-cyberjack/pcsc-cyberjack.spec.tmp
index b6cc92d1aa..61359d9897 100644
--- pcsc-cyberjack/pcsc-cyberjack.spec
+++ pcsc-cyberjack/pcsc-cyberjack.spec.tmp
@@ -1,29 +1,28 @@
 %global readers_dir %(pkg-config libpcsclite --variable=usbdropdir)
 
 
 Name:		pcsc-cyberjack
 Summary:	PC/SC driver for REINER SCT cyberjack USB chip card reader
 Version:	3.99.5final.SP15
 %global version_prefix %(c=%{version}; echo ${c:0:6})
 %global version_suffix %(c=%{version}; echo ${c:12:4})
-Release:	10%{?dist}
+Release:	11%{?dist}
 License:	GPLv2+ and LGPLv2+
 URL:		https://www.reiner-sct.com/
 Source0:	https://support.reiner-sct.de/downloads/LINUX/V%{version_prefix}_%{version_suffix}/%{name}_%{version}.tar.bz2
 Source1:	pcsc-cyberjack-3.99.5final.SP09-README-FEDORA
 Source2:	libifd-cyberjack6.udev
 # this patch replaces the obsoleted AC_PROG_LIBTOOLT macro with LT_INIT
 # the patch is sent to upstream per email (20160528)
 Patch0:		pcsc-cyberjack-3.99.5final.SP09-configure.patch
 
 Requires:	udev
 Requires:	pcsc-lite
-Requires(pre):	shadow-utils
 
 BuildRequires:	make
 BuildRequires:	gcc
 BuildRequires:	gcc-c++
 BuildRequires:	automake
 BuildRequires:	autoconf
 BuildRequires:	libtool
 BuildRequires:	libusb1-devel
@@ -70,16 +69,21 @@ Sample code to use/test SCardControl() API by Ludovic Rousseau.
 %prep
 %setup -q
 %patch -P0 -p1
 autoreconf --force --install
 
 # README-FEDORA
 install -pm 644 %{SOURCE1} README-FEDORA.txt
 
+# Create a sysusers.d config file
+cat >pcsc-cyberjack.sysusers.conf <<EOF
+g cyberjack -
+EOF
+
 %build
 # while the docs say --enable-udev will create udev files, I get no rule
 # in etc/udev, so making my own later, based on debian one
 %configure \
 	--disable-static \
 	--enable-pcsc \
 	--sysconfdir="%{_sysconfdir}" \
 	--with-usbdropdir="%{readers_dir}" \
@@ -112,18 +116,18 @@ install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_udevrulesdir}/93-cyberjack.rules
 sed -e 's/GROUP="pcscd"/GROUP="cyberjack"/' -i %{buildroot}%{_udevrulesdir}/93-cyberjack.rules
 touch -c -r %{SOURCE2} %{buildroot}%{_udevrulesdir}/93-cyberjack.rules
 
 # cjflash does not get installed automatically
 pushd tools/cjflash
 %make_install
 popd
 
-%pre
-getent group cyberjack >/dev/null || groupadd -r cyberjack
+install -m0644 -D pcsc-cyberjack.sysusers.conf %{buildroot}%{_sysusersdir}/pcsc-cyberjack.conf
+
 
 %post
 %udev_rules_update
 systemctl try-restart pcscd.socket
 exit 0
 
 %postun
 %udev_rules_update
@@ -138,26 +142,30 @@ exit 0
 %doc doc/README.txt doc/README.pdf doc/README.html
 %doc doc/LIESMICH.txt doc/LIESMICH.pdf doc/LIESMICH.html
 %license COPYING COPYRIGHT.GPL COPYRIGHT.LGPL
 
 %{_udevrulesdir}/93-cyberjack.rules
 %{readers_dir}/libifd-cyberjack.bundle/
 
 %config(noreplace) %{_sysconfdir}/cyberjack.conf
+%{_sysusersdir}/pcsc-cyberjack.conf
 
 
 %files cjflash
 %{_bindir}/cjflash
 %license COPYING
 
 %files examples
 %doc doc/verifypin_ascii.c doc/verifypin_fpin2.c
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.99.5final.SP15-11
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.99.5final.SP15-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 3.99.5final.SP15-9
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.99.5final.SP15-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git pdns-recursor/pdns-recursor.spec pdns-recursor/pdns-recursor.spec.tmp
index 9411f2a215..3eccd82b33 100644
--- pdns-recursor/pdns-recursor.spec
+++ pdns-recursor/pdns-recursor.spec.tmp
@@ -35,17 +35,16 @@ BuildRequires: protobuf-devel
 BuildRequires: hostname
 BuildRequires: libsodium-devel
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: libtool
 BuildRequires: cargo-rpm-macros
 BuildRequires: curl-devel
 
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 
 Patch:         serde_yaml.patch
 
 
@@ -58,16 +57,21 @@ package if you need a dns cache for your network.
 %autosetup -n %{name}-%{version} -p1
 cd settings/rust
 %cargo_prep
 
 %generate_buildrequires
 cd settings/rust
 %cargo_generate_buildrequires
 
+# Create a sysusers.d config file
+cat >pdns-recursor.sysusers.conf <<EOF
+u pdns-recursor - 'PowerDNS Recursor user' / -
+EOF
+
 %build
 %configure \
     --sysconfdir=%{_sysconfdir}/%{name} \
     --with-libsodium \
     --enable-reproducible \
     --enable-dnstap \
     --enable-dns-over-tls \
 %ifarch %{ix86} x86_64 aarch64
@@ -95,23 +99,19 @@ install -p -d -m 0755 %{buildroot}/%{_sharedstatedir}/%{name}/udr
 
 # change user and group to pdns-recursor
 sed -i \
     -e 's/# setuid=/setuid=pdns-recursor/' \
     -e 's/# setgid=/setgid=pdns-recursor/' \
     -e 's/# security-poll-suffix=secpoll\.powerdns\.com\./security-poll-suffix=/' \
     %{buildroot}%{_sysconfdir}/%{name}/recursor.conf
 
+install -m0644 -D pdns-recursor.sysusers.conf %{buildroot}%{_sysusersdir}/pdns-recursor.conf
+
 
-%pre
-getent group pdns-recursor > /dev/null || groupadd -r pdns-recursor
-getent passwd pdns-recursor > /dev/null || \
-    useradd -r -g pdns-recursor -d / -s /sbin/nologin \
-    -c "PowerDNS Recursor user" pdns-recursor
-exit 0
 
 
 %post
 %systemd_post pdns-recursor.service
 
 
 %preun
 %systemd_preun pdns-recursor.service
@@ -134,12 +134,13 @@ exit 0
 # because since recursor.yml takes precedence over recursor.conf we don't put
 # it directly there
 %config %{_sysconfdir}/%{name}/recursor.yml-dist
 %dir %attr(0755,pdns-recursor,pdns-recursor) %{_sharedstatedir}/%{name}
 %dir %attr(0755,pdns-recursor,pdns-recursor) %{_sharedstatedir}/%{name}/nod
 %dir %attr(0755,pdns-recursor,pdns-recursor) %{_sharedstatedir}/%{name}/udr
 %doc README
 %license COPYING
+%{_sysusersdir}/pdns-recursor.conf
 
 
 %changelog
 %autochangelog
diff --git pdns/pdns.spec pdns/pdns.spec.tmp
index c092879a89..d1f3dc04be 100644
--- pdns/pdns.spec
+++ pdns/pdns.spec.tmp
@@ -1,22 +1,21 @@
 %global _hardened_build 1
 %global backends %{nil}
 
 Name: pdns
 Version: 4.9.3
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: A modern, advanced and high performance authoritative-only name server
 License: GPL-2.0-only
 URL: http://powerdns.com
 Source0: http://downloads.powerdns.com/releases/%{name}-%{version}.tar.bz2
 Patch0: pdns-gcc15.patch
 ExcludeArch: %{arm} %{ix86}
 
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 BuildRequires: make
 BuildRequires: bison
 BuildRequires: boost-devel
 BuildRequires: gcc-c++
@@ -136,16 +135,21 @@ Summary: A program to redistribute zones over AXFR and IXFR
 BuildRequires: yaml-cpp-devel
 
 %description ixfrdist
 This package contains the ixfrdist program.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >pdns.sysusers.conf <<EOF
+u pdns - 'PowerDNS Authoritative Server' /var/lib/pdns -
+EOF
+
 %build
 export CPPFLAGS="-DLDAP_DEPRECATED"
 
 %configure \
 	--enable-option-checking=fatal \
 	--sysconfdir=%{_sysconfdir}/%{name} \
 	--disable-static \
 	--disable-dependency-tracking \
@@ -181,24 +185,21 @@ sed -i \
     -e 's/# setgid=/setgid=pdns/' \
     -e 's/# launch=/launch=bind/' \
     -e 's/# security-poll-suffix=secpoll\.powerdns\.com\./security-poll-suffix=/' \
     %{buildroot}%{_sysconfdir}/%{name}/pdns.conf
 
 %{__rm} %{buildroot}/%{_bindir}/stubquery
 %{__install} -d %{buildroot}/%{_sharedstatedir}/%{name}
 
+install -m0644 -D pdns.sysusers.conf %{buildroot}%{_sysusersdir}/pdns.conf
+
 %check
 make %{?_smp_mflags} -C pdns check
 
-%pre
-getent group pdns >/dev/null || groupadd -r pdns
-getent passwd pdns >/dev/null || \
-	useradd -r -g pdns -d /var/lib/pdns -s /sbin/nologin \
-	-c "PowerDNS Authoritative Server" pdns
 
 %post
 %systemd_post pdns.service
 
 %preun
 %systemd_preun pdns.service
 
 %postun
@@ -221,16 +222,17 @@ getent passwd pdns >/dev/null || \
 %{_mandir}/man1/pdnsutil.1.gz
 %{_unitdir}/pdns.service
 %{_unitdir}/pdns@.service
 %{_libdir}/%{name}/libbindbackend.so
 %dir %{_libdir}/%{name}/
 %dir %attr(-,pdns,pdns) %{_sharedstatedir}/%{name}
 %dir %attr(-,root,pdns) %{_sysconfdir}/%{name}/
 %attr(0640,root,pdns) %config(noreplace) %{_sysconfdir}/%{name}/pdns.conf
+%{_sysusersdir}/pdns.conf
 
 %files tools
 %{_bindir}/calidns
 %{_bindir}/dnsbulktest
 %{_bindir}/dnsgram
 %{_bindir}/dnspcap2calidns
 %{_bindir}/dnspcap2protobuf
 %{_bindir}/dnsreplay
@@ -318,16 +320,19 @@ getent passwd pdns >/dev/null || \
 %{_bindir}/ixfrdist
 %{_mandir}/man1/ixfrdist.1.gz
 %{_mandir}/man5/ixfrdist.yml.5.gz
 %{_sysconfdir}/%{name}/ixfrdist.example.yml
 %{_unitdir}/ixfrdist.service
 %{_unitdir}/ixfrdist@.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.9.3-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Mon Jan 20 2025 Morten Stevens <mstevens@fedoraproject.org> - 4.9.3-1
 - Update to 4.9.3
 
 * Mon Jan 20 2025 Morten Stevens <mstevens@fedoraproject.org> - 4.9.2-4
 - Fix missing include for gcc15
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
diff --git perl-MogileFS-Server/perl-MogileFS-Server.spec perl-MogileFS-Server/perl-MogileFS-Server.spec.tmp
index 805d21554f..04668ecd0c 100644
--- perl-MogileFS-Server/perl-MogileFS-Server.spec
+++ perl-MogileFS-Server/perl-MogileFS-Server.spec.tmp
@@ -1,12 +1,12 @@
 %global cpan_name MogileFS-Server
 Name:       perl-%{cpan_name}
 Version:    2.73
-Release:    25%{?dist}
+Release:    26%{?dist}
 Summary:    Server part of the MogileFS distributed file system
 # LICENSE:      GPL+ or Artistic
 # mogautomount: GPL+ or Artistic
 # mogstored:    "Same terms as Perl itself.  Artistic/GPLv2, at your choosing"
 # mogilefsd:    "Same terms as Perl itself.  Artistic/GPLv2, at your choosing"
 # There are two readings of the "Same terms as Perl itself.  Artistic/GPLv2,
 # at your choosing":
 #   (GPL+ or Artistic) and (GPLv2 or Artistic)
@@ -101,17 +101,16 @@ Obsoletes:      perl-mogilefs-server < 2.37
 Server part of the MogileFS distributed file system.
 
 
 %package -n mogilefsd
 Summary:        MogileFS tracker daemon
 Requires:       mogilefsd-storage = %{version}-%{release}
 Recommends:     mogilefsd-storage-mysql = %{version}-%{release}
 Requires(pre):      glibc-common
-Requires(pre):      shadow-utils
 Requires(post):     systemd
 Requires(preun):    systemd
 Requires(postun):   systemd
 
 %description -n mogilefsd
 This is MogileFS tracker daemon. It supports various storages. After selecting
 one, you have to install corresponding storage backend (mogilefsd-storage-*
 packages), adjust %{_sysconfdir}/mogilefs/mogilefsd.conf, and configure and
@@ -146,17 +145,16 @@ Provides:       mogilefsd-storage = %{version}-%{release}
 Summary:        MogileFS storage daemon
 Requires:       perl(Mogstored::ChildProcess::DiskUsage)
 Requires:       perl(Mogstored::ChildProcess::IOStat)
 Requires:       perl(Mogstored::HTTPServer::None)
 Requires:       perl(Pod::Usage)
 # sysstat for iostat program
 Requires:       sysstat
 Requires(pre):      glibc-common
-Requires(pre):      shadow-utils
 Requires(post):     systemd
 Requires(preun):    systemd
 Requires(postun):   systemd
 
 %description -n mogstored
 The MogileFS storage daemon mogstored.
 
 
@@ -204,16 +202,21 @@ Perlbal back-end for mogstored, the MogileFS storage daemon.
 %setup -q -n %{cpan_name}-%{version}
 %patch -P0 -p1
 %patch -P1 -p1
 cp -p %{SOURCE5} %{SOURCE6} %{SOURCE7} .
 # Remove test that interfere with system service
 rm t/mogstored-shutdown.t
 sed -i -e '/^t\/mogstored-shutdown\.t/d' MANIFEST
 
+# Create a sysusers.d config file
+cat >perl-mogilefs-server.sysusers.conf <<EOF
+u mogilefsd - 'MogileFS tracker daemon' / -
+EOF
+
 
 %build
 perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
 %{make_build}
 
 
 %install
 %{make_install}
@@ -225,29 +228,25 @@ install -p -m0644 %{SOURCE1} %{SOURCE2} %{buildroot}%{_unitdir}
 install -d -m0755 %{buildroot}%{_sysconfdir}/mogilefs
 install -p -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/mogilefs
 
 install -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig
 install -p -m0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig
 
 install -d -m0770 %{buildroot}%{_localstatedir}/mogdata
 
+install -m0644 -D perl-mogilefs-server.sysusers.conf %{buildroot}%{_sysusersdir}/perl-mogilefs-server.conf
+
 %check
 # SQLite back-end fails in mock. MySQL or PostgreSQL in mock is also no-go.
 # make test MOGTEST_DBTYPE=SQLite
 # Disabling network tests.
 make test
 
 
-%pre -n mogilefsd
-getent group mogilefsd >/dev/null || groupadd -r mogilefsd
-getent passwd mogilefsd >/dev/null || \
-    useradd -r -g mogilefsd -d / -s /sbin/nologin \
-        -c "MogileFS tracker daemon" mogilefsd
-exit 0
 
 %post -n mogilefsd
 %systemd_post mogilefsd.service
 
 %preun -n mogilefsd
 %systemd_preun mogilefsd.service
 
 %postun -n mogilefsd
@@ -280,16 +279,17 @@ exit 0
 %{_mandir}/man1/mogilefsd.*
 %{_mandir}/man3/MogileFS::*.*
 %exclude %{_mandir}/man3/MogileFS::Store::*
 %{perl_vendorlib}/MogileFS
 %exclude %{perl_vendorlib}/MogileFS/Store/*
 %dir %{_sysconfdir}/mogilefs
 %config(noreplace) %attr(0640,root,mogilefsd) %{_sysconfdir}/mogilefs/mogilefsd.conf
 %{_unitdir}/mogilefsd.service
+%{_sysusersdir}/perl-mogilefs-server.conf
 
 %files -n mogilefsd-storage-mysql
 %{_mandir}/man3/MogileFS::Store::MySQL.*
 %{perl_vendorlib}/MogileFS/Store/MySQL.pm
 
 %files -n mogilefsd-storage-postgres
 %{_mandir}/man3/MogileFS::Store::Postgres.*
 %{perl_vendorlib}/MogileFS/Store/Postgres.pm
@@ -326,16 +326,19 @@ exit 0
 
 %files -n mogstored-backend-none
 %{perl_vendorlib}/Mogstored/HTTPServer/None.pm
 
 %files -n mogstored-backend-perlbal
 %{perl_vendorlib}/Mogstored/HTTPServer/Perlbal.pm
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.73-26
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.73-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Aug 06 2024 Miroslav Suchý <msuchy@redhat.com> - 2.73-24
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.73-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git perl-Net-Statsd-Server/perl-Net-Statsd-Server.spec perl-Net-Statsd-Server/perl-Net-Statsd-Server.spec.tmp
index 97ecacd86d..b9d5dc993e 100644
--- perl-Net-Statsd-Server/perl-Net-Statsd-Server.spec
+++ perl-Net-Statsd-Server/perl-Net-Statsd-Server.spec.tmp
@@ -1,15 +1,15 @@
 %define username   statsdpl
 %define groupname  statsdpl
 %define daemon     statsd-perl
 
 Name:           perl-Net-Statsd-Server
 Version:        0.20
-Release:        27%{?dist}
+Release:        28%{?dist}
 Summary:        Library for the Perl port of Flickr/Etsy's statsd metrics daemon
 # Automatically converted from old format: GPL+ or Artistic - review is highly recommended.
 License:        GPL-1.0-or-later OR Artistic-1.0-Perl
 URL:            https://metacpan.org/release/Net-Statsd-Server
 Source0:        https://cpan.metacpan.org/modules/by-module/Net/Net-Statsd-Server-%{version}.tar.gz
 Source1:        %{daemon}.service
 Source2:        %{daemon}.js
 Source3:        %{daemon}.logrotate
@@ -60,62 +60,63 @@ write a back-end yourself.
 %setup -q -n Net-Statsd-Server-%{version}
 %patch -P1 -p1
 mv bin/statsd bin/%{daemon}
 for F in exampleConfig.js localConfig.js logConfig.js rrdConfig.js; do
     mv bin/"$F" "$F"
 done
 rm -Rf t/integration-tests/
 
+# Create a sysusers.d config file
+cat >perl-net-statsd-server.sysusers.conf <<EOF
+g statsdpl -
+u statsdpl - 'Perl Statsd' /run/%{daemon} -
+EOF
+
 %build
 %{__perl} Makefile.PL INSTALLDIRS=vendor
 make %{?_smp_mflags}
 
 %install
 make pure_install DESTDIR=$RPM_BUILD_ROOT
 install -Dp -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{daemon}.service
 install -Dp -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{daemon}.js
 install -Dp -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{daemon}
 mkdir -p -m 750 $RPM_BUILD_ROOT%{_localstatedir}/log/%{daemon}
 
 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
 
 %{_fixperms} $RPM_BUILD_ROOT/*
 
+install -m0644 -D perl-net-statsd-server.sysusers.conf %{buildroot}%{_sysusersdir}/perl-net-statsd-server.conf
+
 %check
 STATSD_BINARY=$RPM_BUILD_ROOT/usr/bin/%{daemon} make test
 
 %files
 %license LICENSE
 %doc Changes README TODO
 %{perl_vendorlib}/*
 %{_mandir}/man3/*
 
 %package -n statsd-perl
 Summary:        A Perl port of Flickr/Etsy's statsd metrics daemon
 BuildRequires:  systemd-units
 Requires:       %{name} = %{version}-%{release}
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
-Requires(pre):  shadow-utils
 Provides:  statsd
 
 %description -n statsd-perl
 Implements a daemon that listens on a given host/port for incoming UDP packets
 and dispatches them to whatever you want, including Graphite or your console.
 Look into the Net::Statsd::Server::Backend::* name space to know all the
 possibilities, or write a back-end yourself.
 
-%pre -n statsd-perl
-getent group %{groupname} >/dev/null || groupadd -r %{groupname}
-getent passwd %{username} >/dev/null || \
-useradd -r -g %{groupname} -d /run/%{daemon} \
-    -s /sbin/nologin -c "Perl Statsd" %{username}
-exit 0
 
 %post -n statsd-perl
 %systemd_post %{daemon}.service
 
 %preun -n statsd-perl
 %systemd_preun %{daemon}.service
 
 %postun -n statsd-perl
@@ -124,18 +125,22 @@ exit 0
 %files -n statsd-perl
 %doc README exampleConfig.js localConfig.js logConfig.js rrdConfig.js
 %{_mandir}/man1/*
 %{_bindir}/*
 %config(noreplace) %{_sysconfdir}/%{daemon}.js
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{daemon}
 %{_unitdir}/%{daemon}.service
 %attr(750, %{username}, %{groupname}) %{_localstatedir}/log/%{daemon}
+%{_sysusersdir}/perl-net-statsd-server.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.20-28
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.20-27
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Aug 06 2024 Miroslav Suchý <msuchy@redhat.com> - 0.20-26
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.20-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git perl-Web-Paste-Simple/perl-Web-Paste-Simple.spec perl-Web-Paste-Simple/perl-Web-Paste-Simple.spec.tmp
index 58e786d65d..39862714a3 100644
--- perl-Web-Paste-Simple/perl-Web-Paste-Simple.spec
+++ perl-Web-Paste-Simple/perl-Web-Paste-Simple.spec.tmp
@@ -1,11 +1,11 @@
 Name:           perl-Web-Paste-Simple
 Version:        0.002
-Release:        30%{?dist}
+Release:        31%{?dist}
 Summary:        Simple PSGI-based pastebin-like web site
 # CONTRIBUTING:             GPL+ or Artistic or CC-BY-SA
 # lib/Web/Paste/Simple.pm   GPL+ or Artistic
 License:        (GPL+ or Artistic) and (GPL+ or Artistic or CC-BY-SA)
 URL:            https://metacpan.org/release/Web-Paste-Simple
 Source0:        https://cpan.metacpan.org/modules/by-module/Web/Web-Paste-Simple-%{version}.tar.gz
 Source1:        web-paste-simple.service
 # We don't like /usr/bin/env in shellbangs
@@ -49,56 +49,56 @@ JavaScript library. It should be fast enough for deployment via CGI.
 
 %package server
 Summary:        Simple pastebin-like web server
 # Automatically converted from old format: GPL+ or Artistic - review is highly recommended.
 License:        GPL-1.0-or-later OR Artistic-1.0-Perl
 Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
 # unit directory ownership
 Requires:       systemd
-Requires(pre):  shadow-utils
 
 %description server
 This is web-paste-simple daemon for Web::Paste::Simple web service.
 
 %global storage %{_sharedstatedir}/webpastesimple
 
 %prep
 %setup -q -n Web-Paste-Simple-%{version}
 %patch -P0 -p1
 %patch -P1 -p1
 # Set storage path for the daemon
 sed -e '/^ExecStart=/iEnvironment=WEB_PASTE_SIMPLE_STORAGE=%{storage}' \
     < %{SOURCE1} > web-paste-simple.service
 
+# Create a sysusers.d config file
+cat >perl-web-paste-simple.sysusers.conf <<EOF
+u webpastesimple - 'web-paste-simple daemon' %{storage} -
+EOF
+
 %build
 perl Makefile.PL NO_PACKLIST=1 NO_PERLLOCAL=1 INSTALLDIRS=vendor
 %{make_build}
 
 %install
 %{make_install}
 %{_fixperms} $RPM_BUILD_ROOT/*
 
 # Daemon
 install -d %{buildroot}%{_unitdir}
 install -m 0644 web-paste-simple.service %{buildroot}%{_unitdir}
 install -d %{buildroot}%{storage}
 
+install -m0644 -D perl-web-paste-simple.sysusers.conf %{buildroot}%{_sysusersdir}/perl-web-paste-simple.conf
+
 %check
 make test
 
 %post server
 %systemd_post apache-httpd.service
 
-%pre server
-getent group webpastesimple >/dev/null || groupadd -r webpastesimple
-getent passwd webpastesimple >/dev/null || \
-    useradd -r -g webpastesimple -d %{storage} -s /sbin/nologin \
-        -c "web-paste-simple daemon" webpastesimple
-exit 0
 
 %preun server
 %systemd_preun apache-httpd.service
 
 %postun server
 %systemd_postun_with_restart apache-httpd.service 
 
 %files
@@ -106,18 +106,22 @@ exit 0
 %doc Changes CONTRIBUTING COPYRIGHT CREDITS README
 %{perl_vendorlib}/*
 %{_mandir}/man3/*
 
 %files server
 %{_bindir}/*
 %{_unitdir}/*
 %dir %attr(750, webpastesimple, webpastesimple) %{storage}
+%{_sysusersdir}/perl-web-paste-simple.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.002-31
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.002-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Aug 06 2024 Miroslav Suchý <msuchy@redhat.com> - 0.002-29
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.002-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git pesign/pesign.spec pesign/pesign.spec.tmp
index 723bab8902..c282a30adb 100644
--- pesign/pesign.spec
+++ pesign/pesign.spec.tmp
@@ -1,17 +1,17 @@
 %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
 
 # No.  I have enough trouble already.
 %undefine _auto_set_build_flags
 
 Name:    pesign
 Summary: Signing utility for UEFI binaries
 Version: 116
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: GPL-2.0-only
 URL:     https://github.com/rhboot/pesign
 
 Obsoletes: pesign-rh-test-certs <= 0.111-7
 BuildRequires: efivar-devel >= 38-1
 BuildRequires: gcc
 BuildRequires: git
 BuildRequires: libuuid-devel
@@ -32,17 +32,16 @@ BuildRequires: xz
 BuildRequires: systemd-rpm-macros
 %endif
 Requires:      nspr
 Requires:      nss
 Requires:      nss-tools >= 3.53
 Requires:      nss-util
 Requires:      popt
 Requires:      rpm
-Requires(pre): shadow-utils
 ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm} riscv64
 %if 0%{?rhel} == 7
 BuildRequires: rh-signing-tools >= 1.20-2
 %endif
 
 Source0: https://github.com/rhboot/pesign/releases/download/%{version}/pesign-%{version}.tar.bz2
 Source1: certs.tar.xz
 Source2: pesign.py
@@ -62,16 +61,21 @@ git init
 git config user.email "pesign-owner@fedoraproject.org"
 git config user.name "Fedora Ninjas"
 git add .
 git commit -a -q -m "%{version} baseline."
 git am %{patches} </dev/null
 git config --unset user.email
 git config --unset user.name
 
+# Create a sysusers.d config file
+cat >pesign.sysusers.conf <<EOF
+u pesign - 'Group for the pesign signing daemon' /run/pesign -
+EOF
+
 %build
 make PREFIX=%{_prefix} LIBDIR=%{_libdir}
 
 %install
 mkdir -p %{buildroot}/%{_libdir}
 make PREFIX=%{_prefix} LIBDIR=%{_libdir} INSTALLROOT=%{buildroot} \
 	install
 %if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
@@ -96,22 +100,18 @@ fi
 rm -vf %{buildroot}/usr/share/doc/pesign-%{version}/COPYING
 
 # and find-debuginfo.sh has some pretty awful deficencies too...
 cp -av libdpe/*.[ch] src/
 
 install -d -m 0755 %{buildroot}%{python3_sitelib}/mockbuild/plugins/
 install -m 0755 %{SOURCE2} %{buildroot}%{python3_sitelib}/mockbuild/plugins/
 
-%pre
-getent group pesign >/dev/null || groupadd -r pesign
-getent passwd pesign >/dev/null || \
-	useradd -r -g pesign -d /run/pesign -s /sbin/nologin \
-		-c "Group for the pesign signing daemon" pesign
-exit 0
+install -m0644 -D pesign.sysusers.conf %{buildroot}%{_sysusersdir}/pesign.conf
+
 
 %if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
 %post
 %systemd_post pesign.service
 
 %preun
 %systemd_preun pesign.service
 
@@ -155,18 +155,22 @@ certutil -d %{_sysconfdir}/pki/pesign/ -X -L > /dev/null
 %ghost %attr(0660, -, -) %{_rundir}/%{name}/socket
 %ghost %attr(0660, -, -) %{_rundir}/%{name}/pesign.pid
 %if 0%{?rhel} >= 7 || 0%{?fedora} >= 17
 %{_tmpfilesdir}/pesign.conf
 %{_unitdir}/pesign.service
 %endif
 %{python3_sitelib}/mockbuild/plugins/*/pesign.*
 %{python3_sitelib}/mockbuild/plugins/pesign.*
+%{_sysusersdir}/pesign.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Thu Nov 21 2024 Peter Jones <pjones@redhat.com> - 116-6
 - Work around OpenSC token name changes
 
 * Tue Nov 12 2024 Kevin Fenzi <kevin@scrye.com> - 116-5
 - Rebuild to pick up riscv64 change
 
 * Tue Mar 05 2024 Liu Yang <Yang.Liu.sn@gmail.com> - 116-4
 - Add riscv64.
diff --git pgbouncer/pgbouncer.spec pgbouncer/pgbouncer.spec.tmp
index 52aab8e935..e96cdcc994 100644
--- pgbouncer/pgbouncer.spec
+++ pgbouncer/pgbouncer.spec.tmp
@@ -1,11 +1,11 @@
 Name:		pgbouncer
 Version:	1.23.1
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	Lightweight connection pooler for PostgreSQL
 # Automatically converted from old format: MIT and BSD - review is highly recommended.
 License:	LicenseRef-Callaway-MIT AND LicenseRef-Callaway-BSD
 URL:		https://www.pgbouncer.org
 
 Source0:	%{url}/downloads/files/%{version}/%{name}-%{version}.tar.gz
 Source3:	%{name}.logrotate
 Source4:	%{name}.service
@@ -22,27 +22,31 @@ BuildRequires:	pkgconfig(libevent)
 # For Fedora and EL9+ systemd-rpm-macros would be enough:
 BuildRequires:	systemd-devel
 
 Requires:	systemd
 Requires:	logrotate
 Requires:	python3-psycopg2
 Requires:	c-ares >= 1.11
 
-Requires(pre):	shadow-utils
 
 %description
 pgbouncer is a lightweight connection pooler for PostgreSQL and uses libevent
 for low-level socket handling.
 
 %prep
 %autosetup -p0
 
 sed -i -e 's|/usr/bin/env python.*|%__python3|g' etc/mkauth.py
 
+# Create a sysusers.d config file
+cat >pgbouncer.sysusers.conf <<EOF
+u pgbouncer - 'PgBouncer Server' / -
+EOF
+
 %build
 # Building with systemd flag tries to enable notify support:
 %configure \
 	--enable-debug \
 	--with-cares \
 	--with-pam \
 	--with-systemd
 
@@ -79,21 +83,18 @@ EOF
 
 # logrotate file
 install -p -d %{buildroot}%{_sysconfdir}/logrotate.d
 install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
 
 # Let RPM pick up docs in the files section
 rm -fr %{buildroot}%{_docdir}/%{name}
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name} &>/dev/null || :
-getent passwd %{name} >/dev/null || useradd -r -s /sbin/nologin \
-    -d / -M -c "PgBouncer Server" -g %{name} %{name} &>/dev/null || :
-exit 0
+install -m0644 -D pgbouncer.sysusers.conf %{buildroot}%{_sysusersdir}/pgbouncer.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -112,18 +113,22 @@ exit 0
 %{_mandir}/man1/%{name}.*
 %{_mandir}/man5/%{name}.*
 %attr(700,%{name},%{name}) %{_localstatedir}/log/%{name}
 
 %attr(755,%{name},%{name}) %dir %{_rundir}/%{name}
 %ghost %{_rundir}/%{name}/%{name}.pid
 %{_tmpfilesdir}/%{name}.conf
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/pgbouncer.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.23.1-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.23.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 1.23.1-2
 - convert license to SPDX
 
 * Mon Aug 05 2024 Simone Caronni <negativo17@gmail.com> - 1.23.1-1
 - Update to 1.23.1.
diff --git picocom/picocom.spec picocom/picocom.spec.tmp
index be80743dd0..293b941f21 100644
--- picocom/picocom.spec
+++ picocom/picocom.spec.tmp
@@ -1,64 +1,71 @@
 # We cannot use - in versions, so we replace with .
 %global upstreamversion 2024-07
 
 Name:           picocom
 Version:        2024.07
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Minimal serial communications program
 
 License:        GPL-2.0-or-later
 URL:            https://gitlab.com/wsakernel/picocom/
 Source0:        https://gitlab.com/wsakernel/picocom/-/archive/%{upstreamversion}/picocom-%{upstreamversion}.tar.bz2
 BuildRequires: make
 BuildRequires: gcc
 BuildRequires: golang-github-cpuguy83-md2man
 
 # for groupadd
-Requires(pre):  shadow-utils
 
 %description
 As its name suggests, [picocom] is a minimal dumb-terminal emulation
 program. It is, in principle, very much like minicom, only it's "pico"
 instead of "mini"! It was designed to serve as a simple, manual, modem
 configuration, testing, and debugging tool. It has also served (quite
 well) as a low-tech "terminal-window" to allow operator intervention
 in PPP connection scripts (something like the ms-windows "open
 terminal window before / after dialing" feature).  It could also prove
 useful in many other similar tasks. It is ideal for embedded systems
 since its memory footprint is minimal (less than 20K, when
 stripped).
 
 %prep
 %autosetup -n %{name}-%{upstreamversion}
 
+# Create a sysusers.d config file
+cat >picocom.sysusers.conf <<EOF
+g dialout 18
+EOF
+
 %build
 make CC="%{__cc}" CFLAGS="$RPM_OPT_FLAGS -DUSE_CUSTOM_BAUD" %{_smp_mflags} UUCP_LOCK_DIR=/run/lock/picocom
 make doc
 
 %install
 rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
 install -m 755 picocom $RPM_BUILD_ROOT%{_bindir}/
 install -m 644 picocom.1 $RPM_BUILD_ROOT%{_mandir}/man1/
 mkdir -p $RPM_BUILD_ROOT/run/lock/picocom
 
-%pre
-getent group dialout >/dev/null || groupadd -g 18 -r -f dialout
-exit 0
+install -m0644 -D picocom.sysusers.conf %{buildroot}%{_sysusersdir}/picocom.conf
+
 
 %files
 %doc CONTRIBUTORS LICENSE.txt README.md
 %dir %attr(0775,root,dialout) /run/lock/picocom
 %{_bindir}/picocom
 %{_mandir}/man1/*
+%{_sysusersdir}/picocom.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2024.07-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2024.07-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Aug 24 2024 Kevin Fenzi <kevin@scrye.com> - 2024.07-1
 - Update to 2024-07. Fixes rhbz#2301987
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2023.04-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git postfix-mta-sts-resolver/postfix-mta-sts-resolver.spec postfix-mta-sts-resolver/postfix-mta-sts-resolver.spec.tmp
index 84344f3f35..4ac181d845 100644
--- postfix-mta-sts-resolver/postfix-mta-sts-resolver.spec
+++ postfix-mta-sts-resolver/postfix-mta-sts-resolver.spec.tmp
@@ -20,33 +20,37 @@ BuildArch:      noarch
 BuildRequires:  python3-devel
 BuildRequires:  rubygem-asciidoctor
 BuildRequires:  make
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  pyproject-rpm-macros
 BuildRequires:  sed
 BuildRequires:  gnupg2
 
-Requires(pre):  shadow-utils
 
 %description
 postfix-mta-sts-resolver provides a lookup daemon and command line
 query utility for MTA-STS policies (RFC 8461).  The daemon provides TLS
 client policy to Postfix via socketmap.
 
 
 
 %prep
 %{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}'
 %autosetup -n %{name}-%{version}
 
 
 %generate_buildrequires
 %pyproject_buildrequires
 
+# Create a sysusers.d config file
+cat >postfix-mta-sts-resolver.sysusers.conf <<EOF
+u mta-sts - 'Postfix MTA-STS Map Daemon' %{_sharedstatedir}/mta-sts -
+EOF
+
 
 %build
 %pyproject_wheel
 make doc
 
 
 %install
 %pyproject_install
@@ -57,16 +61,18 @@ install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
 
 mkdir -p %{buildroot}%{_sharedstatedir}/mta-sts
 
 mkdir -p %{buildroot}%{_mandir}/man1
 install -p -D -m 0644 man/*.1 %{buildroot}%{_mandir}/man1/
 mkdir -p %{buildroot}%{_mandir}/man5
 install -p -D -m 0644 man/*.5 %{buildroot}%{_mandir}/man5/
 
+install -m0644 -D postfix-mta-sts-resolver.sysusers.conf %{buildroot}%{_sysusersdir}/postfix-mta-sts-resolver.conf
+
 
 %check
 # Upstream's test suite doesn't play nicely with Fedora's offline build system
 %pyproject_check_import -e 'postfix_mta_sts_resolver.postgres_cache' -e 'postfix_mta_sts_resolver.redis_cache' -e 'postfix_mta_sts_resolver.sqlite_cache'
 
 
 %pyproject_extras_subpkg -n %{name} sqlite dev redis postgres uvloop
 
@@ -75,23 +81,19 @@ install -p -D -m 0644 man/*.5 %{buildroot}%{_mandir}/man5/
 %license LICENSE
 %doc README.md config_examples
 %{_mandir}/man*/*
 %{_bindir}/mta-sts-query
 %{_bindir}/mta-sts-daemon
 %config(noreplace) %attr(0640,root,mta-sts) %{_sysconfdir}/mta-sts-daemon.yml
 %{_unitdir}/%{name}.service
 %dir %attr(0755,mta-sts,mta-sts) %{_sharedstatedir}/mta-sts
+%{_sysusersdir}/postfix-mta-sts-resolver.conf
 
 
-%pre
-getent group mta-sts >/dev/null || groupadd -r mta-sts
-getent passwd mta-sts >/dev/null || \
-    useradd -r -g mta-sts -d %{_sharedstatedir}/mta-sts -s /sbin/nologin \
-    -c "Postfix MTA-STS Map Daemon" mta-sts
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
diff --git postgresql16/postgresql16.spec postgresql16/postgresql16.spec.tmp
index 75ae4f934a..5a971586e3 100644
--- postgresql16/postgresql16.spec
+++ postgresql16/postgresql16.spec.tmp
@@ -43,17 +43,17 @@
 
 # Don't create note file, added package_note_flags to linker by redhat-rpm-config
 # will cause issue during extension build because it'll be inherited.
 %undefine _package_note_file
 
 Summary: PostgreSQL client programs
 Name: %{majorname}%{majorversion}
 Version: %{majorversion}.3
-Release: 8%{?dist}
+Release: 9%{?dist}
 
 # The PostgreSQL license is very similar to other MIT licenses, but the OSI
 # recognizes it as an independent license, so we do as well.
 License: PostgreSQL
 Url: http://www.postgresql.org/
 
 # This SRPM includes a copy of the previous major release, which is needed for
 # in-place upgrade of an old database.  In most cases it will not be critical
@@ -259,17 +259,16 @@ with a PostgreSQL database management server.
 You need to install this package if you want to develop applications which
 will interact with a PostgreSQL server.
 %endif
 
 
 %package -n %{pkgname}-server
 Summary: The programs needed to create and run a PostgreSQL server
 Requires: %{pkgname}%{?_isa} = %precise_version
-Requires(pre): /usr/sbin/useradd
 # We require this to be present for %%{_prefix}/lib/tmpfiles.d
 Requires: systemd
 # Make sure it's there when scriptlets run, too
 %{?systemd_requires}
 # We require this to be present for /usr/sbin/runuser when using --initdb (rhbz#2071437)
 Requires: util-linux
 # postgresql setup requires runuser from util-linux package
 BuildRequires: util-linux
@@ -536,16 +535,21 @@ find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\
 %endif
 
 # apply once SOURCE3 is extracted
 %endif
 
 # remove .gitignore files to ensure none get into the RPMs (bug #642210)
 find . -type f -name .gitignore | xargs rm
 
+# Create a sysusers.d config file
+cat >postgresql16.sysusers.conf <<EOF
+u postgres 26 'PostgreSQL Server' /var/lib/pgsql /bin/bash
+EOF
+
 
 %build
 # Avoid LTO on armv7hl as it runs out of memory
 %ifarch armv7hl s390x
 %define _lto_cflags %{nil}
 %endif
 # fail quickly and obviously if user tries to build as root
 %if %runselftest
@@ -940,20 +944,18 @@ find_lang_bins plperl.lst plperl
 %if %plpython3
 find_lang_bins plpython3.lst plpython
 %endif
 %if %pltcl
 find_lang_bins pltcl.lst pltcl
 %endif
 %endif
 
-%pre -n %{pkgname}-server
-/usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || :
-/usr/sbin/useradd -M -N -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
-	-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :
+install -m0644 -D postgresql16.sysusers.conf %{buildroot}%{_sysusersdir}/postgresql16.conf
+
 
 %post -n %{pkgname}-server
 %systemd_post %service_name
 
 
 %preun -n %{pkgname}-server
 %systemd_preun %service_name
 
@@ -1229,16 +1231,17 @@ make -C postgresql-setup-%{setup_version} check
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql
 %attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data
 %ghost %attr(755,postgres,postgres) %dir %{_rundir}/postgresql
 %if %pam
 %config(noreplace) /etc/pam.d/postgresql
 %endif
+%{_sysusersdir}/postgresql16.conf
 
 
 %files -n %{pkgname}-server-devel -f devel.lst
 %{_bindir}/pg_server_config
 %dir %{_datadir}/pgsql
 %{_datadir}/pgsql/errcodes.txt
 %dir %{_includedir}/pgsql
 %{_includedir}/pgsql/server
@@ -1326,16 +1329,19 @@ make -C postgresql-setup-%{setup_version} check
 
 %if %test
 %files -n %{pkgname}-test
 %attr(-,postgres,postgres) %{_libdir}/pgsql/test
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 16.3-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 16.3-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 16.3-7
 - Rebuild for ICU 76
 
 * Mon Sep 16 2024 Filip Janus <fjanus@redhat.com> - 16.3-6
 - Fix typos in provides
diff --git postgresql17/postgresql17.spec postgresql17/postgresql17.spec.tmp
index 06b968cc93..f9ac580781 100644
--- postgresql17/postgresql17.spec
+++ postgresql17/postgresql17.spec.tmp
@@ -43,17 +43,17 @@
 
 # Don't create note file, added package_note_flags to linker by redhat-rpm-config
 # will cause issue during extension build because it'll be inherited.
 %undefine _package_note_file
 
 Summary: PostgreSQL client programs
 Name: %{majorname}%{majorversion}
 Version: %{majorversion}.0
-Release: 2%{?dist}
+Release: 3%{?dist}
 
 # The PostgreSQL license is very similar to other MIT licenses, but the OSI
 # recognizes it as an independent license, so we do as well.
 License: PostgreSQL
 Url: http://www.postgresql.org/
 
 # This SRPM includes a copy of the previous major release, which is needed for
 # in-place upgrade of an old database.  In most cases it will not be critical
@@ -260,17 +260,16 @@ with a PostgreSQL database management server.
 You need to install this package if you want to develop applications which
 will interact with a PostgreSQL server.
 %endif
 
 
 %package -n %{pkgname}-server
 Summary: The programs needed to create and run a PostgreSQL server
 Requires: %{pkgname}%{?_isa} = %precise_version
-Requires(pre): /usr/sbin/useradd
 # We require this to be present for %%{_prefix}/lib/tmpfiles.d
 Requires: systemd
 # Make sure it's there when scriptlets run, too
 %{?systemd_requires}
 # We require this to be present for /usr/sbin/runuser when using --initdb (rhbz#2071437)
 Requires: util-linux
 # postgresql setup requires runuser from util-linux package
 BuildRequires: util-linux
@@ -537,16 +536,21 @@ find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\
 %endif
 
 # apply once SOURCE3 is extracted
 %endif
 
 # remove .gitignore files to ensure none get into the RPMs (bug #642210)
 find . -type f -name .gitignore | xargs rm
 
+# Create a sysusers.d config file
+cat >postgresql17.sysusers.conf <<EOF
+u postgres 26 'PostgreSQL Server' /var/lib/pgsql /bin/bash
+EOF
+
 
 %build
 # Avoid LTO on armv7hl as it runs out of memory
 %ifarch armv7hl s390x
 %define _lto_cflags %{nil}
 %endif
 # fail quickly and obviously if user tries to build as root
 %if %runselftest
@@ -942,20 +946,18 @@ find_lang_bins plperl.lst plperl
 %if %plpython3
 find_lang_bins plpython3.lst plpython
 %endif
 %if %pltcl
 find_lang_bins pltcl.lst pltcl
 %endif
 %endif
 
-%pre -n %{pkgname}-server
-/usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || :
-/usr/sbin/useradd -M -N -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
-	-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :
+install -m0644 -D postgresql17.sysusers.conf %{buildroot}%{_sysusersdir}/postgresql17.conf
+
 
 %post -n %{pkgname}-server
 %systemd_post %service_name
 
 
 %preun -n %{pkgname}-server
 %systemd_preun %service_name
 
@@ -1239,16 +1241,17 @@ make -C postgresql-setup-%{setup_version} check
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql
 %attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups
 %attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data
 %ghost %attr(755,postgres,postgres) %dir %{_rundir}/postgresql
 %if %pam
 %config(noreplace) /etc/pam.d/postgresql
 %endif
+%{_sysusersdir}/postgresql17.conf
 
 
 %files -n %{pkgname}-server-devel -f devel.lst
 %{_bindir}/pg_server_config
 %dir %{_datadir}/pgsql
 %{_datadir}/pgsql/errcodes.txt
 %dir %{_includedir}/pgsql
 %{_includedir}/pgsql/server
@@ -1339,16 +1342,19 @@ make -C postgresql-setup-%{setup_version} check
 
 %if %test
 %files -n %{pkgname}-test
 %attr(-,postgres,postgres) %{_libdir}/pgsql/test
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 17.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 17.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 1 2024 Filip Janus <fjanus@redhat.com> - 17.0-1
 - Initial packaging of pg17
 
 * Mon Sep 16 2024 Filip Janus <fjanus@redhat.com> - 16.3-6
 - Fix typos in provides
diff --git postgrey/postgrey.spec postgrey/postgrey.spec.tmp
index b5bd715ff4..5820134baf 100644
--- postgrey/postgrey.spec
+++ postgrey/postgrey.spec.tmp
@@ -1,13 +1,13 @@
 %global confdir %{_sysconfdir}/postfix
 
 Name:              postgrey
 Version:           1.37
-Release:           25%{?dist}
+Release:           26%{?dist}
 Summary:           Postfix Greylisting Policy Server
 # File headers only state "GNU GPL", but the LICENSE sections state v2 and "any
 # later version"
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:           GPL-2.0-or-later
 URL:               http://postgrey.schweikert.ch/
 Source0:           http://postgrey.schweikert.ch/pub/postgrey-%{version}.tar.gz
 Source1:           postgrey.service
@@ -26,17 +26,16 @@ BuildRequires:     systemd
 #Requires:          perl(Net::Server)
 #Requires:          perl(Pod::Usage)
 #Requires:          perl(POSIX)
 #Requires:          perl(strict)
 #Requires:          perl(Sys::Hostname)
 #Requires:          perl(Sys::Syslog)
 # Requiring postfix for its directories and GID.
 Recommends:        postfix
-Requires(pre):     shadow-utils
 Requires(post):    systemd
 Requires(preun):   systemd
 Requires(postun):  systemd
 
 %description
 Postgrey is a Postfix policy server implementing greylisting. When a request
 for delivery of a mail is received by Postfix via SMTP, the triplet CLIENT_IP /
 SENDER / RECIPIENT is built. If it is the first time that this triplet is
@@ -47,16 +46,21 @@ again later, as it is however required per RFC.
 %prep
 %setup -q
 # Set default group tp postgrey.
 sed -i 's|nogroup|postgrey|g' postgrey
 # No perldoc, man is enough.
 sed -i 's|POD ||g;s|perldoc|man|g' README
 install -pm0644 %{SOURCE2} README.Fedora
 
+# Create a sysusers.d config file
+cat >postgrey.sysusers.conf <<EOF
+u postgrey - 'Postfix Greylisting Service' %{_localstatedir}/spool/postfix/postgrey -
+EOF
+
 %build
 # We only have perl scripts, so just "build" the man page.
 pod2man \
     --center="Postgrey Policy Server for Postfix" \
     --section="8" \
     --release="Postgrey %{version}" \
     postgrey > postgrey.8
 
@@ -86,22 +90,18 @@ install -pDm0644 %{SOURCE3} \
 # Manpage.
 install -pDm0644 postgrey.8 \
     %{buildroot}%{_mandir}/man8/postgrey.8
 
 # Optional report script.
 install -pDm0755 contrib/postgreyreport \
     %{buildroot}%{_sbindir}/postgreyreport
 
-%pre
-getent group postgrey >/dev/null || groupadd -r postgrey
-getent passwd postgrey >/dev/null || \
-    useradd -r -g postgrey -d %{_localstatedir}/spool/postfix/postgrey -s /sbin/nologin \
-    -c "Postfix Greylisting Service" postgrey
-exit 0
+install -m0644 -D postgrey.sysusers.conf %{buildroot}%{_sysusersdir}/postgrey.conf
+
 
 %post
 %systemd_post postgrey.service
 
 %preun
 %systemd_preun postgrey.service
 
 %postun
@@ -124,18 +124,22 @@ exit 0
 %{_sysconfdir}/sysconfig/postgrey
 %config(noreplace) %{confdir}/postgrey_whitelist_clients
 %config(noreplace) %{confdir}/postgrey_whitelist_recipients
 %config(noreplace) %{confdir}/postgrey_whitelist_clients.local
 %{_sbindir}/postgrey
 %{_sbindir}/postgreyreport
 %{_mandir}/man8/postgrey.8*
 %dir %attr(0751,postgrey,postfix) %{_localstatedir}/spool/postfix/postgrey/
+%{_sysusersdir}/postgrey.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.37-26
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.37-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.37-24
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.37-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git ppp/ppp.spec ppp/ppp.spec.tmp
index cbd0167bdc..9f9c55de0c 100644
--- ppp/ppp.spec
+++ ppp/ppp.spec.tmp
@@ -13,17 +13,17 @@ Name:    ppp
 # NetworkManager-l2tp
 # NetworkManager-ppp
 # NetworkManager-pptp
 # NetworkManager-sstp
 # sstp-client
 # These all need to be patched (if necessary) and rebuilt for new
 # versions of ppp.
 Version: 2.5.1
-Release: 3%{?dist}
+Release: 4%{?dist}
 Summary: The Point-to-Point Protocol daemon
 License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000
 URL:     http://www.samba.org/ppp
 
 Source0: https://github.com/paulusmack/ppp/archive/ppp-%{version}.tar.gz
 Source1: ppp-pam.conf
 Source2: ppp-logrotate.conf
 Source3: ppp-tmpfiles.conf
@@ -56,18 +56,16 @@ Provides: bundled(linux-atm) = 2.4.1
 %else
 BuildRequires: linux-atm-libs-devel
 %endif
 
 Requires: glibc >= 2.0.6
 Requires: /etc/pam.d/system-auth
 Requires: libpcap >= 14:0.8.3-6
 Requires: systemd
-Requires(pre): /usr/bin/getent
-Requires(pre): /usr/sbin/groupadd
 
 # Subpackage removed and obsoleted in F40
 Obsoletes: network-scripts-ppp < %{version}-%{release}
 
 %description
 The ppp package contains the PPP (Point-to-Point Protocol) daemon and
 documentation for PPP support. The PPP protocol provides a method for
 transmitting datagrams over serial point-to-point links. PPP is
@@ -82,16 +80,21 @@ Requires: pkgconf-pkg-config
 %description devel
 This package contains the header files for building plugins for ppp.
 
 %prep
 %autosetup -p1 -n %{name}-%{name}-%{version}
 
 tar -xJf %{SOURCE12}
 
+# Create a sysusers.d config file
+cat >ppp.sysusers.conf <<EOF
+g dip 40
+EOF
+
 %build
 autoreconf -fi
 export CFLAGS="%{build_cflags} -fno-strict-aliasing"
 %configure --enable-systemd --enable-cbcp --with-pam --disable-openssl-engine
 %make_build
 %make_build -C ppp-watch LDFLAGS="%{?build_ldflags} -pie"
 
 %install
@@ -135,18 +138,18 @@ do
   mv "$f" "${f%%.example}"
 done
 popd
 
 %if "%{_sbindir}" == "%{_bindir}"
 mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/
 %endif
 
-%pre
-/usr/bin/getent group dip >/dev/null 2>&1 || /usr/sbin/groupadd -r -g 40 dip >/dev/null 2>&1 || :
+install -m0644 -D ppp.sysusers.conf %{buildroot}%{_sysusersdir}/ppp.conf
+
 
 %post
 %tmpfiles_create ppp.conf
 
 %files
 %doc FAQ README README.cbcp README.linux README.MPPE README.MSCHAP80 README.MSCHAP81 README.pwfd README.pppoe scripts sample README.eap-tls
 %{_sbindir}/chat
 %{_sbindir}/pppd
@@ -180,23 +183,27 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/
 %config(noreplace) %{_sysconfdir}/ppp/eaptls-client
 %config(noreplace) %{_sysconfdir}/ppp/eaptls-server
 %config(noreplace) %{_sysconfdir}/ppp/chap-secrets
 %config(noreplace) %{_sysconfdir}/ppp/options
 %config(noreplace) %{_sysconfdir}/ppp/pap-secrets
 %config(noreplace) %{_sysconfdir}/pam.d/ppp
 %config(noreplace) %{_sysconfdir}/logrotate.d/ppp
 %{_tmpfilesdir}/ppp.conf
+%{_sysusersdir}/ppp.conf
 
 %files devel
 %{_includedir}/pppd
 %doc PLUGINS
 %{_libdir}/pkgconfig/pppd.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.5.1-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.5.1-2
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Sat Nov 16 2024 Jaroslav Škarvada <jskarvad@redhat.com> - 2.5.1-1
 - New version
diff --git privoxy/privoxy.spec privoxy/privoxy.spec.tmp
index fde56577e8..95b7dad343 100644
--- privoxy/privoxy.spec
+++ privoxy/privoxy.spec.tmp
@@ -2,29 +2,28 @@
 %define privoxyconf %{_sysconfdir}/%{name}
 %define privoxy_uid 73
 %define privoxy_gid 73
 %define beta_or_stable stable
 #define beta_or_stable beta
 
 Name: privoxy
 Version: 3.0.34
-Release: 11%{?dist}
+Release: 12%{?dist}
 Summary: Privacy enhancing proxy
 License: GPL-2.0-or-later
 Source0: http://downloads.sourceforge.net/ijbswa/%{name}-%{version}-%{beta_or_stable}-src.tar.gz
 Source1: privoxy.service
 Source2: privoxy.logrotate
 Patch0: 53748ca8ca3c893025be34dd4f104546fcbd0602.patch
 Patch1: e73b93ea9ad1f3e980bd78ed3ebf65dedbb598a2.patch
 Patch2: 87253c999d5628a6e9287bb0cc613d7b44bcec09.patch
 Patch3: privoxy-configure-c99.patch
 Patch4: 19d7684ca10f6c1279568aa19e9a9da2276851f1.patch
 URL: http://www.privoxy.org/
-Requires(pre): shadow-utils
 BuildRequires: make
 BuildRequires: libtool autoconf pcre2-devel zlib-devel systemd
 
 %description 
 Privoxy is a web proxy with advanced filtering capabilities for
 protecting privacy, filtering web page content, managing cookies,
 controlling access, and removing ads, banners, pop-ups and other
 obnoxious Internet junk. Privoxy has a very flexible configuration and
@@ -37,16 +36,22 @@ Privoxy is based on the Internet Junkbuster.
 %setup -q -n %{name}-%{version}-%{beta_or_stable}
 
 %patch -P 0 -p 1
 %patch -P 1 -p 1
 %patch -P 2 -p 1
 %patch -P 3 -p 1
 %patch -P 4 -p 1
 
+# Create a sysusers.d config file
+cat >privoxy.sysusers.conf <<EOF
+g privoxy %{privoxy_gid}
+u privoxy %{privoxy_uid} - %{privoxyconf} -
+EOF
+
 %build
 rm -rf autom4te.cache
 autoreconf
 # lets test how it works with dynamic pcre:
 #configure --disable-dynamic-pcre
 %configure
 make %{?_smp_mflags}
 
@@ -69,22 +74,22 @@ install -p -m 711 -d %{buildroot}%{_localstatedir}/log/%{name}
 sed -i -e 's@^confdir.*@confdir %{privoxyconf}@g' %{buildroot}%{privoxyconf}/config
 sed -i -e 's@^logdir.*@logdir %{_localstatedir}/log/%{name}@g' %{buildroot}%{privoxyconf}/config
 
 touch %{buildroot}%{_sysconfdir}/privoxy/user.filter
 
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d
 cp -p %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}
 
+install -m0644 -D privoxy.sysusers.conf %{buildroot}%{_sysusersdir}/privoxy.conf
+
 
 %pre
 # Add user/group on install
 if [ $1 -eq "1" ]; then
-    %{_sbindir}/groupadd -g %{privoxy_gid} %{name} > /dev/null 2>&1 ||:
-    %{_sbindir}/useradd -u %{privoxy_uid} -g %{privoxy_gid} -d %{privoxyconf} -r -s "/sbin/nologin" %{name} > /dev/null 2>&1 ||:
 fi
 
 
 %post
 %systemd_post privoxy.service
 
 if [[ ! -f %{_sysconfdir}/privoxy/user.filter ]]
 then
@@ -107,18 +112,22 @@ fi
 %config(noreplace) %{_sysconfdir}/privoxy/user.filter
 %attr(0755,root,root)%{_sbindir}/%{name}
 %config(noreplace) %{privoxyconf}
 %attr(0644,root,root) %{_unitdir}/%{name}.service
 %{_mandir}/man8/%{name}.*
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %doc README AUTHORS ChangeLog LICENSE 
 %doc doc
+%{_sysusersdir}/privoxy.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.34-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.34-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.34-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Tue Jan 23 2024 Gwyn Ciesla <gwync@protonmail.com> - 3.0.34-9
 - Patch for connection crash.
RPMAutoSpec usage detected, not changing the spec file.
diff --git proxysql/proxysql.spec proxysql/proxysql.spec.tmp
index dc2195888c..5a1d7f1a72 100644
--- proxysql/proxysql.spec
+++ proxysql/proxysql.spec.tmp
@@ -88,16 +88,21 @@ MySQL and forks (like Percona Server and MariaDB).
 0005-Fix-clickhouse-cpp-build-on-i686-aarch64.patch
 0006-Fix-coredumper-build.patch
 
 %prep
 %autosetup -p1
 # Remove sources of debundled libraries
 rm -r deps/{libssl,pcre,curl,lz4,libev,libconfig,libdaemon,sqlite3}
 
+# Create a sysusers.d config file
+cat >proxysql.sysusers.conf <<EOF
+u proxysql - 'ProxySQL' /var/lib/proxysql -
+EOF
+
 %build
 export GIT_VERSION=%{version}
 %global _configure :
 %configure help
 export CPPFLAGS=$CXXFLAGS
 %make_build
 
 %install
@@ -110,20 +115,18 @@ install -p -D -m 0644 systemd/system/proxysql-initial.service %{buildroot}%{_uni
 install -p -D -m 0644 README.md %{buildroot}%{_docdir}/proxysql/README.md
 install -p -D -m 0644 RUNNING.md %{buildroot}%{_docdir}/proxysql/RUNNING.md
 install -p -D -m 0644 FAQ.md %{buildroot}%{_docdir}/proxysql/FAQ.md
 install -p -D -m 0644 doc/release_notes/*.md -t %{buildroot}%{_docdir}/proxysql
 install -p -D -m 0644 doc/internal/*.txt -t %{buildroot}%{_docdir}/proxysql
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/%{name}.1
 install -d -m 0755 %{buildroot}%{_sharedstatedir}/proxysql
 
-%pre
-/usr/sbin/groupadd -r proxysql >/dev/null 2>&1 || :
-/usr/sbin/useradd  -g proxysql -r -d /var/lib/proxysql -s /sbin/nologin \
-    -c "ProxySQL" proxysql >/dev/null 2>&1 || :
+install -m0644 -D proxysql.sysusers.conf %{buildroot}%{_sysusersdir}/proxysql.conf
+
 
 %post
 %systemd_post proxysql.service
 
 %preun
 %systemd_preun proxysql.service
 
 %postun
@@ -134,11 +137,12 @@ install -d -m 0755 %{buildroot}%{_sharedstatedir}/proxysql
 %{_bindir}/proxysql
 %{_unitdir}/proxysql.service
 %{_unitdir}/proxysql-initial.service
 %{_datadir}/proxysql/
 %{_docdir}/proxysql/
 %{_mandir}/man1/proxysql.1*
 %attr(-,proxysql,proxysql) %{_sharedstatedir}/proxysql/
 %attr(-,proxysql,root) %config(noreplace) %{_sysconfdir}/proxysql.cnf
+%{_sysusersdir}/proxysql.conf
 
 %changelog
 %autochangelog
diff --git pypolicyd-spf/pypolicyd-spf.spec pypolicyd-spf/pypolicyd-spf.spec.tmp
index 9b06cb7042..fb5861e486 100644
--- pypolicyd-spf/pypolicyd-spf.spec
+++ pypolicyd-spf/pypolicyd-spf.spec.tmp
@@ -1,13 +1,13 @@
 %global srcname spf-engine
 
 Name:           pypolicyd-spf
 Version:        3.1.0
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        SPF Policy Server for Postfix (Python implementation)
 
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            https://launchpad.net/%{srcname}
 Source0:        https://launchpad.net/%{srcname}/3.1/%{version}/+download/%{srcname}-%{version}.tar.gz
 Source1:        %{name}-tmpfiles.conf
 Patch0:         pypolicyd-spf-3.0.4-service.patch
@@ -42,16 +42,21 @@ Milter for pypolicyd-spf.
 
 %prep
 %autosetup -p1 -n %{srcname}-%{version}
 
 # Move doc files
 %{__mv} data/share/doc/python-policyd-spf/README.per_user_whitelisting .
 %{__mv} data/etc/python-policyd-spf/policyd-spf.conf.commented .
 
+# Create a sysusers.d config file
+cat >pypolicyd-spf.sysusers.conf <<EOF
+u pyspf-milter - - /run/pyspf-milter -
+EOF
+
 %build
 %pyproject_wheel
 
 
 %install
 %pyproject_install
 
 # We want the binary in Postfix libexec directory
@@ -65,48 +70,51 @@ Milter for pypolicyd-spf.
 
 # Remove SysV init
 %{__rm} -rf %{buildroot}%{_sysconfdir}/init.d
 
 # Temporary files for milter
 %{__mkdir_p} %{buildroot}%{_tmpfilesdir}
 %{__install} -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 
-%pre
-/usr/sbin/useradd -r -M -s /sbin/nologin -d /run/pyspf-milter \
-    pyspf-milter &>/dev/null || :
+install -m0644 -D pypolicyd-spf.sysusers.conf %{buildroot}%{_sysusersdir}/pypolicyd-spf.conf
+
 
  
 %files
 %doc README.txt README.per_user_whitelisting CHANGES COPYING
 %doc policyd-spf.conf.commented
 %dir %{_sysconfdir}/python-policyd-spf
 %config(noreplace) %{_sysconfdir}/python-policyd-spf/policyd-spf.conf
 %{_libexecdir}/postfix/policyd-spf
 %{_tmpfilesdir}/%{name}.conf
 %{_mandir}/man1/*
 %{_mandir}/man5/*
 %dir %{python3_sitelib}/spf_engine
 %{python3_sitelib}/spf_engine-%{version}.dist-info/
 %pycached %{python3_sitelib}/spf_engine/__init__.py
 %pycached %{python3_sitelib}/spf_engine/policy*.py
 %pycached %{python3_sitelib}/spf_engine/config.py
+%{_sysusersdir}/pypolicyd-spf.conf
 
 
 %files milter
 %dir %{_sysconfdir}/pyspf-milter
 %config(noreplace) %{_sysconfdir}/pyspf-milter/pyspf-milter.conf
 %{_bindir}/pyspf-milter
 %{_unitdir}/pyspf-milter.service
 %{_mandir}/man8/*
 %pycached %{python3_sitelib}/spf_engine/milter*.py
 %pycached %{python3_sitelib}/spf_engine/util.py
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Oct  9 2024 Bojan Smojver <bojan@rexursive.com> 3.1.0-1
 - Update to 3.1.0
 
 * Wed Jul 24 2024 Miroslav Suchý <msuchy@redhat.com> - 3.0.4-7
 - convert license to SPDX
RPMAutoSpec usage detected, not changing the spec file.
diff --git python-bucky/python-bucky.spec python-bucky/python-bucky.spec.tmp
index 77913694e2..59d527861e 100644
--- python-bucky/python-bucky.spec
+++ python-bucky/python-bucky.spec.tmp
@@ -39,48 +39,51 @@ Requires:       python3-cryptography
 %{?python_provide:%python_provide python3-bucky}
 
 %description -n python3-bucky %_description
 
 %prep
 %forgeautosetup
 %{__install} -m 644 %{SOURCE2} .
 
+# Create a sysusers.d config file
+cat >python-bucky.sysusers.conf <<EOF
+u bucky - 'Bucky daemon' / -
+EOF
+
 
 %build
 %py3_build
 
 
 %install
 # Delete the Python 2 executable so that the Python 3
 # version can take it's place.
 rm -rf %{_bindir}/bucky
 %py3_install
 %{__mkdir_p} %{buildroot}%{_localstatedir}/log/bucky
 %{__mkdir_p} %{buildroot}%{_localstatedir}/run/bucky
 %{__mkdir_p} %{buildroot}%{_sysconfdir}/bucky
 %{__install} -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/bucky/bucky.conf
 
+install -m0644 -D python-bucky.sysusers.conf %{buildroot}%{_sysusersdir}/python-bucky.conf
+
 
-%pre -n python3-bucky
-getent group bucky >/dev/null || groupadd -r bucky
-getent passwd bucky >/dev/null || \
-    useradd -r -g bucky -d / \
-    -s /sbin/nologin -c "Bucky daemon" bucky
 
 
 %files -n python3-bucky
 %license LICENSE
 %doc THANKS README.rst python-bucky-supervisord-example.conf
 %{_bindir}/bucky
 %attr(-,bucky,bucky) %{_localstatedir}/log/bucky
 %attr(-,bucky,bucky) %{_localstatedir}/run/bucky
 %config(noreplace) %{_sysconfdir}/bucky/bucky.conf
 %{python3_sitelib}/bucky/
 %{python3_sitelib}/bucky-%{version}-py%{python3_version}.egg-info
+%{_sysusersdir}/python-bucky.conf
 
 
 %changelog
 * Wed Jul 24 2024 Miroslav Suchý <msuchy@redhat.com> - 2.3.1-0.1
 - convert license to SPDX
 
 * Sun Apr 09 2023 Jonathan Steffan <jsteffan@fedoraproject.org> - 2.3.1-0.1.20230409gitcda5072
 - Update BuildRequires to python3-cryptography (RHBZ#2061786)
diff --git python-carbon/python-carbon.spec python-carbon/python-carbon.spec.tmp
index a669f80c91..b24f28f801 100644
--- python-carbon/python-carbon.spec
+++ python-carbon/python-carbon.spec.tmp
@@ -2,17 +2,17 @@
 
 %global desc %{expand: \
 Carbon is one of the components of Graphite, and is responsible for
 receiving metrics over the network and writing them down to disk using
 a storage back-end.}
 
 Name:           python-%{srcname}
 Version:        1.1.10
-Release:        11%{?dist}
+Release:        12%{?dist}
 
 Summary:        Back-end data caching and persistence daemon for Graphite
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            https://github.com/graphite-project/carbon
 
 Source0:	%{url}/archive/%{version}/%{name}-%{version}.tar.gz
 
@@ -49,17 +49,16 @@ BuildRequires:	systemd
 %py_provides python3-%{pypi_name}
 
 %description
 %{desc}
 
 %package -n python3-%{srcname}
 Summary:        %{summary}
 Requires:	logrotate
-Requires(pre):	shadow-utils
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 %{?python_provide:%python_provide python3-%{srcname}}
 
 %description -n python3-%{srcname}
 %{desc}
 
@@ -91,16 +90,21 @@ rm lib/carbon/tests/test_database.py
 # Use the standard library instead of a backport
 sed -i -e 's/^import mock/from unittest import mock/' \
        -e 's/^from mock import /from unittest.mock import /' \
     lib/carbon/tests/*.py
 
 %generate_buildrequires
 %pyproject_buildrequires -r
 
+# Create a sysusers.d config file
+cat >python-carbon.sysusers.conf <<EOF
+u carbon - 'Carbon cache daemon' %{_localstatedir}/lib/carbon -
+EOF
+
 
 %build
 %pyproject_wheel
 
 
 %install
 %pyproject_install
 %pyproject_save_files %{srcname} twisted
@@ -149,22 +153,19 @@ install -D -p -m0644 %{SOURCE35} \
 for i in %{buildroot}%{_bindir}/*.py; do
     mv ${i} ${i%%.py}
 done
 
 # fix permissions
 chmod 755 %{buildroot}%{python3_sitelib}/carbon/amqp_listener.py
 chmod 755 %{buildroot}%{python3_sitelib}/carbon/amqp_publisher.py
 
+install -m0644 -D python-carbon.sysusers.conf %{buildroot}%{_sysusersdir}/python-carbon.conf
+
 
-%pre -n python3-%{srcname}
-getent group carbon >/dev/null || groupadd -r carbon
-getent passwd carbon >/dev/null || \
-    useradd -r -g carbon -d %{_localstatedir}/lib/carbon \
-    -s /sbin/nologin -c "Carbon cache daemon" carbon
 
 
 %post -n python3-%{srcname}
 %systemd_post carbon-aggregator.service
 %systemd_post carbon-cache.service
 %systemd_post carbon-relay.service
 
 
@@ -213,19 +214,23 @@ getent passwd carbon >/dev/null || \
 %{_mandir}/man1/validate-storage-schemas.1*
 
 %{_unitdir}/carbon-aggregator.service
 %{_unitdir}/carbon-cache.service
 %{_unitdir}/carbon-relay.service
 %{_unitdir}/carbon-aggregator@.service
 %{_unitdir}/carbon-cache@.service
 %{_unitdir}/carbon-relay@.service
+%{_sysusersdir}/python-carbon.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.10-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.10-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 24 2024 Miroslav Suchý <msuchy@redhat.com> - 1.1.10-10
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.10-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git qatlib/qatlib.spec qatlib/qatlib.spec.tmp
index 591445004e..65b267cc96 100644
--- qatlib/qatlib.spec
+++ qatlib/qatlib.spec.tmp
@@ -1,23 +1,22 @@
 # SPDX-License-Identifier: MIT
 
 %global libqat_soversion  4
 %global libusdm_soversion 0
 Name:             qatlib
 Version:          24.09.0
-Release:          5%{?dist}
+Release:          6%{?dist}
 Summary:          Intel QuickAssist user space library
 # The entire source code is released under BSD.
 # For a breakdown of inbound licenses see the INSTALL file.
 License:          BSD-3-Clause AND ( BSD-3-Clause OR GPL-2.0-only )
 URL:              https://github.com/intel/%{name}
 Source0:          https://github.com/intel/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
 BuildRequires:    systemd gcc make autoconf automake libtool systemd-devel openssl-devel zlib-devel nasm numactl-devel
-Requires(pre):    shadow-utils
 Recommends:       qatlib-service
 # https://bugzilla.redhat.com/show_bug.cgi?id=1897661
 ExcludeArch:      %{arm} aarch64 %{power64} s390x i686
 
 %description
 Intel QuickAssist Technology (Intel QAT) provides hardware acceleration
 for offloading security, authentication and compression services from the
 CPU, thus significantly increasing the performance and efficiency of
@@ -53,50 +52,55 @@ Requires:      %{name}%{?_isa} = %{version}-%{release}
 
 %description   service
 This package contains a daemon that manages QAT resources for the Intel
 QuickAssist Technology user space library (qatlib).
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >qatlib.sysusers.conf <<EOF
+g qat -
+EOF
+
 %build
 autoreconf -vif
 %configure --enable-legacy-algorithms
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
 %make_build
 
 %install
 %make_install
 make DESTDIR=%{buildroot} samples-install
 rm %{buildroot}/%{_libdir}/libqat.la
 rm %{buildroot}/%{_libdir}/libusdm.la
 rm %{buildroot}/%{_libdir}/libqat.a
 rm %{buildroot}/%{_libdir}/libusdm.a
 
-%pre
-getent group qat >/dev/null || groupadd -r qat
-exit 0
+install -m0644 -D qatlib.sysusers.conf %{buildroot}%{_sysusersdir}/qatlib.conf
+
 
 %post          service
 %systemd_post qat.service
 
 %preun         service
 %systemd_preun qat.service
 
 %postun        service
 %systemd_postun_with_restart qat.service
 
 %files
 %doc INSTALL README.md
 %license LICENSE*
 %{_libdir}/libqat.so.%{libqat_soversion}*
 %{_libdir}/libusdm.so.%{libusdm_soversion}*
+%{_sysusersdir}/qatlib.conf
 
 %files         devel
 %{_libdir}/libqat.so
 %{_libdir}/libusdm.so
 %{_libdir}/pkgconfig/*.pc
 %{_includedir}/qat
 
 %files         tests
@@ -128,16 +132,19 @@ exit 0
 %files         service
 %{_sbindir}/qatmgr
 %{_sbindir}/qat_init.sh
 %{_unitdir}/qat.service
 %{_mandir}/man8/qatmgr.8*
 %{_mandir}/man8/qat_init.sh.8*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 24.09.0-6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 24.09.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 01 2024 Vladis Dronov <vdronov@redhat.com> - 24.09.0-4
 - Update to qatlib 24.09.0 @ 36fb0903
 
 * Mon Sep 16 2024 Giovanni Cabiddu <giovanni.cabiddu@intel.com> - 24.09.0-3
 - Move pciutils as a dependency of the qat-service subpackage
diff --git rabbitmq-server/rabbitmq-server.spec rabbitmq-server/rabbitmq-server.spec.tmp
index 2d8352e993..28142a4332 100644
--- rabbitmq-server/rabbitmq-server.spec
+++ rabbitmq-server/rabbitmq-server.spec.tmp
@@ -2,17 +2,17 @@
 # We want to install into /usr/lib, even on 64-bit platforms
 %global _rabbit_libdir %{_exec_prefix}/lib/rabbitmq
 # Technically, we're noarch; but Elixir we're using is not.
 %global debug_package %{nil}
 
 
 Name: rabbitmq-server
 Version: 4.0.5
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: MPL-2.0
 Source0: https://github.com/rabbitmq/rabbitmq-server/releases/download/v%{version}/%{name}_%{version}.orig.tar.xz
 Source1: https://github.com/rabbitmq/rabbitmq-server/releases/download/v%{version}/%{name}_%{version}.orig.tar.xz.asc
 Source2: https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
 # curl -O https://raw.githubusercontent.com/lemenkov/rabbitmq-server/cdfc661/packaging/RPMS/Fedora/rabbitmq-server.logrotate
 Source3: rabbitmq-server.logrotate
 # curl -O https://raw.githubusercontent.com/rabbitmq/rabbitmq-server-release/rabbitmq_v3_6_16/packaging/RPMS/Fedora/rabbitmq-server.tmpfiles
 Source5: rabbitmq-server.tmpfiles
@@ -46,17 +46,16 @@ Requires: erlang-public_key%{?_isa} >= %{erlang_minver}
 Requires: erlang-sasl%{?_isa} >= %{erlang_minver}
 Requires: erlang-ssl%{?_isa} >= %{erlang_minver}
 Requires: erlang-stdlib%{?_isa} >= %{erlang_minver}
 Requires: erlang-syntax_tools%{?_isa} >= %{erlang_minver}
 Requires: erlang-tools%{?_isa} >= %{erlang_minver}
 Requires: erlang-xmerl%{?_isa} >= %{erlang_minver}
 Summary: The RabbitMQ server
 # Users and groups
-Requires(pre): shadow-utils
 Requires(pre): systemd
 Requires(post): systemd
 Requires(preun): systemd
 
 %description
 RabbitMQ is an implementation of AMQP, the emerging standard for high
 performance enterprise messaging. The RabbitMQ server is a robust and
 scalable implementation of an AMQP broker.
@@ -66,16 +65,21 @@ scalable implementation of an AMQP broker.
 %autosetup -p1
 
 # We have to remove it until common_test subpackage lands RHOS
 rm -f \
 	deps/amqp_client/src/rabbit_ct_client_helpers.erl \
 	deps/rabbit_common/src/rabbit_ct_broker_helpers.erl \
 	deps/rabbit_common/src/rabbit_ct_helpers.erl
 
+# Create a sysusers.d config file
+cat >rabbitmq-server.sysusers.conf <<EOF
+u rabbitmq - 'RabbitMQ messaging server' %{_localstatedir}/lib/rabbitmq -
+EOF
+
 %build
 #USE_SPECS="true" USE_PROPER_QC="false" make %%{?_smp_mflags}
 make VERSION="%{version}" V=1  # Doesn't support %%{?_smp_mflags}
 
 
 %install
 make install \
 	VERSION="%{version}" \
@@ -111,31 +115,26 @@ install -p -D -m 0755 scripts/rabbitmq-server.ocf %{buildroot}%{_exec_prefix}/li
 
 install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
 
 install -p -D -m 0644 ./deps/rabbit/docs/rabbitmq.conf.example %{buildroot}%{_sysconfdir}/rabbitmq/rabbitmq.conf
 
 install -d %{buildroot}%{_localstatedir}/run/rabbitmq
 install -p -D -m 0644 %{SOURCE5} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
 
+install -m0644 -D rabbitmq-server.sysusers.conf %{buildroot}%{_sysusersdir}/rabbitmq-server.conf
+
 
 %check
 #make check
 
 
 %pre
 # create rabbitmq group
 if ! getent group rabbitmq >/dev/null; then
-        groupadd -r rabbitmq
-fi
-
-# create rabbitmq user
-if ! getent passwd rabbitmq >/dev/null; then
-        useradd -r -g rabbitmq -d %{_localstatedir}/lib/rabbitmq rabbitmq \
-            -s /sbin/nologin -c "RabbitMQ messaging server"
 fi
 
 
 %post
 %systemd_post %{name}.service
 /bin/systemctl daemon-reload
 
 
@@ -178,19 +177,23 @@ done
 %{_mandir}/man8/rabbitmq-echopid.8*
 %{_mandir}/man8/rabbitmq-plugins.8*
 %{_mandir}/man8/rabbitmq-server.8*
 %{_mandir}/man8/rabbitmq-service.8*
 %{_mandir}/man8/rabbitmq-streams.8*
 %{_mandir}/man8/rabbitmq-queues.8*
 %{_mandir}/man8/rabbitmq-upgrade.8*
 %{_mandir}/man8/rabbitmqctl.8*
+%{_sysusersdir}/rabbitmq-server.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.5-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.5-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jan 02 2025 Richard W.M. Jones <rjones@redhat.com> - 4.0.5-2
 - Remove downstream patch which allowed remote connections (RHBZ#2333072)
 - Move license to MPL 2.0 (RHBZ#2333074)
 
 * Wed Dec 18 2024 Robert Scheck <robert@fedoraproject.org> - 4.0.5-1
diff --git radicale/radicale.spec radicale/radicale.spec.tmp
index 4b568c41c7..f33aec5fba 100644
--- radicale/radicale.spec
+++ radicale/radicale.spec.tmp
@@ -31,17 +31,17 @@
 %if 0%{?gitcommit:1}
 %global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
 %define build_timestamp %(date +"%Y%m%d")
 %global gittag .%{build_timestamp}git%{shortcommit}
 %endif
 
 Name:             radicale
 Version:          %{radicale_version}
-Release:          %{radicale_release}%{?gittag}%{?dist}.1
+Release:          %{radicale_release}%{?gittag}%{?dist}.2
 Summary:          A simple CalDAV (calendar) and CardDAV (contact) server
 License:          GPL-3.0-or-later
 URL:              https://radicale.org
 
 %if 0%{?gitcommit:1}
 Source0:          https://github.com/Kozea/Radicale/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
 %else
 Source0:          https://github.com/Kozea/Radicale/archive/v%{version}/%{name}-%{version}.tar.gz
@@ -76,17 +76,16 @@ BuildRequires:    python3-defusedxml >= 0.7.1
 BuildRequires:    python3-passlib >= 1.7.4
 BuildRequires:    python3-vobject >= 0.9.6
 BuildRequires:    python3-dateutil >= 2.8.1
 
 Conflicts:        radicale < 3.0.0
 Conflicts:        radicale2
 
 Requires:         python3-%{radicale_package_name} = %{version}-%{release}
-Requires(pre):    shadow-utils
 %{?systemd_requires}
 Suggests:         %{radicale_package_name}-selinux = %{version}-%{release}
 
 
 %description
 The Radicale Project is a CalDAV (calendar) and CardDAV (contact) server. It
 aims to be a light solution, easy to use, easy to install, easy to configure.
 As a consequence, it requires few software dependencies and is pre-configured
@@ -197,16 +196,21 @@ mkdir SELinux
 cp -p %{SOURCE4} %{SOURCE5} %{SOURCE6} SELinux
 
 # adjust _rundir according to definition
 sed -i 's|\(/var/run\)|%{_rundir}|' SELinux/%{name}.fc
 
 # restore original version after applying patches
 %{__sed} -i 's|version = "%{radicale_major}.dev"|version = "%{radicale_version}"|' pyproject.toml
 
+# Create a sysusers.d config file
+cat >radicale.sysusers.conf <<EOF
+u radicale - 'Radicale service account' %{_sharedstatedir}/%{name} -
+EOF
+
 
 %build
 %pyproject_wheel
 
 cd SELinux
 for selinuxvariant in %{selinux_variants}
 do
     make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
@@ -281,16 +285,18 @@ done
 %endif
 
 # logwatch
 install -d %{buildroot}%{_datarootdir}/logwatch/scripts/services/
 install -d %{buildroot}%{_datarootdir}/logwatch/default.conf/services/
 install -p -m 644 contrib/logwatch/%{name} %{buildroot}%{_datarootdir}/logwatch/scripts/services/
 install -p -m 644 contrib/logwatch/%{name}-journald.conf %{buildroot}%{_datarootdir}/logwatch/default.conf/services/%{name}.conf
 
+install -m0644 -D radicale.sysusers.conf %{buildroot}%{_sysusersdir}/radicale.conf
+
 
 %check
 PYTHONPATH=%{buildroot}%{python3_sitelib}
 export PYTHONPATH
 
 # check whether radicale binary is at least displaying help
 echo "Check whether 'radicale' is at least able to display online help"
 %{buildroot}%{_libexecdir}/%{name}/%{radicale_name} --help >/dev/null
@@ -316,22 +322,16 @@ else
   exit 1
 fi
 
 # cleanup before packaging
 rm -rf %{buildroot}%{_sharedstatedir}/%{name}/collection-root
 rm -rf %{buildroot}%{_sharedstatedir}/%{name}/.Radicale.lock
 
 
-%pre -n %{radicale_package_name}
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-    -c "Radicale service account" %{name}
-exit 0
 
 
 %post -n %{radicale_package_name}
 %systemd_post %{name}.service
 
 
 %post -n %{radicale_package_name}-selinux
 for selinuxvariant in %{selinux_variants}
@@ -414,16 +414,17 @@ fi
 %{_unitdir}/%{name}.service
 %{_tmpfilesdir}/%{name}.conf
 %dir %attr(750, %{name}, %{name}) %{_sharedstatedir}/%{name}
 %dir %attr(750, %{name}, %{name}) %{_localstatedir}/cache/%{name}
 %dir %{_datadir}/%{name}
 %dir %attr(755, %{name}, %{name}) %{_rundir}/%{name}
 
 %{_libexecdir}/%{name}
+%{_sysusersdir}/radicale.conf
 
 
 %files -n %{radicale_package_name}-selinux
 %doc SELinux/*
 %{_datadir}/selinux/*/%{name}.pp
 
 
 %files -n python3-%{radicale_package_name}
@@ -438,16 +439,19 @@ fi
 
 
 %files -n %{radicale_package_name}-httpd
 %{_datadir}/%{name}/%{name}.wsgi
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.0-2.2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-2.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jan 09 2025 Peter Bieringer <pb@bieringer.de> - 3.4.0-2
 - Update to 3.4.0
 
 * Sat Dec 28 2024 Peter Bieringer <pb@bieringer.de> - 3.3.3-1
 - Update to 3.3.3
diff --git rancid/rancid.spec rancid/rancid.spec.tmp
index d95928fac8..7f7758442f 100644
--- rancid/rancid.spec
+++ rancid/rancid.spec.tmp
@@ -1,11 +1,11 @@
 Name: rancid
 Version: 3.13
-Release: 14%{?dist}
+Release: 15%{?dist}
 Summary: Really Awesome New Cisco confIg Differ
 
 License: BSD-3-Clause
 URL: http://www.shrubbery.net/rancid/
 Source0: https://shrubbery.net/pub/%{name}/%{name}-%{version}.tar.gz
 Source1: %{name}.cron
 Patch0: %{name}-Makefile.patch
 Patch1: %{name}-configure-no-ping-test.patch
@@ -20,17 +20,16 @@ BuildRequires: expect >= 5.40
 BuildRequires: findutils
 # To configure ping command line arguments:
 BuildRequires: iputils
 # To configure path to /usr/sbin/sendmail:
 BuildRequires: ssmtp
 # To configure telnet command line arguments:
 BuildRequires: telnet
 
-Requires(pre): shadow-utils
 Requires: expect >= 5.40
 # For control_rancid's use of find command:
 Requires: findutils
 # For lg.cgi's use of ping command:
 Requires: iputils
 Requires: perl-interpreter
 Requires: /usr/sbin/sendmail
 Requires: cronie
@@ -42,16 +41,21 @@ Suggests: telnet
 RANCID monitors a router's (or more generally a device's) configuration, 
 including software and hardware (cards, serial numbers, etc) and uses CVS 
 (Concurrent Version System), Subversion, or Git to maintain history of changes.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >rancid.sysusers.conf <<EOF
+u rancid - 'RANCID' %{_localstatedir}/%{name}/ /bin/bash
+EOF
+
 %build
 %configure \
     --sysconfdir=%{_sysconfdir}/%{name} \
     --bindir=%{_libexecdir}/%{name} \
     --libdir=%{perl_vendorlib} \
     --localstatedir=%{_localstatedir}/%{name} \
     --enable-conf-install \
     --with-git
@@ -80,23 +84,19 @@ install -D -p -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/cron.d/%{name}
 sed -i 's|RANCIDBINDIR|%{_libexecdir}/%{name}|g' %{buildroot}/%{_sysconfdir}/cron.d/%{name}
 
 #Patch to point to correct log directory
 grep -rlF '$BASEDIR/logs' %{buildroot} | xargs sed -i 's|\$BASEDIR/logs|%{_localstatedir}/log/%{name}|'
 
 #Remove docs that will get installed to docdir in files section below
 rm -f %{buildroot}%{_datadir}/%{name}/{CHANGES,FAQ,README,README.lg,UPGRADING,Todo,COPYING}
 
+install -m0644 -D rancid.sysusers.conf %{buildroot}%{_sysusersdir}/rancid.conf
+
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{_localstatedir}/%{name}/ -s /bin/bash \
-	    -k /etc/skel -m -c "RANCID" %{name}
-exit 0
 
 
 %files
 %doc CHANGES FAQ README README.lg UPGRADING Todo
 %license COPYING
 
 #%%{_sysconfdir}-files
 %attr(750,%{name},%{name}) %dir %{_sysconfdir}/%{name}
@@ -116,19 +116,23 @@ exit 0
 %{_datadir}/%{name}
 
 #%%{_localstatedir}-directories
 %attr(750,%{name},%{name}) %dir %{_localstatedir}/log/%{name}
 %attr(750,%{name},%{name}) %dir %{_localstatedir}/log/%{name}/old
 %attr(750,%{name},%{name}) %dir %{_localstatedir}/%{name}/
 
 %{perl_vendorlib}/*
+%{_sysusersdir}/rancid.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.13-15
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.13-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Fri Apr 19 2024 Charles R. Anderson <cra@alum.wpi.edu> - 3.13-12
 - Enable git as default VCS for new installs
diff --git rbldnsd/rbldnsd.spec rbldnsd/rbldnsd.spec.tmp
index 53b7233fa9..266969f9ab 100644
--- rbldnsd/rbldnsd.spec
+++ rbldnsd/rbldnsd.spec.tmp
@@ -6,33 +6,32 @@
 %endif
 
 # Build hardened (PIE) where possible
 %global _hardened_build 1
 
 Summary:	Small, fast daemon to serve DNSBLs
 Name:		rbldnsd
 Version:	0.998b
-Release:	16%{?dist}
+Release:	17%{?dist}
 License:	GPL-2.0-or-later
 URL:		https://rbldnsd.io/
 Source0:	https://rbldnsd.io/dwl/rbldnsd-%{version}.tgz
 Source2:	rbldnsd.conf
 Source3:	rbldnsctl
 Source4:	README.systemd
 Patch0:		rbldnsd-configure-c99.patch
 Patch1:		rbldnsd-0.998b-version.patch
 BuildRequires:	coreutils
 BuildRequires:	gawk
 BuildRequires:	gcc
 BuildRequires:	make
 BuildRequires:	sed
 BuildRequires:	%{systemd_rpm_macros}
 BuildRequires:	zlib-devel
-Requires(pre):	shadow-utils
 Requires:	gawk
 %{?systemd_requires}
 
 %description
 Rbldnsd is a small, authoritative-only DNS nameserver designed to serve
 DNS-based blocklists (DNSBLs). It may handle IP-based and name-based
 blocklists.
 
@@ -44,38 +43,39 @@ blocklists.
 
 # Fix version number reported by rbldnsd
 %patch -P 1
 
 sed -i	-e 's@/var/lib/rbldns\([/ ]\)@%{_localstatedir}/lib/rbldnsd\1@g' \
 	-e 's@\(-r/[a-z/]*\) -b@\1 -q -b@g' contrib/debian/rbldnsd.default
 cp -p %{SOURCE2} %{SOURCE3} %{SOURCE4} ./
 
+# Create a sysusers.d config file
+cat >rbldnsd.sysusers.conf <<EOF
+u rbldns - 'rbldns daemon' %{_localstatedir}/lib/rbldnsd -
+EOF
+
 %build
 # this is not an autotools-generated configure script, and does not support --libdir
 CFLAGS="%{optflags}" \
 LDFLAGS="%{?__global_ldflags}" \
 ./configure
 make
 
 %install
 mkdir -p %{buildroot}{%{_sbindir},%{_mandir}/man8,%{_initrddir},%{_sysconfdir}/sysconfig}
 mkdir -p %{buildroot}{/etc/systemd,%{_localstatedir}/lib/rbldnsd}
 install -p -m 755 rbldnsd				%{buildroot}%{_sbindir}/
 install -p -m 644 rbldnsd.8				%{buildroot}%{_mandir}/man8/
 install -p -m 644 contrib/debian/rbldnsd.default	%{buildroot}%{_sysconfdir}/sysconfig/rbldnsd
 install -p -m 644 rbldnsd.conf				%{buildroot}/etc/systemd/
 install -p -m 755 rbldnsctl				%{buildroot}%{_sbindir}/
 
-%pre
-getent group rbldns >/dev/null || groupadd -r rbldns
-getent passwd rbldns >/dev/null || \
-	useradd -r -g rbldns -d %{_localstatedir}/lib/rbldnsd \
-		-s /sbin/nologin -c "rbldns daemon" rbldns
-exit 0
+install -m0644 -D rbldnsd.sysusers.conf %{buildroot}%{_sysusersdir}/rbldnsd.conf
+
 
 %post
 systemctl daemon-reload &>/dev/null || :
 
 %preun
 if [ $1 -eq 0 ]; then
 	# Package removal, not upgrade
 	%{_sbindir}/rbldnsctl stop &>/dev/null || :
@@ -94,18 +94,22 @@ fi
 %doc CHANGES-0.81 NEWS README README.user TODO contrib/debian/changelog
 %{_sbindir}/rbldnsd
 %{_mandir}/man8/rbldnsd.8*
 %dir %{_localstatedir}/lib/rbldnsd/
 %config(noreplace) %{_sysconfdir}/sysconfig/rbldnsd
 %doc README.systemd
 %config(noreplace) %{_sysconfdir}/systemd/rbldnsd.conf
 %{_sbindir}/rbldnsctl
+%{_sysusersdir}/rbldnsd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.998b-17
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.998b-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.998b-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.998b-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git retrace-server/retrace-server.spec retrace-server/retrace-server.spec.tmp
index 9802bd9d30..f0bf3f8103 100644
--- retrace-server/retrace-server.spec
+++ retrace-server/retrace-server.spec.tmp
@@ -1,16 +1,16 @@
 #retrace uid/gid reserved in setup, rhbz #706012
 %define retrace_gid_uid 174
 %define retrace_home %{_sharedstatedir}/retrace
 
 Summary: Application for remote coredump analysis
 Name: retrace-server
 Version: 1.24.2
-Release: 9%{?dist}
+Release: 10%{?dist}
 License: GPL-2.0-or-later
 URL: https://github.com/abrt/retrace-server
 Source0: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
 
 BuildArch: noarch
 
 BuildRequires: asciidoc
 # /usr/bin/df from coreutils is used to calculate free disk space.
@@ -85,16 +85,21 @@ Provides: abrt-retrace-server = 2.0.3
 
 %description
 The retrace server provides a coredump analysis and backtrace
 generation service over a network using HTTP protocol.
 
 %prep
 %autosetup
 
+# Create a sysusers.d config file
+cat >retrace-server.sysusers.conf <<EOF
+u retrace %{retrace_gid_uid} - %{retrace_home} -
+EOF
+
 %build
 %meson \
     -Ddocs=enabled \
     %{nil}
 %meson_build
 
 %check
 %meson_test
@@ -137,20 +142,18 @@ mkdir -p %{buildroot}%{_libexecdir}/%{name}/hooks/post_clean_task
 %if 0%{?fedora} >= 29
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/plugins
 %endif
 
 rm -f %{buildroot}%{_infodir}/dir
 
 %{find_lang} %{name}
 
-%pre
-getent group retrace > /dev/null || groupadd -f -g %{retrace_gid_uid} --system retrace
-getent passwd retrace > /dev/null || useradd --system -g retrace -u %{retrace_gid_uid} -d %{retrace_home} -s /sbin/nologin retrace
-exit 0
+install -m0644 -D retrace-server.sysusers.conf %{buildroot}%{_sysusersdir}/retrace-server.conf
+
 
 %post
 %if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27)
 /sbin/install-info %{_infodir}/%{name} %{_infodir}/dir 2> /dev/null || :
 %endif
 /usr/sbin/usermod -a -G mock retrace 2> /dev/null || :
 
 # Migrate old home directory during an upgrade (i.e. $1 == 2) -- if retrace's home
@@ -231,18 +234,22 @@ exit 0
 %doc %{_mandir}/man1/%{name}-cleanup.1*
 %doc %{_mandir}/man1/%{name}-interact.1*
 %doc %{_mandir}/man1/%{name}-reposync.1*
 %doc %{_mandir}/man1/%{name}-worker.1*
 %doc %{_mandir}/man1/%{name}-task.1*
 %doc %{_infodir}/%{name}*
 %doc README.md
 %license COPYING
+%{_sysusersdir}/retrace-server.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.24.2-10
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.2-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.2-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.24.2-7
 - Rebuilt for Python 3.13
diff --git rssh/rssh.spec rssh/rssh.spec.tmp
index 13bdf6bfb5..f18a06aa86 100644
--- rssh/rssh.spec
+++ rssh/rssh.spec.tmp
@@ -1,11 +1,11 @@
 Name:           rssh
 Version:        2.3.4
-Release:        31%{?dist}
+Release:        32%{?dist}
 Summary:        Restricted shell for use with OpenSSH, allowing only scp and/or sftp
 # Automatically converted from old format: BSD - review is highly recommended.
 License:        LicenseRef-Callaway-BSD 
 URL:            http://www.pizzashack.org/rssh/
 Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 Source1:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz.sig
 Patch0:         rssh-2.3.4-makefile.patch
 Patch2:         rssh-2.3.4-command-line-error.patch
@@ -23,17 +23,16 @@ Patch6:         rssh-configure-c99.patch
 BuildRequires: make
 BuildRequires:  gcc
 BuildRequires:  openssh-server
 BuildRequires:  openssh-clients
 BuildRequires:  cvs
 BuildRequires:  rsync
 BuildRequires:  rdist
 Requires:       openssh-server
-Requires(pre):  shadow-utils
 
 
 %description
 rssh is a restricted shell for use with OpenSSH, allowing only scp
 and/or sftp. For example, if you have a server which you only want
 to allow users to copy files off of via scp, without providing shell
 access, you can use rssh to do that. It is a alternative to scponly.
 
@@ -45,46 +44,54 @@ access, you can use rssh to do that. It is a alternative to scponly.
 %patch -P3 -p1 -b .rsync_opts
 %patch -P4 -p1 -b .scp_opts
 %patch -P5 -p1 -b .chroot_cmd
 %patch -P6 -p1 -b .c99
 
 chmod 644 conf_convert.sh
 chmod 644 mkchroot.sh
 
+# Create a sysusers.d config file
+cat >rssh.sysusers.conf <<EOF
+g rsshusers -
+EOF
+
 
 %build
 %configure
 %make_build
 
 
 %install
 %make_install
 # since rssh 2.3.4, default config is installed as rssh.conf.default,
 # rename it for packaging in rpm
 mv %{buildroot}/%{_sysconfdir}/rssh.conf{.default,}
 
+install -m0644 -D rssh.sysusers.conf %{buildroot}%{_sysusersdir}/rssh.conf
+
 
-%pre
-getent group rsshusers >/dev/null || groupadd -r rsshusers
-exit 0
 
 
 %files
 %license COPYING
 %doc AUTHORS ChangeLog CHROOT NEWS README SECURITY TODO
 %doc conf_convert.sh mkchroot.sh
 %{_mandir}/man1/rssh.1*
 %{_mandir}/man5/rssh.conf.5*
 %config(noreplace) %{_sysconfdir}/rssh.conf
 %attr(750, root, rsshusers) %{_bindir}/rssh
 %attr(4750, root, rsshusers) %{_libexecdir}/rssh_chroot_helper
+%{_sysusersdir}/rssh.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.3.4-32
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-31
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 2.3.4-30
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-29
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git rtl-sdr/rtl-sdr.spec rtl-sdr/rtl-sdr.spec.tmp
index 5256d29607..be735eaf6c 100644
--- rtl-sdr/rtl-sdr.spec
+++ rtl-sdr/rtl-sdr.spec.tmp
@@ -9,24 +9,23 @@
 # cd %%{name}
 # git archive --format=tar --prefix=%%{name}-%%{version}/ %%{git_commit} | \
 # bzip2 > ../%%{name}-%%{version}-%%{git_suffix}.tar.bz2
 
 Name:             rtl-sdr
 URL:              http://sdr.osmocom.org/trac/wiki/rtl-sdr
 #Version:          0.6.0^%%{git_suffix}
 Version:          2.0.1
-Release:          4%{?dist}
+Release:          5%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:          GPL-2.0-or-later
 BuildRequires:    gcc
 BuildRequires:    cmake
 BuildRequires:    libusbx-devel
 #BuildRequires:    libusb1-devel
-Requires(pre):    shadow-utils
 Requires(pre):    glibc-common
 Summary:          SDR utilities for Realtek RTL2832 based DVB-T dongles
 #Source0:          https://github.com/steve-m/librtlsdr/archive/%%{git_commit}/librtlsdr-%%{git_commit}.tar.gz
 Source0:          https://github.com/steve-m/librtlsdr/archive/refs/tags/v%{version}/librtlsdr-%{version}.tar.gz
 #Source0:          https://github.com/steve-m/librtlsdr/archive/%%{version}/librtlsdr-%%{version}.tar.gz
 # https://osmocom.org/projects/rtl-sdr/repository/revisions/222517b506278178ab93182d79ccf7eb04d107ce
 
 %description
@@ -41,51 +40,58 @@ Requires:         cmake-filesystem
 Development files for rtl-sdr.
 
 %prep
 #%%autosetup -p1 -n librtlsdr-%%{git_commit}
 %autosetup -p1 -n librtlsdr-%{version}
 rm -f src/getopt/*
 rmdir src/getopt
 
+# Create a sysusers.d config file
+cat >rtl-sdr.sysusers.conf <<EOF
+g rtlsdr -
+EOF
+
 %build
 %cmake -DDETACH_KERNEL_DRIVER=ON
 %cmake_build
 
 %install
 %cmake_install
 
 # remove static libs
 rm -f %{buildroot}%{_libdir}/*.a
 
 # Fix udev rules and allow access only to users in rtlsdr group
 sed -i 's/GROUP="plugdev"/GROUP="rtlsdr"/' ./rtl-sdr.rules
 install -Dpm 644 ./rtl-sdr.rules %{buildroot}%{_prefix}/lib/udev/rules.d/10-rtl-sdr.rules
 
-%pre
-getent group rtlsdr >/dev/null || \
-  %{_sbindir}/groupadd -r rtlsdr >/dev/null 2>&1
-exit 0
+install -m0644 -D rtl-sdr.sysusers.conf %{buildroot}%{_sysusersdir}/rtl-sdr.conf
+
 
 %ldconfig_scriptlets
 
 %files
 %license COPYING
 %doc AUTHORS
 %{_bindir}/*
 %{_libdir}/*.so.*
 %{_prefix}/lib/udev/rules.d/10-rtl-sdr.rules
+%{_sysusersdir}/rtl-sdr.conf
 
 %files devel
 %{_includedir}/*
 %{_libdir}/cmake/rtlsdr
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/*.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.1-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul  26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.0.1-3
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git rwhoisd/rwhoisd.spec rwhoisd/rwhoisd.spec.tmp
index 4b6511172f..bf58cb8dcd 100644
--- rwhoisd/rwhoisd.spec
+++ rwhoisd/rwhoisd.spec.tmp
@@ -1,14 +1,14 @@
 # Disable TCP Wrappers connection filter
 %bcond_with rwhoisd_enables_tcpwrappers
 
 Name:       rwhoisd 
 Version:    1.5.9.6
-Release:    32%{?dist}
+Release:    33%{?dist}
 Summary:    ARIN's Referral WHOIS server
 # common/strerror.c:                GPL-2.0-or-later (libiberty)
 # LICENSE:                          GPL-2.0 text
 # mkdb/metaphon.c:                  LicenseRef-Fedora-Public-Domain
 # mkdb/y.tab.c:                     GPL-2.0-or-later WITH Bison-exception-1.24
 # regexp/COPYRIGHT:                 Spencer-86
 ## Not in any binary package
 # configure:                        FSFUL
@@ -51,17 +51,16 @@ BuildRequires:  make
 %if %{with rwhoisd_enables_tcpwrappers}
 BuildRequires:  tcp_wrappers-devel
 %endif
 BuildRequires:  systemd
 # cat executed by rwhois_repack
 Requires:       %{_bindir}/cat
 # sort executed by rwhois_indexer
 Requires:       %{_bindir}/sort
-Requires(pre):      shadow-utils
 %{?systemd_requires}
 
 %description
 This server is a reference implementation of the server side of the RWhois
 protocol, first described in RFC 1714.  This server attempts to implement
 concepts and practices in accordance with version 1.5 of the protocol,
 described in RFC 2167.
 
@@ -79,16 +78,21 @@ Recommended how-to is <http://www.unixadmin.cc/rwhois/>.
 %prep
 %autosetup -p1
 # Remove bundled tcp_wrappers for sure
 find tools/tcpd_wrapper -depth -mindepth 1 \! -name Makefile.in -delete
 # Keep System V8 regexp library
 # TODO: port to GNU glibc
 autoreconf
 
+# Create a sysusers.d config file
+cat >rwhoisd.sysusers.conf <<EOF
+u rwhoisd - 'rwhoisd daemon' %{_localstatedir}/%{name} -
+EOF
+
 %build
 %global _hardened_build 1
 %configure \
     --disable-gcc-debug \
     --disable-gprof \
     --enable-ipv6 \
     --enable-largefile \
     --enable-newsort \
@@ -115,22 +119,18 @@ install -d '%{buildroot}%{_sysconfdir}'
 install -m 0644 -t '%{buildroot}%{_sysconfdir}' sample.data/rwhoisd.conf
 install -m 0644 -t '%{buildroot}%{_sysconfdir}' sample.data/rwhoisd.dir
 install -m 0644 -t '%{buildroot}%{_sysconfdir}' sample.data/rwhoisd.x.dir
 install -m 0644 -t '%{buildroot}%{_sysconfdir}' sample.data/rwhoisd.root
 install -m 0644 -t '%{buildroot}%{_localstatedir}/%{name}/' \
     sample.data/rwhoisd.auth_area
 install -d -m 0775 "%{buildroot}%{_localstatedir}/%{name}/register-spool"
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d %{_localstatedir}/%{name} -s /sbin/nologin \
-    -c "rwhoisd daemon" %{name}
-exit 0
+install -m0644 -D rwhoisd.sysusers.conf %{buildroot}%{_sysusersdir}/rwhoisd.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -148,21 +148,25 @@ exit 0
 %{_unitdir}/%{name}.service
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/%{name}.dir
 %config(noreplace) %{_sysconfdir}/%{name}.x.dir
 %config(noreplace) %{_sysconfdir}/%{name}.root
 %dir %{_localstatedir}/%{name}
 %config(noreplace) %{_localstatedir}/%{name}/%{name}.auth_area
 %attr(775,root,%{name}) %dir %{_localstatedir}/%{name}/register-spool
+%{_sysusersdir}/rwhoisd.conf
 
 %files example
 %{_localstatedir}/%{name}/samples
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.5.9.6-33
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.9.6-32
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.9.6-31
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.9.6-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git safekeep/safekeep.spec safekeep/safekeep.spec.tmp
index b33dd9729a..82628e8d3b 100644
--- safekeep/safekeep.spec
+++ safekeep/safekeep.spec.tmp
@@ -1,15 +1,15 @@
 %global commit 75e66fe16a3afcb78db5786018487adb63e91793
 %global date 20230910
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 
 %define name    safekeep
 %define version 1.5.1
-%define release 4
+%define release 5
 %define homedir %{_localstatedir}/lib/%{name}
 
 Name:           %{name}
 Version:        %{version}^%{date}git%{shortcommit}
 Release:        %{release}%{?dist}
 Summary:        The SafeKeep backup system
 
 License:        GPL-2.0-or-later
@@ -48,47 +48,47 @@ Requires:       %{name}-common = %{version}-%{release}
 SafeKeep is a client/server backup system which enhances the
 power of rdiff-backup with simple, centralized configuration.
 
 This is the client component of SafeKeep. It should be
 installed on all hosts that need to be backed-up.
 
 %package server
 Summary:        The SafeKeep backup system (server component)
-Requires(pre):  /usr/sbin/useradd
-Requires(pre):  /usr/sbin/groupadd
 Requires:       openssh, openssh-clients
 Requires:       %{name}-common = %{version}-%{release}
 Requires:       crontabs
 
 %description server
 SafeKeep is a client/server backup system which enhances the
 power of rdiff-backup with simple, centralized configuration.
 
 This is the server component of SafeKeep. It should be
 installed on the server on which the data will be backed-up to.
 
 %prep
 %setup -q -n %{name}-%{commit}
 cp -p %{SOURCE1} .
 
+# Create a sysusers.d config file
+cat >safekeep.sysusers.conf <<EOF
+u safekeep - 'Used by %{name} to run and store backups.' %{homedir} -
+EOF
+
 %build
 make %{?_smp_mflags} build
 
 %install
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot}
 install -d -m 750 "%{buildroot}%{homedir}"
 install -d -m 700 "%{buildroot}%{homedir}/.ssh"
 
-%pre server
-%{_sbindir}/groupadd -f -r %{name}
-id %{name} >/dev/null 2>&1 || \
-%{_sbindir}/useradd -r -g %{name} -d %{homedir} -s /sbin/nologin \
-  -c "Used by %{name} to run and store backups." %{name}
+install -m0644 -D safekeep.sysusers.conf %{buildroot}%{_sysusersdir}/safekeep.conf
+
 
 %files common
 %{_bindir}/%{name}
 %{_mandir}/man1/%{name}.1*
 %doc AUTHORS COPYING README INSTALL TODO samples/client-script-sample.sh
 %{!?_licensedir:%global license %doc}
 %license LICENSE
 %doc README.Fedora
@@ -100,18 +100,22 @@ id %{name} >/dev/null 2>&1 || \
 %attr(700,%{name},%{name}) %dir %{homedir}/.ssh
 %dir %{_sysconfdir}/%{name}
 %dir %{_sysconfdir}/%{name}/backup.d
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
 %{_sysconfdir}/cron.daily/%{name}
 %{_mandir}/man5/%{name}.conf.5*
 %{_mandir}/man5/%{name}.backup.5*
 %doc samples/sample.backup
+%{_sysusersdir}/safekeep.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.5.1^20230910git75e66fe-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1^20230910git75e66fe-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1^20230910git75e66fe-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1^20230910git75e66fe-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git sagator/sagator.spec sagator/sagator.spec.tmp
index ee019714ea..d86241c475 100644
--- sagator/sagator.spec
+++ sagator/sagator.spec.tmp
@@ -13,17 +13,17 @@
 %global python_version python3
 %else
 %global python_version python2
 %endif
 
 Summary:   Antivirus/anti-spam gateway for smtp server
 Name:      sagator
 Version:   2.0.3
-Release:   0.beta3%{?dist}.3
+Release:   0.beta3%{?dist}.4
 Source:    http://www.salstar.sk/pub/antivir/snapshots/unstable/sagator-%{version}-0.beta3.tar.bz2
 URL:       http://www.salstar.sk/sagator/
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:   GPL-2.0-or-later
 BuildArch: noarch
 BuildRequires: %{python_version}-devel, ed, gettext
 BuildRequires: %{python_version}-passlib
 BuildRequires: make
@@ -66,17 +66,17 @@ Features:
 
 %package core
 Summary:        Antivirus/anti-spam gateway for smtp server, core files
 Requires:       sed
 %if 0%{?suse_version}
 BuildRequires: aaa_base, python-xml, clamav >= %{CLAMAV_VERSION}
 Requires:       aaa_base, smtp_daemon
 %else
-Requires:       server(smtp), shadow-utils
+Requires:       server(smtp)
 BuildRequires:  clamav-devel >= %{CLAMAV_VERSION}
 Requires:       clamav-lib >= %{CLAMAV_VERSION}
 %endif
 BuildRequires:  systemd
 %{?systemd_requires}
 Requires:       spamassassin
 BuildRequires:  logwatch
 Obsoletes:      sagator-libclamav <= 1.2.3
@@ -108,37 +108,39 @@ BuildRequires: selinux-policy-devel
 
 %description selinux
 This package helps moving to the upstream SELinux module.
 %endif
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >sagator.sysusers.conf <<EOF
+u vscan - 'SAGATOR' %{CHROOTDIR} -
+EOF
+
 %build
 sh configure --prefix=%{_prefix} --filelist --python=%{python_version}
 make %{?_smp_mflags}
 
 %install
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} PREFIX=%{_prefix} SBINDIR=%{buildroot}%{_sbindir} install
 rm -f %{buildroot}%{_datadir}/sagator/etc/sgconf.py* \
   scripts/mkchroot.sh scripts/graphs/*.in
 touch %{buildroot}%{_datadir}/%{name}/etc/sgconf.py_
 ln -s ../../../..%{_sysconfdir}/sagator.conf \
   %{buildroot}%{_datadir}/%{name}/etc/sgconf.py
 mkdir -p %{buildroot}%{CHROOTDIR}/tmp/quarantine
 cp -arf scripts/db %{buildroot}%{_datadir}/%{name}/
 %find_lang %{name}
 
-%pre core
-getent group vscan >/dev/null || groupadd -r vscan
-getent passwd vscan >/dev/null || \
-useradd -r -g vscan -d %{CHROOTDIR} -s /sbin/nologin -c "SAGATOR" vscan
-exit 0
+install -m0644 -D sagator.sysusers.conf %{buildroot}%{_sysusersdir}/sagator.conf
+
 
 %post core
 touch %{_var}/lib/sagator-mkchroot
 if [ $1 = 2 ]; then # upgrade
   [ -f %{_sysconfdir}/sysconfig/sagator ] && . %{_sysconfdir}/sysconfig/sagator || true
   # update configuration
   %{_datadir}/sagator/updatecfg.py || true
 fi
@@ -202,28 +204,32 @@ touch %{_var}/lib/sagator-mkchroot
 %{_datadir}/%{name}/srv
 %exclude %{_datadir}/%{name}/srv/web
 %exclude %{_datadir}/%{name}/srv/templates
 %{_datadir}/%{name}/db
 %{_mandir}/man*/*
 %dir %{CHROOTDIR}
 %attr(1777,vscan,vscan) %dir %{CHROOTDIR}/tmp
 %attr(0770,vscan,vscan) %dir %{CHROOTDIR}/tmp/quarantine
+%{_sysusersdir}/sagator.conf
 
 %files webq -f sagator.lang
 %{_datadir}/%{name}/srv/web
 %{_datadir}/%{name}/srv/templates
 
 %if 0%{?install_sepolicy}>0
 %files selinux
 %dir %{_datadir}/%{name}/selinux
 %{sepolicy}
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.3-0.beta3.4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-0.beta3.3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.0.3-0.beta3.2
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-0.beta3.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git screen/screen.spec screen/screen.spec.tmp
index 75fc77ed05..1974f14661 100644
--- screen/screen.spec
+++ screen/screen.spec.tmp
@@ -1,18 +1,17 @@
 %bcond_with multiuser
 %global _hardened_build 1
 
 Summary:        A screen manager that supports multiple logins on one terminal
 Name:           screen
 Version:        5.0.0
-Release:        2%{?dist}
+Release:        3%{?dist}
 License:        GPL-3.0-or-later
 URL:            http://www.gnu.org/software/screen
-Requires(pre):  /usr/sbin/groupadd
 BuildRequires: make
 BuildRequires:  ncurses-devel pam-devel libutempter-devel autoconf texinfo
 BuildRequires:  automake gcc
 # for %%_tmpfilesdir macro
 BuildRequires:  systemd
 
 Source0:        https://ftp.gnu.org/gnu/screen/screen-%{version}.tar.gz
 Source1:        screen.pam
@@ -28,16 +27,21 @@ login.
 
 Install the screen package if you need a screen manager that can
 support multiple logins on one terminal.
 
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >screen.sysusers.conf <<EOF
+g screen 84
+EOF
+
 %build
 ./autogen.sh
 
 %configure \
 	--enable-pam \
 	--enable-colors256 \
 	--enable-rxvt_osc \
 	--enable-use-locale \
@@ -85,19 +89,18 @@ d %{_rundir}/screen 0755 root root
 %else
 d %{_rundir}/screen 0775 root screen
 %endif
 EOF
 
 # Remove files from the buildroot which we don't want packaged
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 
-%pre
-/usr/sbin/groupadd -g 84 -r -f screen
-:
+install -m0644 -D screen.sysusers.conf %{buildroot}%{_sysusersdir}/screen.conf
+
 
 %files
 %doc README doc/FAQ doc/README.DOTSCREEN ChangeLog
 %license COPYING
 %{_mandir}/man1/screen.*
 %{_infodir}/screen.info*
 %{_datadir}/screen
 %config(noreplace) %{_sysconfdir}/screenrc
@@ -105,18 +108,22 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 %{_tmpfilesdir}/screen.conf
 %if %{with multiuser}
 %attr(4755,root,root) %{_bindir}/screen
 %attr(755,root,root) %{_rundir}/screen
 %else
 %attr(2755,root,screen) %{_bindir}/screen
 %attr(775,root,screen) %{_rundir}/screen
 %endif
+%{_sysusersdir}/screen.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.0.0-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Aug 29 2024 Josef Ridky <jridky@redhat.com> - 5.0.0-1
 - New upsream release 5.0.0 (#2308450)
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sendmail/sendmail.spec sendmail/sendmail.spec.tmp
index ac714cf983..ed435e9f72 100644
--- sendmail/sendmail.spec
+++ sendmail/sendmail.spec.tmp
@@ -36,17 +36,17 @@
 %if "%{with_nis}" == "yes"
 %global nis_cflags	-DNIS
 %global nis_ldadd	-lnsl
 %endif
 
 Summary: A widely used Mail Transport Agent (MTA)
 Name: sendmail
 Version: 8.18.1
-Release: 8%{?dist}
+Release: 9%{?dist}
 License: sendmail-8.23 AND MIT AND MIT-CMU AND BSD-3-Clause AND CDDL-1.0 AND BSD-4-Clause AND BSD-4-Clause-UC AND PostgreSQL AND ISC AND HPND-sell-variant AND mailprio
 URL: http://www.sendmail.org/
 
 Source0: https://ftp.sendmail.org/sendmail.%{version}.tar.gz
 # Systemd Service file
 Source1: sendmail.service
 # NetworkManager dispatch script
 Source2: sendmail.nm-dispatcher
@@ -117,17 +117,16 @@ BuildRequires: groff
 BuildRequires: ghostscript
 BuildRequires: m4
 BuildRequires: systemd
 BuildRequires: gcc
 Provides: MTA smtpdaemon server(smtp)
 Requires(post): systemd coreutils %{_sbindir}/alternatives %{_bindir}/openssl
 Requires(preun): systemd %{_sbindir}/alternatives
 Requires(postun): systemd coreutils %{_sbindir}/alternatives
-Requires(pre): shadow-utils
 Requires: procmail
 Requires: bash >= 2.0
 Requires: setup >= 2.5.31-1
 BuildRequires: setup >= 2.5.31-1
 %if "%{with_tls}" == "yes"
 BuildRequires: openssl-devel
 %if 0%{?fedora} >= 41
 BuildRequires:  openssl-devel-engine
@@ -230,16 +229,22 @@ cp devtools/M4/UNIX/{,shared}library.m4
 
 for f in RELEASE_NOTES contrib/etrn.0; do
 	iconv -f iso8859-1 -t utf8 -o ${f}{_,} &&
 		touch -r ${f}{,_} && mv -f ${f}{_,}
 done
 
 sed -i 's|/usr/local/bin/perl|%{_bindir}/perl|' contrib/*.pl
 
+# Create a sysusers.d config file
+cat >sendmail.sysusers.conf <<EOF
+u mailnull 47 - %{spooldir}/mqueue %{smshell}
+u smmsp 51 - %{spooldir}/mqueue %{smshell}
+EOF
+
 %build
 %set_build_flags
 # generate redhat config file
 cat > redhat.config.m4 << EOF
 define(\`confMAPDEF', \`%{?with_db:-DNEWDB }-DCDB %{?nis_cflags} -DMAP_REGEX -DSOCKETMAP -DNAMED_BIND=1')
 define(\`confOPTIMIZE', \`\`\`\`${CFLAGS} -std=gnu17'''')
 define(\`confENVDEF', \`%{?with_db:-I%{_includedir}/libdb }-I%{_prefix}/kerberos/include -Wall -DXDEBUG=0 -DNETINET6 -DHES_GETMAILHOST -DUSE_VENDOR_CF_PATH=1 -D_FFR_LINUX_MHNL -D_FFR_QOS -D_FILE_OFFSET_BITS=64 -DHAS_GETHOSTBYNAME2 -DHASFLOCK')
 define(\`confLIBDIRS', \`-L%{_prefix}/kerberos/%{_lib}')
@@ -507,28 +512,19 @@ touch %{buildroot}%{_prefix}/lib/sendmail
 touch %{buildroot}%{_sysconfdir}/pam.d/smtp
 
 # create stub man pages
 for m in man8/hoststat.8 man8/purgestat.8; do
 	[ -f %{buildroot}%{_mandir}/$m ] || 
 		echo ".so man8/sendmail.8" > %{buildroot}%{_mandir}/$m
 done
 
+install -m0644 -D sendmail.sysusers.conf %{buildroot}%{_sysusersdir}/sendmail.conf
+
 %pre
-getent group mailnull >/dev/null || \
-  groupadd -g 47 -r mailnull >/dev/null 2>&1
-getent passwd mailnull >/dev/null || \
-  useradd -u 47 -g mailnull -d %{spooldir}/mqueue -r \
-  -s %{smshell} mailnull >/dev/null 2>&1
-getent group smmsp >/dev/null || \
-  groupadd -g 51 -r smmsp >/dev/null 2>&1
-getent passwd smmsp >/dev/null || \
-  useradd -u 51 -g smmsp -d %{spooldir}/mqueue -r \
-  -s %{smshell} smmsp >/dev/null 2>&1
-
 # hack to turn sbin/makemap and man8/makemap.8.gz into alternatives symlink
 # (part of the rhbz#1219178 fix), this could be probably dropped in f25+
 [ -h /usr/sbin/makemap ] || rm -f /usr/sbin/makemap || :
 [ -h %{_mandir}/man8/makemap.8.gz ] || rm -f %{_mandir}/man8/makemap.8.gz || :
 
 exit 0
 
 %postun
@@ -706,16 +702,17 @@ exit 0
 %{_unitdir}/sm-client.service
 %config(noreplace) %{_sysconfdir}/sysconfig/sendmail
 %config(noreplace) %{_sysconfdir}/pam.d/smtp.sendmail
 %{_prefix}/lib/NetworkManager
 
 %if "%{with_sasl2}" == "yes"
 %config(noreplace) %{_sysconfdir}/sasl2/Sendmail.conf
 %endif
+%{_sysusersdir}/sendmail.conf
 
 %files cf
 %doc %{sendmailcf}/README
 %dir %{sendmailcf}
 %{sendmailcf}/cf
 %{sendmailcf}/domain
 %{sendmailcf}/feature
 %{sendmailcf}/hack
@@ -744,16 +741,19 @@ exit 0
 %{_docdir}/sendmail/README.smrsh
 %{_docdir}/sendmail/SECURITY
 %{_docdir}/sendmail/op.pdf
 %dir %{_docdir}/sendmail/contrib
 %attr(0644,root,root) %{_docdir}/sendmail/contrib/*
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.18.1-9
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Tue Jan 21 2025 Jaroslav Škarvada <jskarvad@redhat.com> - 8.18.1-8
 - Built with gnu17 C standard
   Resolves: rhbz#2336394
 
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.18.1-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jan 16 2025 Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl> - 8.18.1-6
diff --git shairport-sync/shairport-sync.spec shairport-sync/shairport-sync.spec.tmp
index 5a8e2f9eee..5cdee9e09e 100644
--- shairport-sync/shairport-sync.spec
+++ shairport-sync/shairport-sync.spec.tmp
@@ -1,11 +1,11 @@
 Name:           shairport-sync
 Version:        4.3.5
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        AirTunes emulator. Multi-Room with Audio Synchronisation
 # MIT licensed except for tinysvcmdns under BSD, 
 # FFTConvolver/ under GPLv3+ and audio_sndio.c 
 # under ISC
 # Automatically converted from old format: MIT and BSD and GPLv3+ and ISC - review is highly recommended.
 License:        LicenseRef-Callaway-MIT AND LicenseRef-Callaway-BSD AND GPL-3.0-or-later AND ISC
 URL:            https://github.com/mikebrady/shairport-sync
 Source0:        https://github.com/mikebrady/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
@@ -34,35 +34,38 @@ Shairport Sync emulates an AirPort Express for the purpose of streaming audio
  devices playing the same source. Thus, for example, synchronised multi-room
  audio is possible without difficulty. (Hence the name Shairport Sync, BTW.)
 
 Shairport Sync does not support AirPlay video or photo streaming.
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >shairport-sync.sysusers.conf <<EOF
+u shairport-sync - '%{name} User' %{_sharedstatedir}/%{name} -
+m shairport-sync audio
+EOF
+
 %build
 autoreconf -i -f
 %configure --sysconfdir=/etc --with-alsa --with-pipe --with-dummy \
            --with-stdout --with-pa --with-pq --with-metadata \
            --with-soxr --with-avahi --with-systemd --with-ssl=openssl \
            --with-create-user-group=false
 
 %make_build
 
 %install
 %make_install
 rm %{buildroot}/etc/shairport-sync.conf.sample
 mkdir -p %{buildroot}/%{_sharedstatedir}/%{name}
 
-%pre
-getent group %{name} >/dev/null || groupadd --system %{name}
-getent passwd %{name} > /dev/null || useradd --system -c "%{name} User" \
-        -d %{_sharedstatedir}/%{name} -g %{name} -s /sbin/nologin \
-        -G audio %{name}
+install -m0644 -D shairport-sync.sysusers.conf %{buildroot}%{_sysusersdir}/shairport-sync.conf
+
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -71,18 +74,22 @@ getent passwd %{name} > /dev/null || useradd --system -c "%{name} User" \
 %files
 %config(noreplace) /etc/shairport-sync.conf
 /usr/bin/shairport-sync
 /usr/share/man/man1/shairport-sync.1.gz
 %{_unitdir}/%{name}.service
 %doc README.md RELEASENOTES.md TROUBLESHOOTING.md
 %license LICENSES
 %attr(-, %{name}, %{name}) %{_sharedstatedir}/%{name}
+%{_sysusersdir}/shairport-sync.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.3.5-2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.5-1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Dec 19 2024 Bill Peck <bpeck@redhat.com> - 4.3.5-0
 - New Upstream release
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 4.3.3-2
 - convert license to SPDX
diff --git shellinabox/shellinabox.spec shellinabox/shellinabox.spec.tmp
index e66ebd6158..389426ed63 100644
--- shellinabox/shellinabox.spec
+++ shellinabox/shellinabox.spec.tmp
@@ -1,13 +1,13 @@
 %global username shellinabox
 
 Name:           shellinabox
 Version:        2.20
-Release:        25%{?dist}
+Release:        26%{?dist}
 Summary:        Web based AJAX terminal emulator
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:        GPL-2.0-only
 URL:            https://github.com/%{name}/%{name}
 
 Source0:        https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        shellinaboxd.sysconfig
 Source2:        shellinaboxd.service
@@ -20,17 +20,16 @@ Patch2: shellinabox-configure-c99.patch
 BuildRequires: make
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  libtool
 BuildRequires:  openssl-devel
 BuildRequires:  zlib-devel
 
 Requires:       openssl
-Requires(pre):  shadow-utils
 
 %if 0%{?fedora} || 0%{?rhel} >= 7
 BuildRequires:      systemd
 Requires(post):     systemd
 Requires(preun):    systemd
 Requires(postun):   systemd
 %endif
 
@@ -48,16 +47,21 @@ JavaScript and CSS enabled web browser and does not require any additional
 browser plugins.
 
 %prep
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
 %patch -P2 -p1
 
+# Create a sysusers.d config file
+cat >shellinabox.sysusers.conf <<EOF
+u shellinabox - 'Shellinabox' %{_sharedstatedir}/shellinabox -
+EOF
+
 %build
 autoreconf -vif
 %configure --disable-runtime-loading
 make %{?_smp_mflags}
 chmod 644 %{name}/*
 
 %install
 mkdir -p %{buildroot}%{_datadir}/%{name}
@@ -77,22 +81,19 @@ install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/shellinaboxd.service
 
 %else
 
 # Initscripts
 install -p -m 755 -D %{SOURCE3} %{buildroot}%{_initrddir}/shellinaboxd
 
 %endif
 
+install -m0644 -D shellinabox.sysusers.conf %{buildroot}%{_sysusersdir}/shellinabox.conf
+
 %pre
-getent group %username >/dev/null || groupadd -r %username &>/dev/null || :
-getent passwd %username >/dev/null || useradd -r -s /sbin/nologin \
-    -d %{_sharedstatedir}/shellinabox -M -c 'Shellinabox' -g %username %username &>/dev/null || :
-exit 0
-
 %if 0%{?fedora} || 0%{?rhel} >= 7
 
 %post
 %systemd_post shellinaboxd.service
 
 %preun
 %systemd_preun shellinaboxd.service
 
@@ -129,18 +130,22 @@ fi
 %{_datadir}/%{name}
 %{_sbindir}/shellinaboxd
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %{_unitdir}/shellinaboxd.service
 %else
 %{_initrddir}/shellinaboxd
 %endif
 %attr(750,%{username},%{username}) %{_sharedstatedir}/%{name}
+%{_sysusersdir}/shellinabox.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.20-26
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.20-24
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sigul/sigul.spec sigul/sigul.spec.tmp
index c1fdbd1217..5603dfcfd2 100644
--- sigul/sigul.spec
+++ sigul/sigul.spec.tmp
@@ -1,13 +1,13 @@
 Summary: A signing server and related software client
 Name: sigul
 
 Version: 1.2
-Release: 6%{?dist}
+Release: 7%{?dist}
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License: GPL-2.0-only
 
 URL: https://pagure.io/sigul/
 Source0: https://pagure.io/sigul/archive/v%{version}/sigul-v%{version}.tar.gz
 Source1: sigul_bridge.service
 Source2: sigul_server.service
 Source3: sigul.logrotate
@@ -28,17 +28,16 @@ BuildRequires: rpm-sign python3-urlgrabber git
 BuildRequires: python3-sqlalchemy
 BuildRequires: systemd-rpm-macros autoconf automake
 BuildRequires: python3-cryptography
 
 Requires: logrotate
 Requires: koji
 # For sigul_setup_client
 Requires: coreutils nss-tools
-Requires(pre): shadow-utils
 BuildRequires:  gcc
 # To detect the path correctly in configure
 BuildRequires: gnupg
 # To run the test suite
 BuildRequires: systemd
 BuildRequires: ostree
 BuildRequires: ostree-devel
 BuildRequires: skopeo
@@ -92,16 +91,21 @@ Requires(postun): systemd
 
 %description bridge
 The bridge part of sigul that facilitates connection between the client and server.
 
 
 %prep
 %autosetup -p1 -n sigul-v%{version}
 
+# Create a sysusers.d config file
+cat >sigul.sysusers.conf <<EOF
+u sigul - 'Signing server or bridge' %{_localstatedir}/lib/sigul -
+EOF
+
 %build
 autoreconf -i
 %configure
 make %{?_smp_mflags}
 
 %check
 exit 0
 %if 0%{?fedora}
@@ -117,22 +121,18 @@ exit 0
 
 %install
 make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
 mkdir -p $RPM_BUILD_ROOT%{_unitdir} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
 install -m 0644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/sigul_bridge.service
 install -m 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/sigul_server.service
 install -m 0644 -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sigul
 
-%pre
-getent group sigul >/dev/null || groupadd -r sigul
-getent passwd sigul >/dev/null || \
-useradd -r -g sigul -d %{_localstatedir}/lib/sigul -s /sbin/nologin \
-        -c "Signing server or bridge" sigul
-exit 0
+install -m0644 -D sigul.sysusers.conf %{buildroot}%{_sysusersdir}/sigul.conf
+
 
 %post bridge
 %systemd_post sigul_bridge.service
 
 %post server
 %systemd_post sigul_server.service
 
 %preun bridge
@@ -165,16 +165,17 @@ exit 0
 %{_datadir}/sigul/settings.py*
 %{_datadir}/sigul/utils.py*
 %{_datadir}/sigul/__pycache__/bind_methods.*
 %{_datadir}/sigul/__pycache__/client.*
 %{_datadir}/sigul/__pycache__/double_tls.*
 %{_datadir}/sigul/__pycache__/errors.*
 %{_datadir}/sigul/__pycache__/settings.*
 %{_datadir}/sigul/__pycache__/utils.*
+%{_sysusersdir}/sigul.conf
 
 %files bridge
 %config(noreplace) %attr(640,root,sigul) %{_sysconfdir}/sigul/bridge.conf
 %{_unitdir}/sigul_bridge.service
 %{_sbindir}/sigul_bridge
 %{_datadir}/sigul/bridge*
 %{_datadir}/sigul/__pycache__/bridge.*
 
@@ -187,16 +188,19 @@ exit 0
 %{_sbindir}/sigul_server_create_db
 %dir %attr(700,sigul,sigul) %{_localstatedir}/lib/sigul
 %dir %attr(700,sigul,sigul) %{_localstatedir}/lib/sigul/gnupg
 %{_datadir}/sigul/server*
 %{_datadir}/sigul/__pycache__/server*
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 1.2-5
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git slrn/slrn.spec slrn/slrn.spec.tmp
index 38e1c5bcb4..c8bc2aeceb 100644
--- slrn/slrn.spec
+++ slrn/slrn.spec.tmp
@@ -1,12 +1,12 @@
 Summary: A threaded Internet news reader
 Name: slrn
 Version: 1.0.3a
-Release: 18%{?dist}
+Release: 19%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 URL: http://slrn.sourceforge.net/
 Source0: http://jedsoft.org/releases/%{name}/%{name}-%{version}.tar.bz2
 Source1: slrn-pull-expire
 Source2: slrnpull.log
 Source4: README.rpm-slrnpull
 Source5: http://jedsoft.org/releases/%{name}/%{name}-%{version}.tar.bz2.asc
@@ -23,17 +23,16 @@ Patch3: fix-FSF-address.patch
 Patch4: slrn-configure-c99.patch
 # Patch4: slrn-dont-limit-signatures.patch
 BuildRequires: make
 BuildRequires: inews
 BuildRequires: openssl-devel, gcc
 BuildRequires: slang-devel >= 2.2.3
 # Some s-lang scripts (smime.sl) use slsh interpreter
 Requires:      slang-slsh
-Requires(pre): shadow-utils
 # For source verification with gpgv
 BuildRequires:  gnupg2
 
 %description
 SLRN is a threaded Internet news reader. SLRN is highly customizable
 and allows users to design complex filters for sorting or killing news
 articles. SLRN works well over slow network lines. A helper utility
 for reading news offline is provided in the slrn-pull package.
@@ -60,16 +59,22 @@ gpgv2 --quiet --keyring %{SOURCE6} %{SOURCE5} %{SOURCE0}
 #%#patch4 -p1 -b .longsignatures
 
 for i in changes.txt; do
   iconv -f iso8859-1 -t utf8 -o ${i}{_,} && touch -r ${i}{,_} && mv -f ${i}{_,}
 done
 
 chmod 644 doc/slrnpull/* contrib/*
 
+# Create a sysusers.d config file
+cat >slrn.sysusers.conf <<EOF
+g news 13
+u news 9 'news user' / -
+EOF
+
 %build
 %configure \
     --with-ssl=%{_prefix} \
     --without-nss-compat \
     --with-slrnpull=%{_var}/spool/slrnpull \
     --without-x \
     --enable-charmap \
     --enable-emph-text \
@@ -96,43 +101,44 @@ install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/slrn-pull
 install -p -m644 %{SOURCE4} doc/slrnpull/README.rpm
 
 %find_lang %{name}
 
 # remove unpackaged files from the buildroot
 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/slrn
 
 # Static UID and GID defined by /usr/share/doc/setup-*/uidgid
-%pre
-getent group news >/dev/null || groupadd -r -g 13 news
-getent passwd news >/dev/null || \
-  useradd -r -u 9 -g news -d / -s /sbin/nologin -c "news user" news
-exit 0
+
+install -m0644 -D slrn.sysusers.conf %{buildroot}%{_sysusersdir}/slrn.conf
 
 %files -f %{name}.lang
 %license COPYING COPYRIGHT
 %doc changes.txt NEWS README
 %doc doc/FAQ doc/FIRST_STEPS doc/README.* doc/THANKS doc/*.txt doc/slrn*.html
 %doc doc/score.sl contrib
 %config(noreplace) %{_sysconfdir}/slrn.rc
 %{_bindir}/slrn
 %{_datadir}/slrn
 %{_mandir}/man1/slrn.1*
+%{_sysusersdir}/slrn.conf
 
 %files pull
 %doc doc/slrnpull/*
 %config(noreplace) %{_sysconfdir}/cron.daily/slrn-pull-expire
 %config(noreplace) %{_sysconfdir}/logrotate.d/slrn-pull
 %{_bindir}/slrnpull
 %attr(775,news,news) %dir %{_var}/spool/slrnpull
 %attr(3777,news,news) %dir %{_var}/spool/slrnpull/out.going
 %attr(644,news,news) %config(noreplace) %{_var}/spool/slrnpull/slrnpull.conf
 %{_mandir}/man1/slrnpull.1*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.3a-19
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3a-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.3a-17
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3a-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git softhsm/softhsm.spec softhsm/softhsm.spec.tmp
index 0c3497a4cc..293615566d 100644
--- softhsm/softhsm.spec
+++ softhsm/softhsm.spec.tmp
@@ -1,15 +1,15 @@
 #global prever rc1
 #global prerelease yes
 
 Summary: Software version of a PKCS#11 Hardware Security Module
 Name: softhsm
 Version: 2.6.1
-Release: %{?prever:0.}10%{?prever:.%{prever}}%{?dist}.2
+Release: %{?prever:0.}10%{?prever:.%{prever}}%{?dist}.3
 License: BSD-2-clause
 Url: http://www.opendnssec.org/
 Source: http://dist.opendnssec.org/source/%{?prever:testing/}%{name}-%{version}.tar.gz
 Source1: http://dist.opendnssec.org/source/%{?prever:testing/}%{name}-%{version}.tar.gz.sig
 
 Patch1: softhsm-2.6.1-rh1831086-exit.patch
 Patch2: softhsm-openssl3-tests.patch
 # based on https://github.com/opendnssec/SoftHSMv2/commit/f94aaffc879ade97a51b8e1308af42f86be1885f
@@ -19,17 +19,16 @@ Patch3: softhsm-2.6.1-uninitialized.patch
 Patch4: softhsm-prevent-global-deleted-objects-access.patch
 # fix for https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine
 Patch5: softhsm-disable-usage-of-openssl-engines.patch
 
 BuildRequires: make
 BuildRequires: openssl-devel >= 1.0.1k-6, sqlite-devel >= 3.4.2, cppunit-devel
 BuildRequires: gcc-c++, pkgconfig, p11-kit-devel
 
-Requires(pre): shadow-utils
 Requires: p11-kit
 Requires: openssl-libs >= 1.0.1k-6
 
 %global _hardened_build 1
 
 %global softhsm_module "SoftHSM PKCS #11 Module"
 
 %description
@@ -61,16 +60,21 @@ The devel package contains the libsofthsm include files
    sed -i 's:^full_libdir=":#full_libdir=":g' configure.ac
    sed -i "s:libdir)/@PACKAGE@:libdir):" Makefile.in
 autoreconf -fiv
 %else
    # remove softhsm/ subdir auto-added to --libdir
    sed -i 's:full_libdir/softhsm:full_libdir:g' configure
 %endif
 
+# Create a sysusers.d config file
+cat >softhsm.sysusers.conf <<EOF
+u ods - 'softhsm private keys owner' %{_sharedstatedir}/softhsm -
+EOF
+
 %build
 # This package fails its testsuite with LTO enabled and needs further
 # investigation
 %define _lto_cflags %{nil}
 
 %configure --libdir=%{_libdir}/pkcs11 --with-openssl=%{_prefix} --enable-ecc --enable-eddsa --disable-gost \
            --with-migrate --enable-visibility --with-p11-kit=%{_datadir}/p11-kit/modules/
 
@@ -103,48 +107,48 @@ mkdir -p %{buildroot}/%{_sharedstatedir}/softhsm/tokens
 
 # leave a softlink where softhsm-1 installed its library. Programs like
 # opendnssec have that filename in their configuration file.
 mkdir -p %{buildroot}/%{_libdir}/softhsm/
 ln -s ../pkcs11/libsofthsm2.so %{buildroot}/%{_libdir}/softhsm/libsofthsm.so
 # rhbz#1272423 NSS needs it to be in the search path too
 ( cd  %{buildroot}/%{_libdir} ; ln -s pkcs11/libsofthsm2.so)
 
+install -m0644 -D softhsm.sysusers.conf %{buildroot}%{_sysusersdir}/softhsm.conf
+
 %files
 %config(noreplace) %{_sysconfdir}/softhsm2.conf
 %{_bindir}/*
 %dir %{_libdir}/softhsm
 %{_libdir}/pkcs11/libsofthsm2.so
 %{_libdir}/libsofthsm2.so
 %{_libdir}/softhsm/libsofthsm.so
 %attr(0664,root,root) %{_datadir}/p11-kit/modules/softhsm2.module
 %attr(0750,ods,ods) %dir %{_sharedstatedir}/softhsm
 %attr(1770,ods,ods) %dir %{_sharedstatedir}/softhsm/tokens
 %doc LICENSE README.md NEWS
 %{_mandir}/*/*
+%{_sysusersdir}/softhsm.conf
 
 %files devel
 %attr(0755,root,root) %dir %{_includedir}/softhsm
 %{_includedir}/softhsm/*.h
 
-%pre
-getent group ods >/dev/null || groupadd -r ods
-getent passwd ods >/dev/null || \
-    useradd -r -g ods -d %{_sharedstatedir}/softhsm -s /sbin/nologin \
-    -c "softhsm private keys owner" ods
-exit 0
 
 %post
 
 %triggerpostun -- softhsm < 2.0.0
 if [ -f /var/softhsm/slot0.db ]; then
       runuser -g ods ods -c 'softhsm2-migrate --db /var/softhsm/slot0.db --pin 1234 --slot 0' || :
 fi
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.1-10.3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-10.2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 25 2024 Alexander Bokovoy <abokovoy@redhat.com> - 2.6.1-10
 - Build without OpenSSL ENGINE support
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-9.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git spamass-milter/spamass-milter.spec spamass-milter/spamass-milter.spec.tmp
index bae829b327..75da0cd728 100644
--- spamass-milter/spamass-milter.spec
+++ spamass-milter/spamass-milter.spec.tmp
@@ -6,17 +6,17 @@
 %endif
 
 # Do a hardened build where possible
 %global _hardened_build 1
 
 Summary:	Milter (mail filter) for spamassassin
 Name:		spamass-milter
 Version:	0.4.0
-Release:	29%{?dist}
+Release:	30%{?dist}
 License:	GPL-2.0-or-later
 URL:		http://savannah.nongnu.org/projects/spamass-milt/
 Source0:	http://savannah.nongnu.org/download/spamass-milt/spamass-milter-%{version}.tar.gz
 Source1:	spamass-milter.README.Postfix
 Source2:	spamass-milter-tmpfs.conf
 Source3:	spamass-milter-postfix-tmpfs.conf
 # systemd
 Source20:	spamass-milter.service
@@ -39,17 +39,17 @@ BuildRequires:	coreutils
 BuildRequires:	gcc-c++
 BuildRequires:	make
 BuildRequires:	%milter_devel_package
 BuildRequires:	spamassassin
 Requires:	spamassassin, /usr/sbin/sendmail
 # Needed for ownership of %%{_tmpfilesdir}
 Requires:	systemd
 
-Requires(pre): glibc-common, shadow-utils
+Requires(pre): glibc-common
 BuildRequires: systemd
 Requires(post): coreutils, systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 %description
 A milter (Mail Filter) application that pipes incoming mail (including things
 received by rmail/UUCP) through SpamAssassin, a highly customizable spam
@@ -101,16 +101,21 @@ cp -p %{SOURCE3} spamass-milter-postfix-tmpfs.conf
 %endif
 
 # With systemd, the runtime directory is /run rather than /var/run
 %patch -P 11 -b .rundir
 
 # Copy in systemd files
 cp -p %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} .
 
+# Create a sysusers.d config file
+cat >spamass-milter.sysusers.conf <<EOF
+u sa-milt - 'SpamAssassin Milter' %{_localstatedir}/lib/spamass-milter -
+EOF
+
 %build
 export SENDMAIL=/usr/sbin/sendmail
 %configure
 make %{?_smp_mflags}
 
 %install
 make DESTDIR=%{buildroot} install
 
@@ -132,21 +137,19 @@ install -m 644 spamass-milter-tmpfs.conf \
 	%{buildroot}%{_tmpfilesdir}/spamass-milter.conf
 install -m 644 spamass-milter-postfix-tmpfs.conf \
 	%{buildroot}%{_tmpfilesdir}/spamass-milter-postfix.conf
 
 # Create dummy sockets for %%ghost-ing
 : > %{buildroot}/run/spamass-milter/spamass-milter.sock
 : > %{buildroot}/run/spamass-milter/postfix/sock
 
+install -m0644 -D spamass-milter.sysusers.conf %{buildroot}%{_sysusersdir}/spamass-milter.conf
+
 %pre
-getent group sa-milt >/dev/null || groupadd -r sa-milt
-getent passwd sa-milt >/dev/null || \
-	useradd -r -g sa-milt -d %{_localstatedir}/lib/spamass-milter \
-		-s /sbin/nologin -c "SpamAssassin Milter" sa-milt
 # Fix homedir for upgrades
 usermod --home %{_localstatedir}/lib/spamass-milter sa-milt &>/dev/null
 exit 0
 
 %post
 if [ $1 -eq 1 ]; then
 	# Initial installation
 	systemctl daemon-reload &>/dev/null || :
@@ -183,25 +186,29 @@ usermod -a -G postfix sa-milt || :
 %config(noreplace) %{_sysconfdir}/sysconfig/spamass-milter
 %{_tmpfilesdir}/spamass-milter.conf
 %{_unitdir}/spamass-milter.service
 %{_unitdir}/spamass-milter-root.service
 %{_sbindir}/spamass-milter
 %dir %attr(-,sa-milt,sa-milt) %{_localstatedir}/lib/spamass-milter/
 %dir %attr(-,sa-milt,sa-milt) /run/spamass-milter/
 %ghost %attr(-,sa-milt,sa-milt) /run/spamass-milter/spamass-milter.sock
+%{_sysusersdir}/spamass-milter.conf
 
 %files postfix
 %doc README.Postfix
 %{_tmpfilesdir}/spamass-milter-postfix.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/spamass-milter-postfix
 %dir %attr(-,sa-milt,postfix) /run/spamass-milter/postfix/
 %ghost %attr(-,sa-milt,postfix) /run/spamass-milter/postfix/sock
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.4.0-30
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-29
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jun  8 2024 Frank Crawford <frank@crawford.emu.id.au> - 0.4.0-27
 - Add quarantine option
diff --git spampd/spampd.spec spampd/spampd.spec.tmp
index fb58c0dfef..a506181e20 100644
--- spampd/spampd.spec
+++ spampd/spampd.spec.tmp
@@ -1,12 +1,12 @@
 Summary: Transparent SMTP/LMTP proxy filter using spamassassin
 Name: spampd
 Version: 2.61
-Release: 11%{?dist}
+Release: 12%{?dist}
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 URL: http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm
 Source0: https://github.com/mpaperno/spampd/archive/refs/tags/%{name}-%{version}.tar.gz
 Source1: spampd.service
 Source2: README.systemd
 Source3: spampd.sysconfig
 Patch0:  spampd-2.61-no-pid-file.patch
@@ -14,17 +14,16 @@ Patch0:  spampd-2.61-no-pid-file.patch
 BuildRequires: make
 BuildRequires: perl-generators
 BuildRequires: perl-podlators
 BuildRequires: perl-Pod-Html
 BuildRequires: systemd-units
 
 Requires: perl(Net::Server)
 
-Requires(pre): /usr/sbin/useradd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 BuildArch: noarch
 
 %description
 Spampd is a program used within an e-mail delivery system to scan messages for
@@ -38,16 +37,21 @@ indicating it's spam and why.
 
 %prep
 %setup -q
 %patch -P0 -p1 -b .no-pid-file
 %{__rm} -f spampd.html
 %{__chmod} -x changelog.txt
 %{__cp} %{SOURCE2} .
 
+# Create a sysusers.d config file
+cat >spampd.sysusers.conf <<EOF
+u spampd - - /var/spool/spampd -
+EOF
+
 
 %build
 pod2man spampd.pod spampd.8
 pod2html --infile=spampd.pod --outfile=spampd.html
 
 
 %install
 %{__rm} -rf %{buildroot}
@@ -61,21 +65,20 @@ pod2html --infile=spampd.pod --outfile=spampd.html
 %{__install} -D -p -m 0644 %{SOURCE1} \
     %{buildroot}%{_unitdir}/spampd.service
 # Sysconfig
 %{__install} -D -p -m 0644 %{SOURCE3} \
     %{buildroot}%{_sysconfdir}/sysconfig/spampd
 # Home directory
 %{__mkdir_p} %{buildroot}/var/spool/spampd
 
+install -m0644 -D spampd.sysusers.conf %{buildroot}%{_sysusersdir}/spampd.conf
+
 
 
-%pre
-/usr/sbin/useradd -r -M -s /sbin/nologin -d /var/spool/spampd \
-    spampd &>/dev/null || :
 
 %post
 %systemd_post spampd.service
 
 %preun
 %systemd_preun spampd.service
 
 %postun
@@ -83,19 +86,23 @@ pod2html --infile=spampd.pod --outfile=spampd.html
 
 %files
 %doc changelog.txt spampd.html README.systemd
 %config(noreplace) %{_sysconfdir}/sysconfig/spampd
 %{_unitdir}/spampd.service
 %{_sbindir}/spampd
 %{_mandir}/man8/spampd.8*
 %attr(0750,spampd,spampd) /var/spool/spampd
+%{_sysusersdir}/spampd.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.61-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.61-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.61-10
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.61-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sphinx/sphinx.spec sphinx/sphinx.spec.tmp
index 07fbfbed47..c0f4051556 100644
--- sphinx/sphinx.spec
+++ sphinx/sphinx.spec.tmp
@@ -15,17 +15,17 @@
 %bcond_with java
 %else
 %bcond_without java
 %endif
 
 
 Name:		sphinx
 Version:	2.2.11
-Release:	32%{?dist}
+Release:	33%{?dist}
 Summary:	Free open-source SQL full-text search engine
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:	GPL-2.0-or-later
 URL:		http://sphinxsearch.com
 
 Source0:	http://sphinxsearch.com/files/%{name}-%{version}-release.tar.gz
 Source1:	searchd.service
 Patch0:		%{name}-2.0.3-fix_static.patch
@@ -40,17 +40,16 @@ BuildRequires:	mariadb-connector-c-devel openssl-devel
 BuildRequires:	libpq-devel
 BuildRequires:	systemd
 
 Requires(post):		systemd
 Requires(preun):	systemd
 Requires(postun):	systemd
 
 # Users and groups
-Requires(pre):		shadow-utils
        
 
 %description
 Sphinx is a full-text search engine, distributed under GPL version 2.
 Commercial licensing (e.g. for embedded use) is also available upon request.
 
 Generally, it's a standalone search engine, meant to provide fast,
 size-efficient and relevant full-text search functions to other
@@ -130,16 +129,22 @@ for f in \
 	api/ruby/spec/%{name}/%{name}_test.sql \
 ; do
 	sed -i 's/\r$//' ${f};
 done
 
 # Fix file not UTF8
 iconv -f iso8859-1 -t utf-8 doc/%{name}.txt > doc/%{name}.txt.conv && mv -f doc/%{name}.txt.conv doc/%{name}.txt
 
+# Create a sysusers.d config file
+cat >sphinx.sysusers.conf <<EOF
+g sphinx -
+u sphinx - 'Sphinx Search' %{sphinx_home} /bin/bash
+EOF
+
 %build
 %if %{__isa_bits} == 64
 %configure --sysconfdir=%{_sysconfdir}/%{name} --with-mysql --with-pgsql --enable-id64
 %else
 %configure --sysconfdir=%{_sysconfdir}/%{name} --with-mysql --with-pgsql
 %endif
 
 make %{?_smp_mflags}
@@ -228,23 +233,19 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/php
 install -m 0644 api/%{name}api.php $RPM_BUILD_ROOT%{_datadir}/php
 
 # clean-up .la archives
 find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
 
 # clean-up .a archives
 find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
 
+install -m0644 -D sphinx.sysusers.conf %{buildroot}%{_sysusersdir}/sphinx.conf
+
 
-%pre
-getent group %{sphinx_group} >/dev/null || groupadd -r %{sphinx_group}
-getent passwd %{sphinx_user} >/dev/null || \
-useradd -r -g %{sphinx_group} -d %{sphinx_home} -s /bin/bash \
--c "Sphinx Search" %{sphinx_user}
-exit 0
 
 %post
 %systemd_post searchd.service
 
 %preun
 %systemd_preun searchd.service
 
 %ldconfig_scriptlets -n libsphinxclient
@@ -277,16 +278,17 @@ chown -R %{sphinx_user}:root %{_localstatedir}/lib/%{name}/
 %{_unitdir}/searchd.service
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %{_tmpfilesdir}/%{name}.conf
 %{_bindir}/*
 %dir %attr(0755, %{sphinx_user}, root) %{_localstatedir}/log/%{name}
 %dir %attr(0755, %{sphinx_user}, root) %{_localstatedir}/run/%{name}
 %dir %attr(0755, %{sphinx_user}, root) %{_localstatedir}/lib/%{name}
 %{_mandir}/man1/*
+%{_sysusersdir}/sphinx.conf
 
 %files -n libsphinxclient
 %doc COPYING %{?with_java: api/java} api/ruby api/*.php api/*.py api/libsphinxclient/README
 %{_libdir}/libsphinxclient-0*.so
 
 %files -n libsphinxclient-devel
 %{_libdir}/libsphinxclient.so
 %{_includedir}/*
@@ -297,16 +299,19 @@ chown -R %{sphinx_user}:root %{_localstatedir}/lib/%{name}/
 %{_javadir}/*
 %endif
 
 %files php
 %doc COPYING
 %{_datadir}/php/*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.2.11-33
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-32
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.2.11-31
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sqlgrey/sqlgrey.spec sqlgrey/sqlgrey.spec.tmp
index ef48bf9cdd..c590e71e35 100644
--- sqlgrey/sqlgrey.spec
+++ sqlgrey/sqlgrey.spec.tmp
@@ -1,24 +1,23 @@
 Name:           sqlgrey
 Version:        1.8.0
-Release:        30%{?dist}
+Release:        31%{?dist}
 Summary:        Postfix grey-listing policy service
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://sqlgrey.sourceforge.net/
 Source0:        http://dl.sourceforge.net/sqlgrey/sqlgrey-%{version}.tar.gz
 Source1:        sqlgrey.service
 Patch0:         sqlgrey-1.7.4-sqlite.patch
 Patch1:         sqlgrey-1.7.4-warnings.patch
 BuildArch:      noarch
 
 Requires:               postfix
 Requires:               perl(DBD::SQLite)
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 BuildRequires: make
 BuildRequires: systemd
 BuildRequires: perl-generators
 BuildRequires: perl-Pod-Perldoc
 BuildRequires: perl-podlators
@@ -29,28 +28,35 @@ written in Perl with SQL database as storage backend.  Greylisting stops 50
 to 90% of junk mails (spam and virus) before they reach your Postfix server
 (saves BW, user time and CPU time).
 
 %prep
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
 
+# Create a sysusers.d config file
+cat >sqlgrey.sysusers.conf <<EOF
+u sqlgrey - 'SQLgrey server' /var/lib/sqlgrey -
+EOF
+
 %build
 make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 make rh-install ROOTDIR=$RPM_BUILD_ROOT
 install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/sqlgrey.service
 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/init.d/
 mkdir -p -m 755 $RPM_BUILD_ROOT%{_var}/lib
 mkdir -m 750 $RPM_BUILD_ROOT%{_var}/lib/sqlgrey
 touch $RPM_BUILD_ROOT%{_var}/lib/sqlgrey/sqlgrey.db
 
+install -m0644 -D sqlgrey.sysusers.conf %{buildroot}%{_sysusersdir}/sqlgrey.conf
+
 %files
 %doc Changelog CONTRIB COPYING FAQ HOWTO README* TODO
 %{_unitdir}/sqlgrey.service
 %{_sbindir}/sqlgrey
 %{_sbindir}/update_sqlgrey_config
 %{_bindir}/sqlgrey-logstats.pl
 %{_mandir}/man1/sqlgrey.1*
 %attr(-,sqlgrey,sqlgrey) %dir %{_var}/lib/sqlgrey
@@ -58,34 +64,32 @@ touch $RPM_BUILD_ROOT%{_var}/lib/sqlgrey/sqlgrey.db
 %dir %{_sysconfdir}/sqlgrey
 %config(noreplace) %{_sysconfdir}/sqlgrey/sqlgrey.conf
 # Content of these files are changed by sqlgrey itself
 %config(noreplace) %{_sysconfdir}/sqlgrey/clients_ip_whitelist
 %config(noreplace) %{_sysconfdir}/sqlgrey/clients_fqdn_whitelist
 %config(noreplace) %{_sysconfdir}/sqlgrey/*.regexp
 # Warning admins to not touch the above files
 %attr(644,root,root) %config %{_sysconfdir}/sqlgrey/README
+%{_sysusersdir}/sqlgrey.conf
 
-%pre
-getent group sqlgrey >/dev/null || groupadd -r sqlgrey
-getent passwd sqlgrey >/dev/null || \
-    useradd -r -g sqlgrey -d /var/lib/sqlgrey -s /sbin/nologin \
-    -c "SQLgrey server" sqlgrey
-exit 0
 
 %post
 %systemd_post sqlgrey.service
 
 %preun
 %systemd_preun sqlgrey.service
 
 %postun
 %systemd_postun_with_restart sqlgrey.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.8.0-31
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-30
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.8.0-29
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-28
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git squeezelite/squeezelite.spec squeezelite/squeezelite.spec.tmp
index 5130c85854..6d9b4ba9e9 100644
--- squeezelite/squeezelite.spec
+++ squeezelite/squeezelite.spec.tmp
@@ -41,28 +41,33 @@ BuildRequires:   mpg123-devel
 BuildRequires:   openssl-devel
 BuildRequires:   opus-devel
 BuildRequires:   opusfile-devel
 BuildRequires:   pandoc
 BuildRequires:   pulseaudio-libs-devel
 BuildRequires:   soxr-devel
 BuildRequires:   systemd
 
-Requires(pre):   shadow-utils
 %{?systemd_requires}
 
 
 %description
 Squeezelite is a headless client for Lyrion Music Server, and can be
 used in place of dedicated Squeezebox network music playing hardware.
 
 
 %prep
 %forgesetup
 
+# Create a sysusers.d config file
+cat >squeezelite.sysusers.conf <<EOF
+u squeezelite - 'Squeezelite headless streaming music client' %{_sharedstatedir}/%{name} -
+m squeezelite audio
+EOF
+
 
 %build
 %set_build_flags
 
 export OPTS="-DDSD -DLINKALL -DRESAMPLE -DVISEXPORT -DIR -DGPIO -DRPI -DFFMPEG %{?!with_faad:-DNO_FAAD} -DUSE_LIBOGG -DUSE_SSL -DOPUS"
 %make_build CPPFLAGS+="-I%{_includedir}/ffmpeg" CPPFLAGS+="-I%{_includedir}/ogg" CPPFLAGS+="-I%{_includedir}/opus" EXECUTABLE=%{name}-alsa
 %make_build clean
 
@@ -78,37 +83,33 @@ ln -s %{name}-alsa %{buildroot}/%{_bindir}/%{name}
 install -p -D -t %{buildroot}/%{_bindir} %{name}-pulse
 install -p -D -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service
 install -p -D -m 0644 %{SOURCE2} %{buildroot}/%{_userunitdir}/%{name}.service
 install -p -D -m 0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/sysconfig/%{name}
 install -p -D -t %{buildroot}/%{_mandir}/man1 -m 0644 doc/%{name}.1
 install -p -D -t %{buildroot}/%{_mandir}/man7 -m 0644 %{name}.service.7
 mkdir -p %{buildroot}/%{_sharedstatedir}/%{name}
 
+install -m0644 -D squeezelite.sysusers.conf %{buildroot}%{_sysusersdir}/squeezelite.conf
+
 
 %files
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
 %dir %attr(-,%{name},%{name}) %{_sharedstatedir}/%{name} 
 %doc %{_mandir}/*/*
 %doc README.md
 %license LICENSE.txt
 %{_bindir}/%{name}
 %{_bindir}/%{name}-alsa
 %{_bindir}/%{name}-pulse
 %{_unitdir}/%{name}.service
 %{_userunitdir}/%{name}.service
+%{_sysusersdir}/squeezelite.conf
 
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -G audio -d %{_sharedstatedir}/%{name} \
-        -s /sbin/nologin -c "Squeezelite headless streaming music client" \
-        %{name}
-exit 0
 
 
 %post
 %systemd_post %{name}.service
 %systemd_user_post %{name}.service
 
 
 %preun
diff --git squid/squid.spec squid/squid.spec.tmp
index 22786ee1d4..a7d78e0ffc 100644
--- squid/squid.spec
+++ squid/squid.spec.tmp
@@ -1,13 +1,13 @@
 %define __perl_requires %{SOURCE98}
 
 Name:     squid
 Version:  6.12
-Release:  4%{?dist}
+Release:  5%{?dist}
 Summary:  The Squid proxy caching server
 Epoch:    7
 # See CREDITS for breakdown of non GPLv2+ code
 License:  GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware)
 URL:      http://www.squid-cache.org
 
 Source0:  http://www.squid-cache.org/Versions/v6/squid-%{version}.tar.xz
 Source1:  http://www.squid-cache.org/Versions/v6/squid-%{version}.tar.xz.asc
@@ -73,17 +73,16 @@ BuildRequires: pkgconfig(cppunit)
 BuildRequires: gnupg2
 # for _unitdir macro
 # see https://docs.fedoraproject.org/en-US/packaging-guidelines/Systemd/#_packaging
 BuildRequires: systemd-rpm-macros
 # systemd notify
 BuildRequires: systemd-devel
 
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # Old NetworkManager expects the dispatcher scripts in a different place
 Conflicts: NetworkManager < 1.20
 
 %description
 Squid is a high-performance proxy caching server for Web clients,
 supporting FTP and HTTP data objects. Unlike traditional
 caching software, Squid handles all requests in a single,
@@ -249,18 +248,16 @@ install -p -D -m 0644 %{SOURCE9} %{buildroot}%{_sysusersdir}/squid.conf
 %{_bindir}/purge
 %{_mandir}/man8/*
 %{_mandir}/man1/*
 %{_libdir}/squid/*
 %{_datadir}/snmp/mibs/SQUID-MIB.txt
 %{_sysusersdir}/squid.conf
 
 %pre
-%sysusers_create_compat %{SOURCE9}
-
 for i in /var/log/squid /var/spool/squid ; do
         if [ -d $i ] ; then
                 for adir in `find $i -maxdepth 0 \! -user squid`; do
                         chown -R squid:squid $adir
                 done
         fi
 done
 
@@ -310,16 +307,19 @@ end
 if ! getent group wbpriv >/dev/null 2>&1 ; then
   /usr/sbin/groupadd -g 88 wbpriv >/dev/null 2>&1 || :
 fi
 /usr/sbin/usermod -a -G wbpriv squid >/dev/null 2>&1 || \
     chgrp squid /var/cache/samba/winbindd_privileged >/dev/null 2>&1 || :
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7:6.12-5
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7:6.12-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Nov 01 2024 Luboš Uhliarik <luhliari@redhat.com> - 7:6.12-3
 - better error handling in cache_swap.sh
 - added RuntimeDirectory to systemd service file
 
 * Fri Nov 01 2024 Luboš Uhliarik <luhliari@redhat.com> - 7:6.12-2
diff --git sslh/sslh.spec sslh/sslh.spec.tmp
index d989ebd05a..db8ce0318d 100644
--- sslh/sslh.spec
+++ sslh/sslh.spec.tmp
@@ -4,17 +4,17 @@
 %global gh_project   sslh
 #%global with_tests   %{?_without_tests:0}%{!?_without_tests:1}
 # disable tests until perl-conf-libconfig is in Fedora
 %global with_tests   0
 %define _default_patch_fuzz 3
 
 Name:    sslh
 Version: 1.21c
-Release: 11%{?dist}
+Release: 12%{?dist}
 Summary: Applicative protocol(SSL/SSH) multiplexer
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License: GPL-2.0-only
 URL:     https://github.com/%{gh_owner}/%{gh_project}
 Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz
 
 # Make the systemd unit a little nicer for Fedora
 Patch0:  00-systemd-tuning.patch
@@ -43,17 +43,16 @@ BuildRequires: psmisc
 
 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7
 %global use_libwrap 0
 %else
 %global use_libwrap 1
 BuildRequires: tcp_wrappers-devel
 %endif
 
-Requires(pre):    shadow-utils
 %{?systemd_requires}
 
 %description
 sslh accepts connections on specified ports, and forwards them further
 based on tests performed on the first data packet sent by the remote
 client.
 
 Probes for HTTP, SSL, SSH, OpenVPN, tinc, XMPP are implemented, and
@@ -64,16 +63,21 @@ which almost never block port 443) while still serving HTTPS on that port.
 
 Hence sslh acts as a protocol multiplexer, or a switchboard. Its name
 comes from its original function to serve SSH and HTTPS on the same port.
 
 
 %prep
 %autosetup -n %{name}-%{gh_commit} -p1
 
+# Create a sysusers.d config file
+cat >sslh.sysusers.conf <<EOF
+u sslh - 'SSLH daemon' /dev/null -
+EOF
+
 %build
 ./genver.sh >version.h
 %if 0%{?rhel}
 export CFLAGS="${CFLAGS} -std=gnu99"
 %endif
 %if %{use_libwrap}
   make %{?_smp_mflags} USELIBWRAP=1 USELIBCAP=1 USESYSTEMD=1 sslh echosrv
 %else
@@ -109,30 +113,26 @@ Before=sslh.service
 
 [Socket]
 FreeBind=true
 
 [Install]
 WantedBy=sockets.target
 EOF
 
+install -m0644 -D sslh.sysusers.conf %{buildroot}%{_sysusersdir}/sslh.conf
+
 %check
 %if %{with_tests}
 # Use right ip6 localhost for Fedora
 sed -i 's/ip6-localhost/localhost6/g' t
 # Build the binaries with gcc coverage enabled
 make test
 %endif
 
-%pre
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || \
-    useradd -r -g %{name} -d /dev/null -s /sbin/nologin \
-    -c "SSLH daemon" %{name}
-exit 0
 
 %post
 %systemd_post sslh.service
 
 %preun
 %systemd_preun sslh.service
 
 %postun
@@ -143,21 +143,25 @@ exit 0
 %license COPYING
 %doc %{_mandir}/man8/%{name}.8*
 %attr(0755,root,root) %{_sbindir}/%{name}
 %attr(0755,root,root) %{_sbindir}/%{name}-select
 %{_unitdir}/%{name}.service
 %{_unitdir}/%{name}.socket
 %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/%{name}.cfg
 %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/%{name}
+%{_sysusersdir}/sslh.conf
 
 
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.21c-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.21c-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 1.21c-10
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.21c-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sstp-client/sstp-client.spec sstp-client/sstp-client.spec.tmp
index 57b495c85c..0819a45492 100644
--- sstp-client/sstp-client.spec
+++ sstp-client/sstp-client.spec.tmp
@@ -1,16 +1,16 @@
 %global _hardened_build 1
 %global __provides_exclude ^sstp-pppd-plugin\\.so$
 %global ppp_version %(pkg-config --modversion pppd 2>/dev/null || echo bad)
 %global commonname sstpc
 
 Name:           sstp-client
 Version:        1.0.18
-Release:        9%{?dist}
+Release:        10%{?dist}
 Summary:        Secure Socket Tunneling Protocol(SSTP) Client
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 Url:            https://gitlab.com/eivnaes/sstp-client
 Source0:        https://gitlab.com/eivnaes/%{name}/-/releases/%{version}/downloads/dist-gzip/%{name}-%{version}.tar.gz
 Patch0:         0001-pppd-plugin-workaround-broken-pppd.h-header-for-memc.patch
 Patch1:         0001-Adding-support-for-compiling-against-pppd-version-2..patch
 BuildRequires:  make
@@ -18,17 +18,16 @@ BuildRequires:  gcc
 BuildRequires:  libevent-devel
 BuildRequires:  openssl-devel
 BuildRequires:  ppp
 BuildRequires:  pkgconfig
 BuildRequires:  ppp-devel >= 2.5.0
 # ppp 2.5.0 patches require autoreconf, drop this when a new version
 # is released and those patches are dropped
 BuildRequires:  autoconf automake libtool
-Requires(pre):  shadow-utils
 # PPP bumps location of the libraries with every new release.
 Requires:       ppp = %{ppp_version}
 
 Recommends:     (NetworkManager-sstp if NetworkManager)
 Recommends:     (NetworkManager-sstp-gnome if (NetworkManager-sstp and gnome-shell))
 
 %description
 This is a client for the Secure Socket Tunneling Protocol (SSTP). It can be 
@@ -50,16 +49,21 @@ Requires:       ppp-devel%{?_isa} = %{ppp_version}
 
 %description    devel
 This package contains libraries and header files for
 developing applications that use %{name}.
 
 %prep
 %autosetup -p1
 
+# Create a sysusers.d config file
+cat >sstp-client.sysusers.conf <<EOF
+u sstpc - 'Secure Socket Tunneling Protocol(SSTP) Client' %{_localstatedir}/run/%{commonname} -
+EOF
+
 %build
 # for ppp 2.5.0 patches
 autoreconf -fi
 %configure --disable-static                                          \
            --disable-silent-rules                                    \
            --with-libevent=2                                         \
            --with-pppd-plugin-dir="%{_libdir}/pppd/%{ppp_version}"   \
            --with-runtime-dir="%{_localstatedir}/run/%{commonname}"  \
@@ -73,49 +77,47 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 %install
 %make_install
 
 # Use %%doc to handle documentation.
 rm -frv %{buildroot}%{_docdir}
 
 find %{buildroot} -name '*.la' -delete -print
 
+install -m0644 -D sstp-client.sysusers.conf %{buildroot}%{_sysusersdir}/sstp-client.conf
+
 %check
 make check
 
 %pre
-getent group %{commonname} >/dev/null || groupadd -r %{commonname}
-getent passwd %{commonname} >/dev/null || \
-    useradd -r -g %{commonname} \
-    -d %{_localstatedir}/run/%{commonname} \
-    -s /sbin/nologin \
-    -c "Secure Socket Tunneling Protocol(SSTP) Client" %{commonname}
-exit 0
-
 %ldconfig_post
 
 %postun
 %{?ldconfig}
 rm -rf %{_localstatedir}/run/%{commonname}
 
 %files
 %doc AUTHORS README ChangeLog TODO USING DEVELOPERS *.example
 %license COPYING
 %{_sbindir}/sstpc
 %{_libdir}/libsstp_api-0.so
 %{_libdir}/pppd/%{ppp_version}/sstp-pppd-plugin.so
 %{_mandir}/man8/sstpc.8*
+%{_sysusersdir}/sstp-client.conf
 
 %files devel
 %doc DEVELOPERS
 %{_includedir}/sstp-client/
 %{_libdir}/libsstp_api.so
 %{_libdir}/pkgconfig/sstp-client-1.0.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.18-10
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Nov 27 2024 Adam Williamson <awilliam@redhat.com> - 1.0.18-8
 - Rebuild for ppp 2.5.1
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.18-7
 - convert license to SPDX
diff --git statsd/statsd.spec statsd/statsd.spec.tmp
index c308becdb1..7f7807f0af 100644
--- statsd/statsd.spec
+++ statsd/statsd.spec.tmp
@@ -1,16 +1,16 @@
 # filter provides and requires from examples directory RHBZ#1263969
 %{?perl_default_filter}
 
 %global enable_tests 0
 
 Name:       statsd
 Version:    0.8.6
-Release:    11%{?dist}
+Release:    12%{?dist}
 Summary:    A simple, lightweight network daemon to collect metrics over UDP
 License:    MIT
 URL:        https://github.com/statsd/statsd
 Source0:    %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:    statsd.service
 
 BuildArch:      noarch
 ExclusiveArch:  %{nodejs_arches} noarch
@@ -20,17 +20,16 @@ BuildRequires:  nodejs-packaging
 BuildRequires:  perl-generators
 
 %if 0%{?enable_tests}
 BuildRequires:  npm(temp)
 BuildRequires:  nodeunit
 BuildRequires:  npm(underscore)
 %endif
 
-Requires(pre):  shadow-utils
 
 BuildRequires:      systemd
 Requires(post):     systemd
 Requires(preun):    systemd
 Requires(postun):   systemd
 
 
 %description
@@ -46,16 +45,21 @@ more pluggable backend services (e.g., Graphite).
 
 # fix end of line encodings
 /usr/bin/dos2unix examples/go/statsd.go
 /usr/bin/dos2unix examples/csharp_example.cs
 
 # set Graphitehost to localhost in default config
 sed -i 's/graphite\.example\.com/localhost/' exampleConfig.js
 
+# Create a sysusers.d config file
+cat >statsd.sysusers.conf <<EOF
+u statsd - 'statsd daemon user' / -
+EOF
+
 
 %build
 #nothing to do
 
 
 %install
 %{__mkdir_p} %{buildroot}%{nodejs_sitelib}/%{name}
 cp -pr package.json proxy.js stats.js utils %{buildroot}%{nodejs_sitelib}/%{name}
@@ -66,30 +70,26 @@ ln -s %{nodejs_sitelib}/%{name}/bin/%{name} %{buildroot}%{_bindir}/%{name}
 
 %{__mkdir_p} %{buildroot}%{_sysconfdir}/%{name}
 cp -pr exampleConfig.js %{buildroot}%{_sysconfdir}/%{name}/config.js
 
 %{__install} -Dp -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 
 %nodejs_symlink_deps
 
+install -m0644 -D statsd.sysusers.conf %{buildroot}%{_sysusersdir}/statsd.conf
+
 
 %if 0%{?enable_tests}
 %check
 %nodejs_symlink_deps --check
 ./run_tests.sh
 %endif
 
 
-%pre
-getent group statsd >/dev/null || groupadd -r statsd
-getent passwd statsd >/dev/null || \
-    useradd -r -g statsd -d / -s /sbin/nologin \
-    -c "statsd daemon user" statsd
-exit 0
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -103,19 +103,23 @@ exit 0
 %doc README.md CONTRIBUTING.md Changelog.md exampleConfig.js exampleProxyConfig.js docs/ examples/
 %license LICENSE
 %{nodejs_sitelib}/%{name}
 %{_bindir}/statsd
 %{_sysconfdir}/%{name}
 %config(noreplace) %{_sysconfdir}/%{name}/config.js
 
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/statsd.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8.6-12
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.6-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git suricata/suricata.spec suricata/suricata.spec.tmp
index b2449d2a17..4197dedb48 100644
--- suricata/suricata.spec
+++ suricata/suricata.spec.tmp
@@ -1,12 +1,12 @@
 Summary: Intrusion Detection System
 Name: suricata
 Version: 7.0.8
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPL-2.0-only
 URL: https://suricata-ids.org/
 Source0: https://www.openinfosecfoundation.org/download/%{name}-%{version}.tar.gz
 Source1: suricata.sysconfig
 Source2: fedora.notes
 Source3: suricata-tmpfiles.conf
 
 # Irrelevant docs are getting installed, drop them
@@ -46,17 +46,16 @@ BuildRequires: pkgconfig(gnutls)
 
 %if 0%{?fedora} >= 25 || 0%{?epel} >= 8
 %ifarch x86_64
 BuildRequires: hyperscan-devel
 %endif
 %endif
 
 Requires: python3-pyyaml
-Requires(pre): /usr/sbin/useradd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 # Rust is not working on ppc64le systems (bz 1757548)
 # Or i686 (bz 2047425)
 ExcludeArch: ppc64le i686
 
@@ -80,16 +79,21 @@ install -m 644 %{SOURCE2} doc/
 %patch -P5 -p1
 sed -i 's/(datadir)/(sysconfdir)/' etc/Makefile.am
 %ifarch x86_64
 sed -i 's/-D__KERNEL__/-D__KERNEL__ -D__x86_64__/' ebpf/Makefile.am
 %endif
 find rust/ -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'
 autoreconf -fv --install
 
+# Create a sysusers.d config file
+cat >suricata.sysusers.conf <<EOF
+u suricata - - - -
+EOF
+
 %build
 #  ensure standard Rust compiler flags are set
 export RUSTFLAGS="%build_rustflags"
 
 %configure --enable-gccprotect --enable-pie --disable-gccmarch-native \
         --disable-coccinelle --enable-nfqueue --enable-af-packet \
         --with-libnspr-includes=/usr/include/nspr4 \
         --with-libnss-includes=/usr/include/nss3 \
@@ -136,21 +140,21 @@ mkdir -p %{buildroot}/%{_var}/lib/%{name}
 # Setup tmpdirs
 mkdir -p %{buildroot}%{_tmpfilesdir}
 install -m 0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 mkdir -p %{buildroot}/run
 install -d -m 0755 %{buildroot}/run/%{name}/
 
 cp suricata-update/README.rst doc/suricata-update-README.rst
 
+install -m0644 -D suricata.sysusers.conf %{buildroot}%{_sysusersdir}/suricata.conf
+
 %check
 make check
 
-%pre
-getent passwd suricata >/dev/null || useradd -r -M -s /sbin/nologin suricata
 
 %post
 %systemd_post suricata.service
 if [ -d %{_var}/log/%{name} ] ; then
 	file=$(ls %{_var}/log/%{name}/* 2> /dev/null | wc -l)
 	if [ -n "$files" ] && [ "$files" != "0" ] ; then
 		chown -R suricata:suricata %{_var}/log/%{name}/ 2> /dev/null || :
 	fi
@@ -183,18 +187,22 @@ fi
 %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/%{name}
 %attr(750,suricata,suricata) %dir %{_var}/log/%{name}
 %attr(750,suricata,suricata) %dir %{_sysconfdir}/%{name}
 %attr(750,suricata,suricata) %dir %{_sysconfdir}/%{name}/rules
 %attr(2770,suricata,suricata) %dir %{_var}/lib/%{name}
 %attr(2770,suricata,suricata) %dir /run/%{name}/
 %{_tmpfilesdir}/%{name}.conf
 %{_datadir}/%{name}/rules
+%{_sysusersdir}/suricata.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.0.8-3
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.8-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jan 03 2025 Steve Grubb <sgrubb@redhat.com> 7.0.8-1
 - New security and bugfix release
 
 * Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 7.0.7-2
 - Rebuild for Jansson 2.14
diff --git svxlink/svxlink.spec svxlink/svxlink.spec.tmp
index f94cee1bc2..9f94f48565 100644
--- svxlink/svxlink.spec
+++ svxlink/svxlink.spec.tmp
@@ -5,17 +5,17 @@
 %define echolib_version 1.3.4
 %define qtel_version 1.2.5
 %define server_version 1.8.0
 %define reflector_version 1.2.0
 
 Name:		svxlink
 Epoch:		2
 Version:	%{main_version}
-Release:	4%{?dist}
+Release:	5%{?dist}
 Summary:	Repeater controller and EchoLink (simplex or repeater)
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:	GPL-2.0-or-later
 URL:		http://www.svxlink.org
 Source0:	https://github.com/sm0svx/svxlink/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:	https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/%{version}/svxlink-sounds-en_US-heather-16k-%{version}.tar.bz2
 
@@ -148,16 +148,24 @@ The SvxReflector application is meant to be used as a center point
 to link SvxLink nodes together. The new SvxLink ReflectorLogic logic core is
 used to connect a SvxLink node to the reflector server. One or more logics can
 then be connected to the reflector using normal logic linking.
 
 %prep
 %setup -q -n %{name}-%{main_version}
 %setup -q -D -T -a 1 -n %{name}-%{main_version}
 
+# Create a sysusers.d config file
+cat >svxlink.sysusers.conf <<EOF
+g daemon -
+u svxlink - 'SvxLink Daemon ' / -
+m svxlink audio
+m svxlink dialout
+EOF
+
 %build
 %cmake -DLOCAL_STATE_DIR=%{_localstatedir} -DWITH_SYSTEMD=1 \
 	-DSYSTEMD_CONFIGURATIONS_FILES_DIR=%{_unitdir} \
 	-DSYSTEMD_DEFAULTS_FILES_DIR=%{_sysconfdir}/sysconfig src
 make %{?_smp_mflags} all doc
 doxygen doc/doxygen.async
 doxygen doc/doxygen.echolib
 
@@ -191,28 +199,23 @@ cp distributions/fedora/%{_sysconfdir}/logrotate.d/remotetrx %{buildroot}%{_sysc
 rm %{buildroot}%{_docdir}/svxlink/man1/*html*
 rm %{buildroot}%{_docdir}/svxlink/man5/*html*
 
 # Remove static linked files
 find %{buildroot} -name '*.a' -exec rm -f {} ';'
 
 sed -i -e "s@EnvironmentFile=/etc/default@EnvironmentFile=/etc/sysconfig@g" %{buildroot}%{_unitdir}/*.service
 
+install -m0644 -D svxlink.sysusers.conf %{buildroot}%{_sysusersdir}/svxlink.conf
+
 %ldconfig_scriptlets -n libasync
 
 %ldconfig_scriptlets -n echolib
 
 
-%pre -n svxlink-server
-getent group daemon >/dev/null || groupadd -r daemon
-getent passwd svxlink >/dev/null || \
-useradd -r -g daemon -d / -s /sbin/nologin \
--c "SvxLink Daemon " svxlink
-/usr/sbin/usermod -a -G audio,dialout svxlink >/dev/null 2>&1 || :
-exit 0
 
 %pre -n svxlink-reflector
 getent group daemon >/dev/null || groupadd -r daemon
 getent passwd svxlink >/dev/null || \
 useradd -r -g daemon -d / -s /sbin/nologin \
 -c "SvxLink Daemon " svxlink
 /usr/sbin/usermod -a -G audio,dialout svxlink >/dev/null 2>&1 || :
 exit 0
@@ -318,27 +321,31 @@ exit 0
 %{_mandir}/man1/remotetrx.*.*
 %{_mandir}/man1/siglevdetcal.*.*
 %{_mandir}/man5/*
 %attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink
 %attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink/propagation_monitor
 %attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink/qso_recorder
 %attr(755,svxlink,daemon) %dir %{_localstatedir}/spool/svxlink/voice_mail
 %ghost %{_localstatedir}/log/svxlink
+%{_sysusersdir}/svxlink.conf
 
 %files -n svxlink-reflector
 %{_bindir}/svxreflector
 %{_bindir}/svxreflector-status
 %config(noreplace) %{_sysconfdir}/sysconfig/svxreflector
 %config(noreplace) %{_sysconfdir}/%{name}/svxreflector.conf
 %{_mandir}/man1/svxreflector.*
 %{_mandir}/man5/svxreflector.*
 %{_unitdir}/svxreflector.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2:24.02-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:24.02-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 1:1.2.0-3
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:24.02-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sympa/sympa.spec sympa/sympa.spec.tmp
index 4b14c96a48..4c83054667 100644
--- sympa/sympa.spec
+++ sympa/sympa.spec.tmp
@@ -78,17 +78,17 @@
 %endif
 
 %global static_content %{_datadir}/sympa/static_content
 
 #global pre_rel b.2
 
 Name:        sympa
 Version:     6.2.74
-Release:     %{?pre_rel:0.}1%{?pre_rel:.%pre_rel}%{?dist}.1
+Release:     %{?pre_rel:0.}1%{?pre_rel:.%pre_rel}%{?dist}.2
 Summary:     Powerful multilingual List Manager
 Summary(fr): Gestionnaire de listes électroniques
 Summary(ja): 高機能で多言語対応のメーリングリスト管理ソフトウェア
 # The License: tag depends on bundled code for a given distro/release
 License:     GPL-2.0-or-later%{licenses_bundled}
 URL:         http://www.sympa.org
 Source0:     https://github.com/sympa-community/sympa/releases/download/%{version}%{?pre_rel}/%{name}-%{version}%{?pre_rel}.tar.gz
 
@@ -214,17 +214,16 @@ BuildRequires: perl(XML::LibXML)
 # authorcheck
 %if %{with authorcheck}
 BuildRequires: perl(Test::Fixme)
 BuildRequires: perl(Test::Perl::Critic)
 BuildRequires: perl(Test::Pod::Coverage)
 BuildRequires: perl(Test::Pod::Spelling::CommonMistakes)
 %endif
 
-Requires(pre): shadow-utils
 %{?systemd_requires}
 Requires:    smtpdaemon
 Requires:    mhonarc
 Requires:    logrotate
 Requires:    perl(DBD::mysql)
 Requires:    perl(FCGI)
 
 # Optional CPAN packages
@@ -407,16 +406,21 @@ Requires: %{name} = %{version}-%{release}
 %description devel-doc
 Sympa documentation for developers.
 
 
 %prep
 %setup -q -n %{name}-%{version}%{?pre_rel}
 %patch -P13 -p0 -b .confdef
 
+# Create a sysusers.d config file
+cat >sympa.sysusers.conf <<EOF
+u sympa - 'System User for Sympa' %{_localstatedir}/lib/sympa -
+EOF
+
 
 %build
 # Development
 %if %{with autoreconf}
 autoreconf --install
 %endif
 
 # Give install "-p" preserving mtime to prevent unexpected update of CSS.
@@ -594,36 +598,27 @@ for conffile in \
     mime.types sympa.wsdl ;
     do cp -a %{buildroot}%{_datadir}/%{name}/default/$conffile \
         %{buildroot}%{_sysconfdir}/%{name}/;
 done
 
 # Create directory for S/MIME user certificates
 mkdir -p %{buildroot}%{_localstatedir}/lib/sympa/X509-user-certs
 
+install -m0644 -D sympa.sysusers.conf %{buildroot}%{_sysusersdir}/sympa.conf
+
 
 %check
 make check
 %if %{with authorcheck}
 make authorcheck || true
 %endif
 
 
 %pre
-# Create "sympa" group if it does not exist
-getent group sympa >/dev/null || /usr/sbin/groupadd -r sympa
-
-# Create "sympa" user if it does not exist
-getent passwd sympa >/dev/null || \
-  /usr/sbin/useradd -r -g sympa \
-      -d %{_localstatedir}/lib/sympa \
-      -c "System User for Sympa" \
-      -s "/sbin/nologin" \
-      sympa
-
 # Fix CSS and pictures paths
 if [ $1 -gt 1 ]; then
     if [ -d %{_localstatedir}/lib/%{name}/static_content/css ]; then
         mv -fu %{_localstatedir}/lib/%{name}/static_content/css/* \
             %{_localstatedir}/lib/%{name}/css/ \
             && rm -rf %{_localstatedir}/lib/%{name}/static_content/css/
     fi
     if [ -d %{_localstatedir}/lib/%{name}/static_content/pictures ]; then
@@ -805,16 +800,17 @@ fi
 %{_unitdir}/sympa-archive.service
 %{_unitdir}/sympa-bounce.service
 %{_unitdir}/sympa-task.service
 %{_tmpfilesdir}/sympa.conf
 %ghost %attr(-,sympa,sympa) %{_rundir}/sympa/
 %dir %{_sysconfdir}/systemd/system/sympa.service.d/
 %config(noreplace) %{_sysconfdir}/systemd/system/sympa.service.d/*
 %config(noreplace) %{_sysconfdir}/sysconfig/sympa
+%{_sysusersdir}/sympa.conf
 
 
 %files httpd
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/sympa.conf
 %{_unitdir}/wwsympa.service
 %{_unitdir}/wwsympa.socket
 %{_unitdir}/sympasoap.service
 %{_unitdir}/sympasoap.socket
@@ -840,16 +836,19 @@ fi
 %config(noreplace) %{_sysconfdir}/systemd/system/sympasoap.socket.d/sympasoap-nginx.conf
 
 
 %files devel-doc
 %{_mandir}/man3/*
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.2.74-1.2
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.74-1.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Dec 16 2024 Xavier Bachelot <xavier@bachelot.org> - 6.2.74-1
 - Update to 6.2.74, fix for CVE-2024-55919
   - Full changelog: https://github.com/sympa-community/sympa/releases/tag/6.2.74
 
 * Thu Aug 22 2024 Xavier Bachelot <xavier@bachelot.org> 6.2.72-5
diff --git tarantool/tarantool.spec tarantool/tarantool.spec.tmp
index 7c789becce..bf2cebbecf 100644
--- tarantool/tarantool.spec
+++ tarantool/tarantool.spec.tmp
@@ -4,28 +4,26 @@ BuildRequires: gcc-c++ >= 4.5
 BuildRequires: coreutils
 BuildRequires: sed
 BuildRequires: readline-devel
 BuildRequires: openssl-devel
 BuildRequires: libcurl-devel
 BuildRequires: libicu-devel
 BuildRequires: libzstd-devel
 BuildRequires: perl-podlators
-Requires(pre): %{_sbindir}/useradd
-Requires(pre): %{_sbindir}/groupadd
 Requires: logrotate
 
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 BuildRequires: systemd
 
 Name: tarantool
 Version: 2.4.2.68
-Release: 21%{?dist}
+Release: 22%{?dist}
 Summary: In-Memory Database
 # Automatically converted from old format: BSD - review is highly recommended.
 License: LicenseRef-Callaway-BSD
 URL: https://tarantool.org/
 # Add dependency on network configuration files used by `socket` module
 # https://github.com/tarantool/tarantool/issues/1794
 Requires: /etc/protocols
 Requires: /etc/services
@@ -69,16 +67,21 @@ data sources. Implement HTTP-service.
 
 This package provides server development files needed to create
 C and Lua/C modules.
 
 %prep
 %setup -q -n %{name}-%{version}
 %patch -P0 -p1
 
+# Create a sysusers.d config file
+cat >tarantool.sysusers.conf <<EOF
+u tarantool - 'Tarantool Server' /var/lib/tarantool -
+EOF
+
 %build
 # RHBZ #1301720: SYSCONFDIR an LOCALSTATEDIR must be specified explicitly
 %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
          -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \
          -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
          -DENABLE_BUNDLED_LIBYAML:BOOL=ON \
          -DENABLE_BUNDLED_MSGPUCK:BOOL=ON \
          -DENABLE_BUNDLED_LIBCURL:BOOL=OFF \
@@ -90,23 +93,21 @@ C and Lua/C modules.
          -DENABLE_DIST:BOOL=ON
 %cmake_build --target tarantool api man-tarantool man-tarantoolctl
 
 %install
 %cmake_install
 # %%doc and %%license macroses are used instead
 rm -rf %{buildroot}%{_datarootdir}/doc/tarantool/
 
+install -m0644 -D tarantool.sysusers.conf %{buildroot}%{_sysusersdir}/tarantool.conf
+
 %check
 %ctest
 
-%pre
-/usr/sbin/groupadd -r tarantool > /dev/null 2>&1 || :
-/usr/sbin/useradd -M -N -g tarantool -r -d /var/lib/tarantool -s /sbin/nologin\
-    -c "Tarantool Server" tarantool > /dev/null 2>&1 || :
 
 %post
 %tmpfiles_create tarantool.conf
 %systemd_post 'tarantool@.service'
 
 %preun
 # Sic: doesn't work
 #systemd_preun 'tarantool@*.service'
@@ -129,28 +130,32 @@ rm -rf %{buildroot}%{_datarootdir}/doc/tarantool/
 %dir %{_sysconfdir}/tarantool
 %dir %{_sysconfdir}/tarantool/instances.available
 %config(noreplace) %{_sysconfdir}/tarantool/instances.available/example.lua
 %attr(-,tarantool,tarantool) %dir %{_localstatedir}/lib/tarantool/
 %attr(-,tarantool,tarantool) %dir %{_localstatedir}/log/tarantool/
 %config(noreplace) %{_sysconfdir}/logrotate.d/tarantool
 %{_unitdir}/tarantool@.service
 %{_tmpfilesdir}/tarantool.conf
+%{_sysusersdir}/tarantool.conf
 
 %files devel
 %dir %{_includedir}/tarantool
 %{_includedir}/tarantool/lauxlib.h
 %{_includedir}/tarantool/luaconf.h
 %{_includedir}/tarantool/lua.h
 %{_includedir}/tarantool/lua.hpp
 %{_includedir}/tarantool/luajit.h
 %{_includedir}/tarantool/lualib.h
 %{_includedir}/tarantool/module.h
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4.2.68-22
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2.68-21
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 2.4.2.68-20
 - Rebuild for ICU 76
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 2.4.2.68-19
 - convert license to SPDX
diff --git taskd/taskd.spec taskd/taskd.spec.tmp
index b686fc8cde..3596164238 100644
--- taskd/taskd.spec
+++ taskd/taskd.spec.tmp
@@ -1,11 +1,11 @@
 Name:           taskd
 Version:        1.1.0
-Release:        25%{?dist}
+Release:        26%{?dist}
 Summary:        Secure server providing multi-user, multi-client access to task data
 License:        MIT
 URL:            https://github.com/goldenHairDafo/taskd/
 Source0:        http://taskwarrior.org/download/%{name}-%{version}.tar.gz
 Source1:        taskd.service
 Source2:        taskd-config
 Source3:        taskd.xml
 Source4:        README.Fedora
@@ -46,16 +46,21 @@ continuous connectivity, and may not have feature parity.
 The Taskserver provides this and builds a framework to go several steps beyond
 merely synchronizing data.
 
 %prep
 %autosetup
 
 cp -a %{SOURCE4} .
 
+# Create a sysusers.d config file
+cat >taskd.sysusers.conf <<EOF
+u taskd - 'Task Server system user' %{_sharedstatedir}/taskd/ /usr/bin/sh
+EOF
+
 
 %build
 %cmake
 %cmake_build
 
 %install
 %cmake_install
 
@@ -80,23 +85,19 @@ mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services
 cp -a %{SOURCE3} %{buildroot}%{_prefix}/lib/firewalld/services/taskd.xml
 %endif
 
 mkdir -p %{buildroot}%{_sharedstatedir}/taskd/orgs/
 cp -a %{SOURCE2} %{buildroot}%{_sharedstatedir}/taskd/config
 
 rm -r %{buildroot}%{_datadir}/doc/taskd/
 
+install -m0644 -D taskd.sysusers.conf %{buildroot}%{_sysusersdir}/taskd.conf
+
 %pre
-getent group taskd >/dev/null || groupadd -r taskd
-getent passwd taskd >/dev/null || \
-    useradd -r -g taskd -d %{_sharedstatedir}/taskd/ -s /usr/bin/sh \
-    -c "Task Server system user" taskd
-exit 0
-
 # Systemd scriptlets
 %if 0%{?rhel} && 0%{?rhel} <= 6
 # No systemd for el6
 %else
 
 %post
 %systemd_post taskd.service
 
@@ -129,18 +130,22 @@ exit 0
 %dir %attr(0750, taskd, taskd) %{_sharedstatedir}/taskd/orgs/
 
 %if 0%{?rhel} && 0%{?rhel} <= 6
 # No sysvinit files for el6
 %else
 %{_unitdir}/taskd.service
 %{_prefix}/lib/firewalld/services/taskd.xml
 %endif
+%{_sysusersdir}/taskd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.0-26
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-24
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git tcpcrypt/tcpcrypt.spec tcpcrypt/tcpcrypt.spec.tmp
index cf5642a982..2bf89113d2 100644
--- tcpcrypt/tcpcrypt.spec
+++ tcpcrypt/tcpcrypt.spec.tmp
@@ -1,15 +1,15 @@
 %global _hardened_build 1
 %global snapshot 0
 
 Summary: Opportunistically encrypt TCP connections
 Name: tcpcrypt
 Version: 0.5
-Release: 17%{?dist}
+Release: 18%{?dist}
 # Automatically converted from old format: BSD - review is highly recommended.
 License: LicenseRef-Callaway-BSD
 Url: http://tcpcrypt.org/
 Source0: http://tcpcrypt.org//%{name}-%{version}.tar.gz
 SOURCE1: tmpfiles-tcpcrypt.conf
 SOURCE2: tcpcryptd.service
 SOURCE3: tcpcryptd-firewall
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@@ -17,17 +17,16 @@ BuildRequires: make
 BuildRequires:  gcc
 BuildRequires: openssl-devel libnetfilter_queue-devel libcap-devel
 BuildRequires: libnetfilter_conntrack-devel libpcap-devel
 BuildRequires: libtool autoconf automake
 BuildRequires: systemd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
-Requires(pre): shadow-utils
 
 %description
 Provides a protocol that attempts to encrypt (almost) all of your
 network traffic. Unlike other security mechanisms, Tcpcrypt works out
 of the box: it requires no configuration, no changes to applications,
 and your network connections will continue to work even if the remote
 end does not support
 
@@ -42,70 +41,76 @@ The devel package contains the tcpcrypt library and the include files
 Summary: Libraries used by tcpcryptd server and tcpcrypt-aware applications
 
 %description libs
 Contains libraries used by tcpcryptd server and tcpcrypt-aware applications
 
 %prep
 %autosetup
 
+# Create a sysusers.d config file
+cat >tcpcrypt.sysusers.conf <<EOF
+u tcpcryptd - 'tcpcrypt daemon account' /var/run/tcpcryptd -
+EOF
+
 %build
 sh bootstrap.sh
 %configure --disable-static --disable-rpath
 %make_build
 
 %install
 %make_install
 install -m 0755 %{SOURCE3} %{buildroot}/%{_bindir}
 rm %{buildroot}%{_libdir}/*.la
 mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d/ %{buildroot}/run/tcpcryptd
 install -D -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/tcpcrypt.conf
 mkdir -p %{buildroot}%{_unitdir}
 install -m 0755 %{SOURCE2} %{buildroot}/%{_unitdir}/tcpcryptd.service
 
+install -m0644 -D tcpcrypt.sysusers.conf %{buildroot}%{_sysusersdir}/tcpcrypt.conf
+
 %files libs
 %doc README.markdown
 %license LICENSE
 %{_libdir}/libtcpcrypt.so.*
 
 %files
 %doc README.markdown
 %license LICENSE
 %{_bindir}/tcnetstat
 %{_bindir}/tcpcryptd
 %{_bindir}/tcpcryptd-firewall
 %{_bindir}/tcs
 %{_mandir}/man8/*
 %attr(0644,root,root) %{_tmpfilesdir}/tcpcrypt.conf
 %attr(0644,root,root) %{_unitdir}/tcpcryptd.service
 %attr(0755,tcpcryptd,tcpcryptd) %dir /run/tcpcryptd
+%{_sysusersdir}/tcpcrypt.conf
 
 %files devel
 %{_libdir}/libtcpcrypt.so
 %dir %{_includedir}/tcpcrypt
 %{_includedir}/tcpcrypt/*.h
 
 %ldconfig_scriptlets libs
 
-%pre
-getent group tcpcryptd >/dev/null || groupadd -r tcpcryptd
-getent passwd tcpcryptd >/dev/null || \
-useradd -r -g tcpcryptd -d /var/run/tcpcryptd -s /sbin/nologin \
--c "tcpcrypt daemon account" tcpcryptd || exit 0
 
 %post
 %systemd_post tcpcryptd.service
 
 %preun
 %systemd_preun tcpcryptd.service
 
 %postun
 %systemd_postun_with_restart tcpcryptd.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5-18
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 0.5-16
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git tetrinetx/tetrinetx.spec tetrinetx/tetrinetx.spec.tmp
index 4bfa59082f..10ac22145c 100644
--- tetrinetx/tetrinetx.spec
+++ tetrinetx/tetrinetx.spec.tmp
@@ -1,23 +1,22 @@
 Name:           tetrinetx
 Version:        1.13.16
-Release:        42%{?dist}
+Release:        43%{?dist}
 Summary:        The GNU TetriNET server
 
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:        GPL-2.0-only
 URL:            http://tetrinetx.sourceforge.net/
 Source0:        http://switch.dl.sourceforge.net/sourceforge/tetrinetx/%{name}-%{version}+qirc-1.40c.tar.gz
 Source1:        tetrinetx.init
 Source2:        tetrinetx.logrotate
 Source3:        tetrinetx.service
 Source4:        %{name}-tmpfiles.conf
 
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 BuildRequires:  gcc
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  adns-devel
 Requires:       logrotate
 
 
 %description
@@ -39,16 +38,21 @@ sed -i "s:/usr/local:%{_prefix}:g; s/tetrix\\.linux/tetrinetx/g" -i src/compile.
 sed -i "s:game\\.pid:%{_localstatedir}/run/tetrinetx/game.pid:" bin/game.conf
 
 # Modify config.h to use correct directories for config files, etc
 sed -i "s:game\\.log:%{_localstatedir}/log/tetrinetx/game\\.log:;
         s:game\\.pid:%{_localstatedir}/run/tetrinetx/game\\.pid:;
         s:game\\.winlist:%{_localstatedir}/games/tetrinetx/game\\.winlist:g;
         s:\"game:\"%{_sysconfdir}/tetrinetx/game:g" src/config.h
 
+# Create a sysusers.d config file
+cat >tetrinetx.sysusers.conf <<EOF
+u tetrinetx - 'Tetrinetx service account' %{_localstatedir}/games/tetrinetx -
+EOF
+
 
 %build
 %undefine _fortify_level
 cd src
 ./compile.linux "%{optflags}"
 cd ..
 
 
@@ -72,22 +76,19 @@ install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/tetrinetx
 mkdir -p %{buildroot}%{_localstatedir}/log/tetrinetx
 # State data (winlists, etc) for the game will be placed in /var/games/tetrinetx
 mkdir -p %{buildroot}%{_localstatedir}/games/tetrinetx
 # Tetrinetx pid file goes here
 mkdir -p %{buildroot}%{_tmpfilesdir}/
 install -p -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 mkdir -p %{buildroot}%{_localstatedir}/run/tetrinetx
 
+install -m0644 -D tetrinetx.sysusers.conf %{buildroot}%{_sysusersdir}/tetrinetx.conf
+
 
-%pre
-getent group tetrinetx >/dev/null || groupadd -r tetrinetx
-getent passwd tetrinetx >/dev/null || \
-    useradd -r -g tetrinetx -d %{_localstatedir}/games/tetrinetx -M -s /sbin/nologin \
-    -c "Tetrinetx service account" tetrinetx
 
 %post
 %systemd_post tetrinetx.service
 
 %preun
 %systemd_preun tetrinetx.service
 
 %postun
@@ -101,19 +102,23 @@ getent passwd tetrinetx >/dev/null || \
 %{_unitdir}/tetrinetx.service
 %dir %{_sysconfdir}/tetrinetx
 %config(noreplace) %{_sysconfdir}/logrotate.d/tetrinetx
 %dir %attr(-,tetrinetx,tetrinetx) %{_localstatedir}/log/tetrinetx/
 %dir %attr(-,tetrinetx,tetrinetx) %{_localstatedir}/games/tetrinetx/
 %dir %attr(-,tetrinetx,tetrinetx) %{_localstatedir}/run/tetrinetx/
 %{_tmpfilesdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/tetrinetx/*
+%{_sysusersdir}/tetrinetx.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.13.16-43
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.16-42
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 1.13.16-41
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.16-40
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git thermald/thermald.spec thermald/thermald.spec.tmp
index 447b4a803b..6f8e7a2760 100644
--- thermald/thermald.spec
+++ thermald/thermald.spec.tmp
@@ -25,17 +25,16 @@ BuildRequires:	libxml2-devel
 BuildRequires:	systemd-rpm-macros
 BuildRequires:  upower-devel
 BuildRequires:  libevdev-devel
 BuildRequires:  gtk-doc
 
 Requires:	dbus%{?_isa}
 
 Requires(pre):	glibc-common
-Requires(pre):	shadow-utils
 
 %{?systemd_requires}
 
 %description
 %{name} monitors and controls platform temperature.
 
 Thermal issues are important to handle proactively to reduce performance
 impact.  %{name} uses the existing Linux kernel infrastructure and can
@@ -147,16 +146,21 @@ Running the thermald-monitor-app
 To communicate with thermald via dbus, the user has to be member
 of the "power" group.  So make sure to add your user id to this
 group before using the thermald-monitor-app.
 EOF
 %endif
 
 NO_CONFIGURE=1 ./autogen.sh
 
+# Create a sysusers.d config file
+cat >thermald.sysusers.conf <<EOF
+g power -
+EOF
+
 
 %build
 %configure									\
 	--with-systemdsystemunitdir=%{_unitdir}					\
 	--disable-option-checking						\
 	--disable-silent-rules
 
 %make_build
@@ -192,26 +196,25 @@ chmod -c 0644 %{buildroot}%{_rundir}/%{name}/%{name}.pid
 install -Dpm 0755 tools/thermal_monitor/%{_target_platform}/ThermalMonitor	\
 	%{buildroot}%{_bindir}/ThermalMonitor
 install -Dpm 0644 fedora_addons/%{name}-monitor.desktop			\
 	%{buildroot}%{_datadir}/applications/%{name}-monitor.desktop
 install -Dpm 0644 fedora_addons/%{name}-monitor.svg			\
 	%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}-monitor.svg
 %endif
 
+install -m0644 -D thermald.sysusers.conf %{buildroot}%{_sysusersdir}/thermald.conf
+
 
 %check
 %if %{with qt}
 %{_bindir}/desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
 %endif
 
 
-%pre
-getent group power >/dev/null || groupadd -r power
-exit 0
 
 
 %post
 %systemd_post thermald.service
 
 
 %preun
 %systemd_preun thermald.service
@@ -229,16 +232,17 @@ exit 0
 %{_bindir}/%{name}-set-pref
 %{_datadir}/dbus-1/system-services/org.freedesktop.%{name}.service
 %{_datadir}/dbus-1/system.d/org.freedesktop.%{name}.conf
 %{_mandir}/man5/thermal-conf.xml.5*
 %{_mandir}/man8/%{name}.8*
 %{_sbindir}/%{name}
 %{_tmpfilesdir}/%{name}.conf
 %{_unitdir}/%{name}.service
+%{_sysusersdir}/thermald.conf
 
 
 %if %{with qt}
 %files monitor
 %doc fedora_addons/%{name}-monitor.ReadMe.txt
 %license tools/thermal_monitor/COPYING
 %{_bindir}/ThermalMonitor
 %{_datadir}/applications/%{name}-monitor.desktop
diff --git thttpd/thttpd.spec thttpd/thttpd.spec.tmp
index e4f620fd40..6a50e6b07f 100644
--- thttpd/thttpd.spec
+++ thttpd/thttpd.spec.tmp
@@ -1,14 +1,14 @@
 # Where the default web root will be configured and default files installed
 %global webroot /var/www/thttpd
 
 Name:           thttpd
 Version:        2.29
-Release:        19%{?dist}
+Release:        20%{?dist}
 Summary:        A tiny, turbo, throttleable lightweight HTTP server
 
 # Automatically converted from old format: BSD - review is highly recommended.
 License:        LicenseRef-Callaway-BSD
 URL:            http://www.acme.com/software/thttpd/
 Source0:        http://www.acme.com/software/thttpd/thttpd-%{version}.tar.gz
 Source1:        thttpd.service
 Source2:        thttpd.logrotate
@@ -17,17 +17,16 @@ Source11:       thttpd_powered_3.png
 Source12:       poweredby.png
 Patch0:         thttpd-2.25b-CVE-2005-3124.patch
 Patch1:         thttpd-2.25b-CVE-2012-5640-check_crypt_return_value.patch
 Patch2:         thttpd-fix-world-readable-log.patch
 Patch3:         thttpd-c99.patch
 BuildRequires: make
 BuildRequires:  systemd gcc
 %{?systemd_requires}
-Requires(pre):  shadow-utils
 
 %description
 Thttpd is a very compact no-frills httpd serving daemon that can handle
 very high loads. While lacking many of the advanced features of Apache, 
 thttpd operates without forking and is extremely efficient in memory use. 
 Basic support for cgi scripts, authentication, and ssi is provided for. 
 Advanced features include the ability to throttle traffic.
 
@@ -38,16 +37,22 @@ Advanced features include the ability to throttle traffic.
 %patch -P2 -p1 -b .rhbz924857
 %patch -P3 -p1 -b .c99
 # Convert man pages to UTF8
 for man in *.8 */*.8 */*.1; do
     iconv -f iso8859-1 -t utf-8 -o tmp ${man}
     mv -f tmp ${man}
 done
 
+# Create a sysusers.d config file
+cat >thttpd.sysusers.conf <<EOF
+g www -
+u thttpd - 'Thttpd Web Server User' %{webroot} -
+EOF
+
 %build
 %configure
 # Hacks :-)
 sed -i.old -e 's/-o bin -g bin//g' Makefile
 sed -i.old -e 's/-m 444/-m 644/g; s/-m 555/-m 755/g' Makefile
 sed -i.old -e 's/.*chgrp.*//g; s/.*chmod.*//g' extras/Makefile
 # Config changes
 %{?_without_indexes:      sed -i.old -e 's/#define GENERATE_INDEXES/#undef GENERATE_INDEXES/g' config.h}
@@ -104,20 +109,18 @@ pidfile=/var/run/thttpd.pid
 # nosymlink         # default = !chroot
 # novhost
 # nocgipat
 # nothrottles
 # host=0.0.0.0
 # charset=iso-8859-1
 EOF
 
-%pre
-/usr/sbin/groupadd -r www &>/dev/null || :
-/usr/sbin/useradd -s /sbin/nologin -c "Thttpd Web Server User" \
-    -d %{webroot} -M -r -g www thttpd &>/dev/null || :
+install -m0644 -D thttpd.sysusers.conf %{buildroot}%{_sysusersdir}/thttpd.conf
+
 
 %post
 %systemd_post thttpd.service
 
 %preun
 %systemd_preun thttpd.service
 
 %postun
@@ -139,18 +142,22 @@ EOF
 %config(noreplace) %{_sysconfdir}/logrotate.d/thttpd
 %config(noreplace) %{_sysconfdir}/thttpd.conf
 %{webroot}/
 %{_mandir}/man1/thtpasswd.1*
 %{_mandir}/man8/syslogtocern.8*
 %{_mandir}/man8/thttpd.8*
 # Hack to own parent directory for the default "webroot". Remove if needed.
 %dir /var/www
+%{_sysusersdir}/thttpd.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.29-20
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-19
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 2.29-18
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git tntnet/tntnet.spec tntnet/tntnet.spec.tmp
index 0de0dc2fea..d7909abc9d 100644
--- tntnet/tntnet.spec
+++ tntnet/tntnet.spec.tmp
@@ -1,11 +1,11 @@
 Name:             tntnet
 Version:          3.0
-Release:          12%{?dist}
+Release:          13%{?dist}
 Summary:          A web application server for web applications
 Epoch:            1
 
 # GPLv2+: framework/common/gcryptinit.c
 # zlib:   framework/common/unzip.h
 # Automatically converted from old format: LGPLv2+ and GPLv2+ and zlib - review is highly recommended.
 License:          LicenseRef-Callaway-LGPLv2+ AND GPL-2.0-or-later AND Zlib
 URL:              http://www.tntnet.org/
@@ -18,17 +18,16 @@ BuildRequires:    gcc
 BuildRequires:    gcc-c++
 BuildRequires:    kernel-headers
 BuildRequires:    openssl-devel
 BuildRequires:    cxxtools-devel >= 3.0
 BuildRequires:    perl-generators
 BuildRequires:    zip
 BuildRequires:    zlib-devel
 BuildRequires:    systemd-units
-Requires(pre):    shadow-utils
 Requires(post):   systemd-units
 Requires(preun):  systemd-units
 Requires(postun): systemd-units
 
 %description
 %{summary}
 
 %package          devel
@@ -37,41 +36,42 @@ Requires:         %{name}%{?_isa} = %{epoch}:%{version}-%{release}
 Requires:         cxxtools-devel%{?_isa} >= 3.0
 
 %description devel
 Development files for %{name}
 
 %prep
 %autosetup -p0
 
+# Create a sysusers.d config file
+cat >tntnet.sysusers.conf <<EOF
+u tntnet - 'User' %{_localstatedir}/lib/%{name} -
+EOF
+
 %build
 %configure --disable-static
 %make_build
 
 %install
 %make_install DESTDIR=%{buildroot} INSTALL="install -p"
 
 # Systemd unit files
 # copy tntnet.service to unitdir /lib/systemd/system
 mkdir -p %{buildroot}%{_unitdir}
 mkdir -p %{buildroot}%{_datadir}/doc/
 install -Dpm 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service
 
 # Find and remove all la files
 find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
 
+install -m0644 -D tntnet.sysusers.conf %{buildroot}%{_sysusersdir}/tntnet.conf
+
 %check
 test/tntnet-test
 
-%pre
-getent group %{name} > /dev/null || groupadd -r %{name}
-getent passwd %{name} > /dev/null || \
-    useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin \
-    -c "User" %{name}
-exit 0
 
 %post
 /sbin/ldconfig
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
@@ -91,26 +91,30 @@ exit 0
 %{_libdir}/tntnet/
 %{_datadir}/tntnet/
 %exclude %{_datadir}/%{name}/template/
 %{_mandir}/man1/ecppc.1.gz
 %{_mandir}/man1/tntnet-defcomp.1.gz
 %{_mandir}/man7/ecpp.7.gz
 %{_mandir}/man7/tntnet.xml.7.gz
 %{_mandir}/man8/tntnet.8.gz
+%{_sysusersdir}/tntnet.conf
 
 %files devel
 %{_bindir}/tntnet-project
 %{_libdir}/libtntnet*.so
 %{_includedir}/tnt/
 %{_libdir}/pkgconfig/tntnet.pc
 %{_libdir}/pkgconfig/tntnet_sdk.pc
 %{_datadir}/%{name}/template/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:3.0-13
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 1:3.0-11
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.0-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git transmission/transmission.spec transmission/transmission.spec.tmp
index ac162e4bca..26a94562da 100644
--- transmission/transmission.spec
+++ transmission/transmission.spec.tmp
@@ -1,11 +1,11 @@
 Name:           transmission
 Version:        4.0.6
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        A lightweight GTK+ BitTorrent client
 # See COPYING. This licensing situation is... special.
 License:        MIT and GPL-2.0-only
 URL:            http://www.transmissionbt.com
 
 Source0:        https://github.com/transmission/transmission/releases/download/%{version}/transmission-%{version}.tar.xz
 # https://bugzilla.redhat.com/show_bug.cgi?id=1221292
 Source1:        https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/transmission-symbolic.svg
@@ -64,17 +64,16 @@ transmission-edit, transmission-show utilities.
 Summary:       Transmission command line implementation
 Requires:      transmission-common%{?_isa}
 %description cli
 Command line version of Transmission BitTorrent client.
 
 %package daemon
 Summary:       Transmission daemon
 Requires:      transmission-common%{?_isa}
-Requires(pre): shadow-utils
 BuildRequires: systemd
 %description daemon
 Transmission BitTorrent client daemon.
 
 %package gtk
 Summary:       Transmission GTK interface
 Requires:      transmission-common%{?_isa}
 # for canberra-gtk-play
@@ -87,22 +86,16 @@ GTK graphical interface of Transmission BitTorrent client.
 Summary:       Transmission Qt interface
 Requires:      transmission-common%{?_isa}
 # for canberra-gtk-play
 Recommends:    libcanberra-gtk3%{?_isa}
 
 %description qt
 Qt graphical interface of Transmission BitTorrent client.
 
-%pre daemon
-getent group transmission >/dev/null || groupadd -r transmission
-getent passwd transmission >/dev/null || \
-useradd -r -g transmission -d %{_sharedstatedir}/transmission -s /sbin/nologin \
-        -c "transmission daemon account" transmission
-exit 0
 
 %prep
 %autosetup -p1
 
 # unbundle
 pushd third-party
 find fast_float/ libb64/ libdeflate/ libevent/ libnatpmp/ libpsl/ \
      miniupnpc/ utfcpp/ -type f -delete
@@ -110,16 +103,21 @@ popd
 
 # fix icon location for Transmission Qt
 sed -i 's|Icon=%{name}-qt|Icon=%{name}|g' qt/%{name}-qt.desktop
 
 # convert to UTF encoding
 iconv --from=ISO-8859-1 --to=UTF-8 AUTHORS > AUTHORS.new
 mv AUTHORS.new AUTHORS
 
+# Create a sysusers.d config file
+cat >transmission.sysusers.conf <<EOF
+u transmission - 'transmission daemon account' %{_sharedstatedir}/transmission -
+EOF
+
 %build
 
 CXXFLAGS="%{optflags} -fPIC"
 CFLAGS="%{optflags} -fPIC"
 
 %cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CLI=ON -DENABLE_QT=ON -DUSE_QT_VERSION=6 -DENABLE_GTK=ON -DUSE_GTK_VERSION=4
 %cmake_build
 
@@ -142,16 +140,18 @@ cp %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/transmission-s
 %find_lang %{name} --with-qt
 %find_lang %{name}-gtk
 
 desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}-gtk.desktop
 desktop-file-install \
                 --dir=%{buildroot}%{_datadir}/applications/  \
                   qt/%{name}-qt.desktop
 
+install -m0644 -D transmission.sysusers.conf %{buildroot}%{_sysusersdir}/transmission.conf
+
 %post daemon
 %systemd_post transmission-daemon.service
 
 %preun daemon
 %systemd_preun transmission-daemon.service
 
 %postun daemon
 %systemd_postun_with_restart transmission-daemon.service
@@ -178,29 +178,33 @@ desktop-file-install \
 %{_bindir}/transmission-cli
 %doc %{_mandir}/man1/transmission-cli*
 
 %files daemon
 %{_bindir}/transmission-daemon
 %{_unitdir}/transmission-daemon.service
 %attr(-,transmission, transmission)%{_sharedstatedir}/transmission/
 %doc %{_mandir}/man1/transmission-daemon*
+%{_sysusersdir}/transmission.conf
 
 %files gtk -f %{name}-gtk.lang
 %{_bindir}/transmission-gtk
 %{_datadir}/metainfo/transmission-gtk.metainfo.xml
 %{_datadir}/applications/transmission-gtk.desktop
 %doc %{_mandir}/man1/transmission-gtk.*
 
 %files qt -f %{name}.lang
 %{_bindir}/transmission-qt
 %{_datadir}/applications/transmission-qt.desktop
 %doc %{_mandir}/man1/transmission-qt.*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.6-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.6-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 08 2024 Simone Caronni <negativo17@gmail.com> - 4.0.6-3
 - Rebuild for updated miniupnpc.
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.6-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git ufdbGuard/ufdbGuard.spec ufdbGuard/ufdbGuard.spec.tmp
index 5f1c50ab4e..8d65240f6e 100644
--- ufdbGuard/ufdbGuard.spec
+++ ufdbGuard/ufdbGuard.spec.tmp
@@ -1,11 +1,11 @@
 Name:		ufdbGuard
 Version:	1.35.8
-Release:	4%{?dist}
+Release:	5%{?dist}
 Summary:	A URL filter for squid
 URL:		https://www.urlfilterdb.com/
 License:	GPL-2.0-only
 
 Source0:	https://www.urlfilterdb.com/files/downloads/%{name}-%{version}.tar.gz
 Source1:	ufdbGuard.logrotate
 
 %if 0%{?fedora} || 0%{?rhel} >= 7
@@ -24,17 +24,16 @@ BuildRequires: gcc
 BuildRequires: systemd
 %else
 BuildRequires: systemd-rpm-macros
 %endif
 BuildRequires: openssl-devel
 BuildRequires: openssl-devel-engine
 BuildRequires: bind-utils
 BuildRequires: wget
-Requires(pre): shadow-utils
 Requires: logrotate
 
 %description
 ufdbGuard is a free URL filter for Squid with additional features like
 SafeSearch enforcement for a large number of search engines, safer HTTPS 
 visits and dynamic detection of proxies (URL filter circumventors).
 
 ufdbGuard supports free and commercial URL databases that can be
@@ -42,16 +41,21 @@ downloaded from various sites and vendors.
 You can also make your own URL database for ufdbGuard.
 
 %prep
 %setup -q
 
 iconv -c --from-code=ISO-8859-1 --to-code=UTF-8 -o CHANGELOG.new CHANGELOG
 mv CHANGELOG.new CHANGELOG
 
+# Create a sysusers.d config file
+cat >ufdbguard.sysusers.conf <<EOF
+u ufdb - 'ufdbGuard URL filter' /var/lib/ufdbguard -
+EOF
+
 %build
 INSTALL_PROGRAM=./install-sh %configure \
 	--with-ufdb-user=ufdb \
 	--prefix=%{_prefix} \
 	--with-ufdb-bindir=%{_sbindir} \
 	--with-ufdb-piddir=%{_localstatedir}/run/ufdbguard \
 	--with-ufdb-mandir=%{_mandir} \
 	--with-ufdb-images_dir=%{_sharedstatedir}/ufdbguard/images \
@@ -89,23 +93,19 @@ rm -f %{buildroot}%{_sbindir}/ufdbsignal
 mkdir -p %{buildroot}%{_var}/run/ufdbguard
 %if %{with tmpfiles}
 # Setup tmpfiles.d config for the above
 mkdir -p %{buildroot}/usr/lib/tmpfiles.d
 echo 'd /var/run/ufdbguard 0750 ufdb ufdb -' > \
     %{buildroot}/usr/lib/tmpfiles.d/ufdbGuard.conf
 %endif
 
+install -m0644 -D ufdbguard.sysusers.conf %{buildroot}%{_sysusersdir}/ufdbguard.conf
+
 
-%pre
-getent group ufdb >/dev/null || groupadd -r ufdb
-getent passwd ufdb >/dev/null || \
-    useradd -r -g ufdb -d /var/lib/ufdbguard -s /sbin/nologin \
-    -c "ufdbGuard URL filter" ufdb
-exit 0
 
 %post
 %systemd_post ufdbguard.service
 
 %preun
 %systemd_preun ufdbguard.service
 
 %postun
@@ -125,18 +125,22 @@ exit 0
 %dir %{_sharedstatedir}/ufdbguard/
 %attr(-, ufdb, ufdb) %dir %{_localstatedir}/log/ufdbguard/
 %{_sharedstatedir}/ufdbguard/*
 %{_unitdir}/ufdbguard.service
 %attr(-, ufdb, ufdb) %dir %{_var}/run/ufdbguard/
 %if %{with tmpfiles}
 %config(noreplace) %{_tmpfilesdir}/ufdbGuard.conf
 %endif
+%{_sysusersdir}/ufdbguard.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.35.8-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.35.8-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 08 2025 Gwyn Ciesla <gwync@protonmail.com> - 1.35.8-3
 - Fix FTBFS
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.35.8-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git uhd/uhd.spec uhd/uhd.spec.tmp
index f3e49ce05c..87666a9ee7 100644
--- uhd/uhd.spec
+++ uhd/uhd.spec.tmp
@@ -26,17 +26,17 @@
 %global have_neon -DHAVE_ARM_NEON_H=0
 %endif
 %endif
 
 Name:           uhd
 URL:            http://github.com/EttusResearch/uhd
 Version:        4.7.0.0
 %global images_ver %{version}
-Release:        4%{?dist}
+Release:        5%{?dist}
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License:        GPL-3.0-or-later
 BuildRequires:  make
 BuildRequires:  gcc-c++
 BuildRequires:  cmake
 BuildRequires:  boost-devel
 BuildRequires:  libusb1-devel
 BuildRequires:  python3-cheetah
@@ -58,17 +58,17 @@ BuildRequires:  python3-mako
 BuildRequires:  python3-requests
 BuildRequires:  python3-devel
 BuildRequires:  python3-setuptools
 BuildRequires:  tar
 %if ! %{with binary_firmware}
 BuildRequires:  sdcc
 BuildRequires:  sed
 %endif
-Requires(pre):  shadow-utils, glibc-common
+Requires(pre):  glibc-common
 Requires:       python3-tkinter
 Summary:        Universal Hardware Driver for Ettus Research products
 Source0:        %{url}/archive/v%{version}/uhd-%{version}.tar.gz
 Source1:        %{name}-limits.conf
 Source2:        %{url}/releases/download/v%{images_ver}/uhd-images_%{images_ver}.tar.xz
 # dirty workaround for the https://github.com/EttusResearch/uhd/issues/551
 # until the better fix is available
 Patch0:         uhd-4.2.0.0-imagepath-fix.patch
@@ -129,16 +129,21 @@ tar -xJf %{SOURCE2} -C images/images --strip-components=1
 rm -f images/images/{LICENSE.txt,*.tag}
 # remove Windows drivers
 rm -rf images/winusb_driver
 %endif
 
 # fix python shebangs
 find . -type f -name "*.py" -exec sed -i '/^#!/ s|.*|#!%{__python3}|' {} \;
 
+# Create a sysusers.d config file
+cat >uhd.sysusers.conf <<EOF
+g usrp -
+EOF
+
 %build
 # firmware
 %if ! %{with binary_firmware}
 # rebuilt from sources
 export PATH=$PATH:%{_libexecdir}/sdcc
 pushd images
 sed -i '/-name "\*\.twr" | xargs grep constraint | grep met/ s/^/#/' Makefile
 make %{?_smp_mflags} images
@@ -224,22 +229,20 @@ popd
 # fix wireshark dissectors location
 mkdir -p %{buildroot}%{_libdir}/wireshark/plugins/%{wireshark_ver}
 mv %{buildroot}%{_prefix}/epan %{buildroot}%{_libdir}/wireshark/plugins/%{wireshark_ver}
 %endif
 
 # add directory for modules
 mkdir -p %{buildroot}%{_libdir}/uhd/modules
 
+install -m0644 -D uhd.sysusers.conf %{buildroot}%{_sysusersdir}/uhd.conf
+
 %ldconfig_scriptlets
 
-%pre
-getent group usrp >/dev/null || \
-  %{_sbindir}/groupadd -r usrp >/dev/null 2>&1
-exit 0
 
 %files
 %exclude %{_docdir}/%{name}/doxygen
 %exclude %{_datadir}/uhd/images
 %doc _tmpdoc/*
 %dir %{_libdir}/uhd
 %{_bindir}/usrpctl
 %{_bindir}/uhd_*
@@ -250,16 +253,17 @@ exit 0
 %config(noreplace) %{_sysconfdir}/security/limits.d/*.conf
 %{_libdir}/lib*.so.*
 %{_libdir}/uhd/modules
 %{_libexecdir}/uhd
 %{_mandir}/man1/*.1*
 %{_datadir}/uhd
 %{python3_sitearch}/uhd
 %{python3_sitearch}/usrp_mpm
+%{_sysusersdir}/uhd.conf
 
 %files firmware
 %dir %{_datadir}/uhd/images
 %{_datadir}/uhd/images/*
 
 %files devel
 %{_includedir}/*
 %{_libdir}/lib*.so
@@ -275,16 +279,19 @@ exit 0
 %{_bindir}/chdr_log
 
 %if %{with wireshark}
 %files wireshark
 %{_libdir}/wireshark/plugins/%{wireshark_ver}/epan/*
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.7.0.0-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0.0-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 4.7.0.0-3
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git up-imapproxy/up-imapproxy.spec up-imapproxy/up-imapproxy.spec.tmp
index 9becca3e06..4e94b3b527 100644
--- up-imapproxy/up-imapproxy.spec
+++ up-imapproxy/up-imapproxy.spec.tmp
@@ -1,31 +1,30 @@
 %global _hardened_build 1
 
 Name:           up-imapproxy
 Summary:        University of Pittsburgh IMAP Proxy
 Version:        1.2.8
-Release:        0.31.20250101svn15036%{?dist}
+Release:        0.32.20250101svn15036%{?dist}
 License:        GPL-2.0-or-later
 URL:            http://www.imapproxy.org
 # The source for this package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
 #  svn export -r 15036 https://svn.code.sf.net/p/squirrelmail/code/trunk/imap_proxy squirrelmail-imap_proxy-1.2.8
 #  tar cJvf squirrelmail-imap_proxy-20250101svn15036.tar.gz squirrelmail-imap_proxy-1.2.8
 Source0:        squirrelmail-imap_proxy-20250101svn15036.tar.gz
 Source1:        imapproxy.service
 # handle aarch64 per RH BZ 926684
 Patch0:         http://ausil.fedorapeople.org/aarch64/up-imapproxy/up-imapproxy-aarch64.patch
 Patch1:         up-imapproxy-ssl.patch
 Patch2:         up-imapproxy-configure-c99.patch
 Patch3:         up-imapproxy-c99.patch
 BuildRequires: make
 BuildRequires:  gcc
 BuildRequires:  openssl-devel ncurses-devel
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 BuildRequires: systemd
 
 %description
 imapproxy was written to compensate for webmail clients that are
 unable to maintain persistent connections to an IMAP server. Most
@@ -55,38 +54,39 @@ sed -i \
     -e 's/  *$//' \
     -e 's!/usr/share/ssl!/etc/pki/tls!' \
     -e 's/^\(proc_username\) .*/\1 imapproxy/' \
     -e 's/^\(proc_groupname\) .*/\1 imapproxy/' \
     -e 's!^#*\(chroot_directory\) .*!\1 /var/lib/imapproxy!' \
     -e 's/^\(foreground_mode\) .*/\1 yes/' \
     scripts/imapproxy.conf
 
+# Create a sysusers.d config file
+cat >up-imapproxy.sysusers.conf <<EOF
+u imapproxy - 'IMAP proxy service' /var/lib/imapproxy -
+EOF
+
 %build
 %configure CFLAGS="%{optflags} -std=gnu17"
 [ -d bin ] || mkdir bin
 make %{?_smp_mflags}
 
 %install
 # The install-* Makefile targets don't support DESTDIR syntax, so work around.
 install -D -m 0644 -p scripts/imapproxy.conf \
     $RPM_BUILD_ROOT%{_sysconfdir}/imapproxy.conf
 install -D -m 0755 -p %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/imapproxy.service
 install -d -m 0755 $RPM_BUILD_ROOT%{_sbindir}
 install -D -m 0755 bin/* $RPM_BUILD_ROOT%{_sbindir}
 
 # Use a private chroot directory, also home directory for private user
 install -d -m 0755 $RPM_BUILD_ROOT/var/lib/imapproxy
 
-%pre
-getent group imapproxy >/dev/null || groupadd -r imapproxy
-getent passwd imapproxy >/dev/null || \
-    useradd -r -g imapproxy -d /var/lib/imapproxy -s /sbin/nologin \
-    -c "IMAP proxy service" imapproxy
-exit 0
+install -m0644 -D up-imapproxy.sysusers.conf %{buildroot}%{_sysusersdir}/up-imapproxy.conf
+
 
 %post
 %systemd_post imapproxy.service
 
 %preun
 %systemd_preun imapproxy.service
 
 %postun
@@ -95,18 +95,22 @@ exit 0
 %files
 %doc COPYING ChangeLog README README.ssl
 %doc copyright
 %config(noreplace) %{_sysconfdir}/imapproxy.conf
 %{_unitdir}/imapproxy.service
 %{_sbindir}/in.imapproxyd
 %{_sbindir}/pimpstat
 %dir /var/lib/imapproxy
+%{_sysusersdir}/up-imapproxy.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.8-0.32.20250101svn15036
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Tue Jan 21 2025 Chris Adams <linux@cmadams.net> - 1.2.8-0.31.20250101svn15036
 - update to latest SVN
 - explicitly set C level (due to config function handling)
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.8-0.30.20171022svn14722
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Fri May 10 2024 Chris Adams <linux@cmadams.net> - 1.2.8-0.29.20171022svn14722
diff --git usbauth-notifier/usbauth-notifier.spec usbauth-notifier/usbauth-notifier.spec.tmp
index 4ff2d9c7c7..450aeb2e9b 100644
--- usbauth-notifier/usbauth-notifier.spec
+++ usbauth-notifier/usbauth-notifier.spec.tmp
@@ -22,66 +22,74 @@
 
 
 Name:           usbauth-notifier
 Version:        1.0.4
 Summary:        Notifier for USB Firewall to use with desktop environments
 URL:            https://github.com/kochstefan/usbauth-all/tree/master/usbauth-notifier
 Source:         https://github.com/kochstefan/usbauth-all/archive/v%{version}.tar.gz
 
-Release:        6%{?dist}
+Release:        7%{?dist}
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:        GPL-2.0-only
 
-Requires(pre):  shadow-utils
 Requires:       usbauth
 BuildRequires:  pkgconfig(dbus-1)
 BuildRequires:  pkgconfig(libudev)
 BuildRequires:  libusbauth-configparser-devel
 BuildRequires:  gcc
 BuildRequires:  libnotify-devel
 BuildRequires:  libtool
 BuildRequires:  gettext-devel
 BuildRequires:  pkgconfig
 
 %description
 A notifier for the usbauth firewall against BadUSB attacks. The user could manually allow or deny USB devices.
 
 %prep
 %autosetup -n usbauth-all-%{version} -p1
 
+# Create a sysusers.d config file
+cat >usbauth-notifier.sysusers.conf <<EOF
+g usbauth -
+g usbauth-notifier -
+EOF
+
 %build
 pushd %{name}/
 autoreconf -f -i
 %configure
 %make_build
 popd
 
 %pre
-if ! getent group usbauth>/dev/null; then groupadd -r usbauth; fi
-if ! getent group usbauth-notifier>/dev/null; then groupadd -r usbauth-notifier; fi
-
 %install
 pushd %{name}/
 %make_install
 %find_lang %name
 popd
 
+install -m0644 -D usbauth-notifier.sysusers.conf %{buildroot}%{_sysusersdir}/usbauth-notifier.conf
+
 %files -f %{name}/%name.lang
 %license %{name}/COPYING
 %doc %{name}/README
 %doc %_mandir/*/*
 %dir %_sysconfdir/xdg/autostart
 %_sysconfdir/xdg/autostart/usbauth-notifier.desktop
 %attr(04750,root,usbauth) %_libexecdir/usbauth-npriv
 %dir %attr(00750,root,usbauth-notifier) %_libexecdir/usbauth-notifier
 %attr(02755,root,usbauth) %_libexecdir/usbauth-notifier/usbauth-notifier
+%{_sysusersdir}/usbauth-notifier.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.4-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.4-5
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git usbmuxd/usbmuxd.spec usbmuxd/usbmuxd.spec.tmp
index 6ef1d1be3d..0bd74cc8b4 100644
--- usbmuxd/usbmuxd.spec
+++ usbmuxd/usbmuxd.spec.tmp
@@ -18,17 +18,16 @@ BuildRequires:  libtool
 BuildRequires:  make
 BuildRequires:  sed
 BuildRequires:  systemd
 
 BuildRequires:  libimobiledevice-devel
 BuildRequires:  libplist-devel
 BuildRequires:  libusbx-devel
 
-Requires(pre):  shadow-utils
 
 %description
 usbmuxd is a daemon used for communicating with Apple's iPod Touch, iPhone, 
 iPad and Apple TV devices. It allows multiple services on the device to be 
 accessed simultaneously.
 
 %prep
 %autosetup -p1 -n %{name}-%{commit}
@@ -36,30 +35,31 @@ accessed simultaneously.
 %if %{defined commit}
 echo %{version} > .tarball-version
 %endif
 
 # Set the owner of the device node to be usbmuxd
 sed -i.owner 's/OWNER="usbmux"/OWNER="usbmuxd"/' udev/39-usbmuxd.rules.in
 sed -i.user 's/--user usbmux/--user usbmuxd/' systemd/usbmuxd.service.in
 
+# Create a sysusers.d config file
+cat >usbmuxd.sysusers.conf <<EOF
+u usbmuxd 113 'usbmuxd user' / -
+EOF
+
 %build
 NOCONFIGURE=1 ./autogen.sh
 %configure
 %make_build
 
 %install
 %make_install
 
-%pre
-getent group usbmuxd >/dev/null || groupadd -r usbmuxd -g 113
-getent passwd usbmuxd >/dev/null || \
-useradd -r -g usbmuxd -d / -s /sbin/nologin \
-	-c "usbmuxd user" -u 113 usbmuxd
-exit 0
+install -m0644 -D usbmuxd.sysusers.conf %{buildroot}%{_sysusersdir}/usbmuxd.conf
+
 
 %post
 %systemd_post usbmuxd.service
 
 %preun
 %systemd_preun usbmuxd.service
 
 %postun
@@ -67,11 +67,12 @@ exit 0
 
 %files
 %license COPYING.GPLv2 COPYING.GPLv3
 %doc AUTHORS README.md
 %{_unitdir}/usbmuxd.service
 %{_udevrulesdir}/39-usbmuxd.rules
 %{_sbindir}/usbmuxd
 %{_datadir}/man/man8/usbmuxd.8.gz
+%{_sysusersdir}/usbmuxd.conf
 
 %changelog
 %autochangelog
RPMAutoSpec usage detected, not changing the spec file.
diff --git util-linux/util-linux.spec util-linux/util-linux.spec.tmp
index 7d3d4c505c..59d2075443 100644
--- util-linux/util-linux.spec
+++ util-linux/util-linux.spec.tmp
@@ -264,17 +264,16 @@ across a network.
 
 See also the "uuid-devel" package, which is a separate implementation.
 
 
 %package -n uuidd
 Summary: Helper daemon to guarantee uniqueness of time-based UUIDs
 Requires: libuuid = %{version}-%{release}
 License: GPL-2.0-only
-Requires(pre): shadow-utils
 %{?systemd_ordering}
 
 %description -n uuidd
 The uuidd package contains a userspace daemon (uuidd) which guarantees
 uniqueness of time-based UUID generation even at very high rates on
 SMP systems.
 
 
@@ -304,16 +303,21 @@ Summary: Utilities for creating and replaying typescripts of terminal session
 Requires: util-linux = %{version}-%{release}
 
 %description -n util-linux-script
 The utilities scripts, scriptreplay, and scriptlive are used to create and replay terminal sessions.
 
 %prep
 %autosetup -p1 -n %{name}-%{upstream_version}
 
+# Create a sysusers.d config file
+cat >util-linux.sysusers.conf <<EOF
+u uuidd - 'UUID generator helper daemon' /var/lib/libuuid -
+EOF
+
 %build
 unset LINGUAS || :
 
 # enable only when make a change to the build-system
 #./autogen.sh
 
 
 export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS"
@@ -455,33 +459,29 @@ find  %{buildroot}%{_mandir}/man8 -regextype posix-egrep  \
 	-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|uname26)\.8.*" \
 	-printf "%{_mandir}/man8/%f*\n" >> %{name}.files
 
 %if "%{_sbindir}" == "%{_bindir}"
 # Autotools installation script gets the location wrong :(
 mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/
 %endif
 
+install -m0644 -D util-linux.sysusers.conf %{buildroot}%{_sysusersdir}/util-linux.conf
+
 %post
 %systemd_post fstrim.{service,timer}
 
 %preun
 %systemd_preun fstrim.{service,timer}
 
 %postun
 %systemd_postun_with_restart fstrim.timer
 %systemd_postun fstrim.service
 
 %pre -n uuidd
-getent group uuidd >/dev/null || groupadd -r uuidd
-getent passwd uuidd >/dev/null || \
-useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \
-    -c "UUID generator helper daemon" uuidd
-exit 0
-
 # Please, keep uuidd running after installation! Note that systemd_post is
 # "systemctl preset" and it enable/disable service only.
 %post -n uuidd
 %systemd_post uuidd.service
 if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ]; then
 	# install
 	/usr/bin/systemctl start uuidd.service > /dev/null 2>&1 || :
 fi
@@ -886,16 +886,17 @@ fi
 %license Documentation/licenses/COPYING.GPL-2.0-only
 %{_mandir}/man8/uuidd.8*
 %{_sbindir}/uuidd
 %{_unitdir}/uuidd.*
 %dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
 %dir %attr(2775, uuidd, uuidd) /run/uuidd
 %{compldir}/uuidd
 %{_tmpfilesdir}/uuidd-tmpfiles.conf
+%{_sysusersdir}/util-linux.conf
 
 
 %files -n libfdisk
 %license Documentation/licenses/COPYING.LGPL-2.1-or-later
 %{_libdir}/libfdisk.so.*
 
 %files -n libfdisk-devel
 %license Documentation/licenses/COPYING.LGPL-2.1-or-later
diff --git uwsgi/uwsgi.spec uwsgi/uwsgi.spec.tmp
index cdf2d9f976..7deaac8542 100644
--- uwsgi/uwsgi.spec
+++ uwsgi/uwsgi.spec.tmp
@@ -245,17 +245,17 @@
 %global __python /usr/bin/true
 %endif
 %endif
 %endif
 %endif
 
 Name:           uwsgi
 Version:        2.0.28
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Fast, self-healing, application container server
 # uwsgi is licensed under GPLv2 with a linking exception
 # docs are licensed under MIT
 # Automatically converted from old format: GPLv2 with exceptions and MIT - review is highly recommended.
 License:        LicenseRef-Callaway-GPLv2-with-exceptions AND LicenseRef-Callaway-MIT
 URL:            https://github.com/unbit/uwsgi
 
 ExcludeArch:    %{ix86}
@@ -365,17 +365,16 @@ BuildRequires:  libargon2-devel
 Obsoletes:      uwsgi-router-access <= 2.0.16
 %endif
 
 Obsoletes:      uwsgi-loggers <= 1.9.8-1
 Obsoletes:      uwsgi-routers <= 2.0.6
 Obsoletes:      uwsgi-plugin-erlang <= 1.9.20-1
 Obsoletes:      uwsgi-plugin-admin <= 2.0.6
 
-Requires(pre):    shadow-utils
 %{?systemd_requires}
 
 %filter_requires_in %{_usrsrc}
 %filter_provides_in %{_usrsrc}
 %filter_provides_in %{_libdir}/uwsgi/.*\.so$
 %filter_setup
 
 %description
@@ -1335,16 +1334,21 @@ cp -p %{SOURCE5} README.Fedora
 %patch -P6 -p1
 %endif
 %if %{with mono}
 %patch -P7 -p1
 %endif
 %patch -P13 -p1
 %patch -P14 -p1
 
+# Create a sysusers.d config file
+cat >uwsgi.sysusers.conf <<EOF
+u uwsgi - 'uWSGI daemon user' /run/uwsgi -
+EOF
+
 %build
 CFLAGS="%{optflags} -Wno-error -Wno-unused-but-set-variable -fPIC" %{__python} uwsgiconfig.py --verbose --build fedora.ini
 %if %{with python2}
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --verbose --plugin plugins/python fedora
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --verbose --plugin plugins/gevent fedora
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --verbose --plugin plugins/tornado fedora
 %endif
 %if %{with python3}
@@ -1492,23 +1496,19 @@ gacutil -i plugins/mono/uwsgi.dll -f -package uwsgi -root %{buildroot}/usr/lib
 %endif
 install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/uwsgi.ini
 install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/uwsgi.service
 install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_tmpfilesdir}/uwsgi.conf
 %if %{with mod_proxy_uwsgi}
 install -D -p -m 0755 apache2/.libs/mod_proxy_uwsgi.so %{buildroot}%{_httpd_moddir}/mod_proxy_uwsgi.so
 %endif
 
+install -m0644 -D uwsgi.sysusers.conf %{buildroot}%{_sysusersdir}/uwsgi.conf
+
 
-%pre
-getent group uwsgi >/dev/null || groupadd -r uwsgi
-getent passwd uwsgi >/dev/null || \
-    useradd -r -g uwsgi -d /run/uwsgi -s /sbin/nologin \
-    -c "uWSGI daemon user" uwsgi
-exit 0
 
 %post
 %systemd_post uwsgi.service
 
 %preun
 %systemd_preun uwsgi.service
 
 %postun
@@ -1518,16 +1518,17 @@ exit 0
 %files
 %{_sbindir}/uwsgi
 %config(noreplace) %{_sysconfdir}/uwsgi.ini
 %{_unitdir}/uwsgi.service
 %{_tmpfilesdir}/uwsgi.conf
 %dir %{_sysconfdir}/uwsgi.d
 %doc README README.Fedora CHANGELOG
 %license LICENSE
+%{_sysusersdir}/uwsgi.conf
 
 %files -n uwsgi-devel
 %{_includedir}/uwsgi
 %{_usrsrc}/uwsgi
 
 %if %{with python2}
 %files -n python2-uwsgidecorators
 %{python2_sitelib}/uwsgidecorators.py*
@@ -1959,16 +1960,19 @@ exit 0
 
 %if %{with mod_proxy_uwsgi}
 %files -n mod_proxy_uwsgi
 %{_httpd_moddir}/mod_proxy_uwsgi.so
 %endif
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.28-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.28-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 08 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.0.28-2
 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4
 
 * Sun Oct 27 2024 Ralf Ertzinger <ralf@skytale.net> - 2.0.28-1
 - Update to 2.0.28, drop merged patches
diff --git vfrnav/vfrnav.spec vfrnav/vfrnav.spec.tmp
index 2eeef3ce82..01fe788492 100644
--- vfrnav/vfrnav.spec
+++ vfrnav/vfrnav.spec.tmp
@@ -1,11 +1,11 @@
 Name:           vfrnav
 Version:        20230429
-Release:        17%{?dist}
+Release:        18%{?dist}
 Summary:        VFR/IFR Navigation
 
 License:        GPL-2.0-or-later
 URL:            https://gitlab.com/tsailer/vfrnav/
 Source:         https://gitlab.com/tsailer/vfrnav/-/archive/%{version}/%{name}-%{version}.tar.bz2
 Patch:          vfrnav-octave-colors.patch
 Patch:          vfrnav-compile.patch
 
@@ -233,16 +233,21 @@ Requires:       httpd
 %description webservice
 This package contains a webservice for the CFMU Autorouter.
 %endif
 
 %prep
 %autosetup -p1
 autoreconf -fiv
 
+# Create a sysusers.d config file
+cat >vfrnav.sysusers.conf <<EOF
+u vfrnav - 'Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services' /var/lib/vfrnav -
+EOF
+
 %build
 CXXFLAGS=`echo %optflags | sed -e 's/-O2//'`
 export CXXFLAGS
 CFLAGS=`echo %optflags | sed -e 's/-O2//'`
 export CFLAGS
 %configure
 %make_build
 # build selinux module
@@ -310,21 +315,18 @@ rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/cfmuautoroute
 %if %{with wetterdl}
 %else
 rm -f $RPM_BUILD_ROOT/%{_bindir}/wetterdl.py
 rm -f $RPM_BUILD_ROOT/%{_datadir}/applications/wetterdl.desktop
 rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/wetterdl.png
 rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/wetterdl.png
 %endif
 
-%pre validatorservice
-getent group vfrnav &>/dev/null || groupadd -r vfrnav
-getent passwd vfrnav &>/dev/null || \
-useradd -g vfrnav -d /var/lib/vfrnav -M -r -s /sbin/nologin \
-    -c "Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services" vfrnav
+install -m0644 -D vfrnav.sysusers.conf %{buildroot}%{_sysusersdir}/vfrnav.conf
+
 
 %post selinux
 /usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp >/dev/null 2>&1 || :
 
 %postun selinux
 if [ $1 -eq 0 ] ; then
     /usr/sbin/semodule -r %{name} >/dev/null 2>&1 || :
 fi
@@ -455,31 +457,35 @@ fi
 
 %files validatorservice
 /lib/systemd/system/cfmuvalidate.service
 /lib/systemd/system/cfmuvalidate.socket
 %config(noreplace) %{_sysconfdir}/sysconfig/cfmuvalidate
 %dir %attr(0755,vfrnav,vfrnav) /run/vfrnav
 %dir %attr(0750,vfrnav,vfrnav) /run/vfrnav/validator
 %dir %attr(0750,vfrnav,vfrnav) /var/lib/vfrnav
+%{_sysusersdir}/vfrnav.conf
 
 %files selinux
 %{_datadir}/selinux/packages/%{name}/vfrnav.pp
 
 %if %{with webservice}
 %files webservice
 /lib/systemd/system/cfmuautoroute@.service
 /lib/systemd/system/cfmuautoroute@.socket
 %config(noreplace) %{_sysconfdir}/sysconfig/cfmuautoroute
 %dir %{_sysconfdir}/vfrnav
 %config(noreplace) %attr(0660,vfrnav,apache) %{_sysconfdir}/vfrnav/autoroute.db
 %dir %attr(0750,vfrnav,apache) /run/vfrnav/autoroute
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 20230429-18
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Jan 07 2025 Thomas Sailer <fedora@tsailer.ch> - 20230429-16
 - fixes for octave 9
 
 * Mon Dec 23 2024 Björn Esser <besser82@fedoraproject.org> - 20230429-15
 - Rebuild (libpqxx)
diff --git vnstat/vnstat.spec vnstat/vnstat.spec.tmp
index 69022fc895..4c9b920a82 100644
--- vnstat/vnstat.spec
+++ vnstat/vnstat.spec.tmp
@@ -1,19 +1,18 @@
 Summary: Console-based network traffic monitor
 Name: vnstat
 Version: 2.10
-Release: 7%{?dist}
+Release: 8%{?dist}
 
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License: GPL-2.0-only
 URL: http://humdi.net/vnstat/
 Source0: http://humdi.net/vnstat/vnstat-%{version}.tar.gz
 Patch0: vnstat.service.patch
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 BuildRequires: make
 BuildRequires: gcc
 BuildRequires: gd-devel
 BuildRequires: systemd
 BuildRequires: sqlite-devel
@@ -38,16 +37,21 @@ be outputted either to a file or to standard output.
 %setup -q
 %patch -P0 -p1
 
 # disable maximum bandwidth setting and change pidfile location
 sed -i -e "s,/var/run/,/run/vnstat/,g; \
 	s,MaxBandwidth 100,MaxBandwidth 0,g;" \
 	cfg/vnstat.conf
 
+# Create a sysusers.d config file
+cat >vnstat.sysusers.conf <<EOF
+u vnstat - 'vnStat user' %{_localstatedir}/lib/%{name} -
+EOF
+
 %build
 %{configure}
 %{__make} %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" all
 
 %install
 %{__mkdir_p} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
 %{__mkdir_p} $RPM_BUILD_ROOT%{_unitdir}
 %{__mkdir_p} $RPM_BUILD_ROOT%{_tmpfilesdir}
@@ -61,21 +65,18 @@ sed -i -e "s,/var/run/,/run/vnstat/,g; \
 %{__rm} -rf examples/systemd
 %{__rm} -rf examples/launchd
 %{__rm} -rf examples/upstart
 
 %{__cat} >> $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf << END
 D /run/vnstat 0700 vnstat vnstat
 END
 
-%pre
-getent group %{name} > /dev/null || groupadd -r %{name}
-getent passwd %{name} > /dev/null || useradd -r -g %{name} -M \
-  -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "vnStat user" %{name}
-exit 0
+install -m0644 -D vnstat.sysusers.conf %{buildroot}%{_sysusersdir}/vnstat.conf
+
 
 %post
 %systemd_post vnstat.service
 
 %preun
 %systemd_preun vnstat.service
 
 %postun
@@ -89,23 +90,27 @@ exit 0
 %{_tmpfilesdir}/%{name}.conf
 %{_mandir}/man1/vnstat.1*
 %{_mandir}/man5/vnstat.conf.5*
 %{_mandir}/man8/vnstatd.8*
 %{_bindir}/vnstat
 %{_sbindir}/vnstatd
 %attr(-,vnstat,vnstat)%dir /run/%{name}/
 %attr(-,vnstat,vnstat)%{_localstatedir}/lib/%{name}
+%{_sysusersdir}/vnstat.conf
 
 %files vnstati
 %license COPYING
 %{_mandir}/man1/vnstati.1*
 %{_bindir}/vnstati
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.10-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.10-6
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git voms/voms.spec voms/voms.spec.tmp
index 6ac26cb86c..a14d89c917 100644
--- voms/voms.spec
+++ voms/voms.spec.tmp
@@ -1,13 +1,13 @@
 %global _hardened_build 1
 
 Name:		voms
 Version:	2.1.0
-Release:	4%{?dist}
+Release:	5%{?dist}
 Summary:	Virtual Organization Membership Service
 
 License:	Apache-2.0
 URL:		https://italiangrid.github.io/voms/
 Source0:	https://github.com/italiangrid/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
 #		Post-install setup instructions:
 Source1:	%{name}.INSTALL
 #		https://github.com/italiangrid/voms/pull/140
@@ -84,17 +84,16 @@ certificates and SAML assertions used in the Grid environment for
 authorization purposes.
 
 This package provides command line applications to access the VOMS
 services.
 
 %package server
 Summary:	Virtual Organization Membership Service Server
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-%{?sysusers_requires_compat}
 %{?systemd_requires}
 
 %description server
 The Virtual Organization Membership Service (VOMS) is an attribute authority
 which serves as central repository for VO user authorization information,
 providing support for sorting users into group hierarchies, keeping track of
 their roles and other attributes in order to issue trusted attribute
 certificates and SAML assertions used in the Grid environment for
@@ -105,16 +104,21 @@ This package provides the VOMS service.
 %prep
 %setup -q
 %patch -P0 -p1
 
 ./autogen.sh
 
 install -m 644 -p %{SOURCE1} README.Fedora
 
+# Create a sysusers.d config file
+cat >voms.sysusers.conf <<EOF
+u voms - 'VOMS Server Account' %{_sysconfdir}/%{name} -
+EOF
+
 %build
 %configure --disable-static --enable-docs --disable-parser-gen
 
 %make_build
 
 %install
 %make_install
 
@@ -140,26 +144,24 @@ for b in voms-proxy-init voms-proxy-info voms-proxy-destroy; do
   ln -s %{_bindir}/${b}2 %{buildroot}%{_sysconfdir}/alternatives/${b}
   ln -s %{_sysconfdir}/alternatives/${b} %{buildroot}%{_bindir}/${b}
   ## and man pages
   mv %{buildroot}%{_mandir}/man1/${b}.1 %{buildroot}%{_mandir}/man1/${b}2.1
   ln -s %{_mandir}/man1/${b}2.1.gz %{buildroot}%{_sysconfdir}/alternatives/${b}.1.gz
   ln -s %{_sysconfdir}/alternatives/${b}.1.gz %{buildroot}%{_mandir}/man1/${b}.1.gz
 done
 
+install -m0644 -D voms.sysusers.conf %{buildroot}%{_sysusersdir}/voms.conf
+
 %posttrans
 # Recover /etc/vomses...
 if [ -r %{_sysconfdir}/vomses.rpmsave -a ! -r %{_sysconfdir}/vomses ] ; then
    mv %{_sysconfdir}/vomses.rpmsave %{_sysconfdir}/vomses
 fi
 
-%pre server
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || useradd -r -g %{name} \
-    -d %{_sysconfdir}/%{name} -s /sbin/nologin -c "VOMS Server Account" %{name}
 
 %post server
 if [ $1 -eq 1 ] ; then
     systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
 %preun server
 if [ $1 -eq 0 ] ; then
@@ -288,18 +290,22 @@ fi
 %{_datadir}/%{name}/upgrade1to2
 %{_datadir}/%{name}/voms.data
 %{_datadir}/%{name}/voms_install_db
 %{_datadir}/%{name}/voms-ping
 %{_datadir}/%{name}/voms_replica_master_setup.sh
 %{_datadir}/%{name}/voms_replica_slave_setup.sh
 %{_mandir}/man8/voms.8*
 %doc README.Fedora
+%{_sysusersdir}/voms.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.0-5
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 2.1.0-4
 - Fix compilation with GCC 15
 
 * Thu Oct 31 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 2.1.0-3
 - Rebuild for gsoap 2.8.135 (Fedora 42)
 - Add additional ghost files to package (rpmlint)
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2
diff --git vsomeip3/vsomeip3.spec vsomeip3/vsomeip3.spec.tmp
index dcc3ba3215..316bc8c393 100644
--- vsomeip3/vsomeip3.spec
+++ vsomeip3/vsomeip3.spec.tmp
@@ -1,11 +1,11 @@
 Name:    vsomeip3
 Version: 3.3.8
-Release: 5%{?dist}
+Release: 6%{?dist}
 Summary: COVESA implementation of SOME/IP protocol
 
 License: MPL-2.0 AND BSL-1.0
 URL:     https://github.com/COVESA/vsomeip
 Source0: %{URL}/archive/%{VERSION}/vsomeip-%{VERSION}.tar.gz
 Source1: routingmanagerd.service
 Source2: routingmanagerd.socket
 Source3: tmpfiles-vsomeip.conf
@@ -64,17 +64,16 @@ BuildArch:      noarch
 %{?selinux_requires}
 
 %description selinux
 This package contains the SELinux policy module for %{name}.
 
 %package routingmanager
 Summary: Routingmanager daemon %{name}
 Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires(pre): shadow-utils
 Requires: systemd
 
 %description routingmanager
 %{summary}.
 
 %package examples
 Summary: Examples for %{name}
 Requires: %{name}%{?_isa} = %{version}-%{release}
@@ -103,16 +102,21 @@ Requires: %{name}-compat%{?_isa} = %{version}-%{release}
 %autosetup -n vsomeip-%{version} -p1 
 mkdir vsomeip-selinux
 cp %{SOURCE5} %{SOURCE6} %{SOURCE7} vsomeip-selinux/
 
 # For some reasons, some source files are executable, which messes
 # with debuginfo
 find -name "*.[ch]pp" | xargs chmod a-x
 
+# Create a sysusers.d config file
+cat >vsomeip3.sysusers.conf <<EOF
+u routingmanagerd - 'User for routingmanagerd' /var/lib/routingmanagerd -
+EOF
+
 %ldconfig_scriptlets
 
 %ldconfig_scriptlets compat
 
 %build
 %cmake \
        -DENABLE_SIGNAL_HANDLING=OFF  \
        -DENABLE_CONFIGURATION_OVERLAYS=ON \
@@ -154,31 +158,26 @@ install -m 0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 
 mkdir -p %{buildroot}%{_sysconfdir}
 install -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/vsomeip.json
 
 mkdir -p %{buildroot}%{_datadir}/selinux/packages/ %{buildroot}%{_datadir}/selinux/devel/include/contrib/
 install -m 0644 vsomeip-selinux/vsomeip.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/
 install -m 0644 vsomeip-selinux/vsomeip.if %{buildroot}%{_datadir}/selinux/devel/include/contrib/
 
+install -m0644 -D vsomeip3.sysusers.conf %{buildroot}%{_sysusersdir}/vsomeip3.conf
+
 %post selinux
 %selinux_modules_install %{_datadir}/selinux/packages/vsomeip.pp.bz2
 
 %postun selinux
 if [ $1 -eq 0 ]; then
     %selinux_modules_uninstall %{_datadir}/selinux/packages/vsomeip.pp.bz2
 fi
 
-%pre routingmanager
-## This creates the users that are needed for routingmanagerd
-getent group routingmanagerd >/dev/null || groupadd -r routingmanagerd
-getent passwd routingmanagerd >/dev/null || \
-    useradd -r -g routingmanagerd -d /var/lib/routingmanagerd -s /sbin/nologin \
-    -c "User for routingmanagerd" routingmanagerd
-exit 0
 
 %post routingmanager
 %systemd_post routingmanagerd.socket routingmanagerd.service
 
 %preun routingmanager
 %systemd_preun routingmanagerd.socket routingmanagerd.service
 
 %postun routingmanager
@@ -203,16 +202,17 @@ exit 0
 
 %files routingmanager
 %doc AUTHORS CHANGES README.md
 %license LICENSE LICENSE_boost
 %attr(755,routingmanagerd,routingmanagerd) %dir /var/lib/routingmanagerd
 %{_bindir}/routingmanagerd
 %{_unitdir}/routingmanagerd.service
 %{_unitdir}/routingmanagerd.socket
+%{_sysusersdir}/vsomeip3.conf
 
 %files tools
 %doc AUTHORS CHANGES README.md
 %license LICENSE LICENSE_boost
 %{_bindir}/vsomeip_ctrl
 
 %files examples
 %doc AUTHORS CHANGES README.md
@@ -235,16 +235,19 @@ exit 0
 %license LICENSE LICENSE_boost
 %{_includedir}/vsomeip
 %{_libdir}/libvsomeip3.so
 %{_libdir}/libvsomeip3-*.so
 %{_libdir}/cmake/vsomeip3
 %{_libdir}/pkgconfig/vsomeip3.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.8-6
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git webalizer/webalizer.spec webalizer/webalizer.spec.tmp
index 85ca2501bb..d746aac0bc 100644
--- webalizer/webalizer.spec
+++ webalizer/webalizer.spec.tmp
@@ -5,17 +5,17 @@
 %global db_devel  db4-devel
 %else
 %global db_devel  libdb-devel
 %endif
 
 Name: webalizer
 Summary: A flexible Web server log file analysis program
 Version: 2.23_08
-Release: 27%{?dist}
+Release: 28%{?dist}
 URL: http://www.mrunix.net/webalizer/
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License: GPL-2.0-or-later
 Source0: ftp://ftp.mrunix.net/pub/webalizer/%{name}-%{ver}-%{patchlevel}-src.tgz
 Source1: webalizer.conf
 Source2: webalizer.cron
 Source3: webalizer-httpd.conf
 Source4: webalizer.sysconfig
@@ -28,17 +28,16 @@ Patch21: 02_fix_a_spelling_error.diff
 Patch22: 04_Fix_cast_warnings_in_output.c.diff
 Patch23: 14_add_search_engines.diff
 Patch24: 17_fix_typo_supress_suppress_in_sample.conf.diff
 Patch25: 27_fix_compilation_with_gcc-10.diff
 BuildRequires: make
 BuildRequires:  gcc
 BuildRequires: gd-devel, %{db_devel}, bzip2-devel
 BuildRequires: GeoIP-devel
-Requires(pre): shadow-utils
 Requires: httpd, crontabs
 
 %description
 The Webalizer is a Web server log analysis program. It is designed to
 scan Web server log files in various formats and produce usage
 statistics in HTML format for viewing through a browser. It produces
 professional looking graphs which make analyzing when and where your
 Web traffic is coming from easy.
@@ -50,16 +49,21 @@ Web traffic is coming from easy.
 %patch -P9 -p1 -b .groupvisit
 %patch -P10 -p1 -b .memmove
 %patch -P21 -p1 -b .spelling_error
 %patch -P22 -p1 -b .cast_warnings
 %patch -P23 -p1 -b .sample_add_search_engines
 %patch -P24 -p1 -b .sample_typo
 %patch -P25 -p1 -b .gcc10_common_support
 
+# Create a sysusers.d config file
+cat >webalizer.sysusers.conf <<EOF
+u webalizer - 'Webalizer' %{_localstatedir}/www/usage -
+EOF
+
 %build
 #CPPFLAGS="-I%{_includedir}/db4" ; export CPPFLAGS
 #CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS -D_GNU_SOURCE" ; export CFLAGS
 %configure --enable-dns --enable-bz2 --enable-geoip
 
 %make_build
 
 %install
@@ -78,36 +82,36 @@ mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
 install -p -m 644 %{SOURCE3} \
         %{buildroot}%{_sysconfdir}/httpd/conf.d/webalizer.conf
 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
 install -p -m 644 %{SOURCE4} \
         %{buildroot}%{_sysconfdir}/sysconfig/webalizer
 
 rm -f %{buildroot}%{_sysconfdir}/webalizer.conf.sample
 
-%pre
-getent group webalizer >/dev/null || groupadd -r webalizer
-getent passwd webalizer >/dev/null || \
-    useradd -r -g webalizer -d %{_localstatedir}/www/usage -s /sbin/nologin \
-    -c "Webalizer" webalizer
-exit 0
+install -m0644 -D webalizer.sysusers.conf %{buildroot}%{_sysusersdir}/webalizer.conf
+
 
 %files
 %doc README
 %{_mandir}/man1/*.1*
 %{_bindir}/*
 %config(noreplace) %{_sysconfdir}/webalizer.conf
 %{_sysconfdir}/cron.daily/00webalizer
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/webalizer.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/webalizer
 %attr(-, webalizer, root) %dir %{_localstatedir}/www/usage
 %attr(-, webalizer, root) %dir %{_localstatedir}/lib/webalizer
 %attr(-, webalizer, root) %{_localstatedir}/www/usage/*.png
+%{_sysusersdir}/webalizer.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.23_08-28
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-27
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.23_08-26
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.23_08-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git wsdd/wsdd.spec wsdd/wsdd.spec.tmp
index f86f6abee6..fdca80753e 100644
--- wsdd/wsdd.spec
+++ wsdd/wsdd.spec.tmp
@@ -1,21 +1,20 @@
 Name:           wsdd
 Version:        0.8
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Web Services Dynamic Discovery host daemon
 License:        MIT 
 URL:            https://github.com/christgau/wsdd 
 Source0:        https://github.com/christgau/wsdd/archive/v%{version}/wsdd-%{version}.tar.gz
 
 Patch:          Modify-systemd-service-for-Fedora.patch
 
 BuildArch:      noarch
 BuildRequires:  systemd
-Requires(pre):  shadow-utils
 
 
 %description
 wsdd implements a Web Service Discovery host daemon. This enables (Samba)
 hosts, like your local NAS device, to be found by Web Service Discovery Clients
 like Windows.
 
 
@@ -26,23 +25,24 @@ like Windows.
 %install
 install -pDm644 etc/firewalld/services/wsdd.xml %{buildroot}%{_usr}/lib/firewalld/services/wsdd.xml
 install -pDm644 etc/firewalld/services/wsdd-http.xml %{buildroot}%{_usr}/lib/firewalld/services/wsdd-http.xml
 install -pDm644 etc/systemd/wsdd.defaults %{buildroot}%{_sysconfdir}/sysconfig/wsdd
 install -pDm644 etc/systemd/wsdd.service %{buildroot}%{_unitdir}/wsdd.service
 install -pDm644 man/wsdd.8 %{buildroot}%{_mandir}/man8/wsdd.8
 install -pDm755 src/wsdd.py %{buildroot}%{_bindir}/wsdd
 
+# Create a sysusers.d config file
+cat >wsdd.sysusers.conf <<EOF
+u wsdd - '%{summary}' / -
+EOF
+
+install -m0644 -D wsdd.sysusers.conf %{buildroot}%{_sysusersdir}/wsdd.conf
+
 
-%pre
-getent group wsdd >/dev/null || groupadd -r wsdd
-getent passwd wsdd >/dev/null || \
-    useradd -r -g wsdd -d / -s /sbin/nologin \
-    -c "%{summary}" wsdd
-exit 0
 
 %post
 %systemd_post wsdd.service
 
 %preun
 %systemd_preun wsdd.service
 
 %postun
@@ -52,19 +52,23 @@ exit 0
 %{_unitdir}/wsdd.service
 %{_usr}/lib/firewalld/services/wsdd.xml
 %{_usr}/lib/firewalld/services/wsdd-http.xml
 %config(noreplace) %{_sysconfdir}/sysconfig/wsdd
 %{_bindir}/wsdd
 %{_mandir}/man8/wsdd.8*
 %license LICENSE
 %doc AUTHORS README.md
+%{_sysusersdir}/wsdd.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Apr 17 2024 Ondrej Holy <oholy@redhat.com> - 0.8.0-1
 - Update to 0.8
diff --git x2godesktopsharing/x2godesktopsharing.spec x2godesktopsharing/x2godesktopsharing.spec.tmp
index 302a7091f7..039db5c895 100644
--- x2godesktopsharing/x2godesktopsharing.spec
+++ x2godesktopsharing/x2godesktopsharing.spec.tmp
@@ -1,11 +1,11 @@
 Name:           x2godesktopsharing
 Version:        3.2.0.0
-Release:        16%{?dist}
+Release:        17%{?dist}
 Summary:        Share X11 desktops with other users via X2Go
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            https://www.x2go.org
 Source0:        https://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz
 
 BuildRequires: make
@@ -27,16 +27,21 @@ X2Go Desktop Sharing is an X2Go add-on tool that allows a user to
 grant other X2Go users access to the current session (shadow session
 support). The current session may be an X2Go session itself or simply
 a local X11 session.
 
 
 %prep
 %setup -q
 
+# Create a sysusers.d config file
+cat >x2godesktopsharing.sysusers.conf <<EOF
+g x2godesktopsharing -
+EOF
+
 
 %build
 lrelease-qt5 x2godesktopsharing.pro
 %{qmake_qt5}
 %make_build
 
 
 %install
@@ -49,36 +54,39 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,64x64,128x128}/apps
 install -p -m 644 icons/128x128/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
 install -p -m 644 icons/16x16/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
 install -p -m 644 icons/64x64/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
 install -p -m 644 icons/32x32/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
 mkdir -p %{buildroot}%{_datadir}/x2go/versions
 install -p -m 644 VERSION.x2godesktopsharing %{buildroot}%{_datadir}/x2go/versions/VERSION.x2godesktopsharing
 cp -rp man %{buildroot}%{_datadir}/
 
+install -m0644 -D x2godesktopsharing.sysusers.conf %{buildroot}%{_sysusersdir}/x2godesktopsharing.conf
+
 
-%pre
-# Needed for sharing a desktop with another user
-getent group x2godesktopsharing >/dev/null || groupadd -r x2godesktopsharing
 
 %files
 %license COPYING
 %doc ChangeLog
 %{_bindir}/%{name}
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/%{name}/
 %{_datadir}/icons/hicolor/128x128/apps/%{name}.png
 %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
 %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
 %{_datadir}/icons/hicolor/64x64/apps/%{name}.png
 %{_datadir}/x2go/versions/VERSION.x2godesktopsharing
 %{_mandir}/man1/%{name}.1.gz
+%{_sysusersdir}/x2godesktopsharing.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.0.0-17
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0.0-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 3.2.0.0-15
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0.0-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git x2goserver/x2goserver.spec x2goserver/x2goserver.spec.tmp
index a3acf88e91..e02bf52f33 100644
--- x2goserver/x2goserver.spec
+++ x2goserver/x2goserver.spec.tmp
@@ -1,13 +1,13 @@
 #global commit 3a0d285b225207b3eccbb7b0ec3f27a2fbdc5be3
 
 Name:           x2goserver
 Version:        4.1.0.6
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        X2Go Server
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://www.x2go.org
 Source0:        http://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz
 # git clone git://code.x2go.org/x2goserver
 # cd x2goserver
@@ -48,17 +48,16 @@ Requires:       sshfs
 # For /etc/sudoers.d
 Requires:       sudo
 Requires:       which
 Requires:       x2goagent = %{version}-%{release}
 Requires:       x2goserver-common = %{version}-%{release}
 Requires:       xorg-x11-fonts-misc
 Requires:       xorg-x11-xauth
 Requires:       xwininfo
-Requires(pre):  shadow-utils
 Requires(post): coreutils
 Requires(post): grep
 Requires(post): perl-X2Go-Server-DB
 Requires(post): x2goserver-common
 
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %{?systemd_requires}
 %endif
@@ -94,17 +93,16 @@ X2Go is a server based computing environment with
 This package contains the main daemon and tools for X2Go server-side session
 administrations.
 
 
 %package common
 Summary:        X2Go Server (common files)
 # for useradd/groupadd
 BuildRequires:  shadow-utils
-Requires(pre):  shadow-utils
 BuildArch:      noarch
 
 %description common
 X2Go is a server based computing environment with
     - session resuming
     - low bandwidth support
     - session brokerage support
     - client side mass storage mounting support
@@ -323,16 +321,21 @@ cached client-side.
 
 
 %prep
 %autosetup -p1
 
 # Don't try to be root
 sed -i -e 's/-o root -g root//' */Makefile
 
+# Create a sysusers.d config file
+cat >x2goserver.sysusers.conf <<EOF
+u x2gouser - 'x2go' /var/lib/x2go -
+EOF
+
 
 %build
 export PATH=%{_qt4_bindir}:$PATH
 %make_build CFLAGS="%{optflags}" PERL_INSTALLDIRS=vendor PREFIX=%{_prefix} NXLIBDIR=%{_libdir}/nx LIBDIR=%{_libdir}/x2go
 
 
 %install
 make install DESTDIR=%{buildroot} PREFIX=%{_prefix} NXLIBDIR=%{_libdir}/nx LIBDIR=%{_libdir}/x2go
@@ -366,23 +369,19 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/x2gofm.desktop
 # applications link
 ln -s ../..%{_datadir}/applications %{buildroot}%{_sysconfdir}/x2go/applications
 
 # Delete tmpfiles.d configuration file on systems not using systemd.
 %if 0%{?rhel} && 0%{?rhel} == 6
 rm -f %{buildroot}/etc/tmpfiles.d/x2goserver.conf
 %endif
 
+install -m0644 -D x2goserver.sysusers.conf %{buildroot}%{_sysusersdir}/x2goserver.conf
+
 
-%pre common
-getent group x2gouser >/dev/null || groupadd -r x2gouser
-getent passwd x2gouser >/dev/null || \
-    useradd -r -g x2gouser -d /var/lib/x2go -s /sbin/nologin \
-    -c "x2go" x2gouser
-exit 0
 
 %post
 # Initialize the session database
 [ ! -s %{_sharedstatedir}/x2go/x2go_sessions ] &&
     grep -E "^backend=sqlite.*" /etc/x2go/x2gosql/sql >/dev/null 2>&1 &&
     %{_sbindir}/x2godbadmin --createdb >/dev/null 2>&1 || :
 
 # Update the session database
@@ -506,16 +505,17 @@ exit 0
 %dir %{_sysconfdir}/x2go/x2gosql
 %dir %{_sysconfdir}/x2go/x2gosql/passwords
 %config(noreplace) %{_sysconfdir}/x2go/x2goserver.conf
 %config(noreplace) %{_sysconfdir}/x2go/x2gosql/sql
 %config(noreplace) %{_sysconfdir}/x2go/x2go_logout*
 %{_mandir}/man5/x2goserver.conf.5.gz
 %dir %{_datadir}/x2go/versions
 %{_datadir}/x2go/versions/VERSION.x2goserver-common
+%{_sysusersdir}/x2goserver.conf
 
 %files desktopsharing
 %license COPYING
 %doc ChangeLog
 %{_bindir}/x2go*-desktopsharing
 %{_datadir}/x2go/versions/VERSION.x2goserver-desktopsharing
 %{_datadir}/x2go/x2gofeature.d/x2goserver-desktopsharing.features
 %{_mandir}/man8/x2go*-desktopsharing.8*
@@ -595,16 +595,19 @@ exit 0
 %license COPYING
 %doc ChangeLog
 %{_datadir}/x2go/versions/VERSION.x2goserver-x2gokdrive
 %{_datadir}/x2go/x2gofeature.d/x2goserver-x2gokdrive.features
 %config(noreplace) %{_sysconfdir}/x2go/x2gokdrive.options
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.0.6-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0.6-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 4.1.0.6-5
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0.6-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git xpilot-ng/xpilot-ng.spec xpilot-ng/xpilot-ng.spec.tmp
index a9056673a4..f1b1265e58 100644
--- xpilot-ng/xpilot-ng.spec
+++ xpilot-ng/xpilot-ng.spec.tmp
@@ -1,15 +1,15 @@
 %global logwatch_root %{_datadir}/logwatch
 %global logwatch_conf %{logwatch_root}/dist.conf
 %global logwatch_scripts %{logwatch_root}/scripts
 
 Name:           xpilot-ng
 Version:        4.7.3
-Release:        34%{?dist}
+Release:        35%{?dist}
 Summary:        Space arcade game for multiple players
 
 # Automatically converted from old format: GPLv2+ - review is highly recommended.
 License:        GPL-2.0-or-later
 URL:            http://xpilot.sourceforge.net
 Source0:        http://downloads.sourceforge.net/sourceforge/xpilot/xpilot-ng-%{version}.tar.gz
 Source1:        xpilot-ng.png
 Source2:        xpilot-ng-sdl.desktop
@@ -63,17 +63,16 @@ Requires:       %{name}-engine = %{version}-%{release} dejavu-sans-fonts
 %description data
 Data files for %{name}.
 
 
 %package server
 Summary:        Server for hosting xpilot games
 Requires:       %{name}-data = %{version}-%{release}
 Requires:       logrotate
-Requires(pre):  shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 BuildRequires:  systemd
 Provides:       %{name}-engine = %{version}-%{release}
 # Make sure the old no longer supported selinux policy from 4.7.2 gets removed
 Obsoletes:      %{name}-selinux < %{version}-%{release}
 Provides:       %{name}-selinux = %{version}-%{release}
@@ -107,16 +106,21 @@ iconv --from=ISO-8859-1 --to=UTF-8 xpilot-ng-x11.man > xpilot-ng-x11.man.new
 touch -r xpilot-ng-x11.man xpilot-ng-x11.man.new
 mv xpilot-ng-x11.man.new xpilot-ng-x11.man
 popd
 
 iconv --from=ISO-8859-1 --to=UTF-8 AUTHORS > AUTHORS.new
 touch -r AUTHORS AUTHORS.new
 mv AUTHORS.new AUTHORS
 
+# Create a sysusers.d config file
+cat >xpilot-ng.sysusers.conf <<EOF
+u xpilot - 'xpilot game server' %{_datadir}/%{name} -
+EOF
+
 
 %build
 %configure --enable-sound
 iconv --from=ISO-8859-1 --to=UTF-8 README -o README
 touch -r README.in README
 make %{?_smp_mflags}
 
 
@@ -153,22 +157,18 @@ ln -s %{_datadir}/fonts/dejavu/DejaVuSansMono-Bold.ttf $RPM_BUILD_ROOT%{_datadir
 
 
 # Install logwatch files
 install -pD -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{logwatch_conf}/logfiles/%{name}.conf
 install -pD -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{logwatch_scripts}/services/%{name}
 install -pD -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{logwatch_conf}/services/%{name}.conf
 install -pD -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{logwatch_scripts}/shared/applyxpilotdate
 
-%pre server
-getent group xpilot >/dev/null || groupadd -r xpilot
-getent passwd xpilot >/dev/null || \
-useradd -r -g xpilot -d %{_datadir}/%{name} -s /sbin/nologin \
-    -c "xpilot game server" xpilot
-exit 0
+install -m0644 -D xpilot-ng.sysusers.conf %{buildroot}%{_sysusersdir}/xpilot-ng.conf
+
 
 %post server
 %systemd_post xpilot-ng-server.service
 
 %preun server
 %systemd_preun xpilot-ng-server.service
 
 %postun server
@@ -207,25 +207,29 @@ exit 0
 %exclude %{_datadir}/%{name}/sound
 %{_datadir}/appdata/xpilot-ng-server.metainfo.xml
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %attr(0600,xpilot,root) %{_sysconfdir}/%{name}/password.txt
 %config(noreplace) %{_sysconfdir}/%{name}/defaults.txt
 %config(noreplace) %{_sysconfdir}/%{name}/xpilot-ng-server-cmdline-opts
 %{_mandir}/man6/xpilot-ng-server.6.gz
 %{_mandir}/man6/xpilot-ng-xp-mapedit.6.gz
+%{_sysusersdir}/xpilot-ng.conf
 
 %files logwatch
 %{logwatch_conf}/logfiles/%{name}.conf
 %{logwatch_conf}/services/%{name}.conf
 %{logwatch_scripts}/services/%{name}
 %{logwatch_scripts}/shared/applyxpilotdate
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.7.3-35
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-34
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 4.7.3-33
 - convert license to SPDX
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-32
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git xpra/xpra.spec xpra/xpra.spec.tmp
index 23a1b177ef..280863c295 100644
--- xpra/xpra.spec
+++ xpra/xpra.spec.tmp
@@ -155,17 +155,16 @@ Requires: shared-mime-info%{?_isa}
 Requires: js-jquery
 
 # python3-opencv is required for webcam forwarding support, client-side only.
 # Available on Fedora only.
 # https://github.com/Xpra-org/xpra/issues/4035#issuecomment-2405430577
 #%%{?fedora:Requires: python3-opencv}
 
 # Needed to create the xpra group
-Requires(pre):  shadow-utils
 
 # xpra-html5 is now separately provided
 Obsoletes: xpra-html5 < 0:4.1-1
 
 Requires: systemd-udev%{?_isa}
 Obsoletes: xpra-udev < %{version}-%{release}
 Provides: xpra-udev = %{version}-%{release}
 
@@ -189,16 +188,21 @@ network bandwidth constraints.
 %patch -P2 -p1
 %endif
 
 # cc1: error: unrecognized compiler option ‘-mfpmath=387’
 %ifarch %{arm}
 sed -i 's|-mfpmath=387|-mfloat-abi=hard|' setup.py
 %endif
 
+# Create a sysusers.d config file
+cat >xpra.sysusers.conf <<EOF
+g xpra -
+EOF
+
 %build
 %set_build_flags
 export CFLAGS="%{optflags} -I%{_includedir}/security"
 %py3_build -- \
     --without-nvidia --without-pandoc_lua \
     --with-verbose \
     --with-vpx \
     %{?_with_enc_x264} \
@@ -268,22 +272,22 @@ for i in `find %{buildroot}%{_bindir} -perm /644 -type f \( -name "*" \)`; do
     chmod 0755 $i
 done
 
 # Remove Build documentation
 rm -rf %{buildroot}%{_docdir}/xpra/Build
 
 install -pm 644 README.md %{buildroot}%{_docdir}/xpra/
 
+install -m0644 -D xpra.sysusers.conf %{buildroot}%{_sysusersdir}/xpra.conf
+
 %check
 %{?fedora:appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/xpra.appdata.xml}
 desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
 
-%pre
-getent group xpra >/dev/null || groupadd -r xpra
 
 %files
 %license COPYING
 %dir %{_sysconfdir}/xpra
 %dir %{_sysconfdir}/xpra/conf.d
 %config(noreplace) %{_sysconfdir}/xpra/*.conf
 %config(noreplace) %{_sysconfdir}/xpra/nvenc.keys
 %config(noreplace) %{_sysconfdir}/xpra/conf.d/*.conf
@@ -318,11 +322,12 @@ getent group xpra >/dev/null || groupadd -r xpra
 %{_datadir}/xpra/
 %{cupslibdir}/backend/xpraforwarder
 %{_tmpfilesdir}/xpra.conf
 %dir %{_rundir}/xpra
 %{_docdir}/xpra
 %{_unitdir}/xpra.service
 %{_unitdir}/xpra.socket
 %{_udevrulesdir}/71-xpra-virtual-pointer.rules
+%{_sysusersdir}/xpra.conf
 
 %changelog
 %autochangelog
diff --git xrootd/xrootd.spec xrootd/xrootd.spec.tmp
index 12074971f8..48b9daefa2 100644
--- xrootd/xrootd.spec
+++ xrootd/xrootd.spec.tmp
@@ -9,17 +9,17 @@
 %endif
 
 # Needed for EPEL 8
 %undefine __cmake_in_source_build
 
 Name:		xrootd
 Epoch:		1
 Version:	5.7.2
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	Extended ROOT file server
 License:	LGPL-3.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND curl AND MIT AND Zlib
 URL:		https://xrootd.web.cern.ch
 Source0:	%{url}/download/v%{version}/%{name}-%{version}.tar.gz
 #		Fix errors in format strings
 #		https://github.com/xrootd/xrootd/pull/2380
 Patch0:		0001-Use-correct-format-for-size_t.patch
 Patch1:		0002-Mark-the-client-library-logging-routines-with-__attr.patch
@@ -89,17 +89,16 @@ latency and increased throughput.
 
 %package server
 Summary:	Xrootd server daemons
 Requires:	%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
 Requires:	%{name}-client-libs%{?_isa} = %{epoch}:%{version}-%{release}
 Requires:	%{name}-server-libs%{?_isa} = %{epoch}:%{version}-%{release}
 Requires:	expect
 Requires:	logrotate
-Requires(pre):	shadow-utils
 %{?systemd_requires}
 
 %description server
 This package contains the xrootd servers without the SELinux support.
 Unless you are installing on a system without SELinux also install the
 xrootd-selinux package.
 
 %package selinux
@@ -262,16 +261,21 @@ This package contains the API documentation of the xrootd libraries.
 
 %prep
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
 
+# Create a sysusers.d config file
+cat >xrootd.sysusers.conf <<EOF
+u xrootd - 'XRootD runtime user' %{_localstatedir}/spool/%{name} -
+EOF
+
 %build
 %cmake \
     -DFORCE_ENABLED:BOOL=ON \
     -DENABLE_TESTS:BOOL=ON \
 %if %{ceph}
     -DENABLE_CEPH:BOOL=ON \
 %endif
 %ifarch %{ix86}
@@ -370,16 +374,18 @@ install -m 644 -p packaging/common/%{name}.pp \
 
 # Documentation
 mkdir -p %{buildroot}%{_pkgdocdir}
 cp -pr doxydoc/html %{buildroot}%{_pkgdocdir}
 
 cp -pr bindings/python/docs/build/html %{buildroot}%{_pkgdocdir}/python
 rm %{buildroot}%{_pkgdocdir}/python/.buildinfo
 
+install -m0644 -D xrootd.sysusers.conf %{buildroot}%{_sysusersdir}/xrootd.conf
+
 %check
 # Reduce socket path lengths used during tests
 # rpm 4.20 uses a longer path to the build directory than earlier versions
 # Tests fail with sockets in the build directory with rpm 4.20
 adminpath=$(mktemp -d -p /var/tmp)
 sed "s!all.adminpath .*!all.adminpath ${adminpath}!" \
     -i %{_vpath_builddir}/tests/cluster/common.cfg \
        tests/XRootD/common.cfg
@@ -404,20 +410,16 @@ XrdEc::|\
 XRootD::cluster::test|\
 XRootD::http::test"
     %ctest -- -E $exclude
 fi
 rm testfile
 
 rm -rf ${adminpath}
 
-%pre server
-getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || useradd -r -g %{name} -s /sbin/nologin \
-  -d %{_localstatedir}/spool/%{name} -c "XRootD runtime user" %{name}
 
 %post server
 %tmpfiles_create %{name}.conf
 
 if [ $1 -eq 1 ] ; then
     systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
@@ -481,16 +483,17 @@ fi
 %{_unitdir}/*
 %{_tmpfilesdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %dir %{_sysconfdir}/%{name}/config.d
 %attr(-,xrootd,xrootd) %config(noreplace) %{_sysconfdir}/%{name}/*.cfg
 %attr(-,xrootd,xrootd) %{_localstatedir}/log/%{name}
 %attr(-,xrootd,xrootd) %{_localstatedir}/spool/%{name}
 %ghost %attr(-,xrootd,xrootd) %{_rundir}/%{name}
+%{_sysusersdir}/xrootd.conf
 
 %files selinux
 %dir %{_datadir}/selinux/packages/%{name}
 %{_datadir}/selinux/packages/%{name}/%{name}.pp
 
 %files libs
 %{_libdir}/libXrdAppUtils.so.*
 %{_libdir}/libXrdCrypto.so.*
@@ -652,16 +655,19 @@ fi
 %{python3_sitearch}/xrootd-*.*-info
 %{python3_sitearch}/pyxrootd
 %{python3_sitearch}/XRootD
 
 %files doc
 %doc %{_pkgdocdir}
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:5.7.2-4
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-3
 - Fix compilation errors with GCC 15
 
 * Sun Dec 08 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-2
 - Fix errors in format strings
 
 * Fri Nov 29 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:5.7.2-1
 - Update to version 5.7.2
diff --git xtide/xtide.spec xtide/xtide.spec.tmp
index 767881d7cd..3700e8ebca 100644
--- xtide/xtide.spec
+++ xtide/xtide.spec.tmp
@@ -1,13 +1,13 @@
 %define          mainver   2.15.5
 #%%define          betatag   dev-20160114
 %define          dwfdate   20241229
 
-%define          baserelease 9
+%define          baserelease 10
 
 
 %define          rel        %{?betatag:0.}%{baserelease}%{?betatag:.%(echo %betatag | sed -e 's|-||g')}
 
 
 Summary:         Calculate tide all over the world
 Name:            xtide
 Version:         %{mainver}
@@ -55,17 +55,16 @@ BuildRequires:   flex
 # Explicit for %%PATCH1
 BuildRequires:   %{_bindir}/pkg-config
 
 Requires:        wvs-data
 Requires:        xorg-x11-fonts-misc
 Requires:        xtide-common = %{version}-%{release}
 Requires:        libxtide%{?_isa} = %{version}-%{release}
 
-Requires(pre):      shadow-utils
 Requires(preun):    systemd
 Requires(postun):   systemd
 Requires(post):     systemd
 
 %package -n      libxtide
 Summary:         XTide library
 # Automatically converted from old format: GPLv3+ - review is highly recommended.
 License:         GPL-3.0-or-later
@@ -159,16 +158,21 @@ sed -i.ver \
 sed -i.rpath configure \
 	-e 's|hardcode_libdir_flag_spec=|kill_hardcode_libdir_flag_spec=|' \
 	-e 's|hardcode_libdir_flag_spec_CXX=|kill_hardcode_libdir_flag_spec_CXX=|' \
 	%{nil}
 sed -i.rpath ltmain.sh \
 	-e 's|\$finalize_rpath|\$finalize_no_rpath|' \
 	%{nil}
 
+# Create a sysusers.d config file
+cat >xtide.sysusers.conf <<EOF
+u xttpd - 'XTide web server' %{_sysconfdir}/%{name} -
+EOF
+
 %build
 %configure \
    --enable-systemd \
 %if 0
    --enable-moon-age \
 %endif
    --with-xttpd-user=xttpd \
    --with-xttpd-group=xttpd
@@ -263,37 +267,27 @@ done
 rm -rf harmonics-dwf
 mkdir harmonics-dwf
 cp -a harmonics-dwf-%{dwfdate}/[A-Z]* \
 	harmonics-dwf/
 
 # 3 cleanup
 rm -rf $RPM_BUILD_ROOT%{_libdir}/libxtide.{a,la}
 
+install -m0644 -D xtide.sysusers.conf %{buildroot}%{_sysusersdir}/xtide.conf
+
 %post
 %systemd_post xttpd.socket xttpd.service
 exit 0
 
 %postun
 %systemd_postun xttpd.socket xttpd.service
 exit 0
 
 
-%pre
-getent group xttpd &>/dev/null || \
-   %{_sbindir}/groupadd -r xttpd
-getent passwd xttpd &> /dev/null || \
-   %{_sbindir}/useradd \
-   -c "XTide web server" \
-   -g xttpd \
-   -d %{_sysconfdir}/%{name} \
-   -r \
-   -s /sbin/nologin \
-   xttpd 2>/dev/null
-exit 0
 
 %preun
 %systemd_preun xttpd.socket xttpd.service
 exit 0
 
 %ldconfig_scriptlets -n libxtide
 
 %files common
@@ -334,18 +328,22 @@ exit 0
 # xttpd
 %config(noreplace) %{_sysconfdir}/sysconfig/xttpd.service.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/xttpd.socket
 %{_unitdir}/xttpd.service
 %{_unitdir}/xttpd.socket
 
 %{_sbindir}/xttpd
 %{_datadir}/man/man8/xttpd.8*
+%{_sysusersdir}/xtide.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.15.5-10
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.5-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Dec 30 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.15.5-8
 - Update harmonics data to 20241229
 
 * Thu Jul  25 2024 Miroslav Suchý <msuchy@redhat.com> - 2.15.5-7
 - convert license to SPDX
diff --git yubihsm-connector/yubihsm-connector.spec yubihsm-connector/yubihsm-connector.spec.tmp
index d80fc80ca8..49cccb3e2a 100644
--- yubihsm-connector/yubihsm-connector.spec
+++ yubihsm-connector/yubihsm-connector.spec.tmp
@@ -7,17 +7,17 @@ Version:                3.0.5
 %global tag             %{version}
 
 %gometa
 
 %global common_description %{expand:
 Backend to talk to YubiHSM 2}
 
 Name:           yubihsm-connector
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        YubiHSM Connector
 
 # Upstream license specification: Apache-2.0
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            %{gourl}
 Source0:        %{gosource}
 Source1:        %{gosource}.sig
@@ -27,17 +27,16 @@ Source2:        gpgkey-9588EA0F.gpg
 # created using
 # $ cd yubihsm-connector-x.y.z
 # $ go mod vendor
 # $ tar -cvJf ../yubihsm-connector-vendor-x.y.z.tar.gz vendor/
 Source3:        %{name}-vendor-%{version}.tar.gz
 %endif
 
 %{?systemd_requires}
-Requires(pre):  shadow-utils
 BuildRequires:  compiler(go-compiler)
 BuildRequires:  systemd-rpm-macros
 #BuildRequires:  git
 %if 0%{?fedora}
 BuildRequires:  golang(github.com/google/gousb)
 BuildRequires:  golang(github.com/google/uuid)
 BuildRequires:  golang(github.com/kardianos/service)
 BuildRequires:  golang(github.com/sirupsen/logrus)
@@ -65,16 +64,21 @@ gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
 rm -rf go.mod
 
 mkdir -p "%{_builddir}/src/github.com/Yubico/"
 cp -r %{_builddir}/%{name}-%{version} %{_builddir}/src/github.com/Yubico/%{name}
 mkdir -p %{_builddir}/%{name}-%{version}/_build
 mv %{_builddir}/src %{_builddir}/%{name}-%{version}/_build/src
 %endif
 
+# Create a sysusers.d config file
+cat >yubihsm-connector.sysusers.conf <<EOF
+u yubihsm-connector - 'YubiHSM connector account' - -
+EOF
+
 %build
 export GO111MODULE=off
 %if 0%{?fedora}
 go generate
 %gobuild -o %{gobuilddir}/bin/yubihsm-connector %{goipath}
 %else
 export GOPATH="%{_builddir}/%{name}-%{version}/_build"
 pushd $GOPATH/src/github.com/Yubico/yubihsm-connector/
@@ -88,53 +92,52 @@ popd
 install -Dpm 0755 %{gobuilddir}/bin/yubihsm-connector %{buildroot}%{_bindir}/yubihsm-connector
 %else
 install -Dpm 0755 bin/yubihsm-connector %{buildroot}%{_bindir}/yubihsm-connector
 %endif
 install -Dpm 0644  deb/yubihsm-connector.yaml %{buildroot}%{_sysconfdir}/yubihsm-connector.yaml
 install -Dpm 0644  deb/yubihsm-connector.service %{buildroot}%{_unitdir}/yubihsm-connector.service
 install -Dpm 0644  deb/70-yubihsm-connector.rules %{buildroot}%{_udevrulesdir}/70-yubihsm-connector.rules
 
+install -m0644 -D yubihsm-connector.sysusers.conf %{buildroot}%{_sysusersdir}/yubihsm-connector.conf
+
 %if %{with check}
 %check
 %if 0%{?fedora}
 %gocheck
 %else
 export GO111MODULE=off
 export GOPATH="%{_builddir}/%{name}-%{version}/_build"
 cd "_build/src/github.com/Yubico/%{name}"
 go test -v
 %endif
 %endif
 
-%pre
-getent group yubihsm-connector >/dev/null || groupadd -r yubihsm-connector
-getent passwd yubihsm-connector >/dev/null || \
-    useradd -r -g yubihsm-connector -M -s /sbin/nologin \
-    -c "YubiHSM connector account" yubihsm-connector \
-    --system
-exit 0
 
 %post
 %systemd_post yubihsm-connector.service
 
 %preun
 %systemd_preun yubihsm-connector.service
 
 %postun
 %systemd_postun_with_restart yubihsm-connector.service
 
 %files
 %license LICENSE
 %{_bindir}/yubihsm-connector
 %config(noreplace) %{_sysconfdir}/yubihsm-connector.yaml
 %{_unitdir}/yubihsm-connector.service
 %{_udevrulesdir}/70-yubihsm-connector.rules
+%{_sysusersdir}/yubihsm-connector.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.5-8
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Sep 11 2024 Jakub Jelen <jjelen@redhat.com> - 3.0.5-6
 - New upstream release (#2311423)
 
 * Wed Jul 24 2024 Miroslav Suchý <msuchy@redhat.com> - 3.0.4-6
 - convert license to SPDX
diff --git znc/znc.spec znc/znc.spec.tmp
index f27442daf7..9406e04c92 100644
--- znc/znc.spec
+++ znc/znc.spec.tmp
@@ -8,17 +8,17 @@
 
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %global __python %{__python3}
 %global with_modpython 1
 %endif # 0%{?fedora} || 0%{?rhel} >= 7
 
 Name:           znc
 Version:        1.9.1
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        An advanced IRC bouncer
 
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            https://znc.in
 Source0:        %{url}/releases/archive/%{name}-%{version}.tar.gz
 Source1:        %{url}/releases/archive/%{name}-%{version}.tar.gz.sig
 
@@ -47,17 +47,16 @@ BuildRequires:  openssl-devel-engine
 %endif
 
 BuildRequires:  perl(ExtUtils::Embed)
 
 %if 0%{?rhel} && 0%{?rhel} <= 9
 Obsoletes:      znc-extra <= %{version}-%{release}
 %endif # 0%{?rhel} && 0%{?rhel} <= 9
 
-Requires(pre):  shadow-utils
 BuildRequires:  systemd
 %{?systemd_requires}
 
 %description
 ZNC is an IRC bouncer with many advanced features like detaching,
 multiple users, per channel playback buffer, SSL, IPv6, transparent
 DCC bouncing, Perl and C++ module support to name a few.
 
@@ -124,16 +123,21 @@ gpg2 --dearmor --quiet --batch --yes $key >/dev/null
 gpgv2 --homedir "$gpghome" --quiet --keyring $key.gpg %{SOURCE1} %{SOURCE0}
 rm -rf "$gpghome" $key.gpg # Cleanup tmp gpg home dir and dearmored key
 
 %autosetup -p1
 
 # The manual page references /usr/local/; fix that
 sed -ie 's!/usr/local/!/usr/!' man/znc.1
 
+# Create a sysusers.d config file
+cat >znc.sysusers.conf <<EOF
+u znc - 'Account for ZNC to run as' /var/lib/znc -
+EOF
+
 %build
 %if 0%{?rhel} == 7
 sed -e 's/"openssl"/"openssl11"/g' -i configure
 %endif
 
 # NOTE(neil): 2024-09-02 aarch64 responds badly to building on large machines
 %ifarch aarch64
 %global _smp_build_ncpus 1
@@ -154,22 +158,19 @@ sed -e 's/"openssl"/"openssl11"/g' -i configure
 
 %cmake_build
 
 %install
 %cmake_install
 install -d "%{buildroot}%{_sharedstatedir}/znc"
 %py_byte_compile %{__python3} %{buildroot}%{_libdir}/znc/
 
+install -m0644 -D znc.sysusers.conf %{buildroot}%{_sysusersdir}/znc.conf
+
 
-%pre
-getent group znc >/dev/null || groupadd -r znc
-getent passwd znc >/dev/null || \
-    useradd -r -g znc -d /var/lib/znc -s /sbin/nologin \
-    -c "Account for ZNC to run as" znc
 
 
 %post
 %systemd_post znc.service
 
 
 %postun
 %systemd_postun_with_restart znc.service
@@ -196,16 +197,17 @@ getent passwd znc >/dev/null || \
 %exclude %{_libdir}/znc/pyeval.py
 %endif # 0%{?with_modpython}
 %exclude %{_libdir}/znc/modtcl.so
 %{_datadir}/znc/
 # exclude modtcl files
 %exclude %{_datadir}/znc/modtcl/
 %{_unitdir}/znc.service
 %attr(-,znc,znc) %{_sharedstatedir}/znc/
+%{_sysusersdir}/znc.conf
 
 %files devel
 %{_bindir}/znc-buildmod
 %{_libdir}/pkgconfig/%{name}.pc
 %{_includedir}/znc/
 %{_mandir}/man1/znc-buildmod.1*
 
 %files modtcl
@@ -224,16 +226,19 @@ getent passwd znc >/dev/null || \
 %{_libdir}/znc/modpython/
 %{_libdir}/znc/modpython.so
 %{_libdir}/znc/pyeval.py
 %{_libdir}/znc/__pycache__/
 %endif # 0%{?with_modpython}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.9.1-7
+- Add sysusers.d config file to allow rpm to create users/groups automatically
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 1.9.1-5
 - Rebuild for ICU 76
 
 * Sun Aug 25 2024 Neil Hanlon <neil@shrug.pw> - 1.9.1-4
 - switch to pure cmake (1.9.0 turned configure into a wrapper which dropped options)
diff --git tpm2-tss/tpm2-tss.spec tpm2-tss/tpm2-tss.spec.tmp
index cd15463d1f..ba00f39c8d 100644
--- tpm2-tss/tpm2-tss.spec
+++ tpm2-tss/tpm2-tss.spec.tmp
@@ -1,16 +1,16 @@
 %bcond_with rc
 %if %{with rc}
 %global candidate rc2
 %endif
 
 Name:          tpm2-tss
 Version:       4.1.3
-Release:       6%{?candidate:.%{candidate}}%{?dist}
+Release:       7%{?candidate:.%{candidate}}%{?dist}
 Summary:       TPM2.0 Software Stack
 
 # The entire source code is under BSD except implementation.h and tpmb.h which
 # is under TCGL(Trusted Computing Group License).
 License:       BSD-2-Clause
 URL:           https://github.com/tpm2-software/tpm2-tss
 Source0:       %{url}/releases/download/%{version}/%{name}-%{version}%{?candidate:-%{candidate}}.tar.gz
 Source1:       tpm2-tss-systemd-sysusers.conf
@@ -35,17 +35,16 @@ BuildRequires: json-c-devel
 BuildRequires: libcurl-devel
 BuildRequires: libgcrypt-devel
 BuildRequires: libusb1-devel
 BuildRequires: openssl-devel
 BuildRequires: pkgconfig
 BuildRequires: systemd
 BuildRequires: systemd-rpm-macros
 BuildRequires: libuuid-devel
-Requires(pre): shadow-utils
 
 %description
 tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system
 APIs. It sits between TPM driver and applications, providing TPM2.0 specified
 APIs for applications to access TPM module through kernel TPM drivers.
 
 %package fapi
 Summary:       High-level TPM2.0 Software Stack
@@ -74,19 +73,16 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 %make_build
 
 %install
 %make_install
 find %{buildroot}%{_libdir} -type f -name \*.la -delete
 rm %{buildroot}%{_sysusersdir}/tpm2-tss.conf
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/tpm2-tss.conf
 
-%pre
-%sysusers_create_compat %{SOURCE1}
-exit 0
 
 %ldconfig_scriptlets
 
 %files
 %doc README.md CHANGELOG.md
 %license LICENSE
 %{_sysconfdir}/tpm2-tss/
 %{_libdir}/libtss2-mu.so.0*
@@ -154,16 +150,19 @@ use tpm2-tss.
 %{_libdir}/pkgconfig/tss2-tcti-spi-helper.pc
 %{_libdir}/pkgconfig/tss2-tcti-spi-ltt2go.pc
 %{_libdir}/pkgconfig/tss2-tcti-swtpm.pc
 %{_mandir}/man3/*.3.gz
 %{_mandir}/man5/*.5.gz
 %{_mandir}/man7/tss2*.7.gz
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.3-7
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.3-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 13 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 4.1.3-5
 - Enable LetsTrustTPM2Go TPM module (rhbz 2332185)
 
 * Thu Dec 12 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 4.1.3-4
 - Remove openssl-devel-engine build dependency
diff --git amavis/amavis.spec amavis/amavis.spec.tmp
index 8d3cfd6441..22304f4b96 100644
--- amavis/amavis.spec
+++ amavis/amavis.spec.tmp
@@ -1,15 +1,15 @@
 # SNMP enabled by default
 %bcond_without snmp
 
 Summary:        Email filter with virus scanner and spamassassin support
 Name:           amavis
 Version:        2.13.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 # LDAP schema is GFDL, some helpers are BSD, core is GPLv2+
 License:        GPLv2+ and BSD and GFDL
 URL:            https://gitlab.com/amavis/amavis
 Source0:        https://gitlab.com/amavis/amavis/-/archive/v%{version}/amavis-v%{version}.tar.bz2
 Source2:        amavis-clamd.conf
 Source4:        README.fedora
 Source5:        README.quarantine
 Source8:        amavisd-tmpfiles.conf
@@ -168,18 +168,16 @@ mkdir -p %{buildroot}%{_localstatedir}/spool/amavisd/{tmp,db,quarantine}
 mkdir -p %{buildroot}%{_rundir}/{clamd.amavisd,amavisd}
 
 install -D -m 644 %{SOURCE8} %{buildroot}%{_tmpfilesdir}/amavisd.conf
 
 install -p -D -m 0644 %{SOURCE11} %{buildroot}%{_sysusersdir}/amavis.conf
 
 install -p -D -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/amavisd
 
-%pre
-%sysusers_create_compat %{SOURCE11}
 
 %preun
 %systemd_preun amavisd.service
 
 %if %{with snmp}
 %preun snmp
 %systemd_preun amavisd-snmp.service
 %endif
@@ -235,16 +233,19 @@ install -p -D -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/amavisd
 %endif
 
 %files doc
 %license LICENSE
 %doc AAAREADME.first contrib/LDAP.schema contrib/LDAP.ldif RELEASE_NOTES TODO
 %doc README_FILES conf/amavisd.conf-* conf/amavisd-custom.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.13.1-4
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Mar 14 2024 Juan Orti Alcaine <jortialc@redhat.com> - 2.13.1-1
 - Update to version 2.13.1
diff --git anope/anope.spec anope/anope.spec.tmp
index 97389499f6..1b053f7d99 100644
--- anope/anope.spec
+++ anope/anope.spec.tmp
@@ -6,17 +6,17 @@
 %bcond_without  tre
 %bcond_without  sqlite
 %bcond_without  gnutls
 %bcond_without  openssl
 
 Summary:        IRC services designed for flexibility and ease of use
 Name:           anope
 Version:        2.1.4
-Release:        3%{?dist}
+Release:        4%{?dist}
 # Anope itself is GPL-2.0-only but uses other source codes, breakdown:
 # BSD-3-Clause: include/pstdint.h and modules/encryption/enc_sha256.cpp
 # MIT: src/siphash.cpp
 # LicenseRef-Fedora-Public-Domain: modules/encryption/enc_bcrypt.cpp
 # LicenseRef-RSA: modules/encryption/enc_md5.cpp
 License:        GPL-2.0-only AND BSD-3-Clause AND MIT AND LicenseRef-Fedora-Public-Domain AND LicenseRef-RSA
 URL:            https://www.anope.org/
 Source0:        https://github.com/anope/anope/archive/%{version}/%{name}-%{version}.tar.gz
@@ -55,17 +55,16 @@ BuildRequires:  systemd-rpm-macros
 %if 0%{?fedora} || 0%{?rhel} > 7
 Recommends:     %{_sbindir}/sendmail
 %else
 Requires:       %{_sbindir}/sendmail
 %endif
 Provides:       %{name}-redis = %{version}-%{release}
 Provides:       %{name}-redis%{?_isa} = %{version}-%{release}
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 Anope is a set of IRC services forked from Epona early 2003 to pick up where
 Epona had been abandoned. It offers various services clients to maintain an
 IRC network: NickServ, ChanServ, MemoServ, OperServ, BotServ and HostServ as
 well as less often used services clients like HelpServ, DevNull and Global.
 
 %if %{with ldap}
@@ -254,18 +253,16 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/example.chk
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/webcpanel.so
 rm -rf $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/webcpanel/
 
 # Remove MySQL related modules when built without MySQL
 %{!?with_mysql:rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/{chanstats,cs_fantasy_stats,cs_fantasy_top,irc2sql}.so}
 
 %find_lang %{name}
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -350,16 +347,19 @@ rm -rf $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/webcpanel/
 %endif
 
 %if %{with openssl}
 %files openssl
 %{_libdir}/%{name}/ssl_openssl.so
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.4-4
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sun Apr 14 2024 Robert Scheck <robert@fedoraproject.org> 2.1.4-1
 - Upgrade to 2.1.4 (#2272460)
RPMAutoSpec usage detected, not changing the spec file.
diff --git arpwatch/arpwatch.spec arpwatch/arpwatch.spec.tmp
index 6d2cb8390c..d7a586f8c5 100644
--- arpwatch/arpwatch.spec
+++ arpwatch/arpwatch.spec.tmp
@@ -19,17 +19,16 @@ SourceLicense:  %{shrink:
                 %{license} AND
                 BSD-4.3RENO AND
                 FSFUL AND
                 GPL-3.0-or-later AND
                 X11
                 }
 URL:            https://ee.lbl.gov/
 
-Requires(pre):  shadow-utils
 
 Requires:       /usr/sbin/sendmail
 Requires:       python3
 
 BuildRequires:  gcc
 BuildRequires:  make
 %if %{with autoreconf}
 BuildRequires:  autoconf
@@ -211,18 +210,16 @@ then
   exit 1
 fi
 
 
 %post
 %systemd_post arpwatch.service
 
 
-%pre
-%sysusers_create_compat %{SOURCE6}
 
 
 %postun
 %systemd_postun_with_restart arpwatch.service
 
 
 %preun
 %systemd_preun arpwatch.service
diff --git bitlbee/bitlbee.spec bitlbee/bitlbee.spec.tmp
index daae6f32da..8b59b65851 100644
--- bitlbee/bitlbee.spec
+++ bitlbee/bitlbee.spec.tmp
@@ -1,14 +1,14 @@
 %bcond_without otr
 
 Summary:           IRC to other chat networks gateway
 Name:              bitlbee
 Version:           3.6
-Release:           17%{?dist}
+Release:           18%{?dist}
 # Automatically converted from old format: GPLv2+ and MIT - review is highly recommended.
 License:           GPL-2.0-or-later AND LicenseRef-Callaway-MIT
 URL:               https://www.bitlbee.org/
 Source0:           https://get.bitlbee.org/src/%{name}-%{version}.tar.gz
 Source1:           bitlbee.sysusersd
 # Downstream: Run bitlbee as non-root and bind to 127.0.0.1 only
 Patch0:            bitlbee-forkdaemon.patch
 # Replace the now dead Twitter tokens with fresh ones
@@ -20,17 +20,16 @@ BuildRequires:     make
 BuildRequires:     glib2-devel >= 2.16
 BuildRequires:     gnutls-devel
 BuildRequires:     systemd-rpm-macros
 %if %{with otr}
 BuildRequires:     libotr-devel >= 4.0
 %endif
 BuildRequires:     libpurple-devel
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # Documentation (user-guide.html)
 BuildRequires:     %{_bindir}/python3
 BuildRequires:     libxslt
 BuildRequires:     docbook-style-xsl
 
 %description
 BitlBee is an IRC to other chat networks gateway. BitlBee can be used as
@@ -96,18 +95,16 @@ export CFLAGS="$RPM_OPT_FLAGS"
 %make_install install-etc install-dev install-systemd
 
 # Declarative allocation of system users and groups
 install -D -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 
 # Create some directories manually
 mkdir -p $RPM_BUILD_ROOT{%{_localstatedir}/lib,%{_libdir}}/%{name}/
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -133,16 +130,19 @@ mkdir -p $RPM_BUILD_ROOT{%{_localstatedir}/lib,%{_libdir}}/%{name}/
 %{_libdir}/pkgconfig/%{name}.pc
 
 %if %{with otr}
 %files otr
 %{_libdir}/%{name}/otr.so
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.6-18
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 3.6-16
 - convert license to SPDX
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git bodhi-server/bodhi-server.spec bodhi-server/bodhi-server.spec.tmp
index 5284e6b6d2..eeaf473813 100644
--- bodhi-server/bodhi-server.spec
+++ bodhi-server/bodhi-server.spec.tmp
@@ -1,15 +1,15 @@
 %global pypi_name bodhi-server
 %global src_name bodhi_server
 %global pypi_version 8.3.0
 
 Name:           %{pypi_name}
 Version:        %{pypi_version}
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Bodhi server
 
 License:        GPL-2.0-or-later
 URL:            https://github.com/fedora-infra/bodhi
 Source:         %{pypi_source bodhi_server}
 
 BuildArch:      noarch
 
@@ -33,17 +33,16 @@ Requires: bodhi-client >= 8.3.0
 Requires: python3-bodhi-messages >= 8.1.0
 Requires: fedora-messaging
 Requires: git
 Requires: httpd
 Requires: intltool
 Requires: python3-librepo
 Requires: python3-mod_wsgi
 
-%{?sysusers_requires_compat}
 
 Provides:  bundled(chrissimpkins-hack-fonts)
 Provides:  bundled(fedora-bootstrap) = 5.3.3-0
 Provides:  bundled(fontawesome-fonts-web) = 4.6.3
 Provides:  bundled(js-chart) = 3.8.0
 Provides:  bundled(js-jquery) = 3.6.0
 Provides:  bundled(js-messenger) = 1.4.1
 Provides:  bundled(js-moment) = 2.8.3
@@ -116,18 +115,16 @@ install -p -D -m 0644 %{name}.sysusers %{buildroot}%{_sysusersdir}/%{name}.sysus
 # For some reason the pytest fixture responsible to set the testing
 # config file url doesn't work in Koji
 export BODHI_CONFIG=$(pwd)/tests/testing.ini
 
 # sanity_checks tests rely on dnf command, but system's dnf cache is not accessible
 # within koji
 %{pytest} -v -k 'not sanity_check and not TestSanityCheckRepodata'
 
-%pre -n %{pypi_name}
-%sysusers_create_compat %{name}.sysusers
 
 
 %files -n %{pypi_name}
 %doc README.rst bodhi/server/migrations/README.rst bodhi/server/static/vendor/fedora-bootstrap/README.rst
 %{_bindir}/bodhi-approve-testing
 %{_bindir}/bodhi-check-policies
 %{_bindir}/bodhi-clean-old-composes
 %{_bindir}/bodhi-expire-overrides
@@ -155,16 +152,19 @@ export BODHI_CONFIG=$(pwd)/tests/testing.ini
 
 %files -n bodhi-composer
 %license COPYING
 %doc README.rst
 %pycached %{python3_sitelib}/bodhi/server/tasks/composer.py
 %pycached %{python3_sitelib}/bodhi/server/metadata.py
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.3.0-3
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.3.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Nov 25 2024 Mattia Verga <mattia.verga@proton.me> - 8.3.0-1
 - Update to 8.3.0
 
 * Mon Oct 28 2024 Mattia Verga <mattia.verga@proton.me> - 8.2.0-1
 - Update to 8.2.0
diff --git brltty/brltty.spec brltty/brltty.spec.tmp
index b2292a1b96..96bcd433d1 100644
--- brltty/brltty.spec
+++ brltty/brltty.spec.tmp
@@ -32,17 +32,17 @@
 
 # Filter private libraries
 %global _privatelibs libbrltty.+\.so.*
 %global __provides_exclude ^(%{_privatelibs})$
 %global __requires_exclude ^(%{_privatelibs})$
 
 Name: brltty
 Version: 6.7
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
 URL: http://brltty.app/
 Source0: http://brltty.app/archive/%{name}-%{version}.tar.xz
 Source1: brltty.service
 Source2: brlapi-config.h
 Source3: brlapi-forbuild.h
 Source4: brltty.sysusers
 Patch1: brltty-6.3-loadLibrary.patch
@@ -52,17 +52,16 @@ Patch2: brltty-6.3-libspeechd.patch
 Patch3: brltty-6.6-path-separator-fix.patch
 Summary: Braille display driver for Linux/Unix
 BuildRequires: byacc
 BuildRequires: glibc-kernheaders
 BuildRequires: gcc
 BuildRequires: bluez-libs-devel
 BuildRequires: systemd
 BuildRequires: systemd-rpm-macros
-%{?sysusers_requires_compat}
 BuildRequires: lua-devel
 BuildRequires: gettext
 BuildRequires: at-spi2-core-devel
 BuildRequires: alsa-lib-devel
 %if %{with espeak}
 BuildRequires: espeak-devel
 %endif
 BuildRequires: espeak-ng-devel
@@ -142,17 +141,17 @@ Requires: %{name}%{?_isa} = %{pkg_version}-%{release}
 Obsoletes: brltty-espeak <= 5.6-5
 %endif
 %description espeak-ng
 This package provides the eSpeak-NG driver for BRLTTY.
 
 %package -n brlapi
 Version: %{api_version}
 Summary: Application Programming Interface for BRLTTY
-Requires(pre): glibc-common, shadow-utils
+Requires(pre): glibc-common
 Requires(post): coreutils, util-linux
 %description -n brlapi
 This package provides the run-time support for the Application
 Programming Interface to BRLTTY.
 
 Install this package if you have an application which directly accesses
 a refreshable braille display.
 
@@ -541,18 +540,16 @@ find %{buildroot}%{_datadir} -type d -name 'Java' | xargs rm -rf
 %systemd_post brltty.service
 
 %preun
 %systemd_preun brltty.service
 
 %postun
 %systemd_postun_with_restart brltty.service
 
-%pre -n brlapi
-%sysusers_create_compat %{SOURCE4}
 
 %post -n brlapi
 if [ ! -e %{_sysconfdir}/brlapi.key ]; then
   mcookie > %{_sysconfdir}/brlapi.key
   chgrp brlapi %{_sysconfdir}/brlapi.key
   chmod 0640 %{_sysconfdir}/brlapi.key
 fi
 %{?ldconfig}
@@ -673,16 +670,19 @@ fi
 
 %files dracut
 %{_prefix}/lib/dracut/modules.d/99brltty/
 %dir %{_sysconfdir}/brltty/Initramfs
 %config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/dracut.conf
 %config(noreplace) %verify(not size md5 mtime) %{_sysconfdir}/brltty/Initramfs/cmdline
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.7-7
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.7-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Jan 14 2025 Gwyn Ciesla <gwync@protonmail.com> - 6.7-5
 - Update to use tcl8 compat.
 
 * Fri Jan 10 2025 Jerry James <loganjerry@gmail.com> - 6.7-4
 - OCaml 5.3.0 rebuild for Fedora 42
diff --git caddy/caddy.spec caddy/caddy.spec.tmp
index b9a59e7b29..32d2fa3c18 100644
--- caddy/caddy.spec
+++ caddy/caddy.spec.tmp
@@ -3,17 +3,17 @@
 %if %{defined el8}
 %global gotest() go test -short -compiler gc -ldflags "${LDFLAGS:-}" %{?**};
 %else
 %global gotestflags %{gocompilerflags} -short
 %endif
 
 Name:           caddy
 Version:        2.9.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Web server with automatic HTTPS
 
 # main source code is Apache-2.0
 # see comments above provides tags for bundled license breakdown
 License:        Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND BSD-2-Clause-Views AND CC0-1.0 AND ISC AND MPL-2.0
 URL:            https://caddyserver.com
 Source0:        https://%{goipath}/archive/v%{version}/caddy-%{version}.tar.gz
 
@@ -327,17 +327,16 @@ Provides:       bundled(golang(google.golang.org/protobuf)) = 1.35.1
 Provides:       bundled(golang(gopkg.in/natefinch/lumberjack.v2)) = 2.2.1
 # gopkg.in/yaml.v3 : Apache-2.0 AND MIT
 Provides:       bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
 # howett.net/plist : BSD-2-Clause-Views AND BSD-3-Clause
 Provides:       bundled(golang(howett.net/plist)) = 1.0.0
 
 BuildRequires:  systemd-rpm-macros
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 Requires:       system-logos-httpd
 Provides:       webserver
 
 
 %description
 Caddy is an extensible server platform that uses TLS by default.
 
 
@@ -404,18 +403,16 @@ install -d -m 0755 %{buildroot}%{fish_completions_dir}
 [[ "$(./bin/caddy version)" == "v%{version}" ]] || exit 1
 
 # run the upstream tests
 export GOPATH=$PWD
 cd src/%{goipath}
 %gotest ./...
 
 
-%pre
-%sysusers_create_compat %{S:22}
 
 
 %post
 %systemd_post caddy.service
 
 if [ -x /usr/sbin/getsebool ]; then
     # connect to ACME endpoint to request certificates
     setsebool -P httpd_can_network_connect on
@@ -485,16 +482,19 @@ fi
 %dir %{_datadir}/fish/vendor_completions.d
 %endif
 %{bash_completions_dir}/caddy
 %{zsh_completions_dir}/_caddy
 %{fish_completions_dir}/caddy.fish
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.9.1-4
+- Drop call to %sysusers_create_compat
+
 * Wed Jan 22 2025 Carl George <carlwgeorge@fedoraproject.org> - 2.9.1-3
 - Run tests with -short flag like upstream to avoid test failures
 - Resolves FTBFS rhbz#2339573 rhbz#2339954
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 08 2025 Carl George <carlwgeorge@fedoraproject.org> - 2.9.1-1
diff --git chrony/chrony.spec chrony/chrony.spec.tmp
index 3a4449aaf3..5568da3141 100644
--- chrony/chrony.spec
+++ chrony/chrony.spec.tmp
@@ -4,17 +4,17 @@
 %bcond_without nts
 
 %ifarch %{ix86} x86_64 %{arm} aarch64 mipsel mips64el ppc64 ppc64le s390 s390x
 %bcond_without seccomp
 %endif
 
 Name:           chrony
 Version:        4.6.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        An NTP client/server
 
 License:        GPL-2.0-only
 URL:            https://chrony-project.org
 Source0:        https://chrony-project.org/releases/chrony-%{version}%{?prerelease}.tar.gz
 Source1:        https://chrony-project.org/releases/chrony-%{version}%{?prerelease}-tar-gz-asc.txt
 Source2:        https://chrony-project.org/gpgkey-8F375C7E8D0EE125A3D3BD51537E2B76F7680DAC.asc
 Source3:        chrony.dhclient
@@ -27,17 +27,16 @@ Source10:       https://gitlab.com/chrony/clknetsim/-/archive/master/clknetsim-%
 Patch1:         chrony-nm-dispatcher-dhcp.patch
 
 BuildRequires:  libcap-devel libedit-devel nettle-devel pps-tools-devel
 BuildRequires:  gcc gcc-c++ make bison systemd gnupg2
 %{?with_nts:BuildRequires: gnutls-devel gnutls-utils}
 %{?with_seccomp:BuildRequires: libseccomp-devel}
 
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # Needed by the leapseclist directive in default chrony.conf
 Requires:       tzdata
 
 # Old NetworkManager expects the dispatcher scripts in a different place
 Conflicts:      NetworkManager < 1.20
 
 # suggest drivers for hardware reference clocks
@@ -156,18 +155,16 @@ echo 'chronyd.service' > \
         $RPM_BUILD_ROOT%{_prefix}/lib/systemd/ntp-units.d/50-chronyd.list
 
 %check
 # set random seed to get deterministic results
 export CLKNETSIM_RANDOM_SEED=24508
 %make_build -C test/simulation/clknetsim
 make quickcheck
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 %post
 # migrate from chrony-helper to sourcedir directive
 if test -a %{_libexecdir}/chrony-helper; then
         grep -qi 'sourcedir /run/chrony-dhcp$' %{_sysconfdir}/chrony.conf 2> /dev/null || \
                 echo -e '\n# Use NTP servers from DHCP.\nsourcedir /run/chrony-dhcp' >> \
                         %{_sysconfdir}/chrony.conf
         mkdir -p /run/chrony-dhcp
@@ -200,16 +197,19 @@ fi
 %{_sysusersdir}/chrony.conf
 %{_mandir}/man[158]/%{name}*.[158]*
 %dir %attr(750,chrony,chrony) %{_localstatedir}/lib/chrony
 %ghost %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony/drift
 %ghost %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony/rtc
 %dir %attr(750,chrony,chrony) %{_localstatedir}/log/chrony
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.6.1-3
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 08 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.6.1-1
 - update to 4.6.1
 
 * Mon Sep 02 2024 Miroslav Lichvar <mlichvar@redhat.com> 4.6-1
 - update to 4.6
RPMAutoSpec usage detected, not changing the spec file.
diff --git colord/colord.spec colord/colord.spec.tmp
index 76bcee9ba6..6dcd74cc83 100644
--- colord/colord.spec
+++ colord/colord.spec.tmp
@@ -41,17 +41,16 @@ BuildRequires: pkgconfig(systemd)
 %if 0%{?enable_sane}
 BuildRequires: pkgconfig(dbus-1)
 BuildRequires: pkgconfig(sane-backends)
 %endif
 
 Requires: color-filesystem
 BuildRequires: systemd, systemd-rpm-macros
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 Requires: colord-libs%{?_isa} = %{version}-%{release}
 
 # Self-obsoletes to fix the multilib upgrade path
 Obsoletes: colord < 0.1.27-3
 
 # obsolete separate profiles package
 Obsoletes: shared-color-profiles <= 0.1.6-2
 Provides: shared-color-profiles
@@ -135,18 +134,16 @@ ulimit -Sv 2000000
 install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/colord.conf
 
 # databases
 touch $RPM_BUILD_ROOT%{_localstatedir}/lib/colord/mapping.db
 touch $RPM_BUILD_ROOT%{_localstatedir}/lib/colord/storage.db
 
 %find_lang %{name}
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post colord.service
 
 %preun
 %systemd_preun colord.service
 
 %postun
RPMAutoSpec usage detected, not changing the spec file.
diff --git cosmic-greeter/cosmic-greeter.spec cosmic-greeter/cosmic-greeter.spec.tmp
index 05039b9fcf..7b28ae75a8 100644
--- cosmic-greeter/cosmic-greeter.spec
+++ cosmic-greeter/cosmic-greeter.spec.tmp
@@ -41,17 +41,16 @@ BuildRequires:  wayland-devel
 BuildRequires:  clang-devel
 BuildRequires:  libxkbcommon-devel
 BuildRequires:  pam-devel
 BuildRequires:  just
 BuildRequires:  libudev-devel
 BuildRequires:  libinput-devel
 
 BuildRequires:   systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 Requires:       dbus
 Requires:       greetd
 Requires:       greetd-selinux
 # fprintd-pam is required to start sessions (unclear why)
 Requires:       fprintd-pam
 Requires:       pam
 Requires:       cosmic-comp >= %{cosmic_minver}
@@ -105,18 +104,16 @@ install -Dm0644 debian/greetd.pam %{buildroot}/%{_sysconfdir}/pam.d/cosmic-greet
 %if %{with check}
 %check
 # Set vergen environment variables
 export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'"
 export VERGEN_GIT_SHA="%{commit}"
 %cargo_test
 %endif
 
-%pre
-%sysusers_create_compat debian/cosmic-greeter.sysusers
 
 %post
 %systemd_post cosmic-greeter.service
 %systemd_post cosmic-greeter-daemon.service
 
 %preun
 %systemd_preun cosmic-greeter.service
 %systemd_preun cosmic-greeter-daemon.service
diff --git coturn/coturn.spec coturn/coturn.spec.tmp
index 40ee05e53a..6bcef61bf4 100644
--- coturn/coturn.spec
+++ coturn/coturn.spec.tmp
@@ -1,11 +1,11 @@
 Name:           coturn
 Version:        4.6.3
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        TURN/STUN & ICE Server
 # MIT (src/{apps/relay/acme.c,server/ns_turn_khash.h} and BSD-3-Clause (the rest)
 License:        BSD-3-Clause AND MIT
 URL:            https://github.com/coturn/coturn/
 Source0:        https://github.com/coturn/coturn/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:        coturn.service
 Source2:        coturn.tmpfilesd
 Source3:        coturn.logrotate
@@ -24,17 +24,16 @@ BuildRequires:  mariadb-connector-c-devel
 Recommends:     perl-interpreter
 Recommends:     perl(DBI)
 Recommends:     perl(HTTP::Request::Common)
 Recommends:     perl(strict)
 Recommends:     perl(warnings)
 Recommends:     telnet
 Provides:       turnserver = %{version}
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 The Coturn TURN Server is a VoIP media traffic NAT traversal server and gateway.
 It can be used as a general-purpose network traffic TURN server/gateway, too.
 
 This implementation also includes some extra features. Supported RFCs:
 
 TURN specs:
@@ -152,18 +151,16 @@ make test
 
 # Check if turnserver is really linked against MariaDB, PostgreSQL and systemd,
 # because ./configure unfortunately has no proper failure mechanism...
 ldd %{buildroot}%{_bindir}/turnserver | grep -q libmariadb.so
 ldd %{buildroot}%{_bindir}/turnserver | grep -q libpq.so
 ldd %{buildroot}%{_bindir}/turnserver | grep -q libsystemd.so
 
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -237,16 +234,19 @@ ldd %{buildroot}%{_bindir}/turnserver | grep -q libsystemd.so
 %license LICENSE
 %dir %{_includedir}/turn
 %{_includedir}/turn/*.h
 %dir %{_includedir}/turn/client
 %{_includedir}/turn/client/*
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.6.3-3
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.3-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Dec 11 2024 Robert Scheck <robert@fedoraproject.org> - 4.6.3-1
 - Upgrade to 4.6.3 (#2331737)
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.2-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git cyrus-sasl/cyrus-sasl.spec cyrus-sasl/cyrus-sasl.spec.tmp
index 41393d14dd..48df26a862 100644
--- cyrus-sasl/cyrus-sasl.spec
+++ cyrus-sasl/cyrus-sasl.spec.tmp
@@ -58,17 +58,16 @@ BuildRequires: openldap-devel
 %endif
 %if %{bdb_migration}
 #build reqs for migration from BerkeleyDB
 BuildRequires: libdb-devel-static
 %endif
 #build reqs for make check
 BuildRequires: python3 nss_wrapper socket_wrapper krb5-server
 BuildRequires: make
-Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd
 Requires(postun): /usr/sbin/userdel /usr/sbin/groupdel
 Requires: /sbin/nologin
 Provides: user(%username)
 Provides: group(%username)
 
 %if "%{_sbindir}" == "%{_bindir}"
 # Compat symlinks for Requires in other packages.
 # We rely on filesystem to create the symlinks for us.
@@ -319,18 +318,16 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/libotp.*
 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.a
 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 rm -f $RPM_BUILD_ROOT%{_mandir}/cat8/saslauthd.8
 
 %check
 make check %{?_smp_mflags}
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %post
 %systemd_post saslauthd.service
 
 %preun
 %systemd_preun saslauthd.service
 
 %postun
RPMAutoSpec usage detected, not changing the spec file.
diff --git deepin-api/deepin-api.spec deepin-api/deepin-api.spec.tmp
index 70fbe39f34..866d035b4c 100644
--- deepin-api/deepin-api.spec
+++ deepin-api/deepin-api.spec.tmp
@@ -95,18 +95,16 @@ mv -v %{buildroot}%{_prefix}/lib/%{name}/sound-theme-player \
 ln -s ../../libexec/%{name}/sound-theme-player \
       %{buildroot}%{_prefix}/lib/%{name}/sound-theme-player
 
 %if %{with check}
 %check
 %gocheck
 %endif
 
-%pre
-%sysusers_create_compat archlinux/%{name}.sysusers
 
 %post
 %systemd_post deepin-shutdown-sound.service
 
 %preun
 %systemd_preun deepin-shutdown-sound.service
 
 %postun
RPMAutoSpec usage detected, not changing the spec file.
diff --git dhcpcd/dhcpcd.spec dhcpcd/dhcpcd.spec.tmp
index f25db84d7d..4080af8137 100644
--- dhcpcd/dhcpcd.spec
+++ dhcpcd/dhcpcd.spec.tmp
@@ -53,18 +53,16 @@ through NDP, DHCPv4 and DHCPv6 protocols.
 %install
 export BINMODE=755
 %make_install
 find %{buildroot} -name '*.la' -delete -print
 install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
 install -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}@.service
 install -d %{buildroot}%{_sharedstatedir}/%{_name}
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
diff --git dnsmasq/dnsmasq.spec dnsmasq/dnsmasq.spec.tmp
index 999140efb0..08165e0253 100644
--- dnsmasq/dnsmasq.spec
+++ dnsmasq/dnsmasq.spec.tmp
@@ -18,17 +18,17 @@
 %global gittag v%{version}%{?extraversion}
 
 
 # Attempt to prepare source-git with downstream repos
 %bcond_with sourcegit
 
 Name:           dnsmasq
 Version:        2.90
-Release:        5%{?extraversion:.%{extraversion}}%{?dist}
+Release:        6%{?extraversion:.%{extraversion}}%{?dist}
 Summary:        A lightweight DHCP/caching DNS server
 
 # SPDX identifiers already
 License:        GPL-2.0-only OR GPL-3.0-only
 URL:            http://www.thekelleys.org.uk/dnsmasq/
 VCS:            git:%{forgeurl0}
 Source0:        %{url}%{?extrapath}%{name}-%{version}%{?extraversion}.tar.xz
 Source1:        %{name}.service
@@ -175,19 +175,16 @@ rm -rf %{buildroot}%{_initrddir}
 #install systemd sysuser file
 install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf
 
 %if %{with i18n}
 %make_install PREFIX=/usr install-i18n
 %find_lang %{name} --with-man
 %endif
 
-%pre
-#precreate users so that rpm can install files owned by that user
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post dnsmasq.service
 
 %preun
 %systemd_preun dnsmasq.service
 
 %postun
@@ -212,16 +209,19 @@ install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf
 %{_bindir}/dhcp_*
 %{_mandir}/man1/dhcp_*
 
 %if %{with i18n}
 %files langpack -f %{name}.lang
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.90-6
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.90-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 27 2024 Dmitry Konishchev <konishchev@gmail.com> - 2.90-4
 - Enable nftables sets support
 
 * Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.90-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git dovecot/dovecot.spec dovecot/dovecot.spec.tmp
index 9c6b883899..0e0d462ccc 100644
--- dovecot/dovecot.spec
+++ dovecot/dovecot.spec.tmp
@@ -1,17 +1,17 @@
 %global __provides_exclude_from %{_docdir}
 %global __requires_exclude_from %{_docdir}
 
 Summary: Secure imap and pop3 server
 Name: dovecot
 Epoch: 1
 Version: 2.3.21.1
 %global prever %{nil}
-Release: 3%{?dist}
+Release: 4%{?dist}
 #dovecot itself is MIT, a few sources are PD, pigeonhole is LGPLv2
 License: MIT AND LGPL-2.1-only
 
 URL: https://www.dovecot.org/
 Source: https://www.dovecot.org/releases/2.3/%{name}-%{version}%{?prever}.tar.gz
 Source1: dovecot.init
 Source2: dovecot.pam
 %global pigeonholever 0.5.21.1
@@ -92,17 +92,16 @@ BuildRequires: systemd-rpm-macros
 # gettext-devel is needed for running autoconf because of the
 # presence of AM_ICONV
 BuildRequires: gettext-devel
 
 # Explicit Runtime Requirements for executalbe
 Requires: openssl >= 0.9.7f-4
 
 # Package includes an initscript service file, needs to require initscripts package
-Requires(pre): shadow-utils
 Requires: systemd
 Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
 %global ssldir %{_sysconfdir}/pki/%{name}
 
 BuildRequires: libcurl-devel expat-devel
@@ -313,19 +312,16 @@ find $RPM_BUILD_ROOT%{_libdir}/%{name}/ -name '*.la' | xargs rm -f
 #remove what we don't want
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dovecot/README
 pushd docinstall
 rm -f securecoding.txt thread-refs.txt
 popd
 
 
 %pre
-#dovecot uid and gid are reserved, see /usr/share/doc/setup-*/uidgid 
-%sysusers_create_compat %{SOURCE16}
-
 # do not let dovecot run during upgrade rhbz#134325
 if [ "$1" = "2" ]; then
   rm -f %restart_flag
   /bin/systemctl is-active %{name}.service >/dev/null 2>&1 && touch %restart_flag ||:
   /bin/systemctl stop %{name}.service >/dev/null 2>&1
 fi
 
 %post
@@ -515,16 +511,19 @@ make check
 %{_libdir}/%{name}/dict/libdriver_mysql.so
 
 %files pgsql
 %{_libdir}/%{name}/libdriver_pgsql.so
 %{_libdir}/%{name}/auth/libdriver_pgsql.so
 %{_libdir}/%{name}/dict/libdriver_pgsql.so
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:2.3.21.1-4
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.3.21.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Oct 02 2024 Michal Hlavinka <mhlavink@redhat.com> - 1:2.3.21.1-2
 - pigeonhole updated to 0.5.21.1
 
 * Mon Aug 19 2024 Michal Hlavinka <mhlavink@redhat.com> - 1:2.3.21.1-1
 - updated to 2.3.21.1(2304907)
diff --git fastnetmon/fastnetmon.spec fastnetmon/fastnetmon.spec.tmp
index 1e6dd1fb91..0e3a3e9885 100644
--- fastnetmon/fastnetmon.spec
+++ fastnetmon/fastnetmon.spec.tmp
@@ -6,17 +6,17 @@
 # We use commit version as we're still in progress of testing FastNetMon on Fedora.
 # We're planning to cut next stable release in next few weeks
 %global  commit0 420e7b873253fdc1b52b517d9c28db39bf384427
 %global  shortcommit0 %(c=%{commit0}; echo ${c:0:7})
 %global  date 20220528
 
 Name:              fastnetmon
 Version:           1.2.1
-Release:           21.%{date}git%{shortcommit0}%{?dist}
+Release:           22.%{date}git%{shortcommit0}%{?dist}
 
 Summary:           DDoS detection tool with sFlow, Netflow, IPFIX and port mirror support
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:           GPL-2.0-only
 URL:               https://fastnetmon.com
 
 Source0:           https://github.com/pavel-odintsov/fastnetmon/archive/%{commit0}.tar.gz
 Source1:           fastnetmon.sysusers
@@ -41,17 +41,16 @@ BuildRequires:     grpc-devel
 BuildRequires:     grpc-cpp
 BuildRequires:     abseil-cpp-devel
 BuildRequires:     grpc-plugins
 BuildRequires:     mongo-c-driver-devel
 BuildRequires:     json-c-devel
 BuildRequires:     systemd
 BuildRequires:     systemd-rpm-macros
 
-Requires(pre):     shadow-utils
 
 %{?systemd_requires}
 
 %description
 DDoS detection tool with sFlow, Netflow, IPFIX and port mirror support.
 
 %prep
 %autosetup -n %{name}-%{commit0} -p1
@@ -82,18 +81,16 @@ install -p -D -m 0755 %__cmake_builddir/fastnetmon_api_client %{buildroot}%{_bin
 install -p -D -m 0644 src/fastnetmon.conf %{buildroot}%{fastnetmon_config_path}
 
 # Create log folder
 install -p -d -m 0700 %{buildroot}%{fastnetmon_attackdir}
 
 # Create sysuser manifest to create dynamic user for us
 install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/fastnetmon.conf
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post fastnetmon.service
 
 %preun
 %systemd_preun fastnetmon.service
 
 %postun
@@ -112,16 +109,19 @@ install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/fastnetmon.conf
 
 %config(noreplace) %{fastnetmon_config_path}
 %attr(700,%{fastnetmon_user},%{fastnetmon_group}) %dir %{fastnetmon_attackdir}
 
 %license LICENSE
 %doc README.md SECURITY.md THANKS.md
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.1-22.20220528git420e7b8
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-21.20220528git420e7b8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Aug 25 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 1.2.1-20.20220528git420e7b8
 - Rebuilt for abseil-cpp-20240722.0
 
 * Sat Aug 17 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 1.2.1-19.20220528git420e7b8
 - Disable deprecated-in-Fedora OpenSSL engine support in Boost.Asio
diff --git flatpak/flatpak.spec flatpak/flatpak.spec.tmp
index a70139d063..7ce37bc36b 100644
--- flatpak/flatpak.spec
+++ flatpak/flatpak.spec.tmp
@@ -7,17 +7,17 @@
 %global wayland_protocols_version 1.32
 %global wayland_scanner_version 1.15
 
 # Disable parental control for RHEL builds
 %bcond malcontent %[!0%{?rhel}]
 
 Name:           flatpak
 Version:        1.16.0
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Application deployment framework for desktop apps
 
 License:        LGPL-2.1-or-later
 URL:            https://flatpak.org/
 Source0:        https://github.com/flatpak/flatpak/releases/download/%{version}/%{name}-%{version}.tar.xz
 
 %if 0%{?fedora}
 # Add Fedora flatpak repositories
@@ -70,17 +70,16 @@ BuildRequires:  systemd
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  /usr/bin/fusermount3
 BuildRequires:  /usr/bin/pkcheck
 BuildRequires:  /usr/bin/socat
 BuildRequires:  /usr/bin/xdg-dbus-proxy
 BuildRequires:  /usr/bin/xmlto
 BuildRequires:  /usr/bin/xsltproc
 
-%{?sysusers_requires_compat}
 
 Requires:       appstream%{?_isa} >= %{appstream_version}
 Requires:       bubblewrap >= %{bubblewrap_version}
 Requires:       glib2%{?_isa} >= %{glib_version}
 Requires:       libcurl%{?_isa} >= %{libcurl_version}
 Requires:       librsvg2%{?_isa}
 Requires:       ostree-libs%{?_isa} >= %{ostree_version}
 Requires:       /usr/bin/fusermount3
@@ -180,18 +179,16 @@ install -d %{buildroot}%{_localstatedir}/lib/flatpak
 install -d %{buildroot}%{_sysconfdir}/flatpak/remotes.d
 
 %if 0%{?fedora}
 install -D -t %{buildroot}%{_unitdir} %{SOURCE1}
 %endif
 
 %find_lang %{name}
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 
 %if 0%{?fedora}
 %post
 %systemd_post flatpak-add-fedora-repos.service
 %endif
 
 
@@ -291,16 +288,19 @@ fi
 %{_userunitdir}/flatpak-session-helper.service
 
 %files tests
 %{_datadir}/installed-tests
 %{_libexecdir}/installed-tests
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.16.0-3
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jan 13 2025 David King <amigadave@amigadave.com> - 1.16.0-1
 - Update to 1.16.0 (#2336719)
 
 * Sat Dec 21 2024 David King <amigadave@amigadave.com> - 1.15.91-1
 - Update to 1.15.91 (#2333542)
diff --git freeradius/freeradius.spec freeradius/freeradius.spec.tmp
index d21666f917..8672e73393 100644
--- freeradius/freeradius.spec
+++ freeradius/freeradius.spec.tmp
@@ -1,12 +1,12 @@
 Summary: High-performance and highly configurable free RADIUS server
 Name: freeradius
 Version: 3.2.5
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: GPL-2.0-or-later AND LGPL-2.0-or-later
 URL: http://www.freeradius.org/
 
 # Is elliptic curve cryptography supported?
 %if 0%{?rhel} >= 7 || 0%{?fedora} >= 20
 %global HAVE_EC_CRYPTO 1
 %else
 %global HAVE_EC_CRYPTO 0
@@ -53,17 +53,17 @@ BuildRequires: systemd-rpm-macros
 %if ! 0%{?rhel}
 BuildRequires: libyubikey-devel
 BuildRequires: ykclient-devel
 %endif
 
 # Require OpenSSL version we built with, or newer, to avoid startup failures
 # due to runtime OpenSSL version checks.
 Requires: openssl >= %(rpm -q --queryformat '%%{EPOCH}:%%{VERSION}' openssl)
-Requires(pre): shadow-utils glibc-common
+Requires(pre): glibc-common
 Requires(post): systemd-sysv
 Requires(post): systemd-units
 # Needed for certificate generation as upstream bootstrap script isn't
 # compatible with Makefile equivalent.
 Requires: make
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
@@ -352,18 +352,16 @@ http://wiki.freeradius.org/guide/Red-Hat-FAQ
 Please reference that document.
 
 All documentation is in the freeradius-doc sub-package.
 
 EOF
 
 
 # Make sure our user/group is present prior to any package or subpackage installation
-%pre
-%sysusers_create_compat %{SOURCE105}
 
 %preun
 %systemd_preun radiusd.service
 
 %postun
 %systemd_postun_with_restart radiusd.service
 
 /bin/systemctl try-restart radiusd.service >/dev/null 2>&1 || :
@@ -897,16 +895,19 @@ EOF
 %files unixODBC
 %{_libdir}/freeradius/rlm_sql_unixodbc.so
 
 %files rest
 %{_libdir}/freeradius/rlm_rest.so
 %attr(640,root,radiusd) %config(noreplace) /etc/raddb/mods-available/rest
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.5-6
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 23 2025 Antonio Torres <antorres@redhat.com> - 3.2.5-5
 - Fix usage of /usr/sbin according to https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
 
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.5-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Nov 06 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 3.2.5-3
 - Drop openssl-devel-engine dependency
diff --git frr/frr.spec frr/frr.spec.tmp
index fb51e95101..0d000362e5 100644
--- frr/frr.spec
+++ frr/frr.spec.tmp
@@ -4,17 +4,17 @@
 %global selinuxtype targeted
 %define _legacy_common_support 1
 
 %bcond grpc %{undefined rhel}
 %bcond selinux 1
 
 Name:           frr
 Version:        10.2
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Routing daemon
 License:        GPL-2.0-or-later AND ISC AND LGPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later  OR ISC) AND MIT
 URL:            http://www.frrouting.org
 Source0:        https://github.com/FRRouting/frr/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
 Source1:        %{name}-tmpfiles.conf
 Source2:        %{name}-sysusers.conf
 #Decentralized SELinux policy
 Source3:        frr.fc
@@ -65,17 +65,16 @@ BuildRequires:  readline-devel
 BuildRequires:  systemd-devel
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  texinfo
 BuildRequires:  protobuf-c-devel
 
 Requires:       ncurses
 Requires:       net-snmp
 Requires(post): hostname
-%{?sysusers_requires_compat}
 Requires(post): systemd
 Requires(postun): systemd
 Requires(preun): systemd
 
 %if 0%{?with_selinux}
 Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype})
 %endif
 
@@ -190,18 +189,16 @@ install -D -m 644 selinux/%{name}.if %{buildroot}%{_datadir}/selinux/devel/inclu
 
 # Delete libtool archives
 find %{buildroot} -type f -name "*.la" -delete -print
 
 #Upstream does not maintain a stable API, these headers from -devel subpackage are no longer needed
 rm %{buildroot}%{_libdir}/frr/*.so
 rm -r %{buildroot}%{_includedir}/frr/
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post frr.service
 
 # Create dummy files if they don't exist so basic functions can be used.
 if [ ! -e %{_sysconfdir}/frr/frr.conf ]; then
     echo "hostname `hostname`" > %{_sysconfdir}/frr/frr.conf
     chown frr:frr %{_sysconfdir}/frr/frr.conf
@@ -279,16 +276,19 @@ rm tests/lib/*grpc*
 %if 0%{?with_selinux}
 %files selinux
 %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.*
 %{_datadir}/selinux/devel/include/distributed/%{name}.if
 %ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 10.2-5
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 10.2-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jan 04 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 10.2-3
 - Drop i686 support (leaf package)
 
 * Thu Dec 05 2024 Michal Ruprich <mruprich@redhat.com> - 10.2-2
 - Resolves: rhbz#2329643 - upgrading frr to 10.2 causes pimd crashes
RPMAutoSpec usage detected, not changing the spec file.
diff --git gdm/gdm.spec gdm/gdm.spec.tmp
index a5354b64fb..d0a59934bf 100644
--- gdm/gdm.spec
+++ gdm/gdm.spec.tmp
@@ -70,17 +70,16 @@ Requires: /sbin/nologin
 Requires: systemd >= 186
 Requires: system-logos
 Requires: python3-pam
 
 # Until the greeter gets dynamic user support, it can't
 # use a user bus
 Requires: /usr/bin/dbus-run-session
 
-%{?sysusers_requires_compat}
 
 Provides: gdm-libs%{?_isa} = %{epoch}:%{version}-%{release}
 
 %description
 GDM, the GNOME Display Manager, handles authentication-related backend
 functionality for logging in a user and unlocking the user's session after
 it's been locked. GDM also provides functionality for initiating user-switching,
 so more than one user can be logged in at the same time. It handles
@@ -147,18 +146,16 @@ mkdir -p %{buildroot}/var/log/gdm
 mkdir -p %{buildroot}%{_datadir}/gdm/autostart/LoginWindow
 
 mkdir -p %{buildroot}/run/gdm
 
 mkdir -p %{buildroot}%{_sysconfdir}/dconf/db/gdm.d/locks
 
 %find_lang gdm --with-gnome
 
-%pre
-%sysusers_create_compat %{SOURCE6}
 
 %post
 # if the user already has a config file, then migrate it to the new
 # location; rpm will ensure that old file will be renamed
 
 custom=/etc/gdm/custom.conf
 
 if [ $1 -ge 2 ] ; then
diff --git geoclue2/geoclue2.spec geoclue2/geoclue2.spec.tmp
index 6ab1576c85..67f575c212 100644
--- geoclue2/geoclue2.spec
+++ geoclue2/geoclue2.spec.tmp
@@ -1,11 +1,11 @@
 Name:           geoclue2
 Version:        2.7.0
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        Geolocation service
 
 License:        GPL-2.0-or-later
 URL:            http://www.freedesktop.org/wiki/Software/GeoClue/
 Source0:        https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/%{version}/geoclue-%{version}.tar.bz2
 Source1:        geoclue2.sysusers
 
 BuildRequires:  avahi-glib-devel
@@ -15,17 +15,16 @@ BuildRequires:  gobject-introspection-devel
 BuildRequires:  gtk-doc
 BuildRequires:  json-glib-devel
 BuildRequires:  libsoup3-devel
 BuildRequires:  meson
 BuildRequires:  ModemManager-glib-devel
 BuildRequires:  systemd, systemd-rpm-macros
 BuildRequires:  vala
 Requires:       dbus
-%{?sysusers_requires_compat}
 
 Obsoletes:      geoclue2-server < 2.1.8
 
 Obsoletes:      geoclue < 0.12.99-10
 Obsoletes:      geoclue-devel < 0.12.99-10
 Obsoletes:      geoclue-gsmloc < 0.12.99-10
 Obsoletes:      geoclue-gui < 0.12.99-10
 Obsoletes:      geoclue-gypsy < 0.12.99-10
@@ -80,19 +79,16 @@ The %{name}-demos package contains demo applications that use %{name}.
 %install
 %meson_install
 install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/geoclue2.conf
 
 # Home directory for the 'geoclue' user
 mkdir -p $RPM_BUILD_ROOT/var/lib/geoclue
 
 
-%pre
-%sysusers_create_compat %{SOURCE1}
-exit 0
 
 %post
 %systemd_post geoclue.service
 
 %preun
 %systemd_preun geoclue.service
 
 %postun
@@ -141,16 +137,19 @@ exit 0
 %{_libdir}/libgeoclue-2.so
 
 %files demos
 %{_libexecdir}/geoclue-2.0/demos/where-am-i
 %{_datadir}/applications/geoclue-where-am-i.desktop
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.7.0-8
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git gerbera/gerbera.spec gerbera/gerbera.spec.tmp
index 2ced408837..74e46e850f 100644
--- gerbera/gerbera.spec
+++ gerbera/gerbera.spec.tmp
@@ -1,11 +1,11 @@
 Name:           gerbera
 Version:        2.4.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        UPnP Media Server
 License:        GPL-2.0-only AND MIT AND OFL-1.1
 Url:            https://gerbera.io
 Source0:        https://github.com/gerbera/gerbera/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:        config.xml
 Source2:        gerbera-sysusers.conf
 
 BuildRequires:  gcc
@@ -21,17 +21,16 @@ BuildRequires:  libexif-devel
 BuildRequires:  exiv2-devel
 BuildRequires:  cmake
 BuildRequires:  zlib-devel
 BuildRequires:  libebml-devel
 BuildRequires:  libmatroska-devel
 BuildRequires:  spdlog-devel
 BuildRequires:  pugixml-devel
 BuildRequires:  mariadb-connector-c-devel
-%{?sysusers_requires_compat}
 %{?systemd_ordering}
 BuildRequires:  systemd
 BuildRequires:  systemd-devel
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  make
 Requires:       %{name}-data = %{version}-%{release}
 
 %description
@@ -85,18 +84,16 @@ cat > %{buildroot}%{_sysconfdir}/logrotate.d/%{name} << 'EOF'
 create 644 gerbera gerbera
       monthly
       compress
       missingok
 }
 EOF
 
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post gerbera.service
 
 %preun
 %systemd_preun gerbera.service
 
 %postun
@@ -117,16 +114,19 @@ EOF
 
 %files data
 %{_datadir}/%{name}/
 %config(noreplace) %{_datadir}/%{name}/js/import.js
 %config(noreplace) %{_datadir}/%{name}/js/playlists.js
 %config(noreplace) %{_datadir}/%{name}/js/common.js
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4.1-3
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Jan 07 2025 Gwyn Ciesla <gwync@protonmail.com> - 2.4.1-1
 - 2.4.1
 
 * Tue Jan 07 2025 Gwyn Ciesla <gwync@protonmail.com> - 2.4.0-1
 - 2.4.0
RPMAutoSpec usage detected, not changing the spec file.
diff --git golang-github-prometheus/golang-github-prometheus.spec golang-github-prometheus/golang-github-prometheus.spec.tmp
index 4f93c22b6a..6bb058dd1b 100644
--- golang-github-prometheus/golang-github-prometheus.spec
+++ golang-github-prometheus/golang-github-prometheus.spec.tmp
@@ -168,17 +168,16 @@ BuildRequires:  golang(github.com/simonpasquier/klog-gokit/v2)
 %if %{with check}
 # Tests
 BuildRequires:  golang(k8s.io/apimachinery/pkg/types)
 BuildRequires:  golang(k8s.io/apimachinery/pkg/version)
 BuildRequires:  golang(k8s.io/client-go/discovery/fake)
 BuildRequires:  golang(k8s.io/client-go/kubernetes/fake)
 %endif
 
-Requires(pre): shadow-utils
 
 %description
 %{common_description}
 
 %gopkg
 
 %prep
 %goprep
@@ -220,18 +219,16 @@ mkdir -vp %{buildroot}/%{_mandir}/man1/
     %{buildroot}/%{_mandir}/man1/%{shortname}.1
 %{buildroot}%{_bindir}/promtool --help-man > \
     %{buildroot}/%{_mandir}/man1/promtool.1
 sed -i '/^  /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus \\- The Prometheus monitoring server' \
     %{buildroot}/%{_mandir}/man1/%{shortname}.1
 sed -i '/^  /d; /^.SH "NAME"/,+1c.SH "NAME"\npromtool \\- Tooling for the Prometheus monitoring system' \
     %{buildroot}/%{_mandir}/man1/promtool.1
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post %{shortname}.service
 
 %preun
 %systemd_preun %{shortname}.service
 
 %postun
RPMAutoSpec usage detected, not changing the spec file.
diff --git golang-github-prometheus-alertmanager/golang-github-prometheus-alertmanager.spec golang-github-prometheus-alertmanager/golang-github-prometheus-alertmanager.spec.tmp
index 474ea8b9da..efd0e5e7ee 100644
--- golang-github-prometheus-alertmanager/golang-github-prometheus-alertmanager.spec
+++ golang-github-prometheus-alertmanager/golang-github-prometheus-alertmanager.spec.tmp
@@ -31,17 +31,16 @@ Source4:        %{shortname}.yml
 Source5:        README.templates
 Source6:        %{shortname}.logrotate
 # Replace defaults paths for config files
 Patch:          0003-Debian-defaults.patch
 # https://github.com/prometheus/alertmanager/pull/3806
 Patch:          3806.patch
 
 BuildRequires:  systemd-rpm-macros
-Requires(pre): shadow-utils
 
 %description %{common_description}
 
 %gopkg
 
 %prep
 %goprep -A
 %autopatch -p1
@@ -86,18 +85,16 @@ mkdir -vp %{buildroot}/%{_mandir}/man1/
     %{buildroot}/%{_mandir}/man1/amtool.1
 sed -i '/^  /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus-alertmanager \\- The Prometheus alert manager' \
     %{buildroot}/%{_mandir}/man1/%{shortname}.1
 sed -i '/^  /d; /^.SH "NAME"/,+1c.SH "NAME"\namtool \\- Tooling for the Prometheus alert manager' \
     %{buildroot}/%{_mandir}/man1/amtool.1
 # Fix executable path in amtool examples
 sed -i 's/\.\/amtool/amtool/' %{buildroot}/%{_mandir}/man1/amtool.1
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post %{shortname}.service
 
 %preun
 %systemd_preun %{shortname}.service
 
 %postun
RPMAutoSpec usage detected, not changing the spec file.
diff --git golang-github-theoapp-theo-agent/golang-github-theoapp-theo-agent.spec golang-github-theoapp-theo-agent/golang-github-theoapp-theo-agent.spec.tmp
index 8468097dd0..d47516992b 100644
--- golang-github-theoapp-theo-agent/golang-github-theoapp-theo-agent.spec
+++ golang-github-theoapp-theo-agent/golang-github-theoapp-theo-agent.spec.tmp
@@ -52,18 +52,16 @@ install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/theo-agent.conf
 install -d -m 0755 %{buildroot}%{_sysconfdir}/theo-agent
 
 %if %{with check}
 %check
 %gocheck
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %files -n theo-agent
 %license LICENSE
 %doc README.md
 %{_bindir}/*
 %dir %{_sysconfdir}/theo-agent
 %{_sysusersdir}/theo-agent.conf
 
diff --git grafana/grafana.spec grafana/grafana.spec.tmp
index 08dda51e6d..f8a6f26456 100644
--- grafana/grafana.spec
+++ grafana/grafana.spec.tmp
@@ -20,17 +20,17 @@ end}
 
 %global gomodulesmode GO111MODULE=auto
 %global gotestflags   %{gotestflags} -tags=integration
 
 %global selinux_variants mls targeted
 
 Name:             grafana
 Version:          10.2.6
-Release:          10%{?dist}
+Release:          11%{?dist}
 Summary:          Metrics dashboard and graph editor
 License:          AGPL-3.0-only
 URL:              https://grafana.org
 
 # Source0 contains the tagged upstream sources
 Source0:          https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}.tar.gz
 
 # Source1 contains the bundled Go and Node.js dependencies
@@ -102,17 +102,16 @@ BuildRequires:    yarnpkg
 BuildRequires:    openssl-devel
 %endif
 
 %global           GRAFANA_USER %{name}
 %global           GRAFANA_GROUP %{name}
 
 # grafana-server service daemon uses systemd
 %{?systemd_requires}
-Requires(pre):    shadow-utils
 
 # Grafana queries the mime database (through mime.TypeByExtension, in a unit test and at runtime)
 BuildRequires:    shared-mime-info
 Requires:         shared-mime-info
 
 %if 0%{?fedora} >= 35 || 0%{?rhel} >= 8
 # This ensures that the grafana-selinux package and all its dependencies are
 # not pulled into containers and other systems that do not use SELinux
@@ -881,18 +880,16 @@ cd SELinux
 for selinuxvariant in %{selinux_variants}
 do
   install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
   install -p -m 644 grafana.pp.${selinuxvariant} \
     %{buildroot}%{_datadir}/selinux/${selinuxvariant}/grafana.pp
 done
 cd -
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %preun
 %systemd_preun grafana-server.service
 
 %post
 %systemd_post grafana-server.service
 # create grafana.db with secure permissions on new installations
 # otherwise grafana-server is creating grafana.db on first start
@@ -1020,16 +1017,19 @@ if [ $1 -eq 0 ] ; then
 fi
 
 %files selinux
 %defattr(-,root,root,0755)
 %doc SELinux/*
 %{_datadir}/selinux/*/grafana.pp
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 10.2.6-11
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.6-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Nov 26 2024 Sam Feifer <sfeifer@redhat.com> 10.2.6-9
 - Revert changes to configuration file that break older custom dashboards
 
 * Mon Nov 25 2024 Sam Feifer <sfeifer@redhat.com> 10.2.6-8
 - Clean up configuration file
RPMAutoSpec usage detected, not changing the spec file.
diff --git greetd/greetd.spec greetd/greetd.spec.tmp
index 8afa12e541..121fc5185f 100644
--- greetd/greetd.spec
+++ greetd/greetd.spec.tmp
@@ -38,17 +38,16 @@ Patch:          greetd-0.10.0-Unbundle-greetd_ipc.patch
 
 Provides:       service(graphical-login) = greetd
 
 BuildRequires:  cargo-rpm-macros >= 24
 BuildRequires:  make
 BuildRequires:  scdoc >= 1.10
 BuildRequires:  sed
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 %if %{with selinux}
 # This ensures that the *-selinux package and all it’s dependencies are not pulled
 # into containers and other systems that do not use SELinux
 Requires:       (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype})
 %endif
 
 %description
@@ -130,18 +129,16 @@ install -D -m 0644 -vp selinux/%{name}.pp.bz2 \
 
 
 %if %{with check}
 %check
 %cargo_test
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE103}
 
 %post
 %systemd_post %{name}.service
 # block unwanted systemd user services for greetd user
 XDG_CONFIG_DIR=%{_sharedstatedir}/%{name}/.config
 if [ ! -d $XDG_CONFIG_DIR/systemd ]; then
     mkdir -p $XDG_CONFIG_DIR/systemd/user
     ln -sf /dev/null $XDG_CONFIG_DIR/systemd/user/xdg-desktop-portal.service
diff --git gsi-openssh/gsi-openssh.spec gsi-openssh/gsi-openssh.spec.tmp
index 1060509fb5..c361ba1ed5 100644
--- gsi-openssh/gsi-openssh.spec
+++ gsi-openssh/gsi-openssh.spec.tmp
@@ -24,17 +24,17 @@
 %global libedit 1
 
 %global openssh_ver 9.9p1
 %global openssh_rel 1
 
 Summary: An implementation of the SSH protocol with GSI authentication
 Name: gsi-openssh
 Version: %{openssh_ver}
-Release: %{openssh_rel}%{?dist}
+Release: %{openssh_rel}%{?dist}.1
 Provides: gsissh = %{version}-%{release}
 Obsoletes: gsissh < 5.8p2-2
 URL: http://www.openssh.com/portable.html
 Source0: https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
 Source1: https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz.asc
 Source2: gsisshd.pam
 Source3: gpgkey-736060BA.gpg
 Source7: gsisshd.sysconfig
@@ -237,17 +237,16 @@ Requires: crypto-policies >= 20220824-1
 Summary: A helper program used for host-based authentication
 Requires: %{name} = %{version}-%{release}
 
 %package server
 Summary: SSH server daemon with GSI authentication
 Provides: gsissh-server = %{version}-%{release}
 Obsoletes: gsissh-server < 5.8p2-2
 Requires: %{name} = %{version}-%{release}
-Requires(pre): /usr/sbin/useradd
 Requires: pam >= 1.0.1-3
 Requires: crypto-policies >= 20220824-1
 %{?systemd_requires}
 Requires(pre): policycoreutils-python-utils
 Requires(postun): policycoreutils-python-utils
 
 %description
 SSH (Secure SHell) is a program for logging into and executing
@@ -486,17 +485,16 @@ mkdir $RPM_BUILD_ROOT%{_libexecdir}/gsissh/bin
 ln -nrs $RPM_BUILD_ROOT%{_bindir}/gsiscp \
 	$RPM_BUILD_ROOT%{_libexecdir}/gsissh/bin/scp
 ln -nrs $RPM_BUILD_ROOT%{_bindir}/gsiscp \
 	$RPM_BUILD_ROOT%{_libexecdir}/gsissh/bin/hpnscp
 
 perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{_mandir}/man*/*
 
 %pre server
-%sysusers_create_compat %{SOURCE19}
 semanage port -a -t ssh_port_t -p tcp 2222 2>/dev/null || :
 
 %post server
 if [ $1 -gt 1 ]; then
     # In the case of an upgrade (never true on OSTree systems) run the migration
     # script for Fedora 38 to remove group ownership for host keys.
     %{_libexecdir}/gsissh/ssh-host-keys-migration.sh
     # Prevent the systemd unit that performs the same service (useful for
@@ -566,16 +564,19 @@ fi
 %attr(0644,root,root) %{_unitdir}/gsisshd-keygen@.service
 %attr(0644,root,root) %{_unitdir}/gsisshd-keygen.target
 %attr(0644,root,root) %{_sysusersdir}/%{name}-server.conf
 %attr(0644,root,root) %{_unitdir}/gsissh-host-keys-migration.service
 %attr(0744,root,root) %{_libexecdir}/gsissh/ssh-host-keys-migration.sh
 %ghost %attr(0644,root,root) %{_localstatedir}/lib/.gsissh-host-keys-migration
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.9p1-1.1
+- Drop call to %sysusers_create_compat
+
 * Mon Jan 20 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 9.9p1-1
 - Based on openssh-9.9p1-5.fc42 / openssh-9.9p1-1.fc41
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.8p1-2.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Oct 02 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 9.8p1-2
 - Based on openssh-9.8p1-4.fc42
diff --git guacamole-server/guacamole-server.spec guacamole-server/guacamole-server.spec.tmp
index ef065a4de1..e33b96df52 100644
--- guacamole-server/guacamole-server.spec
+++ guacamole-server/guacamole-server.spec.tmp
@@ -2,17 +2,17 @@
 
 # Manual FFmpeg support override by passing "--with(out)=ffmpeg" to mock/rpmbuild
 %if 0%{?fedora} || 0%{?rhel} >= 9
 %global _with_ffmpeg 1
 %endif
 
 Name:           guacamole-server
 Version:        1.5.5
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Server-side native components that form the Guacamole proxy
 License:        Apache-2.0
 URL:            https://guacamole.apache.org/
 
 Source0:        https://github.com/apache/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:        %{name}.service
 Source2:        %{name}.sysusersd
 # Add compatibility with FFMPEG 7.0
@@ -123,17 +123,16 @@ Requires:       libguac%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
 %description -n libguac-client-telnet
 libguac-client-telnet is a protocol support plugin for the Guacamole proxy
 (guacd) which provides support for Telnet via the libtelnet library.
 
 %package -n guacd
 Summary:        Proxy daemon for Guacamole
 Requires:       libguac%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description -n guacd
 guacd is the Guacamole proxy daemon used by the Guacamole web application and
 framework to translate between arbitrary protocols and the Guacamole protocol.
 
 %prep
 %autosetup -p1
 
@@ -167,18 +166,16 @@ cp -a doc/libguac/doxygen-output/html/ html/libguac/
 cp -a doc/libguac-terminal/doxygen-output/html/ html/libguac-terminal/
 
 mkdir -p %{buildroot}%{_sharedstatedir}/guacd
 
 # Systemd unit files
 install -p -m 644 -D %{SOURCE1} %{buildroot}%{_unitdir}/guacd.service
 install -p -m 644 -D %{SOURCE2} %{buildroot}%{_sysusersdir}/guacd.conf
 
-%pre -n guacd
-%sysusers_create_compat %{SOURCE2}
 
 %post -n guacd
 %systemd_post guacd.service
 
 %preun -n guacd
 %systemd_preun guacd.service
 
 %postun -n guacd
@@ -243,16 +240,19 @@ install -p -m 644 -D %{SOURCE2} %{buildroot}%{_sysusersdir}/guacd.conf
 %{_mandir}/man5/guacd.conf.5*
 %{_mandir}/man8/guacd.8*
 %{_sbindir}/guacd
 %{_unitdir}/guacd.service
 %{_sysusersdir}/guacd.conf
 %attr(750,%{username},%{username}) %{_sharedstatedir}/guacd/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.5.5-6
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.5-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 23 2024 Robert-André Mauchin <zebob.m@gmail.com> - 1.5.5-4
 - Add patch for FFMPEG 7 compatibility
 
 * Mon Sep 23 2024 Fabio Valentini <decathorpe@gmail.com> - 1.5.5-3
 - Rebuild for ffmpeg 7
diff --git haproxy/haproxy.spec haproxy/haproxy.spec.tmp
index d22dab7258..97ecbd8b54 100644
--- haproxy/haproxy.spec
+++ haproxy/haproxy.spec.tmp
@@ -3,17 +3,17 @@
 %define haproxy_homedir %{_localstatedir}/lib/haproxy
 %define haproxy_confdir %{_sysconfdir}/haproxy
 %define haproxy_datadir %{_datadir}/haproxy
 
 %global _hardened_build 1
 
 Name:           haproxy
 Version:        3.0.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        HAProxy reverse proxy for high availability environments
 
 License:        GPL-2.0-or-later
 
 URL:            http://www.haproxy.org/
 Source0:        %{url}/download/3.0/src/haproxy-%{version}.tar.gz
 Source1:        %{name}.service
 Source2:        %{name}.cfg
@@ -26,17 +26,16 @@ BuildRequires:  gcc
 BuildRequires:  lua-devel
 BuildRequires:  pcre2-devel
 BuildRequires:  openssl-devel
 BuildRequires:  systemd-devel
 BuildRequires:  systemd
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  make
 
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 
 %description
 HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high
 availability environments. Indeed, it can:
  - route HTTP requests depending on statically assigned cookies
  - spread load among several servers while assuring server persistence
    through the use of HTTP cookies
@@ -89,18 +88,16 @@ find ./examples/* -type f ! -name "*.cfg" -exec rm -f "{}" \;
 
 for textfile in $(find ./ -type f -name '*.txt')
 do
     mv $textfile $textfile.old
     iconv --from-code ISO8859-1 --to-code UTF-8 --output $textfile $textfile.old
     rm -f $textfile.old
 done
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -122,16 +119,19 @@ done
 %{_sbindir}/%{name}
 %{_bindir}/halog
 %{_bindir}/iprange
 %{_bindir}/ip6range
 %{_mandir}/man1/*
 %{_sysusersdir}/%{name}.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.5-3
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 22 2024 Ryan O'Hara <rohara@redhat.com> - 3.0.5-1
 - Update to 3.0.5 (#2313555)
 
 * Tue Sep 03 2024 Ryan O'Hara <rohara@redhat.com> - 3.0.4-1
 - Update to 3.0.4 (CVE-2024-45506, #2309472)
RPMAutoSpec usage detected, not changing the spec file.
diff --git kea/kea.spec kea/kea.spec.tmp
index 8cb120fa4b..54c8868de7 100644
--- kea/kea.spec
+++ kea/kea.spec.tmp
@@ -90,17 +90,16 @@ BuildRequires: python3-sphinx
 BuildRequires: python3-sphinx_rtd_theme
 BuildRequires: make
 BuildRequires: gnupg2
 
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 %upstream_name_compat %{upstream_name}
 Requires: coreutils util-linux
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 DHCP implementation from Internet Systems Consortium, Inc. that features fully
 functional DHCPv4, DHCPv6 and Dynamic DNS servers.
 Both DHCP servers fully support server discovery, address assignment, renewal,
 rebinding and release. The DHCPv6 server supports prefix delegation. Both
 servers support DNS Update mechanism, using stand-alone DDNS daemon.
 
@@ -271,18 +270,16 @@ rm -f %{buildroot}%{_pkgdocdir}/COPYING
 rm -f %{buildroot}%{_pkgdocdir}/html/.buildinfo
 
 mkdir -p %{buildroot}/run
 install -dm 0755 %{buildroot}/run/kea/
 
 install -Dpm 0644 %{S:15} %{buildroot}%{_tmpfilesdir}/kea.conf
 
 
-%pre
-%sysusers_create_compat %{S:16}
 
 %post
 # Kea runs under kea user instead of root now, but if its files got altered, their new
 # ownership&permissions won't get changed so fix them to prevent startup failures
 [ "`stat --format '%U:%G' %{_rundir}/kea/logger_lockfile 2>&1 | grep root:root`" = "root:root" ] \
     && chown kea:kea %{_rundir}/kea/logger_lockfile
 [ "`stat --format '%U:%G' %{_sharedstatedir}/kea/kea-leases4.csv 2>&1 | grep root:root`" = "root:root" ] \
     && chown kea:kea %{_sharedstatedir}/kea/kea-leases4.csv && chmod 0640 %{_sharedstatedir}/kea/kea-leases4.csv
diff --git keydb/keydb.spec keydb/keydb.spec.tmp
index b50888c613..43e80d0f06 100644
--- keydb/keydb.spec
+++ keydb/keydb.spec.tmp
@@ -1,13 +1,13 @@
 %bcond_with     tests
 
 Name:           keydb
 Version:        6.3.4
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Multithreaded Fork of Redis
 
 ExcludeArch:    %{ix86}
 
 License:        BSD-3-Clause AND BSD-2-Clause AND MIT
 # hiredis: BSD-3-Clause
 # hdrhistogram, jemalloc, linenoise: BSD-2-Clause
 # lua: MIT
@@ -158,18 +158,16 @@ install -Dpm 644 src/redismodule.h %{buildroot}%{_includedir}/redismodule.h
 # Install systemd limit files (requires systemd >= 204)
 install -Dpm 644 %{S:5} %{buildroot}%{_unitdir}/%{name}.service.d/limit.conf
 install -Dpm 644 %{S:5} %{buildroot}%{_unitdir}/%{name}-sentinel.service.d/limit.conf
 
 # Install sysconfig files
 install -Dpm 644 %{S:6} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
 install -Dpm 644 %{S:7} %{buildroot}%{_sysconfdir}/sysconfig/%{name}-sentinel
 
-%pre
-%sysusers_create_compat %{S:4}
 
 
 %post
 %systemd_post %{name}.service
 %systemd_post %{name}-sentinel.service
 
 
 %preun
@@ -216,16 +214,19 @@ make test
 
 
 %files devel
 %license COPYING
 %{_includedir}/redismodule.h
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.3.4-6
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.4-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.4-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Mar 28 2024 Jonathan Wright <jonathan@almalinux.org> - 6.3.4-3
 - Spec file fixes
RPMAutoSpec usage detected, not changing the spec file.
diff --git keylime/keylime.spec keylime/keylime.spec.tmp
index 2ca359c080..5c138639ef 100644
--- keylime/keylime.spec
+++ keylime/keylime.spec.tmp
@@ -63,17 +63,16 @@ and runtime integrity measurement solution.
 %package base
 Summary: The base package contains the default configuration
 License: MIT
 
 # Conflicts with the monolithic versions of the package, before the split.
 Conflicts: keylime < 6.3.0-3
 
 Requires(pre): python3-jinja2
-Requires(pre): shadow-utils
 Requires: procps-ng
 Requires: tpm2-tss
 Requires: openssl
 
 %if 0%{?with_selinux}
 # This ensures that the *-selinux package and all it’s dependencies are not pulled
 # into containers and other systems that do not use SELinux
 Recommends:       (%{srcname}-selinux if selinux-policy-%{selinuxtype})
@@ -241,19 +240,16 @@ cp -r ./tpm_cert_store %{buildroot}%{_sharedstatedir}/%{srcname}/
 
 install -p -d %{buildroot}/%{_tmpfilesdir}
 cat > %{buildroot}/%{_tmpfilesdir}/%{srcname}.conf << EOF
 d %{_rundir}/%{srcname} 0700 %{srcname} %{srcname} -
 EOF
 
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{srcname}.conf
 
-%pre base
-%sysusers_create_compat %{SOURCE1}
-exit 0
 
 %post base
 /usr/bin/keylime_upgrade_config --component ca --component logging >/dev/null
 exit 0
 
 %posttrans base
 if [ -d %{_sysconfdir}/%{srcname} ]; then
     chmod 500 %{_sysconfdir}/%{srcname}
diff --git lcdproc/lcdproc.spec lcdproc/lcdproc.spec.tmp
index 4695dbc86f..da6fd09591 100644
--- lcdproc/lcdproc.spec
+++ lcdproc/lcdproc.spec.tmp
@@ -1,16 +1,16 @@
 %global commit 5c21e8c75fbab53574275c8007f5af746e333144
 %global commitdate 20210209
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 
 Summary:        Display real-time system information on a 20x4 back-lit LCD
 Name:           lcdproc
 Version:        0.5.9
-Release:        24.%{commitdate}git%{shortcommit}%{?dist}
+Release:        25.%{commitdate}git%{shortcommit}%{?dist}
 # Automatically converted from old format: GPLv2 - review is highly recommended.
 License:        GPL-2.0-only
 URL:            http://lcdproc.org
 Source0:        https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
 Source1:        lcdproc.service
 Source2:        lcdproc.target
 Source3:        LCDd.service
 Source4:        LCDd-hwdetect.service
@@ -127,18 +127,16 @@ done
 #Disable default configuration
 #Thoses are only provided as an example since ncurses isn't a suitable default configuration.
 for f in LCDd.conf lcdproc.conf ; do
   mv $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f} \
     $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/${f}.example
 done
 
 
-%pre
-%sysusers_create_compat %{SOURCE7}
 
 
 %post
 %systemd_post LCDd.service lcdproc.service
 
 
 %preun
 %systemd_preun LCDd.service lcdproc.service
@@ -159,16 +157,19 @@ done
 %config %{_sysconfdir}/%{name}/*.conf
 %config %{_sysconfdir}/%{name}/*.conf.example
 %{_unitdir}/*
 %{_udevrulesdir}/90-%{name}.rules
 %{_sysusersdir}/lcdproc.conf
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.9-25.20210209git5c21e8c
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-24.20210209git5c21e8c
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 0.5.9-23.20210209git5c21e8c
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-22.20210209git5c21e8c
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git libgpiod/libgpiod.spec libgpiod/libgpiod.spec.tmp
index 9c3f5ae897..f8f89bb913 100644
--- libgpiod/libgpiod.spec
+++ libgpiod/libgpiod.spec.tmp
@@ -1,13 +1,13 @@
 %global candidate rc3
 
 Name:          libgpiod
 Version:       2.2
-Release:       0.2%{?candidate:.%{candidate}}%{?dist}
+Release:       0.3%{?candidate:.%{candidate}}%{?dist}
 Summary:       C library and tools for interacting with linux GPIO char device
 
 License:       LGPL-2.1-or-later
 URL:           https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
 Source0:       https://mirrors.edge.kernel.org/pub/software/libs/%{name}/%{name}-%{version}%{?candidate:-%{candidate}}.tar.xz
 Source1:       gpiod-sysusers.conf
 
 BuildRequires: doxygen
@@ -17,17 +17,16 @@ BuildRequires: kernel-headers
 BuildRequires: kmod-devel
 BuildRequires: libgudev-devel
 BuildRequires: libstdc++-devel
 BuildRequires: make
 BuildRequires: python3-build
 BuildRequires: python3-devel
 BuildRequires: python3-setuptools
 BuildRequires: systemd-devel
-%{?sysusers_requires_compat}
 
 %description
 libgpiod is a C library and tools for interacting with the linux GPIO character 
 device (gpiod stands for GPIO device) The new character device interface 
 guarantees all allocated resources are freed after closing the device file 
 descriptor and adds several new features that are not present in the obsolete 
 sysfs interface (like event polling, setting/reading multiple values at once or 
 open-source and open-drain GPIOs).
@@ -107,18 +106,16 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/gpiod.conf
 # Fix udev rule location
 mkdir -p %{buildroot}/%{_udevrulesdir}/
 mv %{buildroot}/usr/lib64/udev/rules.d/90-gpio.rules %{buildroot}/%{_udevrulesdir}/90-gpio.rules
 # Remove libtool archives.
 find %{buildroot} -name '*.la' -delete
 
 %ldconfig_scriptlets
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post manager
 %systemd_user_post gpio-manager.service
 
 %preun manager
 %systemd_user_preun gpio-manager.service
 
 %files
@@ -163,16 +160,19 @@ find %{buildroot} -name '*.la' -delete
 %{_includedir}/gpiod-glib/
 %{_includedir}/gpiodbus.h
 %{_libdir}/pkgconfig/libgpiod*.pc
 %{_libdir}/pkgconfig/gpiod-glib.pc
 %{_libdir}/%{name}*.so
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.2-0.3.rc3
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-0.2.rc3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Oct 17 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 2.2.0-0.1.rc3
 - Upgrade to 2.2 RC3
 - Enable new gpio-manager dbus service
 - Add sysusers for gpio group
 
diff --git lightdm/lightdm.spec lightdm/lightdm.spec.tmp
index 307ce4b1fe..d2eb29a33c 100644
--- lightdm/lightdm.spec
+++ lightdm/lightdm.spec.tmp
@@ -2,17 +2,17 @@
 %bcond_with tests
 
 %global glib2_version	%(pkg-config --modversion glib-2.0 2>/dev/null || echo "2.44")
 %global giturl		https://github.com/CanonicalLtd/lightdm
 
 Name:		lightdm
 Summary:	A cross-desktop Display Manager
 Version:	1.32.0
-Release:	13%{?dist}
+Release:	14%{?dist}
 
 # library/bindings are LGPLv2 or LGPLv3, the rest GPLv3+
 # Automatically converted from old format: (LGPLv2 or LGPLv3) and GPLv3+ - review is highly recommended.
 License:	(LicenseRef-Callaway-LGPLv2 OR LGPL-3.0-only) AND GPL-3.0-or-later
 URL:		https://www.freedesktop.org/wiki/Software/LightDM/
 Source0:	%{giturl}/archive/%{version}/lightdm-%{version}.tar.gz
 
 Source10:	lightdm.pam
@@ -69,17 +69,16 @@ Requires:	dbus
 Requires:	polkit-js-engine
 Requires:	/sbin/nologin
 Requires:	systemd
 Requires:	xorg-x11-server-Xorg
 Requires:	xorg-x11-xinit
 Requires:   lightdm-greeter = 1.2
 Suggests:   slick-greeter
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 Obsoletes: lightdm-qt < %{version}-%{release}
 Obsoletes: lightdm-qt-devel < %{version}-%{release}
 
 Requires(post):	psmisc dbus-daemon
 
 # needed for anaconda to boot into runlevel 5 after install
 Provides:	service(graphical-login) = lightdm
@@ -195,18 +194,16 @@ rm -fv %{buildroot}%{_libdir}/lib*.la
 
 
 %if %{with tests}
 %check
 %make_build check ||:
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE16}
 
 %post
 # todo: document need/purpose for this snippet
 if [ $1 = 1 ] ; then
 	%{_bindir}/killall -HUP dbus-daemon 2>&1 > /dev/null
 fi
 %{?systemd_post:%systemd_post lightdm.service}
 
@@ -275,16 +272,19 @@ fi
 
 %files qt5-devel
 %{_includedir}/lightdm-qt5-3/
 %{_libdir}/liblightdm-qt5-3.so
 %{_libdir}/pkgconfig/liblightdm-qt5-3.pc
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.32.0-14
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 1.32.0-12
 - convert license to SPDX
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git lldpd/lldpd.spec lldpd/lldpd.spec.tmp
index 9439d42945..e553b0b015 100644
--- lldpd/lldpd.spec
+++ lldpd/lldpd.spec.tmp
@@ -1,11 +1,11 @@
 Name:     lldpd
 Version:  1.0.18
-Release:  3%{?dist}
+Release:  4%{?dist}
 Summary:  ISC-licensed implementation of LLDP
 License:  ISC
 
 URL:      https://github.com/lldpd/
 Source0:  https://github.com/lldpd/lldpd/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:  %{name}-fedora.service
 Source2:  %{name}-tmpfiles
 Source3:  %{name}-fedora.sysconfig
@@ -17,17 +17,16 @@ BuildRequires: gcc
 BuildRequires: libxml2-devel
 BuildRequires: libevent-devel
 BuildRequires: make
 BuildRequires: net-snmp-devel
 BuildRequires: readline-devel
 BuildRequires: systemd-devel
 %{?systemd_requires}
 
-Requires(pre): shadow-utils
 
 %description
 LLDP is an industry standard protocol designed to supplant proprietary
 Link-Layer protocols such as EDP or CDP. The goal of LLDP is to provide
 an inter-vendor compatible mechanism to deliver Link-Layer notifications
 to adjacent network devices.
 
 %package devel
@@ -69,19 +68,16 @@ rm -f %{buildroot}/usr/share/bash-completion/completions/lldpcli
 rm -f %{buildroot}/usr/share/zsh/vendor-completions/_lldpcli
 rm -f %{buildroot}/usr/share/zsh/site-functions/_lldpcli
 
 # remove static libtool archive
 find %{buildroot} -type f -name "*.la" -delete
 
 %ldconfig_scriptlets
 
-%pre
-%sysusers_create_compat %{SOURCE4}
-exit 0
 
 %post
 %systemd_post lldpd.service
 
 %preun
 %systemd_preun lldpd.service
 
 %postun
@@ -109,16 +105,19 @@ exit 0
 %files devel
 %{_includedir}/lldp-const.h
 %{_includedir}/lldpctl.h
 %{_libdir}/liblldpctl.so
 %{_libdir}/pkgconfig/lldpctl.pc
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.18-4
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Wed Jul 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.0.18-1
 - Update to 1.0.18
RPMAutoSpec usage detected, not changing the spec file.
diff --git magicmirror/magicmirror.spec magicmirror/magicmirror.spec.tmp
index 4e0b63e168..b66fb92e77 100644
--- magicmirror/magicmirror.spec
+++ magicmirror/magicmirror.spec.tmp
@@ -102,18 +102,16 @@ ln -s custom.css.sample css/custom.css
 # Run tests
 ./node_modules/.bin/jest \
   --modulePathIgnorePatterns node_modules_prod node_modules_dev \
   --selectProjects e2e unit \
   -i \
   --forceExit
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
diff --git mailman3/mailman3.spec mailman3/mailman3.spec.tmp
index 85563c67f2..858658b4c1 100644
--- mailman3/mailman3.spec
+++ mailman3/mailman3.spec.tmp
@@ -1,16 +1,16 @@
 %global pypi_name mailman
 
 %global baseversion 3.3.9
 #global prerelease rc2
 
 Name:           mailman3
 Version:        %{baseversion}%{?prerelease:~%{prerelease}}
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        The GNU mailing list manager
 
 License:        GPL-3.0-or-later
 URL:            http://www.list.org
 Source0:        https://pypi.python.org/packages/source/m/%{pypi_name}/%{pypi_name}-%{baseversion}%{?prerelease}.tar.gz
 Source1:        mailman3.cfg
 Source2:        mailman3-tmpfiles.conf
 Source3:        mailman3.service
@@ -42,17 +42,16 @@ Requires(post): policycoreutils
 Requires(post): policycoreutils-python-utils
 # SELinux https://fedoraproject.org/wiki/SELinux_Policy_Modules_Packaging_Draft
 BuildRequires:  checkpolicy, selinux-policy-devel
 BuildRequires:  hardlink
 
 # Scriptlets
 BuildRequires:  systemd-rpm-macros
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 
 %description
 This is GNU Mailman, a mailing list management system distributed under the
 terms of the GNU General Public License (GPL) version 3 or later.  The name of
 this software is spelled 'Mailman' with a leading capital 'M' but with a lower
 case second `m'.  Any other spelling is incorrect.
 
@@ -149,19 +148,16 @@ export LC_ALL=en_US.UTF-8
 # find the buildroot), so we use a venv
 %python3 -m venv --system-site-packages --without-pip --clear venv
 # Tests fail with nspawn mock due to lack of access to /dev/stdout
 # TODO: Figure out a fix for this
 venv/bin/python -m nose2 -v || :
 
 
 %pre
-# User & Group
-%sysusers_create_compat %{SOURCE7}
-
 # SELinux
 for selinuxvariant in %{selinux_variants}; do
     %selinux_relabel_pre -s ${selinuxvariant}
 done
 
 %post
 # Service
 %systemd_post %{name}.service %{name}-digests.timer
@@ -208,16 +204,19 @@ done
 %dir %attr(755,mailman,mailman) /run/%{name}
 %dir %attr(755,mailman,mailman) /run/lock/%{name}
 # SELinux
 %doc SELinux/*
 %{_datadir}/selinux/*/%{name}.pp
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.9-3
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.9-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 28 2024 Michel Lind <salimma@fedoraproject.org>
 - Update to version 3.3.9; Fixes: RHBZ#2245287
 
 * Wed Aug 28 2024 Mikel Olasagasti Uranga <mikel@olasagasti.info> - 3.3.8-9
 - Use git-core instead of git
RPMAutoSpec usage detected, not changing the spec file.
diff --git matrix-synapse/matrix-synapse.spec matrix-synapse/matrix-synapse.spec.tmp
index cf3621bdbf..d7e19478cf 100644
--- matrix-synapse/matrix-synapse.spec
+++ matrix-synapse/matrix-synapse.spec.tmp
@@ -93,18 +93,16 @@ SKIPPED=$(comm -23 <(echo "$REASONS" | sort | uniq) <(echo "$WHITELIST" | sort |
 if [ ! -z "$SKIPPED" ]; then
   echo -e "Failing, because tests were skipped:\n$SKIPPED"
   exit 1
 fi
 
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 
 %post
 %systemd_post synapse.service
 
 
 %preun
 %systemd_preun synapse.service
diff --git matterbridge/matterbridge.spec matterbridge/matterbridge.spec.tmp
index f52d43ca50..b2b3db185a 100644
--- matterbridge/matterbridge.spec
+++ matterbridge/matterbridge.spec.tmp
@@ -29,17 +29,17 @@ Version:                1.26.0
 Bridge between mattermost, IRC, xmpp, slack, discord, telegram,
 twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft
 teams, nextcloud, mumble, vk and more with REST API (mattermost not required!).}
 
 %global golicenses      LICENSE
 %global godocs          README.md changelog.md matterclient/README.md
 
 Name:           matterbridge
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Bridge between many online chat protocols
 
 License:        BSD-2-Clause AND MIT AND (Apache-2.0 OR AGPL-3.0-only) AND Apache-2.0 AND MPL-2.0 AND GPL-3.0-or-later AND ISC AND (MIT OR ICU) AND BSD-3-Clause
 URL:            %{gourl}
 # see create-vendor-tarball.sh in this distgit repo
 Source0:        %{name}-%{version}-vendored.tar.xz
 Source1:        %{name}.service
 Source2:	%{name}.toml
@@ -381,18 +381,16 @@ install -pm644 %{S:1} %{buildroot}%{_unitdir}
 
 # install config files/dirs
 install -pDm640 %{S:2}  %{buildroot}%{_sysconfdir}/%{name}/%{name}.toml
 
 # System user
 install -p -D -m 0644 %{S:3} %{buildroot}%{_sysusersdir}/%{name}.conf
 
 
-%pre
-%sysusers_create_compat %{S:3}
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -416,16 +414,19 @@ install -p -D -m 0644 %{S:3} %{buildroot}%{_sysusersdir}/%{name}.conf
 %{_unitdir}/%{name}.service
 %{_sysusersdir}/%{name}.conf
 
 %if %{without vendor}
 %gopkgfiles
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.26.0-6
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Aug 12 2024 Jonathan Wright <jonathan@almalinux.org> - 1.26.0-4
 - add user, systemd unit
 
 * Sun Aug 11 2024 Jonathan Wright <jonathan@almalinux.org> - 1.26.0-3
 - add dist tag to release
diff --git memcached/memcached.spec memcached/memcached.spec.tmp
index 0a201b83c1..77db03cd8d 100644
--- memcached/memcached.spec
+++ memcached/memcached.spec.tmp
@@ -7,17 +7,17 @@
 %global selinuxtype	targeted
 %global selinuxmoduletype	contrib
 %global selinuxmodulename	memcached
 %global selinuxmodulever	1.0.2
 %global selinuxmoduledir	%{selinuxmodulename}-selinux-%{selinuxmodulever}
 
 Name:           memcached
 Version:        1.6.32
-Release:        2%{?dist}
+Release:        3%{?dist}
 Epoch:          0
 Summary:        High Performance, Distributed Memory Object Cache
 
 License:        BSD-3-clause AND Zlib AND BSD-2-Clause AND LicenseRef-Fedora-Public-Domain
 URL:            https://www.memcached.org/
 Source0:        https://www.memcached.org/files/%{name}-%{version}.tar.gz
 Source1:        memcached.sysconfig
 # SELinux policy sources: https://pagure.io/memcached-selinux/tree/master
@@ -30,17 +30,16 @@ BuildRequires:  make
 BuildRequires:  gcc libevent-devel systemd
 BuildRequires:  perl-generators
 BuildRequires:  perl(Test::More), perl(Test::Harness)
 %{?with_sasl:BuildRequires: cyrus-sasl-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel}
 %{?with_tls:BuildRequires: openssl-devel}
 BuildRequires:  systemd-rpm-macros
 
-Requires(pre):  shadow-utils
 # Rich dependency syntax - require selinux policy subpackage
 # when selinux-policy-targeted is installed
 # This ensures that the selinux subpackage is not installed when not needed
 # (e.g. inside a container)
 Requires: (%{name}-selinux if selinux-policy-targeted)
 %{?systemd_requires}
 
 %description
@@ -122,18 +121,16 @@ install -d %{buildroot}%{_datadir}/selinux/packages
 install -d -p %{buildroot}%{_datadir}/selinux/devel/include/%{selinuxmoduletype}
 # Not installing memcached.if - interface file from selinux-policy-devel will be used
 # see. "Independant product policy" documentation for more details
 install -m 0644 %{selinuxmodulename}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages
 popd
 
 install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/memcached.conf
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %pre selinux
 %selinux_relabel_pre -s %{selinuxtype}
 
 %post
 %systemd_post memcached.service
 
 %post selinux
@@ -169,16 +166,19 @@ fi
 %{_includedir}/memcached/*
 
 %files selinux
 %attr(0644,root,root) %{_datadir}/selinux/packages/%{selinuxmodulename}.pp.bz2
 %ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{selinuxmodulename}
 %license ../%{selinuxmoduledir}/COPYING
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0:1.6.32-3
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.6.32-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Nov 01 2024 Tomas Korbar <tkorbar@redhat.com> - 0:1.6.32-1
 - Update to 1.6.32
 - Resolves: rhbz#2310685
 
 * Thu Aug 01 2024 Tomas Korbar <tkorbar@redhat.com> - 0:1.6.29-1
diff --git mimedefang/mimedefang.spec mimedefang/mimedefang.spec.tmp
index 5b7ee82f77..117f2f6ee2 100644
--- mimedefang/mimedefang.spec
+++ mimedefang/mimedefang.spec.tmp
@@ -1,12 +1,12 @@
 Summary:        E-mail filtering framework using Sendmail's Milter interface
 Name:           mimedefang
 Version:        3.4.1
-Release:        8%{?dist}
+Release:        9%{?dist}
 # {event{,_tcp}.{c,h},eventpriv.h} are GPL-2.0-or-later, rest is GPL-2.0-only
 License:        GPL-2.0-only AND GPL-2.0-or-later
 URL:            https://mimedefang.org/
 Source0:        https://mimedefang.org/releases/%{name}-%{version}.tar.gz
 Source1:        https://mimedefang.org/releases/%{name}-%{version}.tar.gz.sig
 Source2:        https://keys.openpgp.org/vks/v1/by-fingerprint/9F9B564003DFF9E4D904301E3B6DDB11E78FEBD2
 Source3:        README.FEDORA
 Source4:        mimedefang.service
@@ -37,17 +37,16 @@ BuildRequires:  %{_sbindir}/sendmail
 BuildRequires:  sendmail-milter-devel >= 8.12.0
 Recommends:     perl(Mail::SpamAssassin) >= 1.6
 %else
 BuildRequires:  sendmail-devel >= 8.12.0
 Requires:       perl(Mail::SpamAssassin) >= 1.6
 %endif
 Requires(post): perl(Digest::SHA)
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # Testsuite in %%check
 %if 0%{!?_without_tests:1}
 BuildRequires:  %{_bindir}/prove
 BuildRequires:  perl(HTML::Parser)
 %if 0%{?fedora} || 0%{?rhel} > 7
 BuildRequires:  perl(Mail::DKIM::ARC::Signer) >= 0.44
 %endif
@@ -110,18 +109,16 @@ find $RPM_BUILD_ROOT \( -name ARC.pm -o -name "*::ARC.3" \) -exec rm -f {} \;
 find $RPM_BUILD_ROOT%{_prefix} -type d -depth -exec rmdir {} 2> /dev/null \;
 %endif
 
 %if 0%{!?_without_tests:1}
 %check
 make test
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE8}
 
 %post
 %systemd_post %{name}.service
 if [ ! -f %{_sysconfdir}/mail/mimedefang-ip-key ]; then
   %{_bindir}/gen-ip-validator.pl > %{_sysconfdir}/mail/mimedefang-ip-key
 fi
 
 %preun
@@ -167,16 +164,19 @@ fi
 %{_mandir}/man8/%{name}-release.8*
 %{_mandir}/man8/watch-%{name}.8*
 %{_mandir}/man8/watch-multiple-%{name}s.8*
 %dir %attr(0750,defang,defang) %{_localstatedir}/log/%{name}/
 %dir %attr(0750,defang,defang) %{_localstatedir}/spool/MIMEDefang/
 %dir %attr(0750,defang,defang) %{_localstatedir}/spool/MD-Quarantine/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-9
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Tue Jun 11 2024 Jitka Plesnikova <jplesnik@redhat.com> - 3.4.1-6
 - Perl 5.40 rebuild
diff --git minidlna/minidlna.spec minidlna/minidlna.spec.tmp
index d81762e7ed..fa5e6064ec 100644
--- minidlna/minidlna.spec
+++ minidlna/minidlna.spec.tmp
@@ -1,11 +1,11 @@
 Name:           minidlna
 Version:        1.3.3
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        Lightweight DLNA/UPnP-AV server targeted at embedded systems
 
 # see minidlna-licensing-breakdown.txt for complete breakdown
 License:        BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later
 URL:            http://sourceforge.net/projects/minidlna/
 Source0:        http://downloads.sourceforge.net/%{name}/%{version}/%{name}-%{version}.tar.gz
 # Systemd unit file
 Source1:        %{name}.service
@@ -33,17 +33,16 @@ BuildRequires:  libvorbis-devel
 BuildRequires:  make
 BuildRequires:  pkgconfig(libavcodec)
 BuildRequires:  pkgconfig(libavformat)
 BuildRequires:  pkgconfig(libavutil)
 BuildRequires:  sqlite-devel
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  zlib-devel
 Recommends:     logrotate
-Requires(pre):  shadow-utils
 %{?systemd_requires}
 
 %description
 MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully
 compliant with DLNA/UPnP-AV clients.
 
 The minidlna daemon serves media files (music, pictures, and video) to clients
 on your local network.  Example clients include applications such as Totem and
@@ -102,18 +101,16 @@ install -p -m 644 %{SOURCE4} %{buildroot}/etc/logrotate.d/minidlna
 mkdir -p %{buildroot}%{_localstatedir}/cache/
 install -d -m 755 %{buildroot}%{_localstatedir}/cache/%{name}/
 mkdir -p %{buildroot}%{_localstatedir}/log/
 install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}/
 
 %find_lang %{name}
 
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 
 %post
 %tmpfiles_create %{_tmpfilesdir}/%{name}.conf
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
@@ -136,16 +133,19 @@ install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name}/
 %{_tmpfilesdir}/%{name}.conf
 %dir %attr(-,minidlna,minidlna) %{_localstatedir}/cache/%{name}/
 %dir %attr(-,minidlna,minidlna) %{_localstatedir}/log/%{name}/
 %license COPYING LICENCE.miniupnpd
 %doc AUTHORS NEWS README TODO
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.3.3-11
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Sep 22 2024 Dominik Mierzejewski <dominik@greysector.net> - 1.3.3-9
 - rebuilt for FFmpeg 7
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git moby-engine/moby-engine.spec moby-engine/moby-engine.spec.tmp
index d1dc62b74a..0dbf159a57 100644
--- moby-engine/moby-engine.spec
+++ moby-engine/moby-engine.spec.tmp
@@ -316,18 +316,16 @@ skiptest \
     "TestConnectAndWait" \
     %dnl Test panics
     "TestRunAttachTermination"
 
 %gocheck -z1 -t e2e
 %endif
 
 
-%pre
-%sysusers_create_compat %{S:100}
 
 
 %post
 %systemd_post docker.service docker.socket
 
 
 %preun
 %systemd_preun docker.service docker.socket
diff --git mod_mapcache/mod_mapcache.spec mod_mapcache/mod_mapcache.spec.tmp
index ac209bbd46..7577ee73b1 100644
--- mod_mapcache/mod_mapcache.spec
+++ mod_mapcache/mod_mapcache.spec.tmp
@@ -4,17 +4,17 @@
 %global maj 1
 %global min 14
 %global micro 1
 
 ExcludeArch: i686
 
 Name:           mod_mapcache
 Version:        %{maj}.%{min}.%{micro}
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Caching server for WMS layers
 
 # mapcache-1.14.0/lib/hmac-sha.c - bsd-3
 # mapcache-1.14.0/lib/strptime.c - bsd-3
 License:        MIT AND BSD-3-Clause
 URL:            http://mapserver.org/mapcache/
 
 Source:         https://github.com/%{project_owner}/%{project_name}/releases/download/rel-%{maj}-%{min}-%{micro}/mapcache-%{version}.tar.gz
@@ -51,18 +51,16 @@ layers.  The primary objectives are to be fast and easily deployable, while
 offering the  essential features (and more!) expected from a tile caching
 solution.}
 
 %description %{_description}
 This is the MapCache module for the Apache web server implementing OGC web
 services. An alternative mapcache FastCGI program is available in
 libmapcache-fcgi.
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %package -n libmapcache
 Summary: The shared library for mapcache
 Requires: mapserver%{?_isa}
 
 %description -n libmapcache %{_description}
 The shared library files for libmapcache
 
@@ -158,16 +156,19 @@ xmltoman %{SOURCE3} > %{buildroot}%{_mandir}/man1/mapcache_seed.1
 %{_bindir}/mapcache.fcgi
 
 %files -n libmapcache-tools
 %{_bindir}/mapcache_detail
 %{_bindir}/mapcache_seed
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.14.1-4
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Sep 10 2024 Neil Hanlon <neil@rockylinux.org> - 1.14.1-2
 - rebuild for mapserver 8.2.2
 
 * Mon Aug 19 2024 Neil Hanlon <neil@shrug.pw> - 1.14.1-1
 - update to 1.14.1
diff --git mumble/mumble.spec mumble/mumble.spec.tmp
index 45e6952017..bd0518c958 100644
--- mumble/mumble.spec
+++ mumble/mumble.spec.tmp
@@ -3,17 +3,17 @@
 %ifarch x86_64
 %bcond_without tests
 %endif
 
 %global build_number 287
 
 Name:           mumble
 Version:        1.4.%{build_number}
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        Low-latency and high-quality voice-chat program
 # primary license: BSD-3-Clause
 # themes/Mumble: Unlicense and WTFPL
 # 3rdparty/arc4random: ISC
 # 3rdparty/celt-0.7.0-src: BSD-3-Clause and GPL-2.0-or-later
 # 3rdparty/qqbonjour: BSD-3-Clause
 # 3rdparty/smallft: BSD-3-Clause
 License:        BSD-3-Clause AND Unlicense AND WTFPL AND ISC AND GPL-2.0-or-later
@@ -160,17 +160,16 @@ BuildRequires:  pkgconfig(avahi-compat-libdns_sd)
 BuildRequires:  cmake(Qt5DBus)
 
 BuildRequires:  systemd-rpm-macros
 
 # To be able to announce the presence of the server via Bonjour.
 Recommends:     avahi
 
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 
 %description server
 mumble-server (also called murmur) is part of the VoIP suite Mumble primarily
 aimed at gamers.
 
 
 %package plugins
@@ -268,18 +267,16 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/info.mumble.Mumble.de
 # relocation of config file
 if [ -f %{_sysconfdir}/murmur/murmur.ini.rpmsave ]; then
     mv -vf %{_sysconfdir}/murmur.ini %{_sysconfdir}/murmur.ini.rpmnew
     mv -vf %{_sysconfdir}/murmur/murmur.ini.rpmsave %{_sysconfdir}/murmur.ini
 fi
 rmdir --ignore-fail-on-non-empty %{_sysconfdir}/murmur
 
 
-%pre server
-%sysusers_create_compat %{SOURCE2}
 
 
 %post server
 %systemd_post murmur.service
 
 
 %preun server
 %systemd_preun murmur.service
@@ -325,16 +322,19 @@ rmdir --ignore-fail-on-non-empty %{_sysconfdir}/murmur
 %files overlay
 %{_bindir}/mumble-overlay
 %{_mandir}/man1/mumble-overlay.1*
 %{_libdir}/mumble/libmumbleoverlay.so
 %{_libdir}/mumble/libmumbleoverlay.so.%{version}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.287-8
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.287-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.287-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Mon Apr 22 2024 Carl George <carlwgeorge@fedoraproject.org> - 1.4.287-5
 - Rebuilt for poco 1.13.3 rhbz#2274227 rhbz#2276278
RPMAutoSpec usage detected, not changing the spec file.
diff --git munge/munge.spec munge/munge.spec.tmp
index 62028f17b7..401752ca10 100644
--- munge/munge.spec
+++ munge/munge.spec.tmp
@@ -25,17 +25,16 @@ Requires:       logrotate
 
 %if %{with check}
 BuildRequires:  procps-ng
 BuildRequires:  util-linux
 %endif
 
 
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 MUNGE (MUNGE Uid 'N' Gid Emporium) is an authentication service for creating
 and validating credentials. It is designed to be highly scalable for use
 in an HPC cluster environment.
 It allows a process to authenticate the UID and GID of another local or
 remote process within a group of hosts having common users and groups.
 These hosts form a security realm that is defined by a shared cryptographic
@@ -96,18 +95,16 @@ touch %{buildroot}%{_rundir}/munge/munged.pid
 %check
 %if %{with check}
 %make_build check \
     LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
     root=/tmp/munge-$$ VERBOSE=t verbose=t
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %preun
 %systemd_preun munge.service
 
 %post
 %systemd_post munge.service
 
 %postun
diff --git myproxy/myproxy.spec myproxy/myproxy.spec.tmp
index 2129de4f1c..1caeaeb721 100644
--- myproxy/myproxy.spec
+++ myproxy/myproxy.spec.tmp
@@ -3,17 +3,17 @@
 # To build without checks:
 # rpmbuild --without checks
 # fedpkg local --without checks
 # fedpkg mockbuild --without checks
 %bcond_without checks
 
 Name:           myproxy
 Version:        6.2.16
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Manage X.509 Public Key Infrastructure (PKI) security credentials
 
 License:        NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
 URL:            http://grid.ncsa.illinois.edu/myproxy/
 Source:         https://repo.gridcf.org/gct6/sources/%{name}-%{version}.tar.gz
 Source1:        myproxy-server-systemd-sysusers.conf
 Source8:        README
 #               Change private key cipher to aes-256-cbc
@@ -96,17 +96,16 @@ authority to allow users to securely obtain credentials when and where needed.
 Users run myproxy-logon to authenticate and obtain credentials, including
 trusted CA certificates and Certificate Revocation Lists (CRLs).
 
 Package %{name}-devel contains development files for MyProxy.
 
 %package server
 Summary:        Server for X.509 Public Key Infrastructure (PKI) security credentials
 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
-%{?sysusers_requires_compat}
 %{?systemd_requires}
 
 %description server
 MyProxy is open source software for managing X.509 Public Key Infrastructure
 (PKI) security credentials (certificates and private keys). MyProxy
 combines an online credential repository with an online certificate
 authority to allow users to securely obtain credentials when and where needed.
 Users run myproxy-logon to authenticate and obtain credentials, including
@@ -238,18 +237,16 @@ install -m 644 -p %{SOURCE8} %{buildroot}%{_pkgdocdir}/README
 # Remove myproxy-server-setup rhbz#671561
 rm %{buildroot}%{_sbindir}/myproxy-server-setup
 
 %check
 %if %{with checks}
 %make_build check
 %endif
 
-%pre server
-%sysusers_create_compat %{SOURCE1}
 
 %post server
 %tmpfiles_create myproxy-server.conf
 %systemd_post myproxy-server.service
 
 %preun server
 %systemd_preun myproxy-server.service
 
@@ -325,16 +322,19 @@ rm %{buildroot}%{_sbindir}/myproxy-server-setup
 %{_libdir}/libmyproxy_voms.so
 
 %files doc
 %dir %{_pkgdocdir}
 %doc %{_pkgdocdir}/extras
 %license LICENSE*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.2.16-9
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.2.16-8
 - Fix incompatible pointer errors (gcc 15)
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.16-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Nov 02 2024 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.2.16-6
 - Make OpenSSL engine optional
RPMAutoSpec usage detected, not changing the spec file.
diff --git node-exporter/node-exporter.spec node-exporter/node-exporter.spec.tmp
index 2a8e64b22b..0111db25a7 100644
--- node-exporter/node-exporter.spec
+++ node-exporter/node-exporter.spec.tmp
@@ -33,17 +33,16 @@ Source:         %{shortname}.sysusers
 Source:         %{shortname}.service
 Source:         %{shortname}.conf
 Source:         %{shortname}.logrotate
 Source:         %{shortname}-tmpfiles.conf
 # Replace defaults paths for config files
 Patch:         defaults-paths.patch
 
 BuildRequires:  systemd-rpm-macros
-Requires(pre):  shadow-utils
 
 Obsoletes:      golang-github-prometheus-node-exporter < 1.6.1-2
 Provides:       node_exporter
 
 %description %{common_description}
 
 %gopkg
 
@@ -94,18 +93,16 @@ mkdir -vp %{buildroot}/%{_mandir}/man1/
 sed -i '/^  /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus-node-exporter \\- The Prometheus Node-Exporter' \
     %{buildroot}/%{_mandir}/man1/%{shortname}.1
 
 %if %{with check}
 %check
 %gocheck -d collector
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post %{shortname}.service
 
 %preun
 %systemd_preun %{shortname}.service
 
 %postun
diff --git openbgpd/openbgpd.spec openbgpd/openbgpd.spec.tmp
index e6553ee70a..92737faeb7 100644
--- openbgpd/openbgpd.spec
+++ openbgpd/openbgpd.spec.tmp
@@ -4,17 +4,17 @@
 %global portable_shortcommit %(c=%{portable_commit}; echo ${c:0:7})
 %global openbsd_commit       43b3801c4cc6d22976048c9d833346a4f42bee72
 %global openbsd_shortcommit  %(c=%{openbsd_commit}; echo ${c:0:7})
 %endif
 
 Summary:        OpenBGPD Routing Daemon
 Name:           openbgpd
 Version:        8.7
-Release:        2%{?with_snapshot:.git%{gitdate}}%{?dist}
+Release:        3%{?with_snapshot:.git%{gitdate}}%{?dist}
 # OpenBGPD itself is ISC but uses other source codes, breakdown:
 # BSD-2-Clause: include/sys/tree.h
 # BSD-3-Clause: compat/{fmt_scaled,setproctitle,sha2,vis}.c and include/{sha2_openbsd,util,vis,sys/queue}.h
 # LicenseRef-Fedora-Public-Domain: include/{{endian,sha2,stdlib,string,unistd},net/if,netinet/{in,ip_ipsp}}.h
 #                                  and include/sys/{_null,socket,time,types,wait}.h
 #                                  and compat/{{explicit_bzero,getrtable}.c,chacha_private.h}
 License:        ISC AND BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain
 URL:            https://www.openbgpd.org/
@@ -40,17 +40,16 @@ BuildRequires:  libtool
 BuildRequires:  bison
 %endif
 BuildRequires:  gcc
 BuildRequires:  libmnl-devel >= 1.0.4
 BuildRequires:  make
 BuildRequires:  systemd-rpm-macros
 Recommends:     rpki-client
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 OpenBGPD is a free implementation of the Border Gateway Protocol (BGP),
 Version 4. It allows ordinary machines to be used as routers exchanging
 routes with other systems speaking the BGP protocol.
 
 %prep
 %if !0%{?with_snapshot}
@@ -74,18 +73,16 @@ sed -e 's|^\(runstatedir =\).*|\1 %{_rundir}/bgpd|g' -i {.,compat,include,src/{b
 %install
 %make_install
 
 mkdir -p $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir}/empty,%{_rundir}}/bgpd/
 install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/bgpd.service
 install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %post
 %systemd_post bgpd.service
 
 %preun
 %systemd_preun bgpd.service
 
 %postun
@@ -103,16 +100,19 @@ install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 %{_sbindir}/bgpd
 %{_mandir}/man5/bgpd.conf.5*
 %{_mandir}/man8/bgpctl.8*
 %{_mandir}/man8/bgpd.8*
 %dir %attr(0755,root,root) %{_rundir}/bgpd/
 %dir %attr(0711,root,root) %{_localstatedir}/empty/bgpd/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.7-3
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.7-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Dec 17 2024 Robert Scheck <robert@fedoraproject.org> 8.7-1
 - Upgrade to 8.7 (#2332838)
 
 * Sun Sep 22 2024 Robert Scheck <robert@fedoraproject.org> 8.6-1
 - Upgrade to 8.6 (#2313604)
diff --git openiked/openiked.spec openiked/openiked.spec.tmp
index e5d21bc5e9..ea630b7ce3 100644
--- openiked/openiked.spec
+++ openiked/openiked.spec.tmp
@@ -1,11 +1,11 @@
 Name:           openiked
 Version:        7.3
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        A free Internet Key Exchange (IKEv2) implementation
 
 License:        ISC
 URL:            https://github.com/openiked/openiked-portable
 Source0:        https://ftp.openbsd.org/pub/OpenBSD/OpenIKED/openiked-%{version}.tar.gz
 Source1:        openiked.service
 Source2:        sysusers.conf
 Source3:        openiked-keygen
@@ -41,18 +41,16 @@ install -p -D -m644 %{SOURCE2} %{buildroot}%{_sysusersdir}/openiked.conf
 install -p -D -m755 %{SOURCE3} %{buildroot}%{_libexecdir}/openiked/openiked-keygen
 install -p -m644 %{SOURCE4} %{buildroot}%{_unitdir}/openiked-keygen.service
 install -p -m644 %{SOURCE5} %{buildroot}%{_unitdir}/openiked-keygen.target
 
 %check
 %{__cmake_builddir}/regress/dh/dhtest
 %{__cmake_builddir}/regress/parser/test_parser
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %post
 %systemd_post openiked.service
 
 %preun
 %systemd_preun openiked.service
 
 %postun
@@ -82,16 +80,19 @@ install -p -m644 %{SOURCE5} %{buildroot}%{_unitdir}/openiked-keygen.target
 %{_unitdir}/openiked-keygen.service
 %{_unitdir}/openiked-keygen.target
 %dir %{_sysconfdir}/iked/
 %dir %{_libexecdir}/openiked/
 %dir %{_sysconfdir}/iked/pubkeys
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.3-6
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.3-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.3-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.3-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git openldap/openldap.spec openldap/openldap.spec.tmp
index 97ac50c52d..07e6dfef63 100644
--- openldap/openldap.spec
+++ openldap/openldap.spec.tmp
@@ -12,17 +12,17 @@
 # When you change "Version: " to the new major version, remember to change this value too
 %global major_version 2.6
 
 # Disable automatic .la file removal
 %global __brp_remove_la_files %nil
 
 Name: openldap
 Version: 2.6.9
-Release: 3%{?dist}
+Release: 4%{?dist}
 Summary: LDAP support libraries
 License: OLDAP-2.8
 URL: http://www.openldap.org/
 
 Source0: https://openldap.org/software/download/OpenLDAP/openldap-release/openldap-%{version}.tgz
 Source1: slapd.service
 Source2: slapd.tmpfiles
 Source3: slapd.ldif
@@ -67,17 +67,16 @@ BuildRequires: openssl-devel
 BuildRequires: perl(ExtUtils::Embed)
 BuildRequires: perl-devel
 BuildRequires: perl-generators
 BuildRequires: perl-interpreter
 BuildRequires: unixODBC-devel
 BuildRequires: cracklib-devel
 BuildRequires: systemd
 BuildRequires: systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 %description
 OpenLDAP is an open source suite of LDAP (Lightweight Directory Access
 Protocol) applications and development tools. LDAP is a set of
 protocols for accessing directory services (usually phone book style
 information, but other information is possible) over the Internet,
 similar to the way DNS (Domain Name System) information is propagated
 over the Internet. The openldap package contains configuration files,
@@ -126,17 +125,16 @@ libldap_r-2.4.so and liblber-2.4.so
 The libraries are just links to the current version shared libraries,
 and are available for compatibility reasons.
 
 %if %{with servers}
 %package servers
 Summary: LDAP server
 Requires: openldap%{?_isa} = %{version}-%{release}
 %{?systemd_requires}
-Requires(pre): shadow-utils
 # migrationtools (slapadd functionality):
 Provides: ldif2ldbm
 
 %description servers
 OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access
 Protocol) applications and development tools. LDAP is a set of
 protocols for accessing directory services (usually phone book style
 information, but other information is possible) over the Internet,
@@ -387,20 +385,16 @@ rm %{buildroot}%{_sysconfdir}/openldap/slapd.ldif
 mv %{buildroot}%{_sysconfdir}/openldap/schema/README README.schema
 
 # remove files which we don't want packaged
 rm %{buildroot}%{_libdir}/*.la  # because we do not want files in %{_libdir}/openldap/ removed, yet
 
 %ldconfig_scriptlets
 
 %if %{with servers}
-%pre servers
-# create ldap user and group
-# sysusers.d format https://fedoraproject.org/wiki/Changes/Adopting_sysusers.d_format
-%sysusers_create_compat %{SOURCE6}
 
 %post servers
 %systemd_post slapd.service
 
 # generate configuration if necessary
 if [[ ! -f %{_sysconfdir}/openldap/slapd.d/cn=config.ldif && \
       ! -f %{_sysconfdir}/openldap/slapd.conf
    ]]; then
@@ -549,16 +543,19 @@ exit 0
 %{_libdir}/libldap-2.4*.so.*
 %{_libdir}/libldap_r-2.4*.so.*
 %{_libdir}/liblber-2.4*.so.*
 %if %{with servers}
 %{_libdir}/libslapi-2.4*.so.*
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.9-4
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 24 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.9-3
 - Adjust file patterns for the sbin merge
 
 * Thu Jan 16 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.9-2
 - Disable MD2 hash algorithm (rhbz#2338556)
 
 * Thu Jan 9 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.9-1
 - Rebase to version 2.6.9 (rhbz#2329002)
diff --git openqa/openqa.spec openqa/openqa.spec.tmp
index 0beced805b..a582431ad6 100644
--- openqa/openqa.spec
+++ openqa/openqa.spec.tmp
@@ -95,17 +95,17 @@
 # spec as close as we can
 # The following line is generated from dependencies.yaml (upstream)
 %define devel_requires %devel_no_selenium_requires
 
 %bcond_without tests
 
 Name:           openqa
 Version:        %{github_version}%{?github_date:^%{github_date}git%{shortcommit}}
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        OS-level automated testing framework
 # openQA is mostly GPLv2+. some scripts and bundled Node modules are
 # MIT, ace-builds is BSD-3-Clause
 License:        GPL-2.0-or-later AND MIT AND BSD-3-Clause
 Url:            http://os-autoinst.github.io/openQA/
 Source0:        https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz
 # pre-generated cached assets, build with update-cache.sh. We could
 # install without these and let openQA generate them at run time, but
@@ -150,17 +150,16 @@ BuildRequires:  systemd-rpm-macros
 Requires:       perl(Minion) >= 10.0
 Requires:       %{main_requires}
 Requires:       openqa-common = %{version}-%{release}
 Requires:       openqa-client = %{version}-%{release}
 Requires(post): coreutils
 
 # Standard for packages that have systemd services & sysusers
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # the plugin is needed if the auth method is set to "oauth2"
 Recommends:     perl(Mojolicious::Plugin::OAuth2)
 # required to decompress .tar.xz compressed disk images/isos
 Recommends:     perl(IO::Uncompress::UnXz)
 # server needs to run an rsync server if worker caching is used
 Recommends:     rsync
 # Optionally enabled with USE_PNGQUANT=1
@@ -494,18 +493,16 @@ export HELM_TEST=0
 export PERL_TEST_WARNINGS_ONLY_REPORT_WARNINGS=1
 # GIT_CEILING_DIRECTORIES here avoids a case where git error handling
 # can differ when you run the build in mock and cause 16-utils-runcmd
 # to fail
 make test GIT_CEILING_DIRECTORIES="/" CHECKSTYLE=0 PROVE_ARGS='-r t' TEST_PG_PATH=%{buildroot}/DB
 rm -rf %{buildroot}/DB
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %pre worker
 %sysusers_create_compat %{SOURCE6}
 
 %post
 %tmpfiles_create %{_tmpfilesdir}/openqa-webui.conf
 %systemd_post %{openqa_services}
 
@@ -767,16 +764,19 @@ fi
 
 %files plugin-fedora-messaging
 %{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraMessaging.pm
 
 %files plugin-fedoraupdaterestart
 %{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.6^20240729gitd5cf789-5
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 23 2025 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-4
 - Fix an eternal loop issue in the Fedora messaging plugin
 
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.6^20240729gitd5cf789-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jul 29 2024 Adam Williamson <awilliam@redhat.com> - 4.6^20240729gitd5cf789-1
 - Update to latest upstream git
RPMAutoSpec usage detected, not changing the spec file.
diff --git opensips/opensips.spec opensips/opensips.spec.tmp
index 3f79d39189..c4e1ac1083 100644
--- opensips/opensips.spec
+++ opensips/opensips.spec.tmp
@@ -30,17 +30,16 @@ BuildRequires: gcc
 BuildRequires: libxslt
 BuildRequires: lynx
 BuildRequires: make
 BuildRequires: ncurses-devel
 BuildRequires: pcre-devel
 BuildRequires: systemd-units
 
 # Users and groups
-Requires(pre): shadow-utils
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 Obsoletes: %{name}-auth_diameter
 Obsoletes: %{name}-event_datagram
 Obsoletes: %{name}-event_jsonrpc
 Obsoletes: %{name}-mi_xmlrpc
@@ -952,18 +951,16 @@ install -D -m 0644 -p %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
 install -D -m 0644 -p packaging/redhat_fedora/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
 install -D -m 0644 -p packaging/redhat_fedora/%{name}.tmpfiles.conf %{buildroot}%{_tmpfilesdir}/%{name}.conf
 mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
 
 #install sysconfig file
 install -D -p -m 644 packaging/redhat_fedora/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name}
 
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %files
diff --git openssh/openssh.spec openssh/openssh.spec.tmp
index 37f7c3b09f..6a58ef95a5 100644
--- openssh/openssh.spec
+++ openssh/openssh.spec.tmp
@@ -49,17 +49,17 @@
 %global openssh_ver 9.9p1
 %global openssh_rel 5
 %global pam_ssh_agent_ver 0.10.4
 %global pam_ssh_agent_rel 11
 
 Summary: An open source implementation of SSH protocol version 2
 Name: openssh
 Version: %{openssh_ver}
-Release: %{openssh_rel}%{?dist}.1
+Release: %{openssh_rel}%{?dist}.2
 URL: http://www.openssh.com/portable.html
 #URL1: https://github.com/jbeverly/pam_ssh_agent_auth/
 Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
 Source1: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz.asc
 Source2: sshd.pam
 Source3: gpgkey-736060BA.gpg
 Source4: https://github.com/jbeverly/pam_ssh_agent_auth/archive/pam_ssh_agent_auth-%{pam_ssh_agent_ver}.tar.gz
 Source5: pam_ssh_agent-rmheaders
@@ -283,17 +283,16 @@ Requires: crypto-policies >= 20220824-1
 
 %package keysign
 Summary: A helper program used for host-based authentication
 Requires: openssh = %{version}-%{release}
 
 %package server
 Summary: An open source SSH server daemon
 Requires: openssh = %{version}-%{release}
-Requires(pre): /usr/sbin/useradd
 Requires: pam >= 1.0.1-3
 Requires: crypto-policies >= 20220824-1
 %{?systemd_requires}
 
 %package keycat
 Summary: A mls keycat backend for openssh
 Requires: openssh = %{version}-%{release}
 
@@ -303,17 +302,17 @@ Requires: openssh = %{version}-%{release}
 
 %package sk-dummy
 Summary: OpenSSH SK driver for test purposes
 Requires: openssh = %{version}-%{release}
 
 %package -n pam_ssh_agent_auth
 Summary: PAM module for authentication with ssh-agent
 Version: %{pam_ssh_agent_ver}
-Release: %{pam_ssh_agent_rel}.%{openssh_rel}%{?dist}.1
+Release: %{pam_ssh_agent_rel}.%{openssh_rel}%{?dist}.2
 License: BSD-3-Clause AND BSD-2-Clause AND ISC AND SSH-OpenSSH AND ssh-keyscan AND sprintf AND LicenseRef-Fedora-Public-Domain AND X11-distribute-modifications-variant AND OpenSSL
 
 %description
 SSH (Secure SHell) is a program for logging into and executing
 commands on a remote machine. SSH is intended to replace rlogin and
 rsh, and to provide secure encrypted communications between two
 untrusted hosts over an insecure network. X11 connections and
 arbitrary TCP/IP ports can also be forwarded over the secure channel.
@@ -618,18 +617,16 @@ perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{_mandir}/man*/*
 pushd pam_ssh_agent_auth-pam_ssh_agent_auth-%{pam_ssh_agent_ver}
 %make_install
 popd
 %endif
 
 install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/sshtest/
 install -m 755 regress/misc/sk-dummy/sk-dummy.so $RPM_BUILD_ROOT%{_libdir}/sshtest
 
-%pre server
-%sysusers_create_compat %{SOURCE19}
 
 %post server
 if [ $1 -gt 1 ]; then
     # In the case of an upgrade (never true on OSTree systems) run the migration
     # script for Fedora 38 to remove group ownership for host keys.
     %{_libexecdir}/openssh/ssh-host-keys-migration.sh
     # Prevent the systemd unit that performs the same service (useful for
     # OSTree systems) from running.
@@ -745,16 +742,19 @@ test -f %{sysconfig_anaconda} && \
 %if %{pam_ssh_agent}
 %files -n pam_ssh_agent_auth
 %license pam_ssh_agent_auth-pam_ssh_agent_auth-%{pam_ssh_agent_ver}/OPENSSH_LICENSE
 %attr(0755,root,root) %{_libdir}/security/pam_ssh_agent_auth.so
 %attr(0644,root,root) %{_mandir}/man8/pam_ssh_agent_auth.8*
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.9p1-5.2
+- Drop call to %sysusers_create_compat
+
 * Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.9p1-5.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Oct 28 2024 Dmitry Belyavskiy <dbelyavs@redhat.com> - 9.9p1-5
 - Fix MLKEM for BE platforms
 
 * Wed Oct 16 2024 Dmitry Belyavskiy <dbelyavs@redhat.com> - 9.9p1-4
 - Resolve memory management issues after rebase
RPMAutoSpec usage detected, not changing the spec file.
diff --git openvswitch/openvswitch.spec openvswitch/openvswitch.spec.tmp
index 9a4134ae0f..6d2bf4029e 100644
--- openvswitch/openvswitch.spec
+++ openvswitch/openvswitch.spec.tmp
@@ -112,17 +112,16 @@ BuildRequires: libibverbs >= 15
 %endif
 %endif
 
 Requires: openssl iproute module-init-tools
 #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
 #Requires: kernel >= 3.15.0-0
 
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 Requires(post): /bin/sed
 Requires(post): %{_sbindir}/update-alternatives
 Requires(postun): %{_sbindir}/update-alternatives
 Obsoletes: openvswitch-controller <= 0:2.1.0-1
 
 %description
 Open vSwitch provides standard network bridging functions and
@@ -420,17 +419,16 @@ done
     if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
         /bin/systemctl --no-reload disable %{name}.service >/dev/null 2>&1 || :
         /bin/systemctl stop %{name}.service >/dev/null 2>&1 || :
     fi
 %endif
 
 %pre
-%sysusers_create_compat %{SOURCE1}
 [ -L %{_sbindir}/ovs-vswitchd ] || rm -f %{_sbindir}/ovs-vswitchd
 
 %post
 %{_sbindir}/update-alternatives --install %{_sbindir}/ovs-vswitchd \
   ovs-vswitchd %{_sbindir}/ovs-vswitchd.nodpdk 10
 if [ $1 -eq 1 ]; then
     sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
 
RPMAutoSpec usage detected, not changing the spec file.
diff --git perfetto/perfetto.spec perfetto/perfetto.spec.tmp
index 962321ad5c..e2ba94d6ad 100644
--- perfetto/perfetto.spec
+++ perfetto/perfetto.spec.tmp
@@ -96,18 +96,16 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_tmpfilesdir}/perfetto.conf
 install -Dpm0644 %SOURCE2 %{buildroot}%{_sysusersdir}/perfetto.conf
 
 install -Dpm0644 -t %{buildroot}%{_datadir}/%{name}/configs test/configs/*.cfg
 install -Dpm0644 -t %{buildroot}%{_datadir}/%{name}/sdk sdk/perfetto.{h,cc}
 
 %post
 %systemd_post traced.service traced-probes.service
 
-%pre
-%sysusers_create_compat %{SOURCE2}
 
 %preun
 %systemd_preun traced.service traced-probes.service
 
 %postun
 %systemd_postun_with_restart traced.service traced-probes.service
 
 %files
diff --git pipewire/pipewire.spec pipewire/pipewire.spec.tmp
index a7e73248da..e2945eb5ab 100644
--- pipewire/pipewire.spec
+++ pipewire/pipewire.spec.tmp
@@ -4,17 +4,17 @@
 
 %global apiversion   0.3
 %global spaversion   0.2
 %global soversion    0
 %global libversion   %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0
 %global ms_version   0.4.2
 
 # For rpmdev-bumpspec and releng automation
-%global baserelease 3
+%global baserelease 4
 
 #global snapdate   20210107
 #global gitcommit  b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
 #global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
 
 # https://bugzilla.redhat.com/983606
 %global _hardened_build 1
 
@@ -122,19 +122,17 @@ BuildRequires:  pkgconfig(webrtc-audio-processing) >= 0.2
 %endif
 BuildRequires:  libusb1-devel
 BuildRequires:  readline-devel
 BuildRequires:  openssl-devel
 BuildRequires:  libcanberra-devel
 BuildRequires:  libuv-devel
 BuildRequires:  speexdsp-devel
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
-Requires(pre):  shadow-utils
 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
 Requires:       systemd
 Requires:       rtkit
 # A virtual Provides so we can swap session managers
 Requires:       pipewire-session-manager
 # Prefer WirePlumber for session manager
 Suggests:       wireplumber
 # Bring in libcamera plugin for MIPI / complex camera support
@@ -524,18 +522,16 @@ ln -s ../client-rt.conf.avail/20-upmix.conf \
 
 %check
 %meson_test || TESTS_ERROR=$?
 if [ "${TESTS_ERROR}" != "" ]; then
 echo "test failed"
 %{!?tests_nonfatal:exit $TESTS_ERROR}
 fi
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_user_post pipewire.service
 %systemd_user_post pipewire.socket
 
 %triggerun -- %{name} < 0.3.6-2
 # This is for upgrades from previous versions which had a static symlink.
 # The %%post scriptlet above only does anything on initial package installation.
@@ -883,16 +879,19 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
 %{_datadir}/pipewire/pipewire.conf.d/20-upmix.conf
 %{_datadir}/pipewire/client.conf.d/20-upmix.conf
 %{_datadir}/pipewire/client-rt.conf.d/20-upmix.conf
 %if %{with pulse}
 %{_datadir}/pipewire/pipewire-pulse.conf.d/20-upmix.conf
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.2.7-4
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.7-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jan 10 2025 Wim Taymans <wtaymans@redhat.com> - 1.2.7-2
 - Rebuild for new libcamera
 
 * Tue Nov 26 2024 Wim Taymans <wtaymans@redhat.com> - 1.2.7-1
 - Update version to 1.2.7
RPMAutoSpec usage detected, not changing the spec file.
diff --git plocate/plocate.spec plocate/plocate.spec.tmp
index 8cf3695506..9f1dd5d64c 100644
--- plocate/plocate.spec
+++ plocate/plocate.spec.tmp
@@ -59,18 +59,16 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/plocate.conf
 ln -s plocate %{buildroot}%{_bindir}/locate
 install -p -D -m 0644 -t %{buildroot}%{_mandir}/man1/ locate.1
 install -p -D -m 0644 -t %{buildroot}%{_sysconfdir}/ updatedb.conf
 
 # A state file to carry information from %%post to %%posttrans. See
 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_saving_state_between_scriptlets.
 %global plocate_start_now %{_localstatedir}/lib/rpm-state/plocate_start_now
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post plocate-updatedb.service plocate-updatedb.timer
 
 if [ $1 == 1 ] && [ -d /run/systemd ]; then
      touch %{plocate_start_now} || :
 fi
 
diff --git polkit/polkit.spec polkit/polkit.spec.tmp
index cf6703302f..8cd8cc6d79 100644
--- polkit/polkit.spec
+++ polkit/polkit.spec.tmp
@@ -1,15 +1,15 @@
 # Only enable if using patches that touches configure.ac,
 # Makefile.am or other build system related files
 #
 Summary: An authorization framework
 Name: polkit
 Version: 126
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: LGPL-2.0-or-later
 URL: https://github.com/polkit-org/polkit
 Source0: https://github.com/polkit-org/polkit/archive/refs/tags/%{version}.tar.gz
 Source1: polkit.sysusers
 
 BuildRequires: gcc-c++
 BuildRequires: glib2-devel >= 2.30.0
 BuildRequires: expat-devel
@@ -22,17 +22,16 @@ BuildRequires: dbus-devel
 BuildRequires: pkgconfig(duktape)
 BuildRequires: meson
 BuildRequires: git
 
 Requires: dbus
 Recommends: polkit-pkla-compat
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 Obsoletes: PolicyKit <= 0.10
 Provides: PolicyKit = 0.11
 
 # polkit saw some API/ABI changes from 0.96 to 0.97 so require a
 # sufficiently new polkit-gnome package
 Conflicts: polkit-gnome < 0.97
 
@@ -95,18 +94,16 @@ Libraries files for polkit.
 %install
 %meson_install
 install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/polkit.conf
 
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 
 %find_lang polkit-1
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 # The implied (systemctl preset) will fail and complain, but the macro hides
 # and ignores the fact.  This is in fact what we want, polkit.service does not
 # have an [Install] section and it is always started on demand.
 %systemd_post polkit.service
 
 %preun
@@ -156,16 +153,19 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 
 %ldconfig_scriptlets libs
 
 %files libs
 %{_libdir}/lib*.so.*
 %{_libdir}/girepository-1.0/*.typelib
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 126-3
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 126-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jan 13 2025 Vincent Mihalkovic <vmihalko@redhat.com> - 126-1
 - Rebase to polkit-126
 
 * Thu Oct 31 2024 Jan Rybar <jrybar@redhat.com> - 125-3
 - Setting loglevels and target via LogControl now allowed to root only
diff --git postfwd/postfwd.spec postfwd/postfwd.spec.tmp
index 32db65798e..57ad1b62ea 100644
--- postfwd/postfwd.spec
+++ postfwd/postfwd.spec.tmp
@@ -1,12 +1,12 @@
 Summary:        Postfix policyd to combine complex restrictions in a ruleset
 Name:           postfwd
 Version:        2.03
-Release:        11%{?dist}
+Release:        12%{?dist}
 License:        BSD-3-Clause
 URL:            https://postfwd.org/
 Source0:        https://github.com/postfwd/postfwd/archive/v%{version}/%{name}-%{version}.tar.gz
 Source1:        %{name}.service
 Source2:        %{name}.sysconfig
 Source3:        %{name}.tmpfilesd
 Source4:        %{name}.sysusersd
 BuildArch:      noarch
@@ -15,17 +15,16 @@ BuildRequires:  systemd-rpm-macros
 Requires:       perl(Digest::MD5)
 Requires:       perl(Net::CIDR::Lite)
 Requires:       perl(NetAddr::IP)
 Requires:       perl(Storable)
 Requires:       perl(Time::HiRes)
 Requires:       %{_bindir}/more
 Requires:       %{_bindir}/pod2text
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 Postfwd is written in Perl to combine complex Postfix restrictions in a
 ruleset similar to those of the most firewalls. The program uses the
 Postfix policy delegation protocol to control access to the mail system
 before a message has been accepted. It allows to choose an action (e.g.
 reject, dunno) for a combination of several SMTP parameters (like sender
 and recipient address, size or the client's TLS fingerprint).
@@ -47,18 +46,16 @@ install -D -p -m 0755 tools/hapolicy/hapolicy $RPM_BUILD_ROOT%{_libexecdir}/%{na
 install -D -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
 install -D -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
 install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 
 # Rename changelog for %%doc inclusion
 mv -f doc/postfwd3.CHANGELOG CHANGELOG
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -81,16 +78,19 @@ mv -f doc/postfwd3.CHANGELOG CHANGELOG
 %dir %{_libexecdir}/%{name}/
 %{_libexecdir}/%{name}/hapolicy
 %{_mandir}/man8/%{name}.8*
 %{_mandir}/man8/%{name}3.8*
 %dir %attr(0750,%{name},%{name}) %{_rundir}/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/lib/%{name}/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.03-12
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.03-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.03-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.03-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git prosody/prosody.spec prosody/prosody.spec.tmp
index c76b3d353d..09aa7fa6e7 100644
--- prosody/prosody.spec
+++ prosody/prosody.spec.tmp
@@ -1,17 +1,17 @@
 %{!?lua_version: %global lua_version %{lua: print(string.sub(_VERSION, 5))}}
 
 %global sslcert    %{_sysconfdir}/pki/%{name}/localhost.crt
 %global sslkey     %{_sysconfdir}/pki/%{name}/localhost.key
 
 Summary:           Flexible communications server for Jabber/XMPP
 Name:              prosody
 Version:           0.12.5
-Release:           2%{?dist}
+Release:           3%{?dist}
 License:           MIT
 URL:               https://prosody.im/
 Source0:           https://prosody.im/downloads/source/%{name}-%{version}.tar.gz
 Source1:           https://prosody.im/downloads/source/%{name}-%{version}.tar.gz.asc
 Source2:           https://keys.openpgp.org/vks/v1/by-fingerprint/32A9EDDE3609931EB98CEAC315907E8E7BDD6BFE
 Source3:           prosody.service
 Source4:           prosody.logrotate
 Source5:           prosody.tmpfilesd
@@ -32,17 +32,16 @@ Requires(post):    %{_bindir}/openssl
 Requires:          lua(abi) = %{lua_version}
 Requires:          lua-filesystem
 Requires:          lua-expat
 Requires:          lua-socket
 Requires:          lua-sec
 Recommends:        lua-unbound
 Recommends:        lua-readline
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 # Testsuite in %%check
 BuildRequires:     lua-filesystem
 BuildRequires:     lua-expat
 BuildRequires:     lua-socket
 BuildRequires:     lua-sec
 BuildRequires:     lua-unbound
 BuildRequires:     %{_bindir}/openssl
@@ -139,18 +138,16 @@ for cnt in $(seq 1 5); do ss -lnpt | grep :5222 && ss -lnpt | grep :5269 && brea
 echo 'QUIT' | openssl s_client -connect localhost:5222 -starttls xmpp -name localhost -CAfile tests/certs/localhost.crt
 echo 'QUIT' | openssl s_client -connect localhost:5269 -starttls xmpp-server -name localhost -CAfile tests/certs/localhost.crt
 ./%{name}ctl stop
 echo -e 'Fish\nFish' | ./%{name}ctl adduser tux@localhost
 ls -l tests/data/localhost/accounts/tux.dat
 echo -e 'Penguin\nPenguin' | ./%{name}ctl passwd tux@localhost
 ./%{name}ctl deluser tux@localhost
 
-%pre
-%sysusers_create_compat %{SOURCE6}
 
 %post
 %systemd_post %{name}.service
 
 if [ ! -f %{sslkey} ]; then
   umask 077
   %{_bindir}/openssl genrsa 4096 > %{sslkey} 2> /dev/null
   chown root:%{name} %{sslkey}
@@ -194,16 +191,19 @@ fi
 %{_sysusersdir}/%{name}.conf
 %{_tmpfilesdir}/%{name}.conf
 %dir %attr(0755,%{name},%{name}) /run/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/lib/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/log/%{name}/
 %{_mandir}/man1/%{name}ctl.1*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.12.5-3
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.5-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Dec 31 2024 Robert Scheck <robert@fedoraproject.org> 0.12.5-1
 - Upgrade to 0.12.5 (#2335073)
 
 * Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 0.12.4-6
 - Rebuild for ICU 76
diff --git python-virtualbmc/python-virtualbmc.spec python-virtualbmc/python-virtualbmc.spec.tmp
index 4868c5acb2..8639958f51 100644
--- python-virtualbmc/python-virtualbmc.spec
+++ python-virtualbmc/python-virtualbmc.spec.tmp
@@ -1,13 +1,13 @@
 %global srcname virtualbmc
 
 Name: python-%{srcname}
 Version: 3.1.0
-Release: 8%{?dist}
+Release: 9%{?dist}
 Summary: A virtual BMC for controlling virtual machines using IPMI commands
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License: Apache-2.0
 URL: https://opendev.org/openstack/virtualbmc
 Source0: https://tarballs.opendev.org/openstack/%{srcname}/%{srcname}-%{version}.tar.gz
 Source1: 60-vbmcd.rules
 Source2: vbmcd.service
 Source3: vbmcd.sysusers
@@ -29,17 +29,16 @@ BuildRequires: python3-oslotest
 BuildRequires: python3-autopage
 
 %description
 A virtual BMC for controlling virtual machines using IPMI commands.
 
 %package -n python3-%{srcname}
 Summary: A virtual BMC for controlling virtual machines using IPMI commands
 Suggests: python3-%{srcname}-doc
-Requires(pre): shadow-utils
 %{?python_provide:%python_provide python3-%{srcname}}
 
 %description -n python3-%{srcname}
 A virtual BMC for controlling virtual machines using IPMI commands.
 
 %package -n python3-%{srcname}-tests
 Summary: VirtualBMC tests
 Requires: python3-%{srcname} = %{version}-%{release}
@@ -68,18 +67,16 @@ rm -rf doc/build/html/.{doctrees,buildinfo}
 install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/polkit-1/rules.d/60-vbmcd.rules
 install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/vbmcd.service
 install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/vbmcd.conf
 install -d -m 750 %{buildroot}%{_sharedstatedir}/vbmcd
 
 %check
 PYTHON=%{__python3} stestr run
 
-%pre -n python3-%{srcname}
-%sysusers_create_compat %{SOURCE3}
 
 %post -n python3-%{srcname}
 %systemd_post vbmcd.service
 
 %preun -n python3-%{srcname}
 %systemd_preun vbmcd.service
 
 %postun -n python3-%{srcname}
@@ -102,16 +99,19 @@ PYTHON=%{__python3} stestr run
 %{python3_sitelib}/%{srcname}/tests
 
 %files -n python3-%{srcname}-doc
 %license LICENSE
 %doc AUTHORS README.rst HACKING.rst CONTRIBUTING.rst ChangeLog
 %doc doc/build/html
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.0-9
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jul 24 2024 Miroslav Suchý <msuchy@redhat.com> - 3.1.0-7
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git quassel/quassel.spec quassel/quassel.spec.tmp
old mode 100755
new mode 100644
index 586d384795..130efc242f
--- quassel/quassel.spec
+++ quassel/quassel.spec.tmp
@@ -1,14 +1,14 @@
 %global quassel_data_dir    %{_var}/lib/quassel
 
 Name:    quassel
 Summary: A modern distributed IRC system
 Version: 0.14.0
-Release: 9%{?dist}
+Release: 10%{?dist}
 
 # Automatically converted from old format: GPLv2 or GPLv3 - review is highly recommended.
 License: GPL-2.0-only OR GPL-3.0-only
 URL:     https://quassel-irc.org/
 Source0: https://quassel-irc.org/pub/quassel-%{version}.tar.bz2
 
 BuildRequires: cmake
 BuildRequires: dbusmenu-qt5-devel
@@ -118,18 +118,16 @@ install -d -m 0750 %{buildroot}/%{quassel_data_dir}
 # Install AppStream metadata
 install -d -m 0755 %{buildroot}%{_datadir}/metainfo
 install -p -m 0644 data/*.appdata.xml %{buildroot}%{_datadir}/metainfo/
 
 %check
 appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml
 
 # Core pre/post macros.
-%pre core
-%sysusers_create_compat %{SOURCE3}
 
 %post core
 # Install quassel service.
 %systemd_post quasselcore.service
 
 %preun core
 %systemd_preun quasselcore.service
 
@@ -159,16 +157,19 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdat
 
 %files client
 %{_kf5_bindir}/quasselclient
 %{_kf5_datadir}/applications/quasselclient.desktop
 %{_datadir}/metainfo/quasselclient.appdata.xml
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.14.0-10
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 0.14.0-8
 - convert license to SPDX
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git radsecproxy/radsecproxy.spec radsecproxy/radsecproxy.spec.tmp
index 6781022374..c56ccf9a74 100644
--- radsecproxy/radsecproxy.spec
+++ radsecproxy/radsecproxy.spec.tmp
@@ -1,12 +1,12 @@
 Summary:        Generic RADIUS proxy with RadSec support
 Name:           radsecproxy
 Version:        1.11.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 License:        BSD-3-Clause
 URL:            https://radsecproxy.github.io/
 Source0:        https://github.com/radsecproxy/radsecproxy/releases/download/%{version}/%{name}-%{version}.tar.gz
 Source1:        https://github.com/radsecproxy/radsecproxy/releases/download/%{version}/%{name}-%{version}.tar.gz.asc
 Source2:        https://keys.openpgp.org/vks/v1/by-fingerprint/210FA7FB28E45779777BAA1C5963D59C3D68633B
 Source3:        %{name}.conf
 Source4:        %{name}.service
 Source5:        %{name}.logrotate
@@ -15,17 +15,16 @@ Source7:        %{name}.sysusersd
 BuildRequires:  gnupg2
 BuildRequires:  gcc
 BuildRequires:  make
 BuildRequires:  nettle-devel
 BuildRequires:  openssl-devel
 BuildRequires:  systemd-rpm-macros
 Requires:       logrotate
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 radsecproxy is a generic RADIUS proxy that in addition to usual RADIUS UDP
 transport, also supports TLS (RadSec), as well as RADIUS over TCP and DTLS.
 The aim is for the proxy to have sufficient features to be flexible, while
 at the same time to be small, efficient and easy to configure.
 
 %prep
@@ -45,18 +44,16 @@ install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
 install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
 install -D -p -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 chmod 644 tools/*.sh
 
 %check
 make check
 
-%pre
-%sysusers_create_compat %{SOURCE7}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -77,16 +74,19 @@ make check
 %{_mandir}/man8/%{name}.8*
 %{_mandir}/man8/%{name}-hash.8*
 %{_mandir}/man5/%{name}.conf.5*
 %dir %attr(0750,%{name},%{name}) %{_rundir}/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/lib/%{name}/
 %dir %attr(0750,%{name},%{name}) %{_localstatedir}/log/%{name}/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.11.1-3
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 06 2024 Robert Scheck <robert@fedoraproject.org> 1.11.1-1
 - Upgrade to 1.11.1 (#2330848)
 
 * Sat Oct 19 2024 Robert Scheck <robert@fedoraproject.org> 1.11.0-1
 - Upgrade to 1.11.0 (#2290989)
diff --git radvd/radvd.spec radvd/radvd.spec.tmp
index 2c8d85549d..54f8c1f098 100644
--- radvd/radvd.spec
+++ radvd/radvd.spec.tmp
@@ -1,12 +1,12 @@
 Summary: A Router Advertisement daemon
 Name: radvd
 Version: 2.19
-Release: 15%{?dist}
+Release: 16%{?dist}
 
 License: radvd
 URL: http://www.litech.org/radvd/
 Source0: %{url}dist/%{name}-%{version}.tar.xz
 Source1: radvd.sysusers
 Patch0: radvd-c99-1.patch
 Patch1: radvd-c99-2.patch
 Patch2: radvd-configure-c99.patch
@@ -16,17 +16,16 @@ BuildRequires: gcc
 BuildRequires: bison
 BuildRequires: flex
 BuildRequires: flex-static
 BuildRequires: pkgconfig
 BuildRequires: check-devel
 BuildRequires: systemd
 BuildRequires: systemd-rpm-macros
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 BuildRequires: autoconf
 BuildRequires: automake
 
 %description
 radvd is the router advertisement daemon for IPv6.  It listens to router
 solicitations and sends router advertisements as described in "Neighbor
 Discovery for IP Version 6 (IPv6)" (RFC 2461).  With these advertisements
 hosts can automatically configure their addresses and some other
@@ -77,33 +76,34 @@ make check
 %systemd_postun_with_restart radvd.service
 
 %post
 %systemd_post radvd.service
 
 %preun
 %systemd_preun radvd.service
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %files
 %doc CHANGES COPYRIGHT INTRO.html README TODO
 %{_unitdir}/radvd.service
 %config(noreplace) %{_sysconfdir}/radvd.conf
 %config(noreplace) %{_sysconfdir}/sysconfig/radvd
 %{_tmpfilesdir}/radvd.conf
 %{_sysusersdir}/radvd.conf
 %dir %attr(755,radvd,radvd) /run/radvd/
 %doc radvd.conf.example
 %{_mandir}/*/*
 %{_sbindir}/radvd
 %{_sbindir}/radvdump
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.19-16
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-14
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git ravada/ravada.spec ravada/ravada.spec.tmp
index 8d5d04eeb9..bca4f622c2 100644
--- ravada/ravada.spec
+++ ravada/ravada.spec.tmp
@@ -154,18 +154,16 @@ cp -aR public %{buildroot}%{_datadir}/%{name}/
 cp -aR templates %{buildroot}%{_datadir}/%{name}/
 
 # Remove empty files
 find %{buildroot} -size 0 -delete
 
 # Sysusers file
 install -Dpm 0644 %{SOURCE10} %{buildroot}%{_sysusersdir}/%{name}.conf
 
-%pre
-%sysusers_create_compat %{SOURCE10}
 
 %post
 %systemd_post rvd_back.service
 %systemd_post rvd_front.service
 
 %preun
 %systemd_preun rvd_back.service
 %systemd_preun rvd_front.service
diff --git redict/redict.spec redict/redict.spec.tmp
index 6350d163a0..0907112aaa 100644
--- redict/redict.spec
+++ redict/redict.spec.tmp
@@ -1,14 +1,14 @@
 # Tests fail in mock, not in local build.
 %bcond_with        tests
 
 Name:              redict
 Version:           7.3.2
-Release:           2%{?dist}
+Release:           3%{?dist}
 Summary:           A persistent key-value database
 # redict: LGPL-3.0-only
 # hiredict: BSD-3-Clause
 # hdrhistogram, jemalloc, lzf, linenoise: BSD-2-Clause
 # lua: MIT
 # fpconv: BSL-1.0
 License:           BSD-3-Clause AND BSD-2-Clause AND MIT AND BSL-1.0 AND LGPL-3.0-only AND LGPL-3.0-or-later
 URL:               https://redict.io
@@ -30,17 +30,16 @@ BuildRequires:     gcc
 BuildRequires:     procps-ng
 BuildRequires:     tcl
 %endif
 BuildRequires:     pkgconfig(libsystemd)
 BuildRequires:     systemd-devel
 BuildRequires:     systemd-rpm-macros
 BuildRequires:     openssl-devel
 Requires:          logrotate
-Requires(pre):     shadow-utils
 Requires(post):    systemd
 Requires(preun):   systemd
 Requires(postun):  systemd
 # from deps/hiredict/hiredict.h
 Provides:          bundled(hiredict) = 1.0.3
 # from deps/jemalloc/VERSION
 Provides:          bundled(jemalloc) = 5.3.0
 # from deps/lua/src/lua.h
@@ -171,18 +170,16 @@ install -Dpm 644 %{S:7} %{buildroot}%{_sysconfdir}/sysconfig/%{name}-sentinel
 
 %check
 %if %{with tests}
 # https://github.com/redis/redis/issues/1417 (for "taskset -c 1")
 taskset -c 1 make %{make_flags} test
 make %{make_flags} test-sentinel
 %endif
 
-%pre
-%sysusers_create_compat %{S:4}
 
 
 %post
 %systemd_post %{name}.service
 %systemd_post %{name}-sentinel.service
 
 %preun
 %systemd_preun %{name}.service
@@ -224,16 +221,19 @@ make %{make_flags} test-sentinel
 %files devel
 # main package is not required
 %license LICENSES/BSD-3-Clause.txt
 %{_includedir}/%{name}module.h
 %{_rpmmacrodir}/macros.%{name}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.3.2-3
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 08 2025 Jonathan Wright <jonathan@almalinux.org> - 7.3.2-1
 - update to 7.3.2 rhbz#2315906
   fixes CVE-2024-46981
   fixes CVE-2024-51741
   fixes CVE-2024-31449
RPMAutoSpec usage detected, not changing the spec file.
diff --git redsocks/redsocks.spec redsocks/redsocks.spec.tmp
index c9f4db0ae0..0038cb90d1 100644
--- redsocks/redsocks.spec
+++ redsocks/redsocks.spec.tmp
@@ -50,18 +50,16 @@ install -Ddm 755 %{buildroot}%{_sysconfdir}/sysconfig
 install -pm  644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/redsocks
 install -Dpm 644 %{SOURCE4} %{buildroot}%{_sysusersdir}/redsocks.conf
 install -pm  644 %{SOURCE5} Apache-2.0.txt
 install -pm  644 %{SOURCE6} LGPL-2.1-or-later.txt
 install -pm  644 %{SOURCE7} Zlib.txt
 install -Ddm 755 %{buildroot}%{_mandir}/man8
 install -pm  644 debian/redsocks.8 %{buildroot}%{_mandir}/man8
 
-%pre 
-%sysusers_create_compat %{SOURCE3}
 
 %post
 %systemd_post redsocks.service
 
 %preun
 %systemd_preun redsocks.service
 
 %postun
diff --git rpki-client/rpki-client.spec rpki-client/rpki-client.spec.tmp
index a1e7fdc87e..2198e9462a 100644
--- rpki-client/rpki-client.spec
+++ rpki-client/rpki-client.spec.tmp
@@ -4,17 +4,17 @@
 %global portable_shortcommit %(c=%{portable_commit}; echo ${c:0:7})
 %global openbsd_commit       0c3ff93cf8e4880e3099a7bbee8956929fd6ceb2
 %global openbsd_shortcommit  %(c=%{openbsd_commit}; echo ${c:0:7})
 %endif
 
 Summary:        OpenBSD RPKI validator to support BGP Origin Validation
 Name:           rpki-client
 Version:        9.4
-Release:        2%{?with_snapshot:.git%{gitdate}}%{?dist}
+Release:        3%{?with_snapshot:.git%{gitdate}}%{?dist}
 # rpki-client itself is ISC but uses other source codes, breakdown:
 # BSD-2-Clause: include/sys/tree.h and src/{http,output}.c
 # BSD-3-Clause: compat/{setproctitle,vis}.c and include/{sha2_openbsd,vis,sys/queue}.h and src/mkdir.c
 # OpenSSL: compat/x509_purp.c
 # LicenseRef-Fedora-Public-Domain: include/{{poll,sha2,stdlib,string,unistd},openssl/{asn1,safestack,x509v3}}.h
 #                                  and include/sys/{_null,socket,types,wait}.h and compat/explicit_bzero.c
 License:        ISC AND BSD-2-Clause AND BSD-3-Clause AND OpenSSL AND LicenseRef-Fedora-Public-Domain
 URL:            https://www.rpki-client.org/
@@ -43,17 +43,16 @@ BuildRequires:  make
 BuildRequires:  openssl-devel >= 1.1.0
 BuildRequires:  libretls-devel
 BuildRequires:  expat-devel
 BuildRequires:  rsync
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  zlib-devel
 Requires:       rsync
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 # https://github.com/rpki-client/rpki-client-portable/commit/764aadf4d8d42ac198def7ef3e8077f0a324276f
 ExcludeArch:    %{ix86}
 
 %description
 The OpenBSD rpki-client is a free, easy-to-use implementation of the
 Resource Public Key Infrastructure (RPKI) for Relying Parties (RP) to
 facilitate validation of the Route Origin of a BGP announcement. The
 program queries the RPKI repository system, downloads and validates
@@ -83,18 +82,16 @@ cp -pf %{SOURCE3} .
 
 %install
 %make_install
 install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
 install -D -p -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/%{name}.timer
 %{?el8:install -D -p -m 0644 %{SOURCE7} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service}
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 %post
 %systemd_post %{name}.timer
 
 %preun
 %systemd_preun %{name}.timer
 
 %postun
@@ -108,16 +105,19 @@ install -D -p -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/%{name}.timer
 %{_unitdir}/%{name}.service
 %{_unitdir}/%{name}.timer
 %{_sysusersdir}/%{name}.conf
 %{_mandir}/man8/%{name}.8*
 %dir %attr(0755,%{name},%{name}) %{_localstatedir}/cache/%{name}/
 %dir %attr(0755,%{name},%{name}) %{_localstatedir}/lib/%{name}/
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.4-3
+- Drop call to %sysusers_create_compat
+
 * Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.4-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Jan 13 2025 Robert Scheck <robert@fedoraproject.org> 9.4-1
 - Upgrade to 9.4 (#2336356)
 
 * Sun Sep 22 2024 Robert Scheck <robert@fedoraproject.org> 9.3-1
 - Upgrade to 9.3 (#2314116)
RPMAutoSpec usage detected, not changing the spec file.
diff --git rtkit/rtkit.spec rtkit/rtkit.spec.tmp
index 20f87d6c29..12e8fac1dd 100644
--- rtkit/rtkit.spec
+++ rtkit/rtkit.spec.tmp
@@ -12,17 +12,16 @@ Requires:         dbus
 Requires:         polkit
 BuildRequires:    make
 BuildRequires:    systemd-devel
 BuildRequires:    systemd-rpm-macros
 BuildRequires:    dbus-devel >= 1.2
 BuildRequires:    libcap-devel
 BuildRequires:    polkit-devel
 BuildRequires:    autoconf automake libtool
-%{?sysusers_requires_compat}
 Source0:          http://0pointer.de/public/%{name}-%{version}.tar.xz
 Source1:          rtkit.sysusers
 Patch:            rtkit-mq_getattr.patch
 Patch:            0001-SECURITY-Pass-uid-of-caller-to-polkit.patch
 Patch:            rtkit-controlgroup.patch
 
 # Temporarily disable -Werror=format-security since it breaks the build
 Patch:            format-security.patch
@@ -56,18 +55,16 @@ install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/rtkit.conf
 
 # Relocate dbus policy to /usr
 mkdir -p %{buildroot}%{_datadir}/dbus-1/system.d
 mv %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.freedesktop.RealtimeKit1.conf %{buildroot}%{_datadir}/dbus-1/system.d
 rmdir %{buildroot}%{_sysconfdir}/dbus-1/system.d
 rmdir %{buildroot}%{_sysconfdir}/dbus-1
 rmdir %{buildroot}%{_sysconfdir}
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post rtkit-daemon.service
 dbus-send --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig >/dev/null 2>&1 || :
 
 %preun
 %systemd_preun rtkit-daemon.service
 
RPMAutoSpec usage detected, not changing the spec file.
diff --git rtpproxy/rtpproxy.spec rtpproxy/rtpproxy.spec.tmp
index 44e0f5218d..61647f257f 100644
--- rtpproxy/rtpproxy.spec
+++ rtpproxy/rtpproxy.spec.tmp
@@ -28,17 +28,16 @@ BuildRequires:	libsrtp-devel
 BuildRequires:	libtool
 BuildRequires:	libucl-devel >= 0.8.2
 BuildRequires:	libxslt
 BuildRequires:	make
 BuildRequires:	openssl-devel
 BuildRequires:	systemd-devel
 BuildRequires:	systemd-rpm-macros
 BuildRequires:	xxhash-devel
-Requires(pre):	/usr/sbin/useradd
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
 
 %description
 This is symmetric RTP proxy designed to be used in conjunction with
 the SIP Express Router (SER) or any other SIP proxy capable of
@@ -68,18 +67,16 @@ install -D -p -m 0644 rpm/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig
 install -D -m 0644 -p rpm/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
 install -D -m 0644 -p rpm/%{name}.socket %{buildroot}%{_unitdir}/%{name}.socket
 install -D -m 0644 -p rpm/%{name}.tmpfiles.conf %{buildroot}%{_tmpfilesdir}/%{name}.conf
 mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
 install -d %{buildroot}%{_localstatedir}/lib/%{name}
 install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
 
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
RPMAutoSpec usage detected, not changing the spec file.
diff --git rust-crypto-auditing-agent/rust-crypto-auditing-agent.spec rust-crypto-auditing-agent/rust-crypto-auditing-agent.spec.tmp
index 2ccff93878..28b8efd6ce 100644
--- rust-crypto-auditing-agent/rust-crypto-auditing-agent.spec
+++ rust-crypto-auditing-agent/rust-crypto-auditing-agent.spec.tmp
@@ -17,17 +17,16 @@ Source2:        crypto-auditing-agent.service
 Source3:	crypto-auditing.sysusers
 Patch:		rust-crypto-auditing-agent-0.2.1-no-probe.patch
 
 BuildRequires:  cargo-rpm-macros >= 24
 BuildRequires:  kernel-devel
 BuildRequires:  libbpf-devel
 BuildRequires:  bpftool
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 # Neither kernel-devel nor kernel-tools (bpftool) supports 32-bit arches
 ExcludeArch: i386 i686
 
 %global _description %{expand:
 Event collector agent for crypto-auditing project.}
 
 %description %{_description}
@@ -98,18 +97,16 @@ install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysusersdir}/crypto-auditing.conf
 
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/crypto-auditing
 
 %if %{with check}
 %check
 %cargo_test
 %endif
 
-%pre -n %{crate}
-%sysusers_create_compat %{SOURCE3}
 
 %post -n %{crate}
 %systemd_post crypto-auditing-agent.service
 
 %preun -n %{crate}
 %systemd_preun crypto-auditing-agent.service
 
 %postun -n %{crate}
RPMAutoSpec usage detected, not changing the spec file.
diff --git salt/salt.spec salt/salt.spec.tmp
index 14eaeac4b5..1d120ec359 100644
--- salt/salt.spec
+++ salt/salt.spec.tmp
@@ -55,17 +55,16 @@ Requires: dmidecode
 Requires: pciutils
 Requires: which
 Requires: dnf-utils
 Requires: logrotate
 Requires: python3-tornado
 
 BuildRequires: systemd-rpm-macros
 BuildRequires: python3-devel
-%{?sysusers_requires_compat}
 
 %description
 Salt is a distributed remote execution system used to execute commands and
 query data. It was developed in order to bring the best solutions found in
 the world of remote execution together and make them better, faster and more
 malleable. Salt accomplishes this via its ability to handle larger loads of
 information, and not just dozens, but hundreds or even thousands of individual
 servers, handle them quickly and through a simple and manageable interface.
@@ -301,18 +300,16 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/gpgkeys
 %systemd_preun %{name}-syndic.service
 
 %preun minion
 %systemd_preun %{name}-minion.service
 
 %preun api
 %systemd_preun %{name}-api.service
 
-%pre master
-%sysusers_create_compat %{SOURCE22}
 
 %post master
 chown salt:salt %{_sysconfdir}/%{name}/gpgkeys -R
 %systemd_post %{name}-master.service
 
 %post syndic
 %systemd_post %{name}-syndic.service
 
RPMAutoSpec usage detected, not changing the spec file.
diff --git samba/samba.spec samba/samba.spec.tmp
index 08526418b3..bc5487a892 100644
--- samba/samba.spec
+++ samba/samba.spec.tmp
@@ -1637,19 +1637,16 @@ export SAMBA_DCERPCD_DONT_LOG_STDOUT=1
 %systemd_preun smb.service
 %systemd_preun nmb.service
 
 %postun
 %systemd_postun_with_restart samba-bgqd.service
 %systemd_postun_with_restart smb.service
 %systemd_postun_with_restart nmb.service
 
-%pre common
-# This creates the group 'printadmin'
-%sysusers_create_compat %{SOURCE16}
 
 %post common
 %{?ldconfig}
 %tmpfiles_create %{_tmpfilesdir}/samba.conf
 if [ -d /var/cache/samba ]; then
     mv /var/cache/samba/netsamlogon_cache.tdb /var/lib/samba/ 2>/dev/null
     mv /var/cache/samba/winbindd_cache.tdb /var/lib/samba/ 2>/dev/null
     rm -rf /var/cache/samba/
diff --git sane-backends/sane-backends.spec sane-backends/sane-backends.spec.tmp
index 653e74222f..5ff25d4f53 100644
--- sane-backends/sane-backends.spec
+++ sane-backends/sane-backends.spec.tmp
@@ -19,17 +19,17 @@
 %bcond_with runtimedep_systemd
 %else
 %bcond_without runtimedep_systemd
 %endif
 
 Summary: Scanner access software
 Name: sane-backends
 Version: 1.3.1
-Release: 2%{?dist}
+Release: 3%{?dist}
 # backend/coolscan*, backend/epson2*, backend/epsonds*, backend/magicolor*, backend/kodakaio* -
 # GPL-2.0-only
 # backend/qcam* - MIT AND GPL-2.0-or-later WITH SANE-exception
 # include/sane.h,sanei_net.h,sanei_tcp.h,sanei_udp.h - LicenseRef-Fedora-Public-Domain
 # sanei/sanei_jpeg.c - IJG
 # sanei/*, backend/*, include/*, japi/* - GPL-2.0-or-later WITH SANE-exception
 # frontend/*, tools/* - GPL-2.0-or-later
 # lib/* - LGPL-2.0-or-later, LGPL-2.1-or-later (copied from glibc, remove in the future...)
@@ -300,18 +300,16 @@ then
   %{_bindir}/sed -i 's,^[[:space:]]*net[[:space:]]*autodiscovery,#net autodiscovery,g' /etc/sane.d/epsonds.conf
 fi
 
 %postun
 udevadm hwdb --update >/dev/null 2>&1 || :
 
 %ldconfig_scriptlets libs
 
-%pre daemon
-%sysusers_create_compat %{SOURCE6}
 
 %post daemon
 %systemd_post saned.socket
 
 %preun daemon
 %systemd_preun saned.socket
 
 %postun daemon
@@ -398,16 +396,19 @@ udevadm hwdb --update >/dev/null 2>&1 || :
 %{_mandir}/man8/saned*
 %config(noreplace) %{_sysconfdir}/sane.d/saned.conf
 %{_udevrulesdir}/66-saned.rules
 %{_sysusersdir}/sane-backends.conf
 %{_unitdir}/saned.socket
 %{_unitdir}/saned@.service
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.3.1-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Jul 25 2024 Zdenek Dohnal <zdohnal@redhat.com> - 1.3.1-1
 - 2263985 - sane-backends-1.3.1 is available
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git sanlock/sanlock.spec sanlock/sanlock.spec.tmp
index e9f4aecf7c..ec1f82768a 100644
--- sanlock/sanlock.spec
+++ sanlock/sanlock.spec.tmp
@@ -1,11 +1,11 @@
 Name:           sanlock
 Version:        3.9.4
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        A shared storage lock manager
 License:	GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
 URL:            https://pagure.io/sanlock/
 BuildRequires:  gcc
 BuildRequires:  libaio-devel
 BuildRequires:  libblkid-devel
 BuildRequires:  libuuid-devel
 BuildRequires:  make
@@ -64,18 +64,16 @@ install -D -m 0644 src/sanlock.conf \
     $RPM_BUILD_ROOT/etc/sanlock/sanlock.conf
 
 install -D -m 0644 init.d/wdmd.sysconfig \
     $RPM_BUILD_ROOT/etc/sysconfig/wdmd
 
 install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d
 install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlock
 
-%pre
-%sysusers_create_compat sanlock.sysusers
 
 %post
 %systemd_post wdmd.service sanlock.service
 
 %preun
 %systemd_preun wdmd.service sanlock.service
 
 %postun
@@ -144,16 +142,19 @@ developing applications that use %{name}.
 %{_includedir}/sanlock_rv.h
 %{_includedir}/sanlock_admin.h
 %{_includedir}/sanlock_resource.h
 %{_includedir}/sanlock_direct.h
 %{_libdir}/pkgconfig/libsanlock.pc
 %{_libdir}/pkgconfig/libsanlock_client.pc
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.9.4-4
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.4-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.9.4-2
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Wed Aug 09 2024 David Teigland <teigland@redhat.com> - 3.9.4-1
 - new upstream release, adopt sysusers
diff --git sddm/sddm.spec sddm/sddm.spec.tmp
index 8b52ad9cb9..9b7f625180 100644
--- sddm/sddm.spec
+++ sddm/sddm.spec.tmp
@@ -1,14 +1,14 @@
 # Disable X11 for RHEL 10+
 %bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
 
 Name:           sddm
 Version:        0.21.0
-Release:        7%{?dist}
+Release:        8%{?dist}
 License:        GPL-2.0-or-later
 Summary:        QML based desktop and login manager
 
 URL:            https://github.com/sddm/sddm
 Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
 
 ## upstream patches
 # Port all themes to Qt 6
@@ -92,17 +92,16 @@ Requires: desktop-backgrounds-compat
 Requires: system-logos
 %endif
 Requires: systemd
 %if %{with x11}
 Requires: xorg-x11-xinit
 %endif
 %{?systemd_requires}
 
-Requires(pre): shadow-utils
 
 # Virtual dependency for sddm greeter setup
 Requires: sddm-greeter-displayserver
 Suggests: sddm-wayland-generic
 
 %description
 SDDM is a modern graphical display manager aiming to be fast, simple and
 beautiful. It uses modern technologies like QtQuick, which in turn gives the
@@ -202,18 +201,16 @@ mv %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf \
    %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager-sddm.conf
 
 %if 0%{?fedora} && 0%{?fedora} < 43
 # Provide unversioned greeter until F40 is EOL
 ln -sr %{buildroot}%{_bindir}/sddm-greeter-qt6 %{buildroot}%{_bindir}/sddm-greeter
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE17}
 
 %post
 %systemd_post sddm.service
 # handle incompatible configuration changes
 (grep \
    -e '^Current=fedora$' \
    -e '^\[XDisplay\]$' \
    -e '^\[WaylandDisplay\]$' \
@@ -281,16 +278,19 @@ ln -sr %{buildroot}%{_bindir}/sddm-greeter-qt6 %{buildroot}%{_bindir}/sddm-greet
 
 %files themes
 %{_datadir}/sddm/themes/elarun/
 %{_datadir}/sddm/themes/maldives/
 %{_datadir}/sddm/themes/maya/
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.21.0-8
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Oct 15 2024 Neal Gompa <ngompa@fedoraproject.org> - 0.21.0-6
 - Rebuild to pick up F41 wallpapers
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git seatd/seatd.spec seatd/seatd.spec.tmp
index 54923aa24f..822f816733 100644
--- seatd/seatd.spec
+++ seatd/seatd.spec.tmp
@@ -1,16 +1,16 @@
 %global libseat_sover   1
 %global _hardened_build 1
 
 %bcond_without  server
 
 Name:           seatd
 Version:        0.9.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Minimal seat management daemon
 
 License:        MIT
 URL:            https://sr.ht/~kennylevinsen/seatd/
 Source0:        https://git.sr.ht/~kennylevinsen/seatd/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        seatd.sysusers
 
 BuildRequires:  gcc
@@ -78,18 +78,16 @@ install -D -m 0644 -pv %{SOURCE1} \
 %endif
 
 
 %check
 %meson_test
 
 
 %if %{with server}
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
@@ -114,16 +112,19 @@ install -D -m 0644 -pv %{SOURCE1} \
 
 %files -n libseat-devel
 %{_includedir}/libseat.h
 %{_libdir}/libseat.so
 %{_libdir}/pkgconfig/libseat.pc
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.9.1-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Oct 30 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.1-1
 - Update to 0.9.1 (rhbz#2322864)
 
 * Tue Oct 22 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.0-1
 - Update to 0.9.0
RPMAutoSpec usage detected, not changing the spec file.
diff --git ser2net/ser2net.spec ser2net/ser2net.spec.tmp
index 7d1269ec74..e8db7f4998 100644
--- ser2net/ser2net.spec
+++ ser2net/ser2net.spec.tmp
@@ -21,17 +21,16 @@ BuildRequires:  pkgconfig(libgensiomdns)
 # EL9 does not provide pkgconfig(pam) yet
 %if 0%{?el9}
 BuildRequires:  pam-devel
 %else
 BuildRequires:  pkgconfig(pam)
 %endif
 BuildRequires:  pkgconfig(yaml-0.1)
 BuildRequires:  systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 %description
 ser2net provides a way for a user to connect from a network connection to a 
 serial port. It provides all the serial port setup, a configuration file to 
 configure the ports, a control login for modifying port parameters, 
 monitoring ports, and controlling ports.
 
 
@@ -46,18 +45,16 @@ autoreconf -f -i
 
 
 %install
 %make_install
 install -Dpm0644 %{name}.yaml %{buildroot}%{_sysconfdir}/%{name}/%{name}.yaml
 install -Dpm0644 %{name}.service  %{buildroot}%{_unitdir}/%{name}.service
 install -Dpm0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 
 %postun
diff --git setroubleshoot/setroubleshoot.spec setroubleshoot/setroubleshoot.spec.tmp
index 25aa73e138..bbb44b0f0b 100644
--- setroubleshoot/setroubleshoot.spec
+++ setroubleshoot/setroubleshoot.spec.tmp
@@ -1,17 +1,17 @@
 # Disable automatic compilation of Python files in extra directories
 %global _python_bytecompile_extra 0
 
 %bcond libreport %{undefined rhel}
 
 Summary: Helps troubleshoot SELinux problems
 Name: setroubleshoot
 Version: 3.3.35
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPL-2.0-or-later
 URL: https://gitlab.com/setroubleshoot/setroubleshoot
 Source0: https://gitlab.com/setroubleshoot/setroubleshoot/-/archive/%{version}/setroubleshoot-%{version}.tar.gz
 Source1: %{name}.tmpfiles
 Source2: %{name}.sysusers
 # git format-patch -N 3.3.34
 # i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
 BuildRequires: gcc
@@ -112,18 +112,16 @@ Requires: polkit
 Requires: initscripts-service
 
 %description server
 Provides tools to help diagnose SELinux problems. When AVC messages
 are generated an alert can be generated that will give information
 about the problem and help track its resolution. Alerts can be configured
 to user preference. The same tools can be run on existing log files.
 
-%pre server
-%sysusers_create_compat %{SOURCE2}
 
 %post server
 /sbin/service auditd reload >/dev/null 2>&1 || :
 
 %postun server
 /sbin/service auditd reload >/dev/null 2>&1 || :
 
 %files server -f %{name}.lang
@@ -191,16 +189,19 @@ to user preference. The same tools can be run on existing log files.
 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootFixit.conf
 %{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service
 %attr(0644,root,root) %{_tmpfilesdir}/%{name}.conf
 %attr(0644,root,root) %{_sysusersdir}/%{name}.conf
 %attr(0711,setroubleshoot,setroubleshoot) %dir %{_rundir}/setroubleshoot
 %doc AUTHORS COPYING ChangeLog DBUS.md NEWS README TODO
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.35-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.35-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Nov 26 2024 Petr Lautrbach <lautrbach@redhat.com> - 3.3.35-1
 - Do not hardcode /var/lib/selinux as store_root
 
 * Fri Nov 15 2024 Petr Lautrbach <lautrbach@redhat.com> - 3.3.34-2
 - Do not hardcode /var/lib/selinux as store_root
diff --git sip-redirect/sip-redirect.spec sip-redirect/sip-redirect.spec.tmp
index 33e3453ad0..9cbd26e4bd 100644
--- sip-redirect/sip-redirect.spec
+++ sip-redirect/sip-redirect.spec.tmp
@@ -1,26 +1,25 @@
 Summary:           Tiny IPv4 and IPv6 SIP redirect server written in Perl
 Summary(de):       Ein winziger, in Perl geschriebener, SIP Redirekt-Server
 Name:              sip-redirect
 Version:           0.2.0
-Release:           23%{?dist}
+Release:           24%{?dist}
 License:           GPL-2.0-or-later
 URL:               https://ftp.robert-scheck.de/linux/%{name}/
 Source0:           https://ftp.robert-scheck.de/linux/%{name}/%{name}-%{version}.tar.gz
 Source1:           sip-redirect.sysusersd
 BuildArch:         noarch
 BuildRequires:     make
 BuildRequires:     perl-generators
 BuildRequires:     systemd
 BuildRequires:     systemd-rpm-macros
 Requires:          logrotate
 Requires:          perl(Socket) >= 1.95
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 sip-redirect is a tiny SIP redirect server written in Perl. It is IPv4 and
 IPv6 capable, but the IPv6 support is optional. The RFC 3261 was the base for
 this simple and very configurable implementation. There is neither TCP nor
 multicast support programmed in.
 
 %description -l de
@@ -35,18 +34,16 @@ verwendet. Es wurde keine Unterstützung für TCP und für Multicast eingebaut.
 %build
 
 %install
 %make_install
 
 # Declarative allocation of system users and groups
 install -D -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 touch %{_localstatedir}/log/%{name} > /dev/null 2>&1 || :
 chown sip:sip %{_localstatedir}/log/%{name} > /dev/null 2>&1 || :
 chmod 0640 %{_localstatedir}/log/%{name} > /dev/null 2>&1 || :
 %systemd_post %{name}.service
 
 %preun
@@ -61,16 +58,19 @@ chmod 0640 %{_localstatedir}/log/%{name} > /dev/null 2>&1 || :
 %{_bindir}/%{name}
 %{_unitdir}/%{name}.service
 %{_sysusersdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
 %ghost %attr(0640,sip,sip) %{_localstatedir}/log/%{name}
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.2.0-24
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-21
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git smf-spf/smf-spf.spec smf-spf/smf-spf.spec.tmp
index c5a7d50917..89e837bbaa 100644
--- smf-spf/smf-spf.spec
+++ smf-spf/smf-spf.spec.tmp
@@ -1,12 +1,12 @@
 Summary:	Mail filter for Sender Policy Framework verification
 Name:		smf-spf
 Version:	2.5.1^20220423g061e937
-Release:	5%{?dist}
+Release:	6%{?dist}
 License:	GPL-2.0-or-later
 URL:		https://github.com/jcbf/smf-spf/
 Source0:	https://github.com/jcbf/smf-spf/archive/061e9371f761f70afd40af349f4037fe0460725c.zip
 Source1:	smf-spf.service
 Source2:	README.rpm
 Source3:	smf-spf.sysusers
 Source4:	smfs.conf
 
@@ -19,17 +19,16 @@ Patch2:		smf-spf-2.5.1-conf.patch
 
 # Use /run rather than /var/run with systemd
 Patch5:		smf-spf-2.5.1-rundir.patch
 
 BuildRequires:	libspf2-devel >= 1.2.5
 BuildRequires:	sendmail-milter-devel >= 8.12
 BuildRequires:	systemd-rpm-macros
 BuildRequires:	make gcc coreutils
-%{?sysusers_requires_compat}
 
 Requires:	sendmail >= 8.12
 
 %description
 smf-spf is a lightweight, fast and reliable Sendmail milter that implements the
 Sender Policy Framework technology with the help of the libspf2 library. It
 checks SPF records to make sure that e-mail messages are authorized by the
 domain that it is coming from. It's an alternative for the spfmilter,
@@ -53,18 +52,16 @@ install -Dp -m 755 smf-spf %{buildroot}%{_sbindir}/smf-spf
 install -Dp -m 644 smf-spf.conf %{buildroot}%{_sysconfdir}/mail/smfs/smf-spf.conf
 # Install systemd unit file and tmpfiles.d configuration for /run/smfs
 install -Dp -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/smf-spf.service
 install -Dp -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/smfs.conf
 
 # Create dummy socket for %%ghost-ing
 : > %{buildroot}/run/smfs/smf-spf.sock
 
-%pre
-%sysusers_create_compat %{SOURCE3}
 
 %post
 %systemd_post smf-spf.service
 
 %preun
 %systemd_preun smf-spf.service
 
 %postun
@@ -77,16 +74,19 @@ install -Dp -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/smfs.conf
 %dir %{_sysconfdir}/mail/smfs/
 %config(noreplace) %{_sysconfdir}/mail/smfs/smf-spf.conf
 %attr(0700,smfs,smfs) %dir /run/smfs/
 %ghost %attr(0600,smfs,smfs) /run/smfs/smf-spf.sock
 %{_unitdir}/smf-spf.service
 %{_tmpfilesdir}/smfs.conf
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.5.1^20220423g061e937-6
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1^20220423g061e937-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1^20220423g061e937-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
 
 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1^20220423g061e937-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
RPMAutoSpec usage detected, not changing the spec file.
diff --git tang/tang.spec tang/tang.spec.tmp
index 8e32190070..1fa8e6a05e 100644
--- tang/tang.spec
+++ tang/tang.spec.tmp
@@ -33,17 +33,16 @@ BuildRequires:  iproute
 
 %{?systemd_ordering}
 Requires:       coreutils
 Requires:       jose >= 8
 Requires:       llhttp
 Requires:       grep
 Requires:       sed
 
-Requires(pre):  shadow-utils
 
 %description
 Tang is a small daemon for binding data to the presence of a third party.
 
 %prep
 %autosetup -S git
 
 %build
@@ -57,19 +56,16 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/tang.conf
 
 %check
 %meson_test \
 %ifarch riscv64
     --timeout-multiplier 10 \
 %endif
     %{nil}
 
-%pre
-%sysusers_create_compat %{SOURCE1}
-exit 0
 
 %post
 %systemd_post %{name}d.socket
 
 # Let's make sure any existing keys are readable only
 # by the owner/group.
 if [ -d /var/db/tang ]; then
     for k in /var/db/tang/*.jwk; do
diff --git tcpdump/tcpdump.spec tcpdump/tcpdump.spec.tmp
index 90970ce18b..2c70bd1032 100644
--- tcpdump/tcpdump.spec
+++ tcpdump/tcpdump.spec.tmp
@@ -1,18 +1,17 @@
 %define tcpslice_dir tcpslice-1.7
 
 Summary: A network traffic monitoring tool
 Name: tcpdump
 Epoch: 14
 Version: 4.99.5
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND ISC AND NTP
 URL: http://www.tcpdump.org
-Requires(pre): shadow-utils
 BuildRequires: make
 BuildRequires: automake openssl-devel libpcap-devel git-core gcc
 BuildRequires: systemd-rpm-macros
 
 Source0: http://www.tcpdump.org/release/tcpdump-%{version}.tar.xz
 Source1: ftp://ftp.ee.lbl.gov/%{tcpslice_dir}.tar.gz
 Source2: http://www.tcpdump.org/release/tcpdump-%{version}.tar.xz.sig
 Source3: tcpdump-sysusers.conf
@@ -73,30 +72,30 @@ install -m755 tcpdump ${RPM_BUILD_ROOT}%{_sbindir}
 install -m644 tcpdump.1 ${RPM_BUILD_ROOT}%{_mandir}/man8/tcpdump.8
 
 install -p -D -m 0644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysusersdir}/tcpdump.conf
 
 # fix section numbers
 sed -i 's/\(\.TH[a-zA-Z ]*\)[1-9]\(.*\)/\18\2/' \
 	${RPM_BUILD_ROOT}%{_mandir}/man8/*
 
-%pre
-%sysusers_create_compat %{SOURCE3}
-exit 0
 
 %files
 %license LICENSE
 %doc README.md CHANGES CREDITS
 %{_sbindir}/tcpdump
 %{_sbindir}/tcpslice
 %{_sysusersdir}/tcpdump.conf
 %{_mandir}/man8/tcpslice.8*
 %{_mandir}/man8/tcpdump.8*
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14:4.99.5-4
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 14:4.99.5-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14:4.99.5-2
 - Rebuilt for the bin-sbin merge (2nd attempt)
 
 * Tue Sep 03 2024 Michal Ruprich <mruprich@redhat.com> - 14:4.99.5-1
 - New version 4.99.5
diff --git tlog/tlog.spec tlog/tlog.spec.tmp
index 55f0438a67..ee5bf69c10 100644
--- tlog/tlog.spec
+++ tlog/tlog.spec.tmp
@@ -15,17 +15,17 @@
 %endif
 
 # Compatibility macros
 %{!?_tmpfilesdir:%global _tmpfilesdir %{_prefix}/lib/tmpfiles.d}
 %{!?make_build:%global make_build %{__make} %{?_smp_mflags}}
 
 Name:           tlog
 Version:        14
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Terminal I/O logger
 
 %if "%{_vendor}" == "debbuild"
 # Required for Debian
 Packager:       Justin Stephenson <jstephen@redhat.com>
 Group:          admin
 License:        GPL-2.0+
 %else
@@ -55,17 +55,16 @@ BuildRequires:  pkg-config
 
 %if %{with systemd}
 BuildRequires:  libsystemd-dev
 # Expanded form of systemd_requires macro
 Requires:         systemd-sysv
 Requires(preun):  systemd
 Requires(post):   systemd
 Requires(postun): systemd
-%{?sysusers_requires_compat}
 %endif
 
 %else
 BuildRequires:  pkgconfig(json-c)
 BuildRequires:  pkgconfig(libcurl)
 %if %{defined suse_version}
 BuildRequires:  utempter-devel
 %else
@@ -136,34 +135,35 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf
 %dir %attr(-,%{name},%{name}) %{_localstatedir}/run/%{name}
 %endif
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}-rec.conf
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}-rec-session.conf
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}-play.conf
 %{_sysusersdir}/%{name}.conf
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 /sbin/ldconfig
 %if 0%{?el7} || 0%{?suse_version} >= 1315
 # For RHEL7 and SUSE Linux distributions, creation doesn't happen automatically
 %tmpfiles_create %{name}.conf
 %endif
 %if 0%{?ubuntu} || 0%{?debian}
 # For Debian/Ubuntu, creation doesn't happen automatically
 systemd-tmpfiles --create %{name}.conf >/dev/null 2>&1 || :
 %endif
 
 %postun
 /sbin/ldconfig
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 14-5
+- Drop call to %sysusers_create_compat
+
 * Thu Jan 23 2025 Justin Stephenson <jstephen@redhat.com> - 14-4
 - Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2341444
 
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 14-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 14-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git trafficserver/trafficserver.spec trafficserver/trafficserver.spec.tmp
index 0f1e0561be..053d0f1c7c 100644
--- trafficserver/trafficserver.spec
+++ trafficserver/trafficserver.spec.tmp
@@ -1,15 +1,15 @@
 %global with_selinux 1
 %global modulename trafficserver
 %global selinuxtype targeted
 
 Name:           trafficserver
 Version:        10.0.2
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Fast, scalable and extensible HTTP/1.1 and HTTP/2 caching proxy server
 
 # Automatically converted from old format: ASL 2.0 - review is highly recommended.
 License:        Apache-2.0
 URL:            https://trafficserver.apache.org/
 Source0:        http://www.apache.org/dist/%{name}/%{name}-%{version}.tar.bz2
 Source1:        http://www.apache.org/dist/%{name}/%{name}-%{version}.tar.bz2.asc
 Source2:        https://downloads.apache.org/trafficserver/KEYS
@@ -170,18 +170,16 @@ rm -f %{buildroot}/usr/lib/debug%{_libdir}/%{name}/plugin_*.debug
 # Why is the Perl stuff ending up in the wrong place ??
 mkdir -p %{buildroot}%{perl_vendorlib}
 mv %{buildroot}/usr/lib/perl5/Apache %{buildroot}%{perl_vendorlib}
 rm -rf %{buildroot}/usr/lib/perl5
 
 install -D -m 0644 -p %{buildroot}%{_libdir}/%{name}/pkgconfig/%{name}.pc %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
 rm -rf %{buildroot}%{_libdir}/%{name}/pkgconfig
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 %post
 %?ldconfig
 %systemd_post %{name}.service
 %tmpfiles_create %{_tmpfilesdir}/%{name}.conf
 
 %preun
 %systemd_preun %{name}.service
@@ -264,16 +262,19 @@ fi
 %{_includedir}/ts
 %dir %{_includedir}/tscpp
 %{_includedir}/tscpp/api
 %{_includedir}/tscpp/util/
 %{_libdir}/pkgconfig/%{name}.pc
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 10.0.2-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Tue Nov 12 2024 Jered Floyd <jered@redhat.com> 10.0.2-1
 - Update to upstream 10.0.2
 - Remove conditionals for releases we will not support
 - NOTE: 10.x incorporaties a breaking change in configuration.
   Please review https://docs.trafficserver.apache.org/en/10.0.x/release-notes/upgrading.en.html
RPMAutoSpec usage detected, not changing the spec file.
diff --git unbound/unbound.spec unbound/unbound.spec.tmp
index b0803eea6a..a0ffe69499 100644
--- unbound/unbound.spec
+++ unbound/unbound.spec.tmp
@@ -145,17 +145,16 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}, openssl-devel
 Requires: pkgconfig
 
 %description devel
 The devel package contains the unbound library and the include files
 
 %package libs
 Summary: Libraries used by the unbound server and client applications
 Recommends: %{name}-anchor
-%{?sysusers_requires_compat}
 %if ! 0%{with_python2}
 # Make explicit conflict with no longer provided python package
 Obsoletes: python2-unbound < 1.9.3
 %endif
 
 %description libs
 Contains libraries used by the unbound server and client applications.
 
@@ -374,18 +373,16 @@ install -p -m 0644 %{SOURCE21} %{buildroot}%{_datadir}/%{name}/conf.d/
 install -p -m 0644 %{SOURCE23} %{buildroot}%{_datadir}/%{name}/conf.d/
 install -p -m 0644 %{SOURCE24} %{buildroot}%{_datadir}/%{name}/conf.d/
 install -p -m 0644 %{SOURCE27} %{buildroot}%{_datadir}/%{name}/
 
 # Link unbound-control-setup.8 manpage to unbound-control.8
 echo ".so man8/unbound-control.8" > %{buildroot}/%{_mandir}/man8/unbound-control-setup.8
 
 
-%pre libs
-%sysusers_create_compat %{SOURCE20}
 
 %post
 %systemd_post unbound.service
 %systemd_post unbound-keygen.service
 
 %post anchor
 %systemd_post unbound-anchor.service unbound-anchor.timer
 # start the timer only if installing the package to prevent starting it, if it was stopped on purpose
diff --git unrealircd/unrealircd.spec unrealircd/unrealircd.spec.tmp
index 874f74d287..167e1169c8 100644
--- unrealircd/unrealircd.spec
+++ unrealircd/unrealircd.spec.tmp
@@ -2,17 +2,17 @@
 %global sslkey  %{_sysconfdir}/pki/%{name}/server.key.pem
 
 %bcond_without  maxmind
 %global pcre2   10.44
 
 Summary:        Open Source IRC server
 Name:           unrealircd
 Version:        6.1.9.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 # UnrealIRCd declares itself as GPL-2.0-or-later as it's the common denominator for
 # a GPL-1.0-or-later and GPL-2.0-or-later mixture, breakdown of other source codes:
 # BSD-3-Clause: include/mempool.h and src/mempool.c
 # ISC: src/openssl_hostname_validation.c
 # LicenseRef-Fedora-Public-Domain: include/crypt_blowfish.h and src/crypt_blowfish.c
 # MIT: include/openssl_hostname_validation.h
 License:        GPL-1.0-or-later AND GPL-2.0-or-later AND BSD-3-Clause AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT
 URL:            https://www.unrealircd.org/
@@ -41,17 +41,16 @@ Provides:       bundled(pcre2) = %{pcre2}
 BuildRequires:  libargon2-devel >= 20161029
 BuildRequires:  libsodium-devel >= 1.0.16
 BuildRequires:  c-ares-devel >= 1.6.0
 BuildRequires:  jansson-devel >= 2.0.0
 BuildRequires:  libcurl-devel
 BuildRequires:  systemd-rpm-macros
 Requires(post): %{_bindir}/openssl
 %{?systemd_requires}
-%{?sysusers_requires_compat}
 
 %description
 UnrealIRCd is an Open Source IRC server based on the branch of IRCu called
 Dreamforge, formerly used by the DALnet IRC network. Since the beginning of
 development on UnrealIRCd in May of 1999, it has become a highly advanced
 IRCd with a strong focus on modularity, an advanced and highly configurable
 configuration file. Key features include SSL/TLS, cloaking, advanced anti-
 flood and anti-spam systems, swear filtering and module support.
@@ -163,18 +162,16 @@ ln -s ../pki/%{name}/ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls
 ln -sf ../tls/certs/ca-bundle.crt $RPM_BUILD_ROOT%{_sysconfdir}/pki/%{name}/curl-ca-bundle.crt
 
 # Install systemd and tmpfiles files
 install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
 install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
 install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf
 mkdir -p $RPM_BUILD_ROOT%{_rundir}/%{name}/
 
-%pre
-%sysusers_create_compat %{SOURCE5}
 
 %post
 %systemd_post %{name}.service
 
 if [ ! -f %{sslkey} ]; then
   umask 077
   %{_bindir}/openssl genrsa 4096 > %{sslkey} 2> /dev/null
   chown root:%{name} %{sslkey}
@@ -225,16 +222,19 @@ fi
 %dir %attr(0755,%{name},%{name}) %{_rundir}/%{name}/
 
 %if %{with maxmind}
 %files maxmind
 %{_libdir}/%{name}/geoip_maxmind.so
 %endif
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.1.9.1-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.9.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Fri Dec 13 2024 Robert Scheck <robert@fedoraproject.org> 6.1.9.1-1
 - Upgrade to 6.1.9.1 (#2327604)
 
 * Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 6.1.8.1-2
 - Rebuild for Jansson 2.14
diff --git valkey/valkey.spec valkey/valkey.spec.tmp
index c860eb2b2c..1056c807fc 100644
--- valkey/valkey.spec
+++ valkey/valkey.spec.tmp
@@ -4,17 +4,17 @@
 %else
 %bcond_with docs
 %endif
 # Tests fail in mock, not in local build.
 %bcond_with tests
 
 Name:              valkey
 Version:           8.0.2
-Release:           2%{?dist}
+Release:           3%{?dist}
 Summary:           A persistent key-value database
 # valkey: BSD-3-Clause
 # hiredis: BSD-3-Clause
 # hdrhistogram, jemalloc, lzf, linenoise: BSD-2-Clause
 # lua: MIT
 # fpconv: BSL-1.0
 License:           BSD-3-Clause AND BSD-2-Clause AND MIT AND BSL-1.0
 URL:               https://valkey.io
@@ -278,18 +278,16 @@ ln -sr %{buildroot}/usr/lib/systemd/system/valkey-sentinel.service %{buildroot}/
 %if %{with tests}
 # https://github.com/redis/redis/issues/1417 (for "taskset -c 1")
 taskset -c 1 ./runtest --clients 50 --skiptest "Active defrag - AOF loading"
 
 # sentinel tests fail in mock, but we want the normal tests above
 #./runtest-sentinel
 %endif
 
-%pre
-%sysusers_create_compat %{S:4}
 
 
 %post
 %if (%{defined fedora} && 0%{?fedora} < 42) || (%{defined rhel} && 0%{?rhel} < 10)
 # migrate away from /etc/sysconfig/valkey
 # only during upgrades, not installs
 if [ $1 -eq 2 ]; then
   # if valkey.rpmsave doesn't exist then it wasn't modified by the user
@@ -394,16 +392,19 @@ fi
 %{_unitdir}/redis.service
 %{_unitdir}/redis-sentinel.service
 
 %files compat-redis-devel
 %{_includedir}/redismodule.h
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 8.0.2-3
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 08 2025 Jonathan Wright <jonathan@almalinux.org> - 8.0.2-1
 - update to 8.0.2 rhbz#2336259
   fixes CVE-2024-46981
   fixes CVE-2024-51741
 
diff --git vaultwarden/vaultwarden.spec vaultwarden/vaultwarden.spec.tmp
index e2d3f05a54..95b10756a1 100644
--- vaultwarden/vaultwarden.spec
+++ vaultwarden/vaultwarden.spec.tmp
@@ -2,17 +2,17 @@
 %bcond_without check
 %bcond_without vendor
 
 # prevent library files from being installed
 %global cargo_install_lib 0
 
 Name:           vaultwarden
 Version:        1.32.7
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Unofficial Bitwarden compatible server
 
 ExcludeArch:    ppc64le s390x
 
 # (Apache-2.0 OR MIT) AND BSD-3-Clause
 # 0BSD
 # 0BSD OR MIT OR Apache-2.0
 # AGPL-3.0-only
@@ -53,17 +53,16 @@ BuildRequires:  systemd-rpm-macros
 
 Requires:       %{name}-web
 
 Patch:          remove-remote-git-patch.patch
 %if 0%{?rhel} == 9
 Patch:          remove-msrv.patch
 %endif
 
-%{?sysusers_requires_compat}
 
 %global _description %{expand:
 %{summary}.}
 
 %description %{_description}
 
 
 %prep
@@ -123,18 +122,16 @@ install -Dp %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
 
 
 %if %{with check}
 %check
 %cargo_test -f sqlite,mysql,postgresql
 %endif
 
 
-%pre
-%sysusers_create_compat %{SOURCE4}
 
 
 %post
 %systemd_post %{name}.service
 
 
 %preun
 %systemd_preun %{name}.service
@@ -155,16 +152,19 @@ install -Dp %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
 %config(noreplace) %attr(0640, root, vaultwarden) %{_sysconfdir}/%{name}/%{name}.cfg
 %dir %{_sysconfdir}/%{name}/
 %{_sysusersdir}/vaultwarden.conf
 %dir %attr(0755, vaultwarden, vaultwarden) %ghost %{_localstatedir}/run/%{name}
 %dir %attr(0750, vaultwarden, vaultwarden) %{_sharedstatedir}/%{name}
 
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.32.7-5
+- Drop call to %sysusers_create_compat
+
 * Tue Jan 21 2025 Jonathan Wright <jonathan@almalinux.org> - 1.32.7-4
 - Set VW_VERSION env var during build and install rhbz#2338534
 
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.7-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Wed Jan 15 2025 Jonathan Wright <jonathan@almalinux.org> - 1.32.7-2
 - fix build on el9 with rust 1.79
diff --git wfview/wfview.spec wfview/wfview.spec.tmp
index 2271b03b12..d70edac5cd 100644
--- wfview/wfview.spec
+++ wfview/wfview.spec.tmp
@@ -1,12 +1,12 @@
 Name:		wfview
 URL:		https://gitlab.com/eliggett/wfview/
 Version:	1.64
-Release:	4%{?dist}
+Release:	5%{?dist}
 License:	GPL-3.0-only
 BuildRequires:	make
 BuildRequires:	gcc-c++
 BuildRequires:	pkgconf-pkg-config
 BuildRequires:	desktop-file-utils
 # for "appstream-util validate-relax"
 BuildRequires:	libappstream-glib
 BuildRequires:	qt5-qtbase-devel
@@ -17,17 +17,16 @@ BuildRequires:	qcustomplot-qt5-devel
 BuildRequires:	systemd-devel
 BuildRequires:	opus-devel
 BuildRequires:	eigen3-devel
 BuildRequires:	hidapi-devel
 BuildRequires:	portaudio-devel
 BuildRequires:	rtaudio-devel
 BuildRequires:	speexdsp-devel
 BuildRequires:	systemd-rpm-macros
-%{?sysusers_requires_compat}
 BuildRequires:	hicolor-icon-theme
 Requires:	hicolor-icon-theme
 Summary:	Software for the control of Icom radios
 Source0:	%{url}/-/archive/v%{version}/%{name}-v%{version}.tar.bz2
 Source1:	wfserver.sysusers
 Source2:	wfserver.service
 # drop when upstreamed
 # https://gitlab.com/eliggett/wfview/-/commit/b68874d32878278e6e84668aaa44534255e7e1f5
@@ -101,19 +100,16 @@ install -Dpm 0644 %{SOURCE2} %{buildroot}%{_unitdir}/wfserver.service
 
 # install default service configuration file
 install -Dpm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/wfserver.conf
 
 %check
 desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
 appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.%{name}.%{name}.metainfo.xml
 
-%pre
-# Add user and groups if necessary
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post wfserver.service
 
 %preun
 %systemd_preun wfserver.service
 
 %postun
@@ -130,16 +126,19 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.%{name}.%{
 %{_datadir}/wfview
 # systemd-sysusers
 %{_sysusersdir}/wfserver.conf
 %{_datadir}/icons/hicolor/256x256/apps/%{name}.png
 %{_datadir}/applications/%{name}.desktop
 %{_metainfodir}/org.wfview.wfview.metainfo.xml
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.64-5
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.64-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Mon Oct 28 2024 Jaroslav Škarvada <jskarvad@redhat.com> - 1.64-3
 - Added some more not yet upstreamed patches
 
 * Thu Oct 24 2024 Jaroslav Škarvada <jskarvad@redhat.com> - 1.64-2
 - Updated according to the review
diff --git wireshark/wireshark.spec wireshark/wireshark.spec.tmp
index dc7f8e640e..ad2e45d363 100644
--- wireshark/wireshark.spec
+++ wireshark/wireshark.spec.tmp
@@ -1,17 +1,17 @@
 %undefine __cmake_in_source_build
 %global with_lua 1
 %global with_maxminddb 1
 %global plugins_version 4.4
 
 Summary:	Network traffic analyzer
 Name:		wireshark
 Version:	4.4.3
-Release:	1%{?dist}
+Release:	2%{?dist}
 Epoch:		1
 License:	BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND MIT AND GPL-2.0-or-later AND LGPL-2.0-or-later AND Zlib AND ISC AND (BSD-3-Clause OR GPL-2.0-only) AND (GPL-2.0-or-later AND Zlib)
 Url:		http://www.wireshark.org/
 
 Source0:	https://wireshark.org/download/src/%{name}-%{version}.tar.xz
 Source1:        https://www.wireshark.org/download/src/all-versions/SIGNATURES-%{version}.txt
 Source2:	90-wireshark-usbmon.rules
 Source3:	wireshark.sysusers
@@ -109,17 +109,16 @@ and understands more than a thousand protocols.
 
 It has many powerful features including a rich display filter language
 and the ability to reassemble multiple protocol packets in order to, for
 example, view a complete TCP stream, save the contents of a file which was
 transferred over HTTP or CIFS, or play back an RTP audio stream.
 
 %package	cli
 Summary:	Network traffic analyzer
-Requires(pre):	shadow-utils
 
 %description cli
 This package contains command-line utilities, plugins, and documentation for
 Wireshark.
 
 %package devel
 Summary:	Development headers and libraries for wireshark
 Requires:	%{name} = %{epoch}:%{version}-%{release}
@@ -174,18 +173,16 @@ mkdir -p %{buildroot}%{_udevrulesdir}
 install -m 644 %{SOURCE2}		%{buildroot}%{_udevrulesdir}
 install -Dpm 644 %{SOURCE3}		%{buildroot}%{_sysusersdir}/%{name}.conf
 
 touch %{buildroot}%{_bindir}/%{name}
 
 # Remove libtool archives and static libs
 find %{buildroot} -type f -name "*.la" -delete
 
-%pre cli
-%sysusers_create_compat %{SOURCE3}
 
 %post cli
 %{?ldconfig}
 # skip triggering if udevd isn't even accessible, e.g. containers or
 # rpm-ostree-based systems
 if [ -S /run/udev/control ]; then
     /usr/bin/udevadm trigger --subsystem-match=usbmon
 fi
@@ -273,16 +270,19 @@ fi
 %doc doc/README.* ChangeLog
 %dir %{_includedir}/wireshark
 %{_includedir}/wireshark/*
 %{_libdir}/lib*.so
 %{_libdir}/pkgconfig/%{name}.pc
 %{_libdir}/cmake/%{name}/*.cmake
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:4.4.3-2
+- Drop call to %sysusers_create_compat
+
 * Wed Jan 22 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.3-1
 - New version 4.4.3
 
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.4.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Thu Nov 21 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.4.2-1
 - New version 4.4.2
diff --git xrdp/xrdp.spec xrdp/xrdp.spec.tmp
index 630eddb772..684cd2fe61 100644
--- xrdp/xrdp.spec
+++ xrdp/xrdp.spec.tmp
@@ -18,17 +18,17 @@
 %ifarch %{ix86}
 %global _file_offset_bits -D_FILE_OFFSET_BITS=64
 %endif
 
 Summary:   Open source remote desktop protocol (RDP) server
 Name:      xrdp
 Epoch:     1
 Version:   0.10.2
-Release:   8%{?dist}
+Release:   9%{?dist}
 # Automatically converted from old format: ASL 2.0 and GPLv2+ and MIT - review is highly recommended.
 License:   Apache-2.0 AND GPL-2.0-or-later AND LicenseRef-Callaway-MIT
 URL:       http://www.xrdp.org/
 Source0:   https://github.com/neutrinolabs/xrdp/releases/download/v%{version}%{?prerelease}/xrdp-%{version}%{?prerelease}.tar.gz
 Source1:   xrdp-sesman.pamd
 Source2:   xrdp.sysconfig
 Source3:   xrdp.logrotate
 Source4:   openssl.conf
@@ -65,17 +65,16 @@ BuildRequires: nasm
 %if 0%{?fedora} || 0%{?rhel} > 8
 BuildRequires: noopenh264-devel
 %endif
 
 BuildRequires: checkpolicy, selinux-policy-devel
 BuildRequires: %{_hardlink}
 
 BuildRequires: systemd-rpm-macros
-%{?sysusers_requires_compat}
 
 # tigervnc-server-minimal provides Xvnc (default for now)
 # xorgxrdp is another back end, depends on specific Xorg binary, omit
 Requires: tigervnc-server-minimal
 Requires: xorg-x11-xinit
 Requires: util-linux
 
 %if 0%{?fedora} || 0%{?rhel} >= 8
@@ -192,18 +191,16 @@ do
   %{__install} -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
   %{__install} -p -m 644 SELinux/%{name}.pp.${selinuxvariant} \
                %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{name}.pp
 done
 %{_hardlink} -cv %{buildroot}%{_datadir}/selinux
 
 %{__install} -p -D -m 0644 %{SOURCE9} %{buildroot}%{_sysusersdir}/xrdp.conf
 
-%pre
-%sysusers_create_compat %{SOURCE9}
 
 %post
 %{?ldconfig}
 %systemd_post xrdp.service
 
 %preun
 %systemd_preun xrdp.service
 if [ $1 -eq 0 ]; then
@@ -340,16 +337,19 @@ fi
 %{_libdir}/pkgconfig/rfxcodec.pc
 %{_libdir}/pkgconfig/xrdp.pc
 
 %files selinux
 %doc SELinux/%{name}.te
 %{_datadir}/selinux/*/%{name}.pp
 
 %changelog
+* Sat Jan 25 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:0.10.2-9
+- Drop call to %sysusers_create_compat
+
 * Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.10.2-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
 
 * Sun Jan  5 2025 Bojan Smojver <bojan@rexursive.com> - 1:0.10.2~7
 - Comment out generic RDP proxy in xrdp.ini
 
 * Sun Jan  5 2025 Bojan Smojver <bojan@rexursive.com> - 1:0.10.2~6
 - Set permissions of cert, key and rsakeys.ini to 0640
RPMAutoSpec usage detected, not changing the spec file.
diff --git yggdrasil/yggdrasil.spec yggdrasil/yggdrasil.spec.tmp
index dcfbdb2ebc..2c2f07313a 100644
--- yggdrasil/yggdrasil.spec
+++ yggdrasil/yggdrasil.spec.tmp
@@ -24,17 +24,16 @@ URL:            %{gourl}
 Source:         %{url}/releases/download/%{tag}/yggdrasil-%{version}.tar.xz
 Source1:        yggdrasil.sysusers
 
 BuildRequires:  systemd-rpm-macros
 BuildRequires:  meson
 BuildRequires:  pkgconfig(dbus-1)
 BuildRequires:  pkgconfig(systemd)
 BuildRequires:  pkgconfig(bash-completion)
-%{?sysusers_requires_compat}
 
 %{?systemd_requires}
 
 %description %{common_description}
 
 %package devel
 Summary:        %{name} development files
 
@@ -66,18 +65,16 @@ export %gomodulesmode
 %__install -d -m 0755 %{buildroot}%{_localstatedir}/lib/yggdrasil
 %gopkginstall
 
 %if %{with check}
 %check
 %gocheck
 %endif
 
-%pre
-%sysusers_create_compat %{SOURCE1}
 
 %post
 %systemd_post %{name}.service
 %systemd_user_post %{name}.service
 
 %preun
 %systemd_preun %{name}.service
 %systemd_user_preun %{name}.service
RPMAutoSpec usage detected, not changing the spec file.
diff --git zeek/zeek.spec zeek/zeek.spec.tmp
index ede3644a7e..4295317a50 100644
--- zeek/zeek.spec
+++ zeek/zeek.spec.tmp
@@ -131,18 +131,16 @@ A Generic Driver for Powerful System Tests
 %package btest-data
 Summary:       Data for testing
 BuildArch:     noarch
 
 %description btest-data
 This package contains test data in the form of pcaps that can he helpful when
 writing btests.
 
-%pre -n zeek-core
-%sysusers_create_compat %{SOURCE1}
 
 %prep
 %autosetup -p1
 for f in \
   .cmake-format.json \
   .pre-commit-config.yaml \
 ; do
   find . -name $f -delete