# TODO:
# - check/fix 'polish' bcond
-# - add http://www.aurore.net/projects/postfix_memcached/
#
# Conditional build:
%bcond_without ldap # without LDAP map module
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.3.6
-%define vda_ver 2.3.1
-Release: 7
+Version: 2.4.5
+%define vda_ver 2.4.5
+Release: 0.1
Epoch: 2
License: distributable
Group: Networking/Daemons
Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
-# Source0-md5: 24f3a076a2a1af0ca8dcb9bac3f145fa
+# Source0-md5: ceba0cde05d12baa0ba2ed69fbb96b42
Source1: %{name}.aliases
Source2: %{name}.cron
Source3: %{name}.init
Source4: %{name}.sysconfig
Source5: %{name}.sasl
Source6: %{name}.pamd
-Source7: http://web.onda.com.br/nadal/postfix/VDA/%{name}-%{vda_ver}-vda.patch.gz
-# Source7-md5: fc7c1676ceecbfb414353af1dafe11de
+Source7: http://vda.sourceforge.net/VDA/%{name}-%{vda_ver}-vda-ng.patch.gz
+# Source7-md5: 35fa62c93091d42ab02f67d0614d7086
Patch0: %{name}-config.patch
Patch1: %{name}-conf_msg.patch
Patch2: %{name}-dynamicmaps.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}-pl.patch
-#Patch6: %{name}-size-check-before-proxy.patch
-#Patch7: %{name}-log-proxy-rejects.patch
+Patch7: %{name}-log-proxy-rejects.patch
Patch8: %{name}-ident.patch
Patch9: %{name}-lib64.patch
Patch10: %{name}-conf.patch
Provides: group(postfix)
Provides: smtpdaemon
Provides: user(postfix)
-Obsoletes: courier
-Obsoletes: exim
-Obsoletes: masqmail
-Obsoletes: nullmailer
-Obsoletes: omta
-Obsoletes: qmail
-Obsoletes: sendmail
-Obsoletes: sendmail-cf
-Obsoletes: sendmail-doc
-Obsoletes: smail
Obsoletes: smtpdaemon
-Obsoletes: ssmtp
-Obsoletes: zmailer
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%description dict-pgsql -l pl.UTF-8
Ten pakiet dodaje obsługę map PostgreSQL do Postfiksa.
+%package qshape
+Summary: qshape - Print Postfix queue domain and age distribution
+Summary(pl.UTF-8): qshape - wypisywanie rozkładu domen i wieku z kolejki Postfiksa
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description qshape
+The qshape program helps the administrator understand the Postfix
+queue message distribution in time and by sender domain or recipient
+domain. The program needs read access to the queue directories and
+queue files, so it must run as the superuser or the mail_owner
+specified in main.cf (typically postfix).
+
+%description qshape -l pl.UTF-8
+Program qshape pomaga administratorowi zrozumieć rozkład kolejki
+wiadomości Postfiksa w czasie i w zależności od domeny nadawcy lub
+adresata. Program wymaga prawa odczytu do katalogów kolejki i plików
+kolejki, więc musi być uruchamiany przez superużytkownika lub
+użytkownika mail_owner podanego w main.cf (zwykle nazywającego się
+postfix).
+
%prep
%setup -q
%{?with_vda:zcat %{SOURCE7} | patch -p1 -s}
+
+find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g'
+
%patch0 -p1
%patch1 -p0
%patch2 -p1
%patch3 -p1
%{?with_hir:%patch4 -p0}
#%{?with_polish:%patch5 -p1}
-#%patch6 -p1
-#%patch7 -p1 --obsolete ?
+%patch7 -p1
%patch8 -p1
sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
%if "%{_lib}" == "lib64"
%build
%{__make} -f Makefile.init makefiles
%{__make} tidy
+CC="%{__cc}"
+export CC
%{__make} \
DEBUG="" \
OPT="%{rpmcflags} -D_FILE_OFFSET_BITS=64" \
%{!?with_ldap:LDAPSO=""} \
%{!?with_mysql:MYSQLSO=""} \
%{!?with_pgsql:PGSQLSO=""} \
- CCARGS="%{?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 -I/usr/include/postgresql} %{?with_ssl:-DUSE_TLS -I/usr/include/openssl} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} -DHAVE_GETIFADDRS" \
- AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre %{?with_ldap:-lldap -llber} %{?with_pgsql:-lpq} %{?with_mysql:-lmysqlclient -lz}"
+ CCARGS="%{?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} -DHAVE_GETIFADDRS" \
+ AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre"
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{cron.daily,rc.d/init.d,sysconfig,pam.d,security} \
$RPM_BUILD_ROOT%{_sysconfdir}/{mail,sasl} \
- $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,%{_prefix}/lib}\
- $RPM_BUILD_ROOT{%{_includedir}/postfix,%{_mandir}/man{1,5,8}} \
+ $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,/usr/lib}\
+ $RPM_BUILD_ROOT{%{_includedir}/postfix,%{_mandir}} \
$RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public}
-rm -f {html,man}/Makefile.in conf/{LICENSE,main.cf.default}
+rm -f html/Makefile.in conf/{LICENSE,main.cf.default}
install bin/* $RPM_BUILD_ROOT%{_sbindir}
install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
+ln $RPM_BUILD_ROOT%{_libdir}/postfix/smtp $RPM_BUILD_ROOT%{_libdir}/postfix/lmtp
+ln $RPM_BUILD_ROOT%{_libdir}/postfix/qmgr $RPM_BUILD_ROOT%{_libdir}/postfix/nqmgr
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
install lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix
install include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix
-(cd man; tar cf - .) | (cd $RPM_BUILD_ROOT%{_mandir}; tar xf -)
+cp -a man/man* $RPM_BUILD_ROOT%{_mandir}
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix
> $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out $RPM_BUILD_ROOT%{_mandir}/cat*
+rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out
%clean
rm -rf $RPM_BUILD_ROOT
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/canonical
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/generic
-#%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/pcre_table
#%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/regexp_table
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/relocated
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/transport
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
%{?with_sasl:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/smtpd.conf}
%attr(755,root,root) %{_libdir}/libpostfix-*.so.*
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/mailq
+%attr(755,root,root) %{_bindir}/newaliases
+%attr(755,root,root) %{_bindir}/rmail
%attr(755,root,root) %{_sbindir}/s*
%attr(755,root,root) %{_sbindir}/postfix
%attr(755,root,root) %{_sbindir}/postalias
%attr(710,postfix,maildrop) %dir %{_var}/spool/postfix/public
%attr(700,postfix,root) %dir %{_var}/spool/postfix/saved
%attr(644,postfix,root) %{_var}/spool/postfix/.nofinger
-%{_mandir}/man*/*
+%{_mandir}/man1/mailq.1*
+%{_mandir}/man1/newaliases.1*
+%{_mandir}/man1/post*.1*
+%{_mandir}/man1/qmqp-*.1*
+%{_mandir}/man1/sendmail.1*
+%{_mandir}/man1/smtp-*.1*
+%{_mandir}/man5/access.5*
+%{_mandir}/man5/aliases.5*
+%{_mandir}/man5/body_checks.5*
+%{_mandir}/man5/bounce.5*
+%{_mandir}/man5/canonical.5*
+%{_mandir}/man5/cidr_table.5*
+%{_mandir}/man5/generic.5*
+%{_mandir}/man5/header_checks.5*
+%{_mandir}/man5/master.5*
+%{_mandir}/man5/nisplus_table.5*
+%{_mandir}/man5/postconf.5*
+%{_mandir}/man5/regexp_table.5*
+%{_mandir}/man5/relocated.5*
+%{_mandir}/man5/tcp_table.5*
+%{_mandir}/man5/transport.5*
+%{_mandir}/man5/virtual.5*
+%{_mandir}/man8/*.8*
%files devel
%defattr(644,root,root,755)
%files dict-ldap
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/postfix/dict_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
+%{_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
+%{_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
+%{_mandir}/man5/pgsql_table.5*
%endif
+
+%files qshape
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qshape
+%{_mandir}/man1/qshape.1*