commit 2d3042c8b3fe436271673792c8ede865c871a702
Author: Juan Orti Alcaine <juan.o...@miceliux.com>
Date:   Thu Oct 23 12:33:47 2014 +0200

    Update to 2.10.0 and several fixes
    
      - Update to 2.10.0
      - Replace IO::Socket::INET6 with IO::Socket::IP
      - Review perl dependencies minimum version
      - Add subpackages amavisd-new-zeromq and amavisd-new-snmp-zeromq

 .gitignore               |    1 +
 amavis-mc.service        |   19 ++++++++
 amavisd-new.spec         |  109 +++++++++++++++++++++++++++++++++++++++++-----
 amavisd-snmp-zmq.service |   19 ++++++++
 sources                  |    2 +-
 5 files changed, 138 insertions(+), 12 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6ebf46e..32bff5c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ amavisd-new-2.8.0.tar.gz
 /amavisd-new-2.9.0.tar.xz
 /amavisd-new-2.9.1.tar.xz
 /amavisd-new-2.10.0-rc2.tar.xz
+/amavisd-new-2.10.0.tar.xz
diff --git a/amavis-mc.service b/amavis-mc.service
new file mode 100644
index 0000000..4dcdc1d
--- /dev/null
+++ b/amavis-mc.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Amavisd-new master supervisor process for communicating through 
0MQ sockets
+Documentation=http://www.ijs.si/software/amavisd/#doc
+After=network.target
+Before=amavisd.service
+
+[Service]
+Type=forking
+User=amavis
+Group=amavis
+PIDFile=/var/run/amavisd/amavis-mc.pid
+ExecStart=/usr/sbin/amavis-mc -P /var/run/amavisd/amavis-mc.pid
+Restart=on-failure
+PrivateTmp=true
+PrivateDevices=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/amavisd-new.spec b/amavisd-new.spec
index e559eaf..d3ea75b 100644
--- a/amavisd-new.spec
+++ b/amavisd-new.spec
@@ -1,9 +1,9 @@
-%global prerelease rc2
+#%%global prerelease rc2
 
 Summary:        Email filter with virus scanner and spamassassin support
 Name:           amavisd-new
 Version:        2.10.0
-Release:        0.1%{?prerelease:.%{prerelease}}%{?dist}
+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
@@ -19,6 +19,8 @@ Source11:       amavisd-clean-tmp.service
 Source12:       amavisd-clean-tmp.timer
 Source13:       amavisd-clean-quarantine.service
 Source14:       amavisd-clean-quarantine.timer
+Source15:       amavis-mc.service
+Source16:       amavisd-snmp-zmq.service
 Patch0:         amavisd-new-2.10.0-conf.patch
 Patch1:         amavisd-init.patch
 Patch2:         amavisd-condrestart.patch
@@ -51,19 +53,23 @@ Requires:       unzoo
 # We probably should parse the fetch_modules() code in amavisd for this list.
 # These are just the dependencies that don't get picked up otherwise.
 Requires:       perl(Archive::Tar)
-Requires:       perl(Archive::Zip)
+Requires:       perl(Archive::Zip) >= 1.14
 Requires:       perl(Authen::SASL)
 Requires:       perl(Compress::Zlib) >= 1.35
+Requires:       perl(Compress::Raw::Zlib) >= 2.017
 Requires:       perl(Convert::TNEF)
 Requires:       perl(Convert::UUlib)
 Requires:       perl(Crypt::OpenSSL::RSA)
 Requires:       perl(DBD::SQLite)
 Requires:       perl(DBI)
+Requires:       perl(Digest::MD5) >= 2.22
 Requires:       perl(Digest::SHA)
 Requires:       perl(Digest::SHA1)
-Requires:       perl(IO::Socket::INET6)
+Requires:       perl(File::LibMagic)
+Requires:       perl(IO::Socket::IP)
 Requires:       perl(IO::Socket::SSL)
 Requires:       perl(IO::Stringy)
+Requires:       perl(MIME::Base64)
 Requires:       perl(MIME::Body)
 Requires:       perl(MIME::Decoder::Base64)
 Requires:       perl(MIME::Decoder::Binary)
@@ -72,19 +78,22 @@ Requires:       perl(MIME::Decoder::NBit)
 Requires:       perl(MIME::Decoder::QuotedPrint)
 Requires:       perl(MIME::Decoder::UU)
 Requires:       perl(MIME::Head)
-Requires:       perl(Mail::DKIM)
+Requires:       perl(MIME::Parser)
+Requires:       perl(Mail::DKIM) >= 0.31
 Requires:       perl(Mail::Field)
 Requires:       perl(Mail::Header)
-Requires:       perl(Mail::Internet)
+Requires:       perl(Mail::Internet) >= 1.58
 Requires:       perl(Mail::SPF)
 Requires:       perl(Mail::SpamAssassin)
 Requires:       perl(Net::DNS)
 Requires:       perl(Net::LDAP)
+Requires:       perl(Net::LibIDN)
 Requires:       perl(Net::SSLeay)
-Requires:       perl(Net::Server)
+Requires:       perl(Net::Server) >= 2.0
 Requires:       perl(NetAddr::IP)
 Requires:       perl(Razor2::Client::Version)
 Requires:       perl(Socket6)
+Requires:       perl(Time::HiRes) >= 1.49
 Requires:       perl(Unix::Syslog)
 Requires:       perl(URI)
 Requires(pre):  shadow-utils
@@ -101,6 +110,25 @@ Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 
+%package zeromq
+Group:          Applications/System
+Summary:        Support for communicating through 0MQ sockets
+Requires:       %{name} = %{version}-%{release}
+Requires:       perl(ZMQ::Constants)
+Requires:       perl(ZMQ::LibZMQ3)
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+
+%package snmp-zeromq
+Group:          Applications/System
+Summary:        Exports amavisd SNMP data and communicates through 0MQ sockets
+Requires:       %{name}-zeromq = %{version}-%{release}
+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
 (MTA) and one or more content checkers: virus scanners, and/or
@@ -121,6 +149,22 @@ exports data to a SNMP server running on a host (same or 
remote), making
 them available to SNMP clients (such a Cacti or mrtg) for monitoring or
 alerting purposes.
 
+%description zeromq
+This package adds support for monitoring and communicating with amavisd
+and auxiliary services among themselves through 0MQ sockets (also called ZMQ
+or ZeroMQ, or Crossroads I/O or XS). This method offers similar features
+as current services amavisd-nanny, amavisd-agent and amavisd-snmp-subagent,
+but use message passing paradigm instead of communicating through a shared
+Berkeley database. This avoids locking contention, so the gain can be
+significant for a busy amavisd setup with lots of child processes.
+
+%description snmp-zeromq
+This package contains the program amavisd-snmp-subagent-zmq, which can be
+used as a SNMP AgentX, exporting amavisd statistical counters database
+(snmp.db) as well as a child process status database (nanny.db) to a
+SNMP daemon supporting the AgentX protocol (RFC 2741), such as NET-SNMP.
+It supports communicating through 0MQ sockets.
+
 %prep
 %setup -q -n %{name}-%{version}%{?prerelease:-%{prerelease}}
 %patch0 -p1
@@ -138,9 +182,12 @@ 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
+install -D -p -m 755 amavisd-snmp-subagent-zmq 
$RPM_BUILD_ROOT%{_sbindir}/amavisd-snmp-subagent-zmq
 
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
-install -p -m 755 amavisd-{agent,nanny,release} $RPM_BUILD_ROOT%{_bindir}/
+install -p -m 755 amavisd-{agent,nanny,release,signer,status,submit} 
$RPM_BUILD_ROOT%{_bindir}/
+install -p -m 755 amavis-mc $RPM_BUILD_ROOT%{_sbindir}/
+install -p -m 755 amavis-services $RPM_BUILD_ROOT%{_bindir}/
 
 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
@@ -148,6 +195,8 @@ install -D -p -m 644 %{SOURCE11} 
$RPM_BUILD_ROOT%{_unitdir}/amavisd-clean-tmp.se
 install -D -p -m 644 %{SOURCE12} 
$RPM_BUILD_ROOT%{_unitdir}/amavisd-clean-tmp.timer
 install -D -p -m 644 %{SOURCE13} 
$RPM_BUILD_ROOT%{_unitdir}/amavisd-clean-quarantine.service
 install -D -p -m 644 %{SOURCE14} 
$RPM_BUILD_ROOT%{_unitdir}/amavisd-clean-quarantine.timer
+install -D -p -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{_unitdir}/amavis-mc.service
+install -D -p -m 644 %{SOURCE16} 
$RPM_BUILD_ROOT%{_unitdir}/amavisd-snmp-zmq.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
@@ -177,6 +226,12 @@ exit 0
 %preun snmp
 %systemd_preun amavisd-snmp.service
 
+%preun zeromq
+%systemd_preun amavis-mc.service
+
+%preun snmp-zeromq
+%systemd_preun amavisd-snmp-zmq.service
+
 %post
 %systemd_post amavisd.service
 %systemd_post amavisd-clean-tmp.service
@@ -192,6 +247,12 @@ systemctl start amavisd-clean-quarantine.timer >/dev/null 
2>&1 || :
 %post snmp
 %systemd_post amavisd-snmp.service
 
+%post zeromq
+%systemd_post amavis-mc.service
+
+%post snmp-zeromq
+%systemd_post amavisd-snmp-zmq.service
+
 %postun
 %systemd_postun_with_restart amavisd.service
 %systemd_postun_with_restart amavisd-clean-tmp.service
@@ -202,10 +263,16 @@ systemctl start amavisd-clean-quarantine.timer >/dev/null 
2>&1 || :
 %postun snmp
 %systemd_postun_with_restart amavisd-snmp.service
 
+%postun zeromq
+%systemd_postun_with_restart amavis-mc.service
+
+%postun snmp-zeromq
+%systemd_postun_with_restart amavisd-snmp-zmq.service
+
 %files
 %defattr(-,root,root,-)
-%doc AAAREADME.first LDAP.schema LDAP.ldif LICENSE RELEASE_NOTES
-%doc README_FILES test-messages amavisd.conf-*
+%doc AAAREADME.first LDAP.schema LDAP.ldif LICENSE RELEASE_NOTES TODO INSTALL
+%doc README_FILES test-messages amavisd.conf-* amavisd-custom.conf
 %dir %{_sysconfdir}/amavisd/
 %{_unitdir}/amavisd.service
 %{_unitdir}/amavisd-clean-tmp.service
@@ -215,7 +282,11 @@ systemctl start amavisd-clean-quarantine.timer >/dev/null 
2>&1 || :
 %config(noreplace) %{_sysconfdir}/amavisd/amavisd.conf
 %config(noreplace) %{_sysconfdir}/clamd.d/amavisd.conf
 %{_sbindir}/amavisd
-%{_bindir}/amavisd-*
+%{_bindir}/amavisd-agent
+%{_bindir}/amavisd-nanny
+%{_bindir}/amavisd-release
+%{_bindir}/amavisd-signer
+%{_bindir}/amavisd-submit
 %dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd
 %dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd/tmp
 %dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd/db
@@ -230,7 +301,23 @@ systemctl start amavisd-clean-quarantine.timer >/dev/null 
2>&1 || :
 %{_unitdir}/amavisd-snmp.service
 %{_sbindir}/amavisd-snmp-subagent
 
+%files zeromq
+%{_unitdir}/amavis-mc.service
+%{_sbindir}/amavis-mc
+%{_bindir}/amavisd-status
+%{_bindir}/amavis-services
+
+%files snmp-zeromq
+%{_unitdir}/amavisd-snmp-zmq.service
+%{_sbindir}/amavisd-snmp-subagent-zmq
+
 %changelog
+* Thu Oct 23 2014 Juan Orti Alcaine <jo...@fedoraproject.org> 2.10.0-1
+- Update to 2.10.0
+- Replace IO::Socket::INET6 with IO::Socket::IP
+- Review perl dependencies minimum version
+- Add subpackages amavisd-new-zeromq and amavisd-new-snmp-zeromq
+
 * Mon Oct 20 2014 Juan Orti Alcaine <jo...@fedoraproject.org> 2.10.0-0.1.rc2
 - Update to 2.10.0-rc2
 
diff --git a/amavisd-snmp-zmq.service b/amavisd-snmp-zmq.service
new file mode 100644
index 0000000..d3faae3
--- /dev/null
+++ b/amavisd-snmp-zmq.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Exports amavisd SNMP data and communicates through 0MQ sockets
+After=network.target
+After=amavis-mc.service
+After=amavisd.service
+
+[Service]
+Type=forking
+User=amavis
+Group=amavis
+PIDFile=/var/run/amavisd/amavisd-snmp-subagent-zmq.pid
+ExecStart=/usr/sbin/amavisd-snmp-subagent-zmq -P 
/var/run/amavisd/amavisd-snmp-subagent-zmq.pid
+Restart=on-failure
+PrivateTmp=true
+PrivateDevices=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sources b/sources
index 77899e4..bfb0a64 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f43dbf102e3f028e43b6d2b7d2f5cc03  amavisd-new-2.10.0-rc2.tar.xz
+a343a5201663b26519f3db53b6d8be3c  amavisd-new-2.10.0.tar.xz
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Reply via email to