diff --git a/24d1341e8e34aa325ac03718121e33a3b4e5b75e.patch b/24d1341e8e34aa325ac03718121e33a3b4e5b75e.patch new file mode 100644 index 0000000..7bd5cfb --- /dev/null +++ b/24d1341e8e34aa325ac03718121e33a3b4e5b75e.patch @@ -0,0 +1,22 @@ +From 24d1341e8e34aa325ac03718121e33a3b4e5b75e Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Sun, 15 Sep 2024 12:50:07 -0400 +Subject: [PATCH] In libclamav_rust, use the current version of the image crate + +--- + libclamav_rust/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libclamav_rust/Cargo.toml b/libclamav_rust/Cargo.toml +index 526951c519..eb95ca8011 100644 +--- a/libclamav_rust/Cargo.toml ++++ b/libclamav_rust/Cargo.toml +@@ -12,7 +12,7 @@ log = { version = "0.4", features = ["std"] } + sha2 = "0.10" + tempfile = "3" + thiserror = "1" +-image = "0.24" ++image = "0.25" + rustdct = "0.7" + transpose = "0.2" + num-traits = "0.2" diff --git a/clamav-rust-dependency-versions.patch b/clamav-rust-dependency-versions.patch deleted file mode 100644 index 56bd08d..0000000 --- a/clamav-rust-dependency-versions.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur clamav-1.4.3-original/libclamav_rust/Cargo.toml clamav-1.4.3/libclamav_rust/Cargo.toml ---- clamav-1.4.3-original/libclamav_rust/Cargo.toml 2025-12-04 10:01:33.233889863 +0000 -+++ clamav-1.4.3/libclamav_rust/Cargo.toml 2025-12-04 10:02:29.088468217 +0000 -@@ -12,7 +12,7 @@ - sha2 = "0.10" - tempfile = "3" - thiserror = "1" --image = "0.24" -+image = ">=0.24, <0.26" - rustdct = "0.7" - transpose = "0.2" - num-traits = "0.2" -@@ -21,7 +21,7 @@ - unicode-segmentation = "1.10" - bindgen = "0.69" - onenote_parser = "0.3.1" --hex-literal = "0.4" -+hex-literal = ">=0.4, <2.0" - inflate = "0.4" - bzip2-rs = "0.1" - byteorder = "1.5" diff --git a/clamav.spec b/clamav.spec index 60ea311..f036763 100644 --- a/clamav.spec +++ b/clamav.spec @@ -26,7 +26,7 @@ Summary: End-user tools for the Clam Antivirus scanner Name: clamav Version: 1.4.3 -Release: 3%{?dist} +Release: 2%{?dist} License: %{?with_unrar:proprietary}%{!?with_unrar:GPL-2.0-only} URL: https://www.clamav.net/ %if %{with unrar} @@ -75,12 +75,8 @@ Patch5: clamav-clamonacc-service.patch Patch6: clamav-freshclam.service.patch # Debian patch to fix big-endian Patch7: https://salsa.debian.org/clamav-team/clamav/-/raw/unstable/debian/patches/libclamav-pe-Use-endian-wrapper-in-more-places.patch -# - Update the image crate dependency to 0.25, the current release, -# https://github.com/Cisco-Talos/clamav/pull/1366/commits/24d1341e8e34aa325ac03718121e33a3b4e5b75e, -# allowing 0.24 for backwards-compatibility with vendored dependencies in EPEL8 -# - Allow version 1.0 of the hex-literal crate dependency; not suitable for -# upstream yet due to MSRV -Patch8: clamav-rust-dependency-versions.patch +# Update the image crate dependency to 0.25, the current release +Patch8: https://github.com/Cisco-Talos/clamav/pull/1366/commits/24d1341e8e34aa325ac03718121e33a3b4e5b75e.patch BuildRequires: cmake3 BuildRequires: gettext-devel @@ -165,6 +161,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 +295,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 +316,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. @@ -347,28 +345,17 @@ cd .. %patch -P5 -p1 -b .clamonacc-service %patch -P6 -p1 -b .freshclam-service %patch -P7 -p1 -b .big-endian -%patch -P8 -p1 -b .rust-dependencies +# This patch is not made to be backwards-compatible (even though it could have +# been), and the vendored dependencies in EPEL8 include image 0.24, not 0.25. +%if 0%{?fedora} || 0%{?rhel} >= 9 +%patch -P8 -p1 -b .image-0.25 +%endif 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,10 +483,6 @@ 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 @@ -532,6 +516,25 @@ 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 +547,20 @@ 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 +627,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 +666,6 @@ done %{_sbindir}/clamd %{_unitdir}/clamd@.service %{_tmpfilesdir}/clamd.scan.conf -%{_sysusersdir}/clamd.conf %files milter @@ -661,15 +676,11 @@ 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 sysusers change * Wed Jun 18 2025 Gwyn Ciesla - 1.4.3-1 - 1.4.3