%bcond_without sasl # without SASL
%bcond_without ldap # without LDAP support
%bcond_without spf # without spf support
-%bcond_without srs # without srs support
-%bcond_without dynamic # dynamic modules
+%bcond_with dynamic # dynamic modules
%bcond_without hiredis # without redis
# opendmarc.spec not ready, so off by default
%bcond_with dmarc # DMARC support
+%bcond_without lmdb # LMDB support
%if "%{pld_release}" == "ac"
# hiredis build segfaults on ac-alpha
Summary(pl.UTF-8): Agent Transferu Poczty Uniwersytetu w Cambridge
Summary(pt_BR.UTF-8): Servidor de correio eletrônico exim
Name: exim
-Version: 4.87
-Release: 3
+Version: 4.97
+Release: 15
Epoch: 2
-License: GPL
+License: GPL v2+
Group: Networking/Daemons/SMTP
Source0: ftp://ftp.exim.org/pub/exim/exim4/%{name}-%{version}.tar.bz2
-# Source0-md5: 2effc2bd47ad2dc010f655c11a1b1173
+# Source0-md5: c970646b913b3a414d5c7a3725da7018
Source1: ftp://ftp.exim.org/pub/exim/exim4/%{name}-html-%{version}.tar.bz2
-# Source1-md5: f6ee36fd8d024912c053d113970938f5
+# Source1-md5: e1ba08655a1c045384244ecd9129f14d
Source2: %{name}.init
Source3: %{name}.cron.db
Source4: %{name}4.conf
# Source14-md5: 4b93321938a800caa6127c48ad60a42b
Source15: %{name}4-smtp.pamd
Source16: %{name}on.png
-# git log -p exim-4_87..exim-4_87+fixes --reverse -- . ":(exclude)doc/doc-*" ":(exclude)test" ":(exclude).*" > exim-git.patch
+# sh branch.sh
Patch100: %{name}-git.patch
+# Patch100-md5: 62df3657a486bcd8d1e998a99b1225e2
Patch0: %{name}4-EDITME.patch
Patch1: %{name}4-monitor-EDITME.patch
Patch2: %{name}4-cflags.patch
-Patch3: exim-defs.patch
+Patch3: %{name}-defs.patch
Patch4: %{name}4-Makefile-Default.patch
-# http://marc.merlins.org/linux/exim/files/sa-exim-cvs/localscan_dlopen_exim_4.20_or_better.patch
-Patch5: localscan_dlopen_%{name}_4.20_or_better.patch
-
+# dlopen patch from debian
+Patch5: 90_localscan_dlopen.dpatch
+# local fixes for debian patch
+Patch6: 90_localscan_dlopen-fixes.dpatch
+Patch7: linelength-show.patch
Patch8: %{name}-spam-timeout.patch
-
-Patch10: %{name}-force-sigalrm.patch
-
-Patch20: %{name}4-disableSSLv3.patch
+Patch9: autoreply-return-path.patch
+Patch10: unofficial-hotfix.patch
URL: http://www.exim.org/
%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0}
BuildRequires: db-devel
-%{?with_dmarc:BuildRequires: opendmarc-devel}
%{?with_hiredis:BuildRequires: hiredis-devel}
+BuildRequires: libidn-devel
+BuildRequires: libidn2-devel
%{?with_spf:BuildRequires: libspf2-devel >= 1.2.5-2}
-%{?with_srs:BuildRequires: libsrs_alt-devel >= 1.0}
+%{?with_lmdb:BuildRequires: lmdb-devel}
%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_dmarc:BuildRequires: opendmarc-devel}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
-BuildRequires: pcre-devel
+BuildRequires: pcre2-8-devel
+BuildRequires: perl-File-FcntlLock
BuildRequires: perl-devel >= 1:5.6.0
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.268
%{?with_sqlite:BuildRequires: sqlite3-devel}
%{?with_whoson:BuildRequires: whoson-devel}
%prep
%setup -q -a1 -a7
-#%patch100 -p2
-
+%patch100 -p2
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-
+%patch6 -p1
+%patch7 -p1
%patch8 -p1
-
-%patch10 -p1
+%patch9 -p2
+%patch10 -p2
install %{SOURCE4} exim4.conf
install %{SOURCE14} doc/config.samples.tar.bz2
-%patch20 -p1
install -d Local
cat << 'EOF' >> Local/Makefile-Linux
CC=%{__cc}
XLFLAGS=-L%{_prefix}/X11R6/%{_lib}
X11_LD_LIB=%{_prefix}/X11R6/%{_lib}
%{?with_dynamic:LOOKUP_MODULE_DIR=%{_libdir}/%{name}/modules}
-EXPERIMENTAL_DANE=yes
+EXPERIMENTAL_ARC=yes
EXPERIMENTAL_DCC=yes
EXPERIMENTAL_PRDR=yes
EXPERIMENTAL_DSN_INFO=yes
+EXPERIMENTAL_QUEUEFILE=yes
+EXPERIMENTAL_XCLIENT=yes
+SUPPORT_DANE=yes
+SUPPORT_I18N=yes
+SUPPORT_I18N_2008=yes
+SUPPORT_MOVE_FROZEN_MESSAGES=yes
+LDFLAGS+= -lidn -lidn2
SUPPORT_PROXY=yes
%if %{with dmarc}
-EXPERIMENTAL_DMARC=yes
+SUPPORT_DMARC=yes
LOOKUP_LIBS+=-lopendmarc
%endif
%if %{with spf}
-EXPERIMENTAL_SPF=yes
+SUPPORT_SPF=yes
LOOKUP_LIBS+=-lspf2
%endif
-%if %{with srs}
-EXPERIMENTAL_SRS=yes
-LOOKUP_LIBS+=-lsrs_alt
-%endif
%if %{with hiredis}
LOOKUP_REDIS=yes
LOOKUP_LIBS+=-lhiredis
# for static
LOOKUP_LIBS+=-lldap -llber
%endif
+%if %{with lmdb}
+EXPERIMENTAL_LMDB=yes
+LOOKUP_LIBS+=-llmdb
+%endif
+DLOPEN_LOCAL_SCAN=yes
EOF
# have to be after Local/Makefile-Linux creation
cp -f exim_monitor/EDITME Local/eximon.conf
%build
-%{__make} -e -j1 \
+%{__make} -e \
FULLECHO=''
%install
install build-Linux-*/exim{,_fixdb,_tidydb,_dbmbuild,on.bin,_dumpdb,_lock} \
build-Linux-*/exi{cyclog,next,what} %{SOURCE10} \
- build-Linux-*/{exigrep,exiqgrep,exipick,eximstats,exiqsumm,convert4r4} \
+ build-Linux-*/{exigrep,exiqgrep,exipick,eximstats,exim_msgdate,exiqsumm,convert4r4} \
util/unknownuser.sh \
$RPM_BUILD_ROOT%{_bindir}
install build-Linux-*/eximon.bin $RPM_BUILD_ROOT%{_bindir}
%files
%defattr(644,root,root,755)
%doc README* NOTICE LICENCE analyse-log-errors doc/{ChangeLog,NewStuff,dbm.discuss.txt,filter.txt,spec.txt,Exim*.upgrade,OptionLists.txt,experimental-spec.txt} build-Linux-*/transport-filter.pl
-%doc exim-html-*/doc/html
+%doc exim-html-*/exim-html-*/doc/html
%dir %{_sysconfdir}/mail
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/exim.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/exim
+%attr(754,root,root) /etc/cron.daily/exim.cron.db
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/exim
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
%attr(754,root,root) /etc/rc.d/init.d/exim
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/exim
%attr(4755,root,root) %{_bindir}/exim
-%attr(770,root,exim) %dir %{_var}/spool/exim
-%attr(750,exim,exim) %dir %{_var}/spool/exim/db
-%attr(700,exim,root) %dir %{_var}/spool/exim/input
-%attr(750,exim,root) %dir %{_var}/spool/exim/msglog
%attr(755,root,root) %{_bindir}/exim_*
%attr(755,root,root) %{_bindir}/exinext
%attr(755,root,root) %{_bindir}/exiwhat
%attr(755,root,root) %{_sbindir}/runq
%attr(755,root,root) %{_sbindir}/sendmail
%attr(755,root,root) /usr/lib/sendmail
-%attr(754,root,root) /etc/cron.daily/exim.cron.db
%attr(750,exim,root) %dir %{_var}/log/exim
%attr(750,exim,root) %dir %{_var}/log/archive/exim
%attr(640,exim,root) %ghost %{_var}/log/exim/*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
+%attr(770,root,exim) %dir %{_var}/spool/exim
+%attr(750,exim,exim) %dir %{_var}/spool/exim/db
+%attr(700,exim,root) %dir %{_var}/spool/exim/input
+%attr(750,exim,root) %dir %{_var}/spool/exim/msglog
%if %{with dynamic}
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/modules
%{?with_sqlite:%attr(755,root,root) %{_libdir}/%{name}/modules/sqlite.so}
%{?with_whoson:%attr(755,root,root) %{_libdir}/%{name}/modules/whoson.so}
%endif
-%{_mandir}/man8/*
+%{_mandir}/man8/exicyclog.8*
+%{_mandir}/man8/exigrep.8*
+%{_mandir}/man8/exim.8*
+%{_mandir}/man8/exim_*.8*
+%{_mandir}/man8/eximstats.8*
+%{_mandir}/man8/exinext.8*
+%{_mandir}/man8/exiqsumm.8*
+%{_mandir}/man8/exiwhat.8*
%files X11
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/eximon.bin
%{_desktopdir}/eximon.desktop
%{_pixmapsdir}/eximon.png
+%{_mandir}/man8/eximon.8*
%files devel
%defattr(644,root,root,755)