]> git.pld-linux.org Git - packages/cyrus-imapd.git/commitdiff
- updated to 3.0.9
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 16 Apr 2019 19:38:48 +0000 (21:38 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 16 Apr 2019 19:38:48 +0000 (21:38 +0200)
- 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
cyrus-imapd-icu.patch [new file with mode: 0644]
cyrus-imapd.spec

index 5a9f23f36c44204b88a0689e9ee66e5a81aa543e..178652acb6c27e84e4be4e6fd330d9b8c851874e 100644 (file)
@@ -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 (file)
index 0000000..2458aa0
--- /dev/null
@@ -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>
index 2bab61694080d269ab66b8cff296dc2d9e38293f..aeb5f2f89db1371cdf312dedb885ea7dd6fd4469 100644 (file)
@@ -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
This page took 0.153687 seconds and 4 git commands to generate.