#
# TODO:
-# - update pl.patch
+# - kill all "implicit declaration of function" and "assignment
+# makes pointer from integer without a cast" warnings
+# (code causing such warnings may be fatal on some
+# architectures)
+# - fix ipv6 patch against IPv4 RBLs
# - 0.0.0.0/0 is still being added to mynetworks if any ipv6/ip
# tunnels are present
+# - fix patches
#
# Conditional build:
-# _without_ipv6 - without IPv6 support
-# _without_ldap - without LDAP map module
-# _without_mysql - without MySQL map module
-# _without_pgsql - without PostgreSQL map module
-# _without_sasl - without SMTP AUTH support
-# _without_ssl - without SSL/TLS support
-# _with_polish - with double English+Polish messages
-# _with_cdb - tinycdb mapfile support
+%bcond_without ipv6 # without IPv6 support
+%bcond_without ldap # without LDAP map module
+%bcond_without mysql # without MySQL map module
+%bcond_without pgsql # without PostgreSQL map module
+%bcond_without sasl # without SMTP AUTH support
+%bcond_without ssl # without SSL/TLS support
+%bcond_with polish # with double English+Polish messages
+%bcond_with cdb # with cdb map support
#
-%define tls_ver 0.8.13-2.0.9-0.9.7b
+%define tls_ver 0.8.16-2.0.16-0.9.7b
Summary: Postfix Mail Transport Agent
Summary(cs): Postfix - program pro pøepravu po¹ty (MTA)
Summary(es): Postfix - Un MTA (Mail Transport Agent) de alto desempeño
Summary(pt_BR): Postfix - Um MTA (Mail Transport Agent) de alto desempenho
Summary(sk): Agent prenosu po¹ty Postfix
Name: postfix
-Version: 2.0.10
-Release: 1
+Version: 2.0.16
+Release: 3
Epoch: 2
Group: Networking/Daemons
License: distributable
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
-# Source0-md5: 80ebfc319640a5dec2fedf4945561b88
+# Source0-md5: ac13776442ba7708e683bc1bfbadab2f
Source1: %{name}.aliases
Source2: %{name}.cron
Source3: %{name}.init
Source5: %{name}.sysconfig
Source6: ftp://ftp.aet.tu-cottbus.de/pub/pfixtls/pfixtls-%{tls_ver}.tar.gz
-# Source6-md5: f34a4b7e55a02675d04358e036f1362d
+# Source6-md5: b39c08eabe807db4af5bcb1cafc9761e
Source7: %{name}.sasl
Source8: ftp://ftp.corpit.ru/pub/postfix/%{name}-dict_cdb-1.1.11-20021104.tar.gz
# Source8-md5: 5731b5081725f4688dc6fae119d617e4
Patch5: %{name}-ipv6.patch
Patch6: %{name}-pl.patch
Patch7: %{name}-cdb_man.patch
+Patch8: %{name}-ns-mx-acl.patch
+Patch9: %{name}-kill_warnings.patch
URL: http://www.postfix.org/
BuildRequires: awk
-%{!?_without_sasl:BuildRequires: cyrus-sasl-devel}
+%{?with_sasl:BuildRequires: cyrus-sasl-devel}
BuildRequires: db-devel
BuildRequires: grep
-%{!?_without_ipv6:BuildRequires: libinet6 >= 0.20030228-1}
-%{!?_without_mysql:BuildRequires: mysql-devel}
-%{!?_without_ldap:BuildRequires: openldap-devel >= 2.0.0}
-%{!?_without_ssl:BuildRequires: openssl-devel >= 0.9.7b}
+%{?with_ipv6:BuildRequires: libinet6 >= 0.20030228-1}
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_ldap:BuildRequires: openldap-devel >= 2.0.0}
+%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7c}
BuildRequires: pcre-devel
-%{!?_without_pgsql:BuildRequires: postgresql-devel}
-%{?_with_cdb:BuildRequires: tinycdb-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_cdb:BuildRequires: tinycdb-devel}
PreReq: rc-scripts
PreReq: sed
Requires(pre): /usr/sbin/useradd
Obsoletes: zmailer
Requires: diffutils
Requires: findutils
-%{?_with_cdb:Requires:tinycdb}
+%{?with_cdb:Requires:tinycdb}
%description
Postfix is attempt to provide an alternative to the widely-used
Sendmail program. Postfix attempts to be fast, easy to administer, and
hopefully secure, while at the same time being sendmail compatible
-enough to not upset your users. %{!?_without_ipv6:This version has IPv6 support.}
+enough to not upset your users. %{?with_ipv6:This version has IPv6 support.}
%description -l pt_BR
O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se
Postfix jest prób± dostarczenia alternatywnego MTA w stosunku do
szeroko u¿ywanego sendmaila. Postfix w zamierzeniu ma byæ szybki,
³atwy w administrowaniu, bezpieczny oraz ma byæ na tyle kompatybilny z
-sendmailem by nie denerwowaæ Twoich u¿ytkowników. %{!?_without_ipv6:Ta wersja wspiera IPv6.}
+sendmailem by nie denerwowaæ Twoich u¿ytkowników. %{?with_ipv6:Ta wersja wspiera IPv6.}
%description -l pt_BR
O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se
Summary: Postfix loadable modules development package
Summary(pl): Pakiet dla programistów ³adowanych modu³ów do postfiksa
Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description devel
Header files to build additional map types for Postfix.
Summary: LDAP map support for Postfix
Summary(pl): Obs³uga map LDAP dla Postfiksa
Group: Networking/Daemons
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
Requires: openldap >= 2.0.0
%description dict-ldap
Summary: MySQL map support for Postfix
Summary(pl): Obs³uga map MySQL dla Postfiksa
Group: Networking/Daemons
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description dict-mysql
This package provides support for MySQL maps in Postfix.
Summary: PCRE map support for Postfix
Summary(pl): Obs³uga map PCRE dla Postfiksa
Group: Networking/Daemons
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description dict-pcre
This package provides support for PCRE maps in Postfix.
Summary: PostgreSQL map support for Postfix
Summary(pl): Obs³uga map PostgreSQL dla Postfiksa
Group: Networking/Daemons
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description dict-pgsql
This package provides support for PostgreSQL maps in Postfix.
Ten pakiet dodaje obs³ugê map PostgreSQL do Postfiksa.
%prep
-%setup -q -a6 %{?_with_cdb:-a8}
+%setup -q -a6 %{?with_cdb:-a8}
echo Postfix TLS patch:
patch -p1 -s <pfixtls-%{tls_ver}/pfixtls.diff
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%{!?_without_ipv6:%patch5 -p1}
-%{?_with_polish:%patch6 -p1}
-%{?_with_cdb:%patch7 -p1}
-%{?_with_cdb:sh dict_cdb.sh}
+%{?with_ipv6:%patch5 -p1}
+%{?with_polish:%patch6 -p1}
+%{?with_cdb:%patch7 -p1}
+%patch8 -p1
+%patch9 -p1
+%{?with_cdb:sh dict_cdb.sh}
%build
%{__make} -f Makefile.init makefiles
%{__make} tidy
%{__make} DEBUG="" OPT="%{rpmcflags}" \
- %{?_without_ldap:LDAPSO=""} \
- %{?_without_mysql:MYSQLSO=""} \
- %{?_without_pgsql:PGSQLSO=""} \
- CCARGS="%{!?_without_ldap:-DHAS_LDAP} -DHAS_PCRE %{!?_without_sasl:-DUSE_SASL_AUTH -I/usr/include/sasl} %{!?_without_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{!?_without_pgsql:-DHAS_PGSQL -I/usr/include/postgresql} %{!?_without_ssl:-DHAS_SSL -I/usr/include/openssl} -DMAX_DYNAMIC_MAPS %{?_with_cdb:-DHAS_CDB -I/usr/include/cdb.h}" \
- AUXLIBS="-ldb -lresolv %{!?_without_sasl:-lsasl} %{!?_without_ssl:-lssl -lcrypto} %{?_with_cdb:-L/usr/lib/libcdb.a -lcdb}"
+ %{!?with_ldap:LDAPSO=""} \
+ %{!?with_mysql:MYSQLSO=""} \
+ %{!?with_pgsql:PGSQLSO=""} \
+ CCARGS="%{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL -I/usr/include/postgresql} %{?with_ssl:-DHAS_SSL -I/usr/include/openssl} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB}" \
+ AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{mail,cron.daily,rc.d/init.d,sasl,sysconfig} \
- $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,%{_includedir}/postfix,%{_mandir}/man{1,5,8}} \
+install -d $RPM_BUILD_ROOT/etc/{cron.daily,rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/{mail,sasl} \
+ $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,/usr/lib}\
+ $RPM_BUILD_ROOT{%{_includedir}/postfix,%{_mandir}/man{1,5,8}} \
$RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public} \
pfixtls
rm -f {html,man}/Makefile.in conf/{LICENSE,main.cf.default}
-install -d sample-conf; mv -f conf/sample* sample-conf/ || :
+install -d sample-conf; mv -f conf/sample* sample-conf || :
install bin/* $RPM_BUILD_ROOT%{_sbindir}
install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
install conf/* $RPM_BUILD_ROOT%{_sysconfdir}/mail
+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
install lib/lib${f}.a $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1
ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq
ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases
-ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
+ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT/usr/lib/sendmail
touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/\
{aliases,access,canonical,relocated,transport,virtual}{,.db}
%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 size mtime md5) /etc/sysconfig/postfix
-%{!?_without_sasl:%config(noreplace) %verify(not size mtime md5) /etc/sasl/smtpd.conf}
+%{?with_sasl:%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sasl/smtpd.conf}
%attr(755,root,root) %{_libdir}/libpostfix-*.so.*
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/s*
%attr(755,root,root) %{_sbindir}/postsuper
%attr(2755,root,maildrop) %{_sbindir}/postdrop
%attr(755,root,root) %{_sbindir}/qmqp-source
-%attr(755,root,root) %{_libdir}/sendmail
+%attr(755,root,root) /usr/lib/sendmail
%dir %{_libdir}/postfix
-%attr(755,root,root) %{_libdir}/postfix/[^d]*
+%attr(755,root,root) %{_libdir}/postfix/[!d]*
%attr(755,root,root) %dir %{_var}/spool/postfix
%attr(700, postfix,root) %dir %{_var}/spool/postfix/active
%attr(700, postfix,root) %dir %{_var}/spool/postfix/bounce
%attr(755,root,root) %{_libdir}/libpostfix-*.so
%{_includedir}/postfix
-%if 0%{!?_without_ldap:1}
+%if %{with ldap}
%files dict-ldap
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/postfix/dict_ldap.so
%endif
-%if 0%{!?_without_mysql:1}
+%if %{with mysql}
%files dict-mysql
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/postfix/dict_mysql.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/postfix/dict_pcre.so
-%if 0%{!?_without_pgsql:1}
+%if %{with pgsql}
%files dict-pgsql
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/postfix/dict_pgsql.so