- added systemd init scripts which obsolete to old sysvinit ones

- added tmpfiles.d/ descriptions
- minor specfile cleanups
This commit is contained in:
Enrico Scholz 2010-12-24 13:00:02 +01:00
parent d4f86f1e1a
commit 69c6c9fad7
3 changed files with 166 additions and 46 deletions

13
clamav-milter.systemd Normal file
View File

@ -0,0 +1,13 @@
[Unit]
Description = Milter module for the Clam Antivirus scanner
After = syslog.target
Before = sendmail
Before = postfix
[Service]
Type = simple
ExecStart = /usr/sbin/clamav-milter -c /etc/mail/clamav-milter.conf --nofork=yes
Restart = on-failure
[Install]
WantedBy = multi-user.target

View File

@ -3,6 +3,9 @@
## Fedora Extras specific customization below... ## Fedora Extras specific customization below...
%bcond_without fedora %bcond_without fedora
%bcond_without upstart %bcond_without upstart
%bcond_without systemd
%bcond_with sysv
%bcond_without tmpfiles
%bcond_with unrar %bcond_with unrar
%bcond_without noarch %bcond_without noarch
%bcond_without bytecode %bcond_without bytecode
@ -26,6 +29,7 @@
%global scanstatedir %_var/run/clamd.scan %global scanstatedir %_var/run/clamd.scan
%{?with_noarch:%global noarch BuildArch: noarch} %{?with_noarch:%global noarch BuildArch: noarch}
%{!?_unitdir:%global _unitdir /lib/systemd/system}
%{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}} %{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}}
%{!?apply:%global apply(p:n:b:) %patch%%{-n:%%{-n*}} %%{-p:-p %%{-p*}} %%{-b:-b %%{-b*}} \ %{!?apply:%global apply(p:n:b:) %patch%%{-n:%%{-n*}} %%{-p:-p %%{-p*}} %%{-b:-b %%{-b*}} \
%nil} %nil}
@ -33,7 +37,7 @@
Summary: End-user tools for the Clam Antivirus scanner Summary: End-user tools for the Clam Antivirus scanner
Name: clamav Name: clamav
Version: 0.96.5 Version: 0.96.5
Release: %release_func 1500 Release: %release_func 1501
License: %{?with_unrar:proprietary}%{!?with_unrar:GPLv2} License: %{?with_unrar:proprietary}%{!?with_unrar:GPLv2}
Group: Applications/File Group: Applications/File
URL: http://www.clamav.net URL: http://www.clamav.net
@ -153,6 +157,7 @@ Provides: group(%scanuser) = 49
Requires: clamav-server = %version-%release Requires: clamav-server = %version-%release
%{?noarch} %{?noarch}
# Remove me after EOL of RHEL5
%package scanner-sysvinit %package scanner-sysvinit
Summary: SysV initscripts for clamav scanner daemon Summary: SysV initscripts for clamav scanner daemon
Group: System Environment/Daemons Group: System Environment/Daemons
@ -176,6 +181,23 @@ Requires(post): /usr/bin/killall
Requires(postun): /sbin/initctl Requires(postun): /sbin/initctl
%{?noarch} %{?noarch}
%package scanner-systemd
Summary: Systemd initscripts for clamav scanner daemon
Group: System Environment/Daemons
Source430: clamd.scan.systemd
Provides: init(clamav-scanner) = systemd
Requires: clamav-scanner = %version-%release
Requires(post): /bin/systemctl
Requires(preun): /bin/systemctl
Requires(postun): /bin/systemctl
%{?noarch}
# Remove me after F17
%if 0%{!?with_sysv:1}
Provides: %name-scanner-sysvinit = %version-%release
Obsoletes: %name-scanner-sysvinit < %version-%release
%endif
%package milter %package milter
Summary: Milter module for the Clam Antivirus scanner Summary: Milter module for the Clam Antivirus scanner
@ -197,6 +219,7 @@ Obsoletes: clamav-milter-core < %version-%release
Provides: clamav-milter-sendmail = %version-%release Provides: clamav-milter-sendmail = %version-%release
Obsoletes: clamav-milter-sendmail < %version-%release Obsoletes: clamav-milter-sendmail < %version-%release
# Remove me after EOL of RHEL5
%package milter-sysvinit %package milter-sysvinit
Summary: SysV initscripts for the clamav sendmail-milter Summary: SysV initscripts for the clamav sendmail-milter
Group: System Environment/Daemons Group: System Environment/Daemons
@ -224,6 +247,23 @@ Requires(post): /usr/bin/killall
Requires(postun): /sbin/initctl Requires(postun): /sbin/initctl
%{?noarch} %{?noarch}
%package milter-systemd
Summary: Systemd initscripts for the clamav sendmail-milter
Group: System Environment/Daemons
Source330: clamav-milter.systemd
Provides: init(clamav-milter) = systemd
Requires: clamav-milter = %version-%release
Requires(post): /bin/systemctl
Requires(preun): /bin/systemctl
Requires(postun): /bin/systemctl
%{?noarch}
# Remove me after F17
%if 0%{!?with_sysv:1}
Provides: %name-milter-sysvinit = %version-%release
Obsoletes: %name-milter-sysvinit < %version-%release
%endif
%description %description
Clam AntiVirus is an anti-virus toolkit for UNIX. The main purpose of this Clam AntiVirus is an anti-virus toolkit for UNIX. The main purpose of this
@ -306,6 +346,9 @@ The SysV initscripts for clamav-scanner.
%description scanner-upstart %description scanner-upstart
The Upstart initscripts for clamav-scanner. The Upstart initscripts for clamav-scanner.
%description scanner-systemd
The systemd initscripts for clamav-scanner.
%description milter %description milter
This package contains files which are needed to run the clamav-milter. This package contains files which are needed to run the clamav-milter.
@ -316,6 +359,9 @@ The SysV initscripts for clamav-milter.
%description milter-upstart %description milter-upstart
The Upstart initscripts for clamav-milter. The Upstart initscripts for clamav-milter.
%description milter-systemd
The systemd initscripts for clamav-scanner.
## ------------------------------------------------------------ ## ------------------------------------------------------------
%prep %prep
@ -403,47 +449,45 @@ function smartsubst() {
} }
install -d -m755 \ install -d -m 0755 \
${RPM_BUILD_ROOT}%_sysconfdir/{mail,clamd.d,cron.d,logrotate.d,sysconfig,init} \ $RPM_BUILD_ROOT%_sysconfdir/{mail,clamd.d,cron.d,logrotate.d,tmpfiles.d} \
${RPM_BUILD_ROOT}%_var/log \ $RPM_BUILD_ROOT%_var/{log,run} \
${RPM_BUILD_ROOT}%milterstatedir \ $RPM_BUILD_ROOT%milterstatedir \
${RPM_BUILD_ROOT}%pkgdatadir/template \ $RPM_BUILD_ROOT%pkgdatadir/template \
${RPM_BUILD_ROOT}%_initrddir \ $RPM_BUILD_ROOT%_initrddir \
${RPM_BUILD_ROOT}%homedir \ $RPM_BUILD_ROOT%homedir \
${RPM_BUILD_ROOT}%scanstatedir $RPM_BUILD_ROOT%scanstatedir
rm -f ${RPM_BUILD_ROOT}%_sysconfdir/clamd.conf \ rm -f $RPM_BUILD_ROOT%_sysconfdir/clamd.conf \
${RPM_BUILD_ROOT}%_libdir/*.la $RPM_BUILD_ROOT%_libdir/*.la
touch ${RPM_BUILD_ROOT}%homedir/daily.cld touch $RPM_BUILD_ROOT%homedir/daily.cld
touch ${RPM_BUILD_ROOT}%homedir/main.cld touch $RPM_BUILD_ROOT%homedir/main.cld
## prepare the server-files ## prepare the server-files
mkdir _doc_server install -D -m 0644 -p %SOURCE2 _doc_server/clamd.sysconfig
install -m644 -p %SOURCE2 _doc_server/clamd.sysconfig install -D -m 0644 -p %SOURCE3 _doc_server/clamd.logrotate
install -m644 -p %SOURCE3 _doc_server/clamd.logrotate install -D -m 0755 -p %SOURCE7 _doc_server/clamd.init
install -m755 -p %SOURCE7 _doc_server/clamd.init install -D -m 0644 -p %SOURCE5 _doc_server/README
install -m644 -p %SOURCE5 _doc_server/README install -D -m 0644 -p etc/clamd.conf _doc_server/clamd.conf
install -m644 -p etc/clamd.conf _doc_server/clamd.conf
install -m644 -p %SOURCE1 $RPM_BUILD_ROOT%pkgdatadir install -m 0644 -p %SOURCE1 $RPM_BUILD_ROOT%pkgdatadir/
install -m755 -p %SOURCE100 $RPM_BUILD_ROOT%pkgdatadir install -m 0755 -p %SOURCE100 $RPM_BUILD_ROOT%pkgdatadir/
cp -pa _doc_server/* $RPM_BUILD_ROOT%pkgdatadir/template cp -pa _doc_server/* $RPM_BUILD_ROOT%pkgdatadir/template
ln -s %pkgdatadir/clamd-wrapper $RPM_BUILD_ROOT%_initrddir/clamd-wrapper
smartsubst 's!/usr/share/clamav!%pkgdatadir!g' $RPM_BUILD_ROOT%pkgdatadir/clamd-wrapper smartsubst 's!/usr/share/clamav!%pkgdatadir!g' $RPM_BUILD_ROOT%pkgdatadir/clamd-wrapper
## prepare the update-files ## prepare the update-files
install -m644 -p %SOURCE6 ${RPM_BUILD_ROOT}%_sysconfdir/logrotate.d/clamav-update install -D -m 0644 -p %SOURCE6 $RPM_BUILD_ROOT%_sysconfdir/logrotate.d/clamav-update
install -m755 -p %SOURCE8 ${RPM_BUILD_ROOT}%_sbindir/clamav-notify-servers install -D -m 0755 -p %SOURCE8 $RPM_BUILD_ROOT%_sbindir/clamav-notify-servers
touch ${RPM_BUILD_ROOT}%freshclamlog touch $RPM_BUILD_ROOT%freshclamlog
install -p -m0755 %SOURCE200 $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep install -D -p -m 0755 %SOURCE200 $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep
install -p -m0644 %SOURCE201 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam install -D -p -m 0644 %SOURCE201 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam
install -p -m0600 %SOURCE202 $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update install -D -p -m 0600 %SOURCE202 $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update
smartsubst 's!webmaster,clamav!webmaster,%username!g; smartsubst 's!webmaster,clamav!webmaster,%username!g;
s!/usr/share/clamav!%pkgdatadir!g; s!/usr/share/clamav!%pkgdatadir!g;
@ -460,9 +504,14 @@ sed -e 's!<SERVICE>!scan!g;s!<USER>!%scanuser!g' \
sed -e 's!<SERVICE>!scan!g;' $RPM_BUILD_ROOT%pkgdatadir/template/clamd.init \ sed -e 's!<SERVICE>!scan!g;' $RPM_BUILD_ROOT%pkgdatadir/template/clamd.init \
> $RPM_BUILD_ROOT%_initrddir/clamd.scan > $RPM_BUILD_ROOT%_initrddir/clamd.scan
install -p -m 644 %SOURCE410 $RPM_BUILD_ROOT%_sysconfdir/init/clamd.scan.conf install -D -p -m 0644 %SOURCE410 $RPM_BUILD_ROOT%_sysconfdir/init/clamd.scan.conf
install -D -p -m 0644 %SOURCE430 $RPM_BUILD_ROOT%_unitdir/clamd.scan.service
touch $RPM_BUILD_ROOT%scanstatedir/clamd.sock cat << EOF > $RPM_BUILD_ROOT%_sysconfdir/tmpfiles.d/clamd.scan.conf
-d %scanstatedir 0710 %scanuser %scanuser
EOF
touch $RPM_BUILD_ROOT%scanstatedir/clamd.{sock,pid}
### The milter stuff ### The milter stuff
@ -474,19 +523,31 @@ sed -r \
-e 's! /tmp/clamav-milter.log! %milterlog!g' \ -e 's! /tmp/clamav-milter.log! %milterlog!g' \
etc/clamav-milter.conf > $RPM_BUILD_ROOT%_sysconfdir/mail/clamav-milter.conf etc/clamav-milter.conf > $RPM_BUILD_ROOT%_sysconfdir/mail/clamav-milter.conf
install -p -m 644 %SOURCE310 $RPM_BUILD_ROOT%_sysconfdir/init/clamav-milter.conf install -D -p -m 0644 %SOURCE310 $RPM_BUILD_ROOT%_sysconfdir/init/clamav-milter.conf
install -p -m 755 %SOURCE320 $RPM_BUILD_ROOT%_initrddir/clamav-milter install -D -p -m 0755 %SOURCE320 $RPM_BUILD_ROOT%_initrddir/clamav-milter
install -D -p -m 0644 %SOURCE330 $RPM_BUILD_ROOT%_unitdir/clamav-milter.service
cat << EOF > $RPM_BUILD_ROOT%_sysconfdir/tmpfiles.d/clamav-milter.conf
-d %milterstatedir 0710 %milteruser %milteruser
EOF
rm -f $RPM_BUILD_ROOT%_sysconfdir/clamav-milter.conf rm -f $RPM_BUILD_ROOT%_sysconfdir/clamav-milter.conf
touch $RPM_BUILD_ROOT{%milterstatedir/clamav-milter.socket,%milterlog} touch $RPM_BUILD_ROOT{%milterstatedir/clamav-milter.{socket,pid},%milterlog}
%{!?with_upstart:rm -rf $RPM_BUILD_ROOT%_sysconfdir/init} %{!?with_upstart: rm -rf $RPM_BUILD_ROOT%_sysconfdir/init}
%{!?with_systemd: rm -rf $RPM_BUILD_ROOT%_unitdir}
%{!?with_sysv: rm -f $RPM_BUILD_ROOT%_initrddir/*}
%{!?with_sysv: rm -rf $RPM_BUILD_ROOT%_var/run/*/*.pid}
%{!?with_tmpfiles: rm -rf $RPM_BUILD_ROOT%_sysconfdir/tmpfiles.d}
# keep clamd-wrapper in every case because it might be needed by other
# packages
ln -s %pkgdatadir/clamd-wrapper $RPM_BUILD_ROOT%_initrddir/clamd-wrapper
## ------------------------------------------------------------ ## ------------------------------------------------------------
%check %check
make check || : make check
## ------------------------------------------------------------ ## ------------------------------------------------------------
@ -673,17 +734,32 @@ test "$1" != "0" || /sbin/initctl -q stop clamav-milter || :
%files scanner %files scanner
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %attr(0710,%scanuser,%scanuser) %scanstatedir
%config(noreplace) %_sysconfdir/clamd.d/scan.conf %config(noreplace) %_sysconfdir/clamd.d/scan.conf
%ghost %scanstatedir/clamd.sock %ghost %scanstatedir/clamd.sock
%if 0%{?with_tmpfiles:1}
%_sysconfdir/tmpfiles.d/clamd.scan.conf
%ghost %dir %attr(0710,%scanuser,%scanuser) %scanstatedir
%else
%dir %attr(0710,%scanuser,%scanuser) %scanstatedir
%endif
%if 0%{?with_sysv:1}
%files scanner-sysvinit %files scanner-sysvinit
%attr(0755,root,root) %config %_initrddir/clamd.scan %attr(0755,root,root) %config %_initrddir/clamd.scan
%ghost %scanstatedir/clamd.pid
%endif
%if 0%{?with_upstart:1} %if 0%{?with_upstart:1}
%files scanner-upstart %files scanner-upstart
%defattr(-,root,root,-) %defattr(-,root,root,-)
%config(noreplace) %_sysconfdir/init/clamd.scan* %config(noreplace) %_sysconfdir/init/clamd.scan*
%endif
%if 0%{?with_systemd:1}
%files scanner-systemd
%defattr(-,root,root,-)
%_unitdir/clamd.scan.service
%endif %endif
## ----------------------- ## -----------------------
@ -695,21 +771,40 @@ test "$1" != "0" || /sbin/initctl -q stop clamav-milter || :
%_mandir/man8/clamav-milter* %_mandir/man8/clamav-milter*
%config(noreplace) %_sysconfdir/mail/clamav-milter.conf %config(noreplace) %_sysconfdir/mail/clamav-milter.conf
%ghost %attr(0620,root,%milteruser) %verify(not size md5 mtime) %milterlog %ghost %attr(0620,root,%milteruser) %verify(not size md5 mtime) %milterlog
%attr(0710,%milteruser,%milteruser) %dir %milterstatedir %ghost %milterstatedir/clamav-milter.socket
%ghost %milterstatedir/*
%if 0%{?with_tmpfiles:1}
%_sysconfdir/tmpfiles.d/clamav-milter.conf
%ghost %dir %attr(0710,%milteruser,%milteruser) %milterstatedir
%else
%dir %attr(0710,%milteruser,%milteruser) %milterstatedir
%endif
%if 0%{?with_sysv:1}
%files milter-sysvinit %files milter-sysvinit
%defattr(-,root,root,-) %defattr(-,root,root,-)
%config %_initrddir/clamav-milter %config %_initrddir/clamav-milter
%ghost %milterstatedir/clamav-milter.pid
%endif
%if 0%{?with_upstart:1} %if 0%{?with_upstart:1}
%files milter-upstart %files milter-upstart
%defattr(-,root,root,-) %defattr(-,root,root,-)
%config(noreplace) %_sysconfdir/init/clamav-milter* %config(noreplace) %_sysconfdir/init/clamav-milter*
%endif
%if 0%{?with_systemd:1}
%files milter-systemd
%defattr(-,root,root,-)
%_unitdir/clamav-milter.service
%endif %endif
%changelog %changelog
* Fri Dec 24 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.96.5-1501
- added systemd init scripts which obsolete to old sysvinit ones
- added tmpfiles.d/ descriptions
* Sat Dec 4 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.96.5-1500 * Sat Dec 4 2010 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.96.5-1500
- updated to 0.96.5 - updated to 0.96.5
- CVE-2010-4260 Multiple errors within the processing of PDF files can - CVE-2010-4260 Multiple errors within the processing of PDF files can

12
clamd.scan.systemd Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description = Generic clamav scanner daemon
After = syslog.target
Before = clamav-milter
[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Restart = on-failure
[Install]
WantedBy = multi-user.target