[amavisd-new] Update to version 2.8.1, add systemd service units and minor fixes.

Juan Orti jorti at fedoraproject.org
Sat Feb 15 17:00:56 UTC 2014


commit 42db5a92bb6c519104f7ce3390b22b2a4ed57adb
Author: Juan Orti Alcaine <j.orti.alcaine at gmail.com>
Date:   Thu Feb 13 11:03:50 2014 +0100

    Update to version 2.8.1, add systemd service units and minor fixes.
    
    - Update to version 2.8.1
    - Add systemd service units
    - Add missing dependencies
    - Start clamd using instantiated service
    - Place tmpfiles conf in _tmpfilesdir
    - Use _localstatedir macro

 .gitignore             |    1 +
 README.fedora          |   17 +++----
 amavis-clamd.init      |    7 ---
 amavis-clamd.sysconfig |    3 -
 amavisd-new.spec       |  117 ++++++++++++++++++++++--------------------------
 amavisd-snmp.init      |   67 ---------------------------
 amavisd-snmp.service   |   16 +++++++
 amavisd.service        |   18 +++++++
 sources                |    2 +-
 9 files changed, 97 insertions(+), 151 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index dbef4e0..f9a91ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 amavisd-new-2.8.0.tar.gz
+/amavisd-new-2.8.1.tar.gz
diff --git a/README.fedora b/README.fedora
index 494e34e..34ce8c5 100644
--- a/README.fedora
+++ b/README.fedora
@@ -11,20 +11,17 @@ optional components for amavisd-new.
 
 Next, configure amavisd-new to start on boot:
 
-  chkconfig --level 2345 amavisd on
+  systemctl enable amavisd.service
 
-If you want to use the Clam Antivirus daemon (recommended), set it to
-start on boot as well:
+When you are ready, start the amavisd service, it will also start
+a clamd instance if available.
 
-  chkconfig --level 2345 clamd.amavisd on
+  systemctl start amavisd.service
 
-When you are ready, start the clamd.amavisd (optional but recommended)
-and amavisd services:
+Check /var/log/maillog for startup messages of amavisd and clamd.
+You can also check the journal.
 
-  service clamd.amavisd start
-  service amavisd start
-
-Check /var/log/maillog for startup messages from both daemons.
+  journalctl -a -u amavisd -u clamd at amavisd
 
 The next step is to integrate amavisd with your MTA.
 
diff --git a/amavisd-new.spec b/amavisd-new.spec
index 491f45a..a9fb647 100644
--- a/amavisd-new.spec
+++ b/amavisd-new.spec
@@ -2,21 +2,20 @@
 
 Summary:        Email filter with virus scanner and spamassassin support
 Name:           amavisd-new
-Version:        2.8.0
-Release:        8%{?prerelease:.%{prerelease}}%{?dist}
+Version:        2.8.1
+Release:        1%{?prerelease:.%{prerelease}}%{?dist}
 # LDAP schema is GFDL, some helpers are BSD, core is GPLv2+
 License:        GPLv2+ and BSD and GFDL
 Group:          Applications/System
 URL:            http://www.ijs.si/software/amavisd/
 Source0:        http://www.ijs.si/software/amavisd/amavisd-new-%{version}%{?prerelease:-%{prerelease}}.tar.gz
-Source1:        amavis-clamd.init
 Source2:        amavis-clamd.conf
-Source3:        amavis-clamd.sysconfig
 Source4:        README.fedora
 Source5:        README.quarantine
 Source6:        amavisd.cron
-Source7:        amavisd-snmp.init
 Source8:        amavisd-new-tmpfiles.conf
+Source9:        amavisd.service
+Source10:       amavisd-snmp.service
 Patch0:         amavisd-conf.patch
 Patch1:         amavisd-init.patch
 Patch2:         amavisd-condrestart.patch
@@ -26,7 +25,10 @@ Patch2:         amavisd-condrestart.patch
 # sent upstream to amavis-users ML 2013-05-10. -adamw
 Patch3:         amavisd-new-2.8.0-init_network.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Requires:       /usr/sbin/clamd, /etc/clamd.d
+BuildArch:      noarch
+BuildRequires:  systemd
+Requires:       clamav-server
+Requires:       clamav-server-systemd
 Requires:       /usr/sbin/tmpwatch, /etc/cron.daily
 Requires:       /usr/bin/ar
 Requires:       altermime
@@ -76,23 +78,25 @@ Requires:       perl(Mail::SpamAssassin)
 Requires:       perl(Net::DNS)
 Requires:       perl(Net::LDAP)
 Requires:       perl(Net::SSLeay)
+Requires:       perl(Net::Server)
 Requires:       perl(NetAddr::IP)
 Requires:       perl(Razor2::Client::Version)
 Requires:       perl(Socket6)
+Requires:       perl(Unix::Syslog)
 Requires:       perl(URI)
 Requires(pre):  shadow-utils
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/service, /sbin/chkconfig
-Requires(postun): /sbin/service
-BuildArch:      noarch
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
 
 %package snmp
 Group:          Applications/System
 Summary:        Exports amavisd SNMP data
 Requires:       %{name} = %{version}-%{release}
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/service, /sbin/chkconfig
-Requires(postun): /sbin/service
+Requires:       perl(NetSNMP::OID)
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
 
 %description
 amavisd-new is a high-performance and reliable interface between mailer
@@ -122,7 +126,7 @@ alerting purposes.
 %patch3 -p1
 
 install -p -m 644 %{SOURCE4} %{SOURCE5} README_FILES/
-sed -e 's,/var/amavis/amavisd.sock\>,/var/spool/amavisd/amavisd.sock,' -i amavisd-release
+sed -e 's,/var/amavis/amavisd.sock\>,%{_localstatedir}/spool/amavisd/amavisd.sock,' -i amavisd-release
 
 %build
 
@@ -131,26 +135,23 @@ rm -rf $RPM_BUILD_ROOT
 
 install -D -p -m 755 amavisd $RPM_BUILD_ROOT%{_sbindir}/amavisd
 install -D -p -m 755 amavisd-snmp-subagent $RPM_BUILD_ROOT%{_sbindir}/amavisd-snmp-subagent
-ln -sf clamd $RPM_BUILD_ROOT%{_sbindir}/clamd.amavisd
 
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
 install -p -m 755 amavisd-{agent,nanny,release} $RPM_BUILD_ROOT%{_bindir}/
 
-install -D -p -m 755 amavisd_init.sh $RPM_BUILD_ROOT%{_initrddir}/amavisd
-install -D -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/clamd.amavisd
-install -D -p -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_initrddir}/amavisd-snmp
+install -D -p -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_unitdir}/amavisd.service
+install -D -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_unitdir}/amavisd-snmp.service
 
 install -D -p -m 644 amavisd.conf $RPM_BUILD_ROOT%{_sysconfdir}/amavisd/amavisd.conf
 install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/clamd.d/amavisd.conf
-install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/clamd.amavisd
 install -D -p -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/amavisd
 
-mkdir -p $RPM_BUILD_ROOT/var/spool/amavisd/{tmp,db,quarantine}
-touch $RPM_BUILD_ROOT/var/spool/amavisd/clamd.sock
-mkdir -p $RPM_BUILD_ROOT/var/run/{amavisd,clamd.amavisd}
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/amavisd/{tmp,db,quarantine}
+touch $RPM_BUILD_ROOT%{_localstatedir}/spool/amavisd/clamd.sock
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/amavisd
 
-%if 0%{?fedora}%{?rhel} > 6
-install -D -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/amavisd-new.conf
+%if 0%{?fedora} > 17
+install -D -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_tmpfilesdir}/amavisd-new.conf
 %endif
 
 %clean
@@ -158,75 +159,65 @@ rm -rf $RPM_BUILD_ROOT
 
 %pre
 getent group amavis > /dev/null || %{_sbindir}/groupadd -r amavis
-getent passwd amavis > /dev/null || %{_sbindir}/useradd -r -g amavis -d /var/spool/amavisd -s /sbin/nologin -c "User for amavisd-new" amavis
+getent passwd amavis > /dev/null || \
+  %{_sbindir}/useradd -r -g amavis -d %{_localstatedir}/spool/amavisd -s /sbin/nologin \
+  -c "User for amavisd-new" amavis
+exit 0
 
 %preun
-if [ $1 -eq 0 ]; then
-  /sbin/service amavisd stop > /dev/null 2>&1 || :
-  /sbin/chkconfig --del amavisd
-  /sbin/service clamd.amavisd stop > /dev/null 2>&1 || :
-  /sbin/chkconfig --del clamd.amavisd
-fi
+%systemd_preun amavisd.service
 
 %preun snmp
-if [ $1 -eq 0 ]; then
-  /sbin/service amavisd-snmp stop > /dev/null 2>&1 || :
-  /sbin/chkconfig --del amavisd-snmp
-fi
+%systemd_preun amavisd-snmp.service
 
 %post
-/sbin/chkconfig --add clamd.amavisd
-/sbin/chkconfig --add amavisd
+%systemd_post amavisd.service
 
 %post snmp
-/sbin/chkconfig --add amavisd-snmp
+%systemd_post amavisd-snmp.service
 
 %postun
-if [ $1 -ne 0 ]; then
-  /sbin/service clamd.amavisd condrestart > /dev/null 2>&1 || :
-  /sbin/service amavisd condrestart > /dev/null 2>&1 || :
-fi
+%systemd_postun_with_restart amavisd.service
 
 %postun snmp
-if [ $1 -ne 0 ]; then
-  /sbin/service amavisd-snmp condrestart > /dev/null 2>&1 || :
-fi
+%systemd_postun_with_restart amavisd-snmp.service
 
 %files
 %defattr(-,root,root,-)
 %doc AAAREADME.first LDAP.schema LDAP.ldif LICENSE RELEASE_NOTES
 %doc README_FILES test-messages amavisd.conf-*
 %dir %{_sysconfdir}/amavisd/
-%attr(755,root,root) %{_initrddir}/amavisd
-%attr(755,root,root) %{_initrddir}/clamd.amavisd
+%{_unitdir}/amavisd.service
 %config(noreplace) %{_sysconfdir}/amavisd/amavisd.conf
 %config(noreplace) %{_sysconfdir}/clamd.d/amavisd.conf
-%config(noreplace) %{_sysconfdir}/sysconfig/clamd.amavisd
 %config(noreplace) %{_sysconfdir}/cron.daily/amavisd
 %{_sbindir}/amavisd
-%{_sbindir}/clamd.amavisd
 %{_bindir}/amavisd-*
-%dir %attr(710,amavis,amavis) /var/spool/amavisd
-%dir %attr(700,amavis,amavis) /var/spool/amavisd/tmp
-%dir %attr(700,amavis,amavis) /var/spool/amavisd/db
-%dir %attr(700,amavis,amavis) /var/spool/amavisd/quarantine
-%ghost /var/spool/amavisd/clamd.sock
-%if 0%{?fedora}%{?rhel} > 6
-%attr(644,root,root) %{_sysconfdir}/tmpfiles.d/amavisd-new.conf
-%ghost %dir %attr(755,amavis,amavis) /var/run/amavisd
-%ghost %dir %attr(755,amavis,amavis) /var/run/clamd.amavisd
-%else
-%dir %attr(755,amavis,amavis) /var/run/amavisd
-%dir %attr(755,amavis,amavis) /var/run/clamd.amavisd
+%dir %attr(710,amavis,amavis) %{_localstatedir}/spool/amavisd
+%dir %attr(700,amavis,amavis) %{_localstatedir}/spool/amavisd/tmp
+%dir %attr(700,amavis,amavis) %{_localstatedir}/spool/amavisd/db
+%dir %attr(700,amavis,amavis) %{_localstatedir}/spool/amavisd/quarantine
+%ghost %{_localstatedir}/spool/amavisd/clamd.sock
+%if 0%{?fedora} > 17
+%attr(644,root,root) %{_tmpfilesdir}/amavisd-new.conf
 %endif
+%dir %attr(755,amavis,amavis) %{_localstatedir}/run/amavisd
 
 %files snmp
 %defattr(-,root,root,-)
 %doc AMAVIS-MIB.txt
-%attr(755,root,root) %{_initrddir}/amavisd-snmp
+%{_unitdir}/amavisd-snmp.service
 %{_sbindir}/amavisd-snmp-subagent
 
 %changelog
+* Wed Feb 12 2014 Juan Orti Alcaine <jorti at fedoraproject.org> 2.8.1-1
+- Update to version 2.8.1
+- Add systemd service units
+- Add missing dependencies
+- Start clamd using instantiated service
+- Place tmpfiles conf in _tmpfilesdir
+- Use _localstatedir macro
+
 * Mon Dec 02 2013 Robert Scheck <robert at fedoraproject.org> 2.8.0-8
 - Commented ripole(1) decoder as the binary is not packaged
 - Commented tnef(1) decoder as the perl module is a dependency
@@ -289,7 +280,7 @@ fi
 - Update to 2.6.2.
 - Drop smtpdaemon dependency (BZ# 438078).
 
-* Wed Jul 15 2008 Steven Pritchard <steve at kspei.com> 2.6.1-1
+* Tue Jul 15 2008 Steven Pritchard <steve at kspei.com> 2.6.1-1
 - Update to 2.6.1.
 - Require Crypt::OpenSSL::RSA, Digest::SHA, Digest::SHA1, IO::Socket::SSL,
   Mail::DKIM, Net::SSLeay, NetAddr::IP, and Socket6.
diff --git a/amavisd-snmp.service b/amavisd-snmp.service
new file mode 100644
index 0000000..955b88c
--- /dev/null
+++ b/amavisd-snmp.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Exports amavisd SNMP data
+After=network.target amavisd.service
+
+[Service]
+Type=forking
+User=amavis
+Group=amavis
+PIDFile=/var/run/amavisd/amavisd-snmp-subagent.pid
+ExecStart=/usr/sbin/amavisd-snmp-subagent -D /var/spool/amavisd/db -P /var/run/amavisd/amavisd-snmp-subagent.pid
+Restart=on-failure
+PrivateTmp=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/amavisd.service b/amavisd.service
new file mode 100644
index 0000000..3acd93e
--- /dev/null
+++ b/amavisd.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Amavisd-new is an interface between MTA and content checkers.
+Documentation=http://www.ijs.si/software/amavisd/#doc
+After=syslog.target network.target
+Wants=clamd at amavisd.service
+
+[Service]
+Type=forking
+User=amavis
+Group=amavis
+PIDFile=/var/run/amavisd/amavisd.pid
+ExecStart=/usr/sbin/amavisd -c /etc/amavisd/amavisd.conf
+Restart=on-failure
+PrivateTmp=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sources b/sources
index 3c85930..5cf05b1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9851ce19f0c8fcab36f254c4e0251618  amavisd-new-2.8.0.tar.gz
+f6f9abd1aac05521bdcb3754d09f5314  amavisd-new-2.8.1.tar.gz


More information about the scm-commits mailing list