diff --git a/clamav.spec b/clamav.spec index 60ea311..01e32b6 100644 --- a/clamav.spec +++ b/clamav.spec @@ -165,6 +165,7 @@ Summary: Filesystem structure for clamav # Prevent version mix Conflicts: %{name} < %{version}-%{release} Conflicts: %{name} > %{version}-%{release} +Requires(pre): shadow-utils BuildArch: noarch %description filesystem @@ -298,6 +299,7 @@ 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} @@ -318,9 +320,9 @@ 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} -Requires: group(clamscan) %description milter This package contains files which are needed to run the clamav-milter. @@ -354,21 +356,6 @@ install -p -m0644 %{SOURCE300} clamav-milter/ mkdir -p libclamunrar{,_iface} %{!?with_unrar:touch libclamunrar/{Makefile.in,all,install}} -# Create sysusers.d config files -cat >clamav.sysusers.conf <clamd.sysusers.conf <clamav-milter.sysusers.conf <= 9 %generate_buildrequires @@ -378,6 +365,7 @@ cd libclamav_rust %cargo_generate_buildrequires %endif + %build # add -Wl,--as-needed if not exist export LDFLAGS=$(echo %{?__global_ldflags} | sed '/-Wl,--as-needed/!s/$/ -Wl,--as-needed/') @@ -495,21 +483,17 @@ 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 -install -m0644 -D clamav-milter.sysusers.conf %{buildroot}%{_sysusersdir}/clamav-milter.conf - %check %ifarch s390x # Tests fail on s390x # https://github.com/Cisco-Talos/clamav/issues/759 -%ctest3 -E valgrind || : +%ctest3 -- -E valgrind || : %else -%ctest3 -E valgrind +%ctest3 -- -E valgrind %endif # valgrind tests fail https://github.com/Cisco-Talos/clamav/issues/584 -%ctest3 -R valgrind || : +%ctest3 -- -R valgrind || : %post @@ -532,6 +516,24 @@ 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 ] && @@ -544,6 +546,19 @@ done %postun -n clamd %systemd_postun_with_restart clamd@scan.service +%triggerin milter -- clamav-scanner +# Add the milteruser to the scanuser group; this is required when +# 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 @@ -610,7 +625,6 @@ done %dir %{_sysconfdir}/clamd.d # Used by both clamd, clamdscan, and clamonacc %config(noreplace) %{_sysconfdir}/clamd.d/scan.conf -%{_sysusersdir}/clamav.conf %files data @@ -650,7 +664,6 @@ done %{_sbindir}/clamd %{_unitdir}/clamd@.service %{_tmpfilesdir}/clamd.scan.conf -%{_sysusersdir}/clamd.conf %files milter @@ -661,34 +674,27 @@ done %dir %{_sysconfdir}/mail %config(noreplace) %{_sysconfdir}/mail/clamav-milter.conf %{_tmpfilesdir}/clamav-milter.conf -%{_sysusersdir}/clamav-milter.conf %changelog * Thu Dec 04 2025 Gwyn Ciesla - 1.4.3-3 - Bump EVR, hex-literal patches. -* Wed Jul 23 2025 Fedora Release Engineering - 1.4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Mon Aug 25 2025 Gwyn Ciesla - 1.4.3-2 +- Revert sysuser change -* Wed Jun 18 2025 Gwyn Ciesla - 1.4.3-1 -- 1.4.3 - -* Sat Feb 8 2025 Zbigniew Jedrzejewski-Szmek - 1.4.2-2 -- Add sysusers.d config files to allow rpm to create users/groups automatically - -* Thu Jan 23 2025 Orion Poplawski - 1.4.2-1 -- Update to 1.4.2 - -* Thu Jan 16 2025 Fedora Release Engineering - 1.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Sep 25 2024 Orion Poplawski - 1.4.1-1 +* Wed Jul 23 2025 Orion Poplawski - 1.4.1-1 - Update to 1.4.1 -* Sun Sep 15 2024 Benjamin A. Beasley - 1.0.7-2 +* Wed Jul 23 2025 Orion Poplawski - 1.0.9-2 - Update the image crate dependency to 0.25, the current release +* Wed Jun 18 2025 Gwyn Ciesla - 1.0.9-1 +- Update to 1.0.9 + +* Sun Jan 26 2025 Orion Poplawski - 1.0.8-1 +- Update to 1.0.8 + * Thu Sep 05 2024 Yaakov Selkowitz - 1.0.7-1 - Update to 1.0.7