[packages/cyrus-imapd] - updated to 3.0.9 - updated clamav-0.101 patch (adjusted for 0.101.2 not installing clamav-config.h
qboosh
qboosh at pld-linux.org
Tue Apr 16 21:38:39 CEST 2019
commit e68f6eb7b6bb65c0e12a9cb032d7cc8b2f0878e1
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Apr 16 21:38:48 2019 +0200
- updated to 3.0.9
- updated clamav-0.101 patch (adjusted for 0.101.2 not installing clamav-config.h with version macros)
- added icu patch (ICU headers in C++ mode don't allow including in C linkage)
cyrus-imapd-clamav-0.101.patch | 46 ++++++--------------
cyrus-imapd-icu.patch | 39 +++++++++++++++++
cyrus-imapd.spec | 96 ++++++++++++++++++++++++------------------
3 files changed, 106 insertions(+), 75 deletions(-)
---
diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec
index 2bab616..aeb5f2f 100644
--- a/cyrus-imapd.spec
+++ b/cyrus-imapd.spec
@@ -1,3 +1,5 @@
+# TODO: zephyr notification?
+
#
# Conditional build:
%bcond_without docs # don't regenerate docs
@@ -16,12 +18,12 @@ Summary: High-performance mail store with IMAP and POP3
Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
Name: cyrus-imapd
-Version: 3.0.8
-Release: 2
+Version: 3.0.9
+Release: 1
License: BSD-like
Group: Networking/Daemons/POP3
-Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
-# Source0-md5: 7dc5cf7987d146c6df608146087e0c75
+Source0: https://www.cyrusimap.org/releases/%{name}-%{version}.tar.gz
+# Source0-md5: 8452f81e3c30fa9af6f456e143e98576
Source1: cyrus-README
Source2: cyrus-procmailrc
Source3: cyrus-deliver-wrapper.c
@@ -37,17 +39,21 @@ Source13: cyrus-sync.init
Patch0: %{name}-et.patch
Patch1: link.patch
Patch2: %{name}-clamav-0.101.patch
+Patch3: %{name}-icu.patch
URL: http://www.cyrusimap.org/
-BuildRequires: autoconf >= 2.54
+BuildRequires: autoconf >= 2.63
BuildRequires: automake
-BuildRequires: cyrus-sasl-devel >= 1.5.27
+BuildRequires: cyrus-sasl-devel >= 2.1.7
BuildRequires: db-devel >= 4.1.25
BuildRequires: flex
+BuildRequires: jansson-devel >= 2.3
%{?with_http:BuildRequires: libbrotli-devel}
+BuildRequires: libcap-devel
BuildRequires: libcom_err-devel >= 1.21
-%{?with_http:BuildRequires: libical-devel}
-BuildRequires: libtool
-%{?with_http:BuildRequires: libxml2-devel >= 2.7.3}
+%{?with_http:BuildRequires: libical-devel >= 2.0}
+BuildRequires: libicu-devel
+BuildRequires: libtool >= 2:2.2.6
+%{?with_http:BuildRequires: libxml2-devel >= 1:2.7.3}
%{?with_lmdb:BuildRequires: lmdb-devel}
%{?with_mysql:BuildRequires: mysql-devel}
BuildRequires: net-snmp-devel
@@ -59,11 +65,12 @@ BuildRequires: patchutils
%{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
%{?with_pgsql:BuildRequires: postgresql-devel}
%{?with_perl:BuildRequires: rpm-perlprov}
+BuildRequires: rpmbuild(macros) >= 1.527
%{?with_http:BuildRequires: shapelib-devel >= 1.4.1}
-%{?with_http:BuildRequires: sqlite3-devel}
+%{?with_http:BuildRequires: sqlite3-devel >= 3}
%{?with_docs:BuildRequires: sphinx-pdg-3}
%{?with_xapian:BuildRequires: xapian-core-devel}
-BuildRequires: rpmbuild(macros) >= 1.527
+BuildRequires: zlib-devel
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/userdel
Requires(pre): /bin/id
@@ -93,7 +100,7 @@ Conflicts: solid-pop3d
Conflicts: tpop3d
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _libexecdir %{_libdir}/cyrus
+%define pkglibexecdir %{_libexecdir}/cyrus
%define skip_post_check_so libcyrus(|_min|_imap|_sieve).so.*
@@ -143,6 +150,8 @@ IMAP, POP3 ou KPOP.
Summary: Shared cyrus-imapd libraries
Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
Group: Libraries
+Requires: cyrus-sasl-libs >= 2.1.7
+Requires: jansson >= 2.3
%description libs
Shared cyrus-imapd libraries.
@@ -155,6 +164,8 @@ Summary: Header files for developing with cyrus-imapd libraries
Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
+Requires: cyrus-sasl-devel >= 2.1.7
+Requires: jansson-devel >= 2.3
%description devel
This package provides the necessary header files files to allow you to
@@ -193,18 +204,18 @@ Perlowy interfejs do biblioteki cyrus-imapd.
%patch0 -p1
%patch1 -p1
%patch2 -p1
-
-rm -rf autom4te.cache
+%patch3 -p1
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
%build
%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
+%{__aclocal} -I cmulocal
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
+ --libexecdir=%{pkglibexecdir} \
--enable-autocreate \
--enable-backup \
--enable-calalarmd \
@@ -218,6 +229,7 @@ cp -p %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
%{__enable_disable xapian} \
--with-com_err=/usr \
%{__with_without ldap} \
+ --with-libcap \
--without-libwrap \
%{__with_without lmdb} \
%{__with_without mysql} \
@@ -230,12 +242,12 @@ cp -p %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
VERSION=%{version}
%{__cc} %{rpmcflags} \
- -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
+ -DLIBEXECDIR="\"%{pkglibexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
%install
rm -rf $RPM_BUILD_ROOT
install -d \
- $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
+ $RPM_BUILD_ROOT{%{_sbindir},%{pkglibexecdir},%{_mandir}} \
$RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
$RPM_BUILD_ROOT/var/spool/imap/stage. \
$RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
@@ -255,14 +267,14 @@ touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
# ensure +x bit for rpm autodeps
chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so*
-install -p deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
+install -p deliver-wrapper $RPM_BUILD_ROOT%{pkglibexecdir}/deliver-wrapper
cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
-sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
-sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
+sed -e 's,/''usr/lib/cyrus,%{pkglibexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
+sed -e 's,/''usr/lib/cyrus,%{pkglibexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
# We rename some utils, so we need to sort out the manpages
@@ -345,27 +357,27 @@ fi
%attr(755,root,root) %{_bindir}/smtptest
%attr(755,root,root) %{_bindir}/synctest
-%dir %{_libexecdir}
-%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
-%attr(755,root,root) %{_libexecdir}/backupd
-%attr(755,root,root) %{_libexecdir}/calalarmd
-%attr(755,root,root) %{_libexecdir}/fud
-%{?with_http:%attr(755,root,root) %{_libexecdir}/httpd}
-%attr(755,root,root) %{_libexecdir}/idled
-%attr(755,root,root) %{_libexecdir}/imapd
-%attr(755,root,root) %{_libexecdir}/lmtpd
-%attr(755,root,root) %{_libexecdir}/lmtpproxyd
-%attr(755,root,root) %{_libexecdir}/master
-%attr(755,root,root) %{_libexecdir}/mupdate
-%attr(755,root,root) %{_libexecdir}/nntpd
-%attr(755,root,root) %{_libexecdir}/notifyd
-%attr(755,root,root) %{_libexecdir}/ptloader
-%attr(755,root,root) %{_libexecdir}/pop3d
-%attr(755,root,root) %{_libexecdir}/pop3proxyd
-%attr(755,root,root) %{_libexecdir}/proxyd
-%attr(755,root,root) %{_libexecdir}/smmapd
-%attr(755,root,root) %{_libexecdir}/sync_server
-%attr(755,root,root) %{_libexecdir}/timsieved
+%dir %{pkglibexecdir}
+%attr(2755,cyrus,mail) %{pkglibexecdir}/deliver-wrapper
+%attr(755,root,root) %{pkglibexecdir}/backupd
+%attr(755,root,root) %{pkglibexecdir}/calalarmd
+%attr(755,root,root) %{pkglibexecdir}/fud
+%{?with_http:%attr(755,root,root) %{pkglibexecdir}/httpd}
+%attr(755,root,root) %{pkglibexecdir}/idled
+%attr(755,root,root) %{pkglibexecdir}/imapd
+%attr(755,root,root) %{pkglibexecdir}/lmtpd
+%attr(755,root,root) %{pkglibexecdir}/lmtpproxyd
+%attr(755,root,root) %{pkglibexecdir}/master
+%attr(755,root,root) %{pkglibexecdir}/mupdate
+%attr(755,root,root) %{pkglibexecdir}/nntpd
+%attr(755,root,root) %{pkglibexecdir}/notifyd
+%attr(755,root,root) %{pkglibexecdir}/ptloader
+%attr(755,root,root) %{pkglibexecdir}/pop3d
+%attr(755,root,root) %{pkglibexecdir}/pop3proxyd
+%attr(755,root,root) %{pkglibexecdir}/proxyd
+%attr(755,root,root) %{pkglibexecdir}/smmapd
+%attr(755,root,root) %{pkglibexecdir}/sync_server
+%attr(755,root,root) %{pkglibexecdir}/timsieved
%attr(755,root,root) %{_sbindir}/arbitron
%attr(755,root,root) %{_sbindir}/chk_cyrus
%attr(755,root,root) %{_sbindir}/ctl_backups
diff --git a/cyrus-imapd-clamav-0.101.patch b/cyrus-imapd-clamav-0.101.patch
index 5a9f23f..178652a 100644
--- a/cyrus-imapd-clamav-0.101.patch
+++ b/cyrus-imapd-clamav-0.101.patch
@@ -1,34 +1,14 @@
-Support clamav >= 0.101.0, based on changes introduced in:
-
-https://github.com/Cisco-Talos/clamav-devel/commit/048a88e61558726bd9ba66ec3195b63d61d8a430
-
---- cyrus-imapd-3.0.8/imap/cyr_virusscan.c.orig 2018-08-10 04:59:00.000000000 +0200
-+++ cyrus-imapd-3.0.8/imap/cyr_virusscan.c 2018-12-10 10:51:08.776406893 +0100
-@@ -193,8 +193,17 @@
- int r;
-
- /* scan file */
-+#if LIBCLAMAV_MAJORVER < 9
- r = cl_scanfile(fname, virname, NULL, st->av_engine,
- CL_SCAN_STDOPT);
-+#else
-+ static struct cl_scan_options options;
-+
-+ memset(&options, 0, sizeof(struct cl_scan_options));
-+ options.parse |= ~0; /* enable all parsers */
-+
-+ r = cl_scanfile(fname, virname, NULL, st->av_engine, &options);
+--- cyrus-imapd-3.0.9/imap/cyr_virusscan.c.orig 2019-03-15 01:31:20.000000000 +0100
++++ cyrus-imapd-3.0.9/imap/cyr_virusscan.c 2019-04-16 18:46:50.316701915 +0200
+@@ -126,6 +126,11 @@
+ /* ClamAV implementation */
+ #include <clamav.h>
+
++#ifndef __CLAMAV_CONFIG_H
++/* clamav 0.101.2 dropped installing clamav-config.h, assume it's major 9 for now */
++#define LIBCLAMAV_MAJORVER 9
+#endif
-
- switch (r) {
- case CL_CLEAN:
---- cyrus-imapd-3.0.8/Makefile.am.orig 2018-12-10 12:15:51.580494168 +0100
-+++ cyrus-imapd-3.0.8/Makefile.am 2018-12-10 12:14:59.394460523 +0100
-@@ -879,6 +879,7 @@
- imap_cyr_sphinxmgr_LDADD = $(LD_UTILITY_ADD)
-
- imap_cyr_virusscan_SOURCES = imap/cli_fatal.c imap/cyr_virusscan.c imap/mutex_fake.c
-+imap_cyr_virusscan_CFLAGS = $(AM_CFLAGS) $(CLAMAV_CFLAGS) $(CFLAG_VISIBILITY)
- imap_cyr_virusscan_LDADD = $(LD_UTILITY_ADD) $(CLAMAV_LIBS)
-
- imap_ctl_zoneinfo_SOURCES = imap/cli_fatal.c imap/ctl_zoneinfo.c imap/mutex_fake.c imap/zoneinfo_db.c
++
+ struct clamav_state {
+ struct cl_engine *av_engine;
+ };
diff --git a/cyrus-imapd-icu.patch b/cyrus-imapd-icu.patch
new file mode 100644
index 0000000..2458aa0
--- /dev/null
+++ b/cyrus-imapd-icu.patch
@@ -0,0 +1,39 @@
+--- cyrus-imapd-3.0.9/lib/charset.h.orig 2019-03-15 01:31:20.000000000 +0100
++++ cyrus-imapd-3.0.9/lib/charset.h 2019-04-16 18:25:58.340151121 +0200
+@@ -60,6 +60,10 @@
+
+ #include "unicode/ucnv.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ #include "util.h"
+
+ typedef int comp_pat;
+@@ -127,4 +131,8 @@
+ charset_t charset, int encoding,
+ const char *subtype, int flags);
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* INCLUDED_CHARSET_H */
+--- cyrus-imapd-3.0.9/imap/xapian_wrap.cpp.orig 2019-03-15 01:31:20.000000000 +0100
++++ cyrus-imapd-3.0.9/imap/xapian_wrap.cpp 2019-04-16 18:30:21.718724277 +0200
+@@ -14,13 +14,13 @@
+ #include "search_part.h"
+ #include "xmalloc.h"
+ #include "xapian_wrap.h"
+-#include "charset.h"
+ #include "ptrarray.h"
+
+
+ /* generated headers are not necessarily in current directory */
+ #include "imap/imap_err.h"
+ };
++#include "charset.h"
+
+ #include <xapian.h>
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/cyrus-imapd.git/commitdiff/e68f6eb7b6bb65c0e12a9cb032d7cc8b2f0878e1
More information about the pld-cvs-commit
mailing list