%bcond_without sasl # without SMTP AUTH support
%bcond_without ssl # without SSL/TLS support
%bcond_without cdb # without cdb map support
-%bcond_with vda # with VDA patch
-%bcond_with hir # with Beeth's header_if_reject patch
-%bcond_with tcp # with unofficial tcp: lookup table
%bcond_without epoll # disable epoll for 2.4 kernels
-%define vda_ver v13-2.10.0
Summary: Postfix Mail Transport Agent
Summary(cs.UTF-8): Postfix - program pro přepravu pošty (MTA)
Summary(es.UTF-8): Postfix - Un MTA (Mail Transport Agent) de alto desempeño
Summary(pt_BR.UTF-8): Postfix - Um MTA (Mail Transport Agent) de alto desempenho
Summary(sk.UTF-8): Agent prenosu pošty Postfix
Name: postfix
-Version: 2.11.5
+Version: 3.3.0
Release: 1
Epoch: 2
License: distributable
Group: Networking/Daemons/SMTP
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
-# Source0-md5: 8523f6d1de6f522313207524d794ee9c
+# Source0-md5: 26529f3fdb668482176355e90a546a11
Source1: %{name}.aliases
Source2: %{name}.cron
Source3: %{name}.init
Source4: %{name}.sysconfig
Source5: %{name}.sasl
Source6: %{name}.pamd
-Source7: http://vda.sourceforge.net/VDA/%{name}-vda-%{vda_ver}.patch
-# Source7-md5: 01e1b031d79b85f3cb67d98ceddd775d
-Source8: %{name}-bounce.cf.pl
+Source7: %{name}-bounce.cf.pl
# http://postfix.state-of-mind.de/bounce-templates/bounce.de-DE.cf
-Source9: %{name}-bounce.cf.de
-Source10: %{name}.monitrc
-Source11: %{name}-vda-bigquota.patch
-#Source11: http://vda.sourceforge.net/VDA/%{name}-%{vda_ver}-vda-ng-bigquota.patch.gz
+Source8: %{name}-bounce.cf.de
+Source9: %{name}.monitrc
# -ource11-md5: d46103195b43ec5784ea2c166b238f71
Patch0: %{name}-config.patch
Patch1: %{name}-conf_msg.patch
-Patch2: %{name}-dynamicmaps.patch
-Patch3: %{name}-master.cf_cyrus.patch
-# from http://akson.sgh.waw.pl/~chopin/unix/postfix-2.1.5-header_if_reject.diff
-Patch4: %{name}-header_if_reject.patch
-Patch5: %{name}-ident.patch
-Patch6: %{name}-lib64.patch
-Patch7: %{name}-conf.patch
-Patch8: %{name}-dictname.patch
-Patch9: %{name}-make-jN.patch
-Patch10: %{name}-link.patch
-Patch11: %{name}-scache_clnt.patch
-Patch12: format-security.patch
+Patch2: %{name}-master.cf_cyrus.patch
+Patch3: %{name}-conf.patch
+Patch4: %{name}-link.patch
+Patch5: %{name}-scache_clnt.patch
URL: http://www.postfix.org/
%{?with_sasl:BuildRequires: cyrus-sasl-devel}
BuildRequires: db-devel
%prep
%setup -q
-%if %{with vda}
-cat %{SOURCE7} | %{__patch} -p1 -s
-cat %{SOURCE11} | %{__patch} -p1 -s
-%endif
find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g'
%patch0 -p1
-%patch1 -p0
+%patch1 -p1
%patch2 -p1
+sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
%patch3 -p1
-%{?with_hir:%patch4 -p0}
+%patch4 -p1
%patch5 -p1
-sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
-%if "%{_lib}" == "lib64"
-%patch6 -p1
-%endif
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%if %{with vda}
-%patch12 -p1
-%endif
-
-%if %{with tcp}
-sed -i 's/ifdef SNAPSHOT/if 1/' src/util/dict_open.c
-%endif
%build
%{__make} -f Makefile.init makefiles
%{__make} tidy
CC="%{__cc}"
export CC
-%{__make} \
+%{__make} -j1 \
+ dynamicmaps=yes \
+ shared=yes \
+ shlib_directory=%{_libdir}/postfix \
DEBUG="" \
OPT="%{rpmcflags} %{rpmcppflags} -D_FILE_OFFSET_BITS=64" \
- %{!?with_ldap:LDAPSO=""} \
- %{!?with_mysql:MYSQLSO=""} \
- %{!?with_pgsql:PGSQLSO=""} \
- CCARGS="%{!?with_epoll:-DNO_EPOLL} %{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL} %{?with_ssl:-DUSE_TLS} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB}" \
- AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre"
+ CCARGS="%{!?with_epoll:-DNO_EPOLL} %{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL} %{?with_ssl:-DUSE_TLS} %{?with_cdb:-DHAS_CDB} %{?with_sqlite:-DHAS_SQLITE}" \
+ %{?with_cdb:AUXLIBS_CDB="-lcdb"} \
+ %{?with_ldap:AUXLIBS_LDAP="-lldap -llber"} \
+ %{?with_mysql:AUXLIBS_MYSQL="-lmysqlclient"} \
+ AUXLIBS_PCRE="-lpcre" \
+ %{?with_pgsql:AUXLIBS_PGSQL="-lpq"} \
+ %{?with_sqlite:AUXLIBS_SQLITE="-lsqlite3 -lpthread"} \
+ AUXLIBS="%{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto}"
%install
rm -rf $RPM_BUILD_ROOT
$RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public} \
$RPM_BUILD_ROOT%{_var}/lib/postfix
-%{__rm} html/Makefile.in conf/{LICENSE,main.cf.default}
+%{__rm} -f html/Makefile.in conf/{LICENSE,main.cf.default}
install -p bin/* $RPM_BUILD_ROOT%{_sbindir}
install -p libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
sed -e's,^daemon_directory = .*,daemon_directory = %{_libdir}/postfix,' \
conf/main.cf > $RPM_BUILD_ROOT%{_sysconfdir}/mail/main.cf
-for f in dns global master util ; do
- cp -a lib/lib${f}.a $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1
+sed -e 's,${LIB_PREFIX},%{_libdir}/postfix/postfix-,g;s,${LIB_SUFFIX},.so,g' \
+ conf/dynamicmaps.cf > $RPM_BUILD_ROOT%{_sysconfdir}/mail/dynamicmaps.cf
+
+for f in dns global master util tls; do
+ cp -a lib/libpostfix-${f}.so $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1
ln -sf lib${f}.so.1 $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so
done
-install -p lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix
+for f in cdb mysql ldap pcre pgsql sqlite; do
+ install -p lib/postfix-${f}.so $RPM_BUILD_ROOT%{_libdir}/postfix
+done
cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix
cp -a man/man* $RPM_BUILD_ROOT%{_mandir}
cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/postfix
cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/smtp
-cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.pl
-cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.de
-cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
+cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.pl
+cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.de
+cp -a %{SOURCE9} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
install -p auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
install -p auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{_bindir}/qshape
> $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
-%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mail/TLS_LICENSE
+%{__rm} -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out
+%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/TLS_LICENSE
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mail/{postfix-files,postfix-script,post-install}
+%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/{postfix-script,postfix-tls-script,postfix-wrapper,post-install,postmulti-script}
%clean
rm -rf $RPM_BUILD_ROOT
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/dynamicmaps.cf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/master.cf
-%{_sysconfdir}/mail/postfix-wrapper
-%{_sysconfdir}/mail/postmulti-script
+%{_sysconfdir}/mail/postfix-files
%attr(740,root,root) /etc/cron.daily/postfix
%attr(754,root,root) /etc/rc.d/init.d/postfix
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postfix
%attr(755,root,root) /usr/lib/sendmail
%dir %{_libdir}/postfix
%attr(755,root,root) %{_libdir}/postfix/[!d]*
+%attr(755,root,root) %exclude %{_libdir}/postfix/postfix-ldap.so
+%attr(755,root,root) %exclude %{_libdir}/postfix/postfix-mysql.so
+%attr(755,root,root) %exclude %{_libdir}/postfix/postfix-pcre.so
+%attr(755,root,root) %exclude %{_libdir}/postfix/postfix-pgsql.so
+%attr(755,root,root) %exclude %{_libdir}/postfix/postfix-sqlite.so
%attr(755,root,root) %{_libdir}/postfix/discard
%attr(755,root,root) %{_libdir}/postfix/dnsblog
%attr(755,root,root) %dir %{_var}/spool/postfix
%attr(700,postfix,root) %dir %{_var}/spool/postfix/deferred
%attr(700,postfix,root) %dir %{_var}/spool/postfix/incoming
%attr(1730,postfix,maildrop) %dir %{_var}/spool/postfix/maildrop
-%attr(755,postfix,root) %dir %{_var}/spool/postfix/pid
+%attr(755,root,root) %dir %{_var}/spool/postfix/pid
%attr(700,postfix,root) %dir %{_var}/spool/postfix/private
%attr(710,postfix,maildrop) %dir %{_var}/spool/postfix/public
%attr(700,postfix,root) %dir %{_var}/spool/postfix/saved
%if %{with ldap}
%files dict-ldap
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_ldap.so
+%attr(755,root,root) %{_libdir}/postfix/postfix-ldap.so
%{_mandir}/man5/ldap_table.5*
%endif
%if %{with mysql}
%files dict-mysql
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_mysql.so
+%attr(755,root,root) %{_libdir}/postfix/postfix-mysql.so
%{_mandir}/man5/mysql_table.5*
%endif
%files dict-pcre
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_pcre.so
-#%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/pcre_table
+%attr(755,root,root) %{_libdir}/postfix/postfix-pcre.so
%{_mandir}/man5/pcre_table.5*
%if %{with pgsql}
%files dict-pgsql
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_pgsql.so
+%attr(755,root,root) %{_libdir}/postfix/postfix-pgsql.so
%{_mandir}/man5/pgsql_table.5*
%endif
%if %{with sqlite}
%files dict-sqlite
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_sqlite.so
+%attr(755,root,root) %{_libdir}/postfix/postfix-sqlite.so
%{_mandir}/man5/sqlite_table.5*
%endif