# # Conditional build: %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_without cdb # without cdb map support %bcond_with vda # with VDA patch #%bcond_with polish # with double English+Polish messages # # TODO: # - check/fix 'polish' bcond # %define _tls_ipv6_ver 1.25-pf-2.1.5 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(fr): Agent de transport de courrier Postfix Summary(pl): Serwer SMTP Postfix Summary(pt_BR): Postfix - Um MTA (Mail Transport Agent) de alto desempenho Summary(sk): Agent prenosu pošty Postfix Name: postfix Version: 2.1.5 Release: 2 Epoch: 2 Group: Networking/Daemons License: distributable Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz # Source0-md5: bcaa4aac80595d04c60c72844203a04d Source1: %{name}.aliases Source2: %{name}.cron Source3: %{name}.init Source5: %{name}.sysconfig Source6: %{name}.sasl Source7: ftp://ftp.corpit.ru/pub/postfix/%{name}-dict_cdb-1.1.11-20021104.tar.gz # Source7-md5: 5731b5081725f4688dc6fae119d617e4 Source8: http://www.ipnet6.org/postfix/download/tls+ipv6-%{_tls_ipv6_ver}.patch.gz # Source8-md5: 5b02ebf2ec104c43f805d2bcb7bb16ef Source9: %{name}.pamd Source10: http://web.onda.com.br/nadal/postfix/VDA/%{name}-%{version}-trash.patch.gz # Source10-md5: 868209c12cf214566130b9c8b968cfed Patch0: %{name}-config.patch Patch1: %{name}-conf_msg.patch Patch2: %{name}-dynamicmaps.patch Patch4: %{name}-master.cf_cyrus.patch #Patch5: %{name}-pl.patch Patch6: %{name}-cdb_man.patch Patch8: %{name}-kill_warnings.patch Patch9: %{name}-ipv6-kill_warnings.patch URL: http://www.postfix.org/ BuildRequires: awk %{?with_sasl:BuildRequires: cyrus-sasl-devel} BuildRequires: db-devel BuildRequires: grep BuildRequires: libinet6 >= 0.20030228-1 %{?with_mysql:BuildRequires: mysql-devel} %{?with_ldap:BuildRequires: openldap-devel >= 2.2.0} %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} BuildRequires: pcre-devel %{?with_pgsql:BuildRequires: postgresql-devel} %{?with_cdb:BuildRequires: tinycdb-devel} PreReq: rc-scripts PreReq: sed BuildRequires: rpmbuild(macros) >= 1.159 Requires(post): /bin/hostname Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires(post,preun): /sbin/chkconfig Requires(post,postun): /sbin/ldconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires: diffutils Requires: findutils %{?with_cdb:Requires:tinycdb} 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 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. This version has IPv6 support. %description -l pt_BR O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se vocę deseja um servidor SMTP *rápido*, instale este pacote. %description -l es Postfix es una alternativa para el mundialmente utilizado sendmail. Si desea tener un servidor SMTP *rápido*, debe instalar este paquete. %description -l fr Postfix (voir http://www.postfix.org/) se veut une alternative ŕ sendmail, responsable de l'acheminement de 70% des courriers électroniques sur Internet. IBM en a suppotré le développement, mais ne contrôle pas son évolution. Le but est d'installer Postfix sur le plus grand nombre de systčmes possible. Dans cette optique, il a été écrit pour ętre totalement sous le contrôle de l'utilisateur. %description -l it Postfix (http://www.postfix.org/) e' un'alternativa al programma sendmail utilizzato per la gestione del 70 per cento della posta Internet. Seppur IBM supporti lo sviluppo di Postfix, non controlla la sua evoluzione. Consultate la pagine web http://www.moongroup.com/how-to.phtml nella quale troverete le indicazioni per una corretta installazione e configurazione di questo programma. %description -l pl 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. Ta wersja wspiera IPv6. %description -l pt_BR O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se vocę deseja um servidor SMTP *rápido*, instale este pacote. %description -l sk Postfix (pozri http://www.postfix.org/) má za cieľ byť alternatívou k široko rozšírenému programu sendmail, zodpovednému za 70% všetkej elektronickej pošty doručenej na Internete. Aj keď IBM podporovala vývoj Postfixu, zdržiava sa vplyvu na jeho vývoj. Cieľom je inštalácia Postfixu na čo najväčšom počte systémov. Do tohoto momentu je softvér poskytovaný bez ovplyvňovania, takže sa môže vyvíjať podľa jeho používateľov. Určite si prečítajte http://www.moongroup.com/how-to.phtml, kde sú popísané kroky potrebné pred a po inštalácii Postfixu. %package devel Summary: Postfix loadable modules development package Summary(pl): Pakiet dla programistów ładowanych modułów do postfiksa Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} %description devel Header files to build additional map types for Postfix. %description devel -l pl Pliki nagłówkowe do tworzenia dodatkowych typów map dla Postfiksa. %package dict-ldap Summary: LDAP map support for Postfix Summary(pl): Obsługa map LDAP dla Postfiksa Group: Networking/Daemons Requires: %{name} = %{epoch}:%{version}-%{release} Requires: openldap >= 2.2.0 %description dict-ldap This package provides support for LDAP maps in Postfix. %description dict-ldap -l pl Ten pakiet dodaje obsługę map LDAP do Postfiksa. %package dict-mysql Summary: MySQL map support for Postfix Summary(pl): Obsługa map MySQL dla Postfiksa Group: Networking/Daemons Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-mysql This package provides support for MySQL maps in Postfix. %description dict-mysql -l pl Ten pakiet dodaje obsługę map MySQL do Postfiksa. %package dict-pcre Summary: PCRE map support for Postfix Summary(pl): Obsługa map PCRE dla Postfiksa Group: Networking/Daemons Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-pcre This package provides support for PCRE maps in Postfix. %description dict-pcre -l pl Ten pakiet dodaje obsługę map PCRE do Postfiksa. %package dict-pgsql Summary: PostgreSQL map support for Postfix Summary(pl): Obsługa map PostgreSQL dla Postfiksa Group: Networking/Daemons Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-pgsql This package provides support for PostgreSQL maps in Postfix. %description dict-pgsql -l pl Ten pakiet dodaje obsługę map PostgreSQL do Postfiksa. %prep %setup -q %{?with_cdb:-a7} zcat %{SOURCE8} | patch -p1 -s %{?with_vda:zcat %{SOURCE10} | patch -p1 -s} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch4 -p1 #%{?with_polish:%patch5 -p1} %{?with_cdb:%patch6 -p1} %patch8 -p1 %patch9 -p1 %{?with_cdb:sh dict_cdb.sh} %build %{__make} -f Makefile.init makefiles %{__make} tidy %{__make} DEBUG="" OPT="%{rpmcflags}" \ %{!?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/etc/{cron.daily,rc.d/init.d,sysconfig,pam.d} \ $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 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 lib${f}.so.1 $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so done 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 -) install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postfix install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/postfix install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/smtp install auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail 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/usr/lib/sendmail touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/\ {aliases,access,canonical,relocated,transport,virtual}{,.db} > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger rm -rf $RPM_BUILD_ROOT/etc/mail/makedefs.out $RPM_BUILD_ROOT/usr/share/man/cat* %clean rm -rf $RPM_BUILD_ROOT %pre if [ -n "`/usr/bin/getgid postfix`" ]; then if [ "`getgid postfix`" != "62" ]; then echo "Error: group postfix doesn't have gid=62. Correct this before installing postfix." 1>&2 exit 1 fi else /usr/sbin/groupadd -g 62 -r -f postfix fi if [ -n "`/usr/bin/getgid maildrop`" ]; then if [ "`/usr/bin/getgid maildrop`" != "63" ]; then echo "Error: group maildrop doesn't have gid=63. Correct this before installing postfix." 1>&2 exit 1 fi else /usr/sbin/groupadd -g 63 maildrop fi if [ -n "`/bin/id -u postfix 2>/dev/null`" ]; then if [ "`/bin/id -u postfix`" != "62" ]; then echo "Error: user postfix doesn't have uid=62. Correct this before installing postfix." 1>&2 exit 1 fi else /usr/sbin/useradd -u 62 -d /var/spool/postfix -s /bin/false -c "Postfix User" -g postfix postfix 1>&2 fi %post /sbin/ldconfig if ! grep -q "^postmaster:" /etc/mail/aliases; then echo "Adding Entry for postmaster in /etc/mail/aliases" >&2 echo "postmaster: root" >>/etc/mail/aliases fi if [ "$1" = "1" ]; then # only on installation, not upgrade if ! grep -q "^myhostname" /etc/mail/main.cf; then postconf -e myhostname=`/bin/hostname -f` fi else postfix upgrade-configuration fi newaliases /sbin/chkconfig --add postfix if [ -f /var/lock/subsys/postfix ]; then /etc/rc.d/init.d/postfix restart >&2 else echo "Run \"/etc/rc.d/init.d/postfix start\" to start postfix daemon." >&2 fi %preun if [ "$1" = "0" ]; then if [ -f /var/lock/subsys/postfix ]; then /etc/rc.d/init.d/postfix stop >&2 fi /sbin/chkconfig --del postfix fi %postun /sbin/ldconfig if [ "$1" = "0" ]; then %groupremove maildrop %userremove postfix %groupremove postfix fi %triggerpostun -- postfix < 1:1.1.2 umask 022 sed -e 's/^\(pickup[ ]\+fifo[ ]\+[^ ]\+[ ]\+\)[^ ]\+\([ ]\)/\1-\2/; s/^\(cleanup[ ]\+unix[ ]\+\)[^ ]\+\([ ]\)/\1n\2/' /etc/mail/master.cf \ > /etc/mail/master.cf.rpmtmp mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf %files %defattr(644,root,root,755) %doc html *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES %doc README_FILES/*README %doc sample-conf %doc examples/smtpd-policy %doc pfixtls %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/access %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/aliases %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/canonical #%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/pcre_table #%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/regexp_table %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/relocated %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/transport %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/virtual %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/header_checks #%ghost %{_sysconfdir}/mail/*.db %dir %{_sysconfdir}/mail %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/dynamicmaps.cf %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/main.cf %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/master.cf %attr(755,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/postfix-script %attr(755,root,root) %{_sysconfdir}/mail/post-install %{_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 size mtime md5) /etc/sysconfig/postfix %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp %{?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}/postfix %attr(755,root,root) %{_sbindir}/postalias %attr(755,root,root) %{_sbindir}/postkick %attr(755,root,root) %{_sbindir}/postl* %attr(755,root,root) %{_sbindir}/postc* %attr(755,root,root) %{_sbindir}/postmap %attr(2755,root,maildrop) %{_sbindir}/postqueue %attr(755,root,root) %{_sbindir}/postsuper %attr(2755,root,maildrop) %{_sbindir}/postdrop %attr(755,root,root) %{_sbindir}/qmqp-source %attr(755,root,root) /usr/lib/sendmail %dir %{_libdir}/postfix %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(700,postfix,root) %dir %{_var}/spool/postfix/corrupt %attr(700,postfix,root) %dir %{_var}/spool/postfix/defer %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(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 %attr(644,postfix,root) %{_var}/spool/postfix/.nofinger %{_mandir}/man*/* %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpostfix-*.so %{_includedir}/postfix %if %{with ldap} %files dict-ldap %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/postfix/dict_ldap.so %endif %if %{with mysql} %files dict-mysql %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/postfix/dict_mysql.so %endif %files dict-pcre %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/postfix/dict_pcre.so %if %{with pgsql} %files dict-pgsql %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/postfix/dict_pgsql.so %endif