]> git.pld-linux.org Git - packages/postfix.git/blobdiff - postfix.spec
- Builds and seems to work. Needs testing.
[packages/postfix.git] / postfix.spec
index f300e6e9a314431f9c7c2f60c12c7c8bd07b178c..f7716bb8cda94fc8cdb65a2a199b713b793b340c 100644 (file)
@@ -1,20 +1,17 @@
 #
-# TODO:
-#      - fix ipv6 patch against IPv4 RBLs
-#      - 0.0.0.0/0 is still being added to mynetworks if any ipv6/ip
-#        tunnels are present
-#
 # 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 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   polish  # with double English+Polish messages
+#
+# TODO:
+#      - check/fix 'polish' bcond
 #
-%define        tls_ver 0.8.16-2.0.15-0.9.7b
+%define                _tls_ipv6_ver   1.25-pf-2.1.3
 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
@@ -23,43 +20,42 @@ 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.0.15
-Release:       2
+Version:       2.1.3
+Release:       1
 Epoch:         2
 Group:         Networking/Daemons
 License:       distributable
 Source0:       ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
-# Source0-md5: 723c2b7f67016e0c19b0e1aa08dad246
+# Source0-md5: 1f515b0d80cd1f9db0113240bf36f248
 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: 298f55e2d896a0240f5913a3b611e623
-Source7:       %{name}.sasl
-Source8:       ftp://ftp.corpit.ru/pub/postfix/%{name}-dict_cdb-1.1.11-20021104.tar.gz
-# Source8-md5: 5731b5081725f4688dc6fae119d617e4
+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: e013ff8d4aa49e17d7ee85419481cfc7
 Patch0:                %{name}-config.patch
 Patch1:                %{name}-conf_msg.patch
 Patch2:                %{name}-dynamicmaps.patch
-Patch3:                %{name}-pgsql.patch
 Patch4:                %{name}-master.cf_cyrus.patch
-Patch5:                %{name}-ipv6.patch
-Patch6:                %{name}-pl.patch
-Patch7:                %{name}-cdb_man.patch
-Patch8:         %{name}-ns-mx-acl.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
-%{!?_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}
+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
-%{!?_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
@@ -71,27 +67,30 @@ Requires(post,postun):      /sbin/ldconfig
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/userdel
 Requires(postun):      /usr/sbin/groupdel
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Requires:      diffutils
+Requires:      findutils
+%{?with_cdb:Requires:tinycdb}
 Provides:      smtpdaemon
-Obsoletes:     smtpdaemon
+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
-Requires:      diffutils
-Requires:      findutils
-%{?_with_cdb:Requires:tinycdb}
+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. %{!?_without_ipv6:This version has IPv6 support.}
+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
@@ -125,7 +124,7 @@ configurazione di questo programma.
 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. Ta wersja wspiera IPv6.
 
 %description -l pt_BR
 O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se
@@ -148,7 +147,7 @@ pop
 Summary:       Postfix loadable modules development package
 Summary(pl):   Pakiet dla programistów ³adowanych modu³ów do postfiksa
 Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description devel
 Header files to build additional map types for Postfix.
@@ -160,8 +159,8 @@ Pliki nag
 Summary:       LDAP map support for Postfix
 Summary(pl):   Obs³uga map LDAP dla Postfiksa
 Group:         Networking/Daemons
-Requires:      %{name} = %{epoch}:%{version}
-Requires:      openldap >= 2.0.0
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      openldap >= 2.2.0
 
 %description dict-ldap
 This package provides support for LDAP maps in Postfix.
@@ -173,7 +172,7 @@ Ten pakiet dodaje obs
 Summary:       MySQL map support for Postfix
 Summary(pl):   Obs³uga map MySQL dla Postfiksa
 Group:         Networking/Daemons
-Requires:      %{name} = %{epoch}:%{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description dict-mysql
 This package provides support for MySQL maps in Postfix.
@@ -185,7 +184,7 @@ Ten pakiet dodaje obs
 Summary:       PCRE map support for Postfix
 Summary(pl):   Obs³uga map PCRE dla Postfiksa
 Group:         Networking/Daemons
-Requires:      %{name} = %{epoch}:%{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description dict-pcre
 This package provides support for PCRE maps in Postfix.
@@ -197,7 +196,7 @@ Ten pakiet dodaje obs
 Summary:       PostgreSQL map support for Postfix
 Summary(pl):   Obs³uga map PostgreSQL dla Postfiksa
 Group:         Networking/Daemons
-Requires:      %{name} = %{epoch}:%{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description dict-pgsql
 This package provides support for PostgreSQL maps in Postfix.
@@ -206,44 +205,46 @@ 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}
-echo Postfix TLS patch:
-patch -p1 -s <pfixtls-%{tls_ver}/pfixtls.diff
+%setup -q %{?with_cdb:-a7}
+zcat %{SOURCE8} | patch -p1 -s
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
 %patch4 -p1
-%{!?_without_ipv6:%patch5 -p1}
-%{?_with_polish:%patch6 -p1}
-%{?_with_cdb:%patch7 -p1}
+#%{?with_polish:%patch5 -p1}
+%{?with_cdb:%patch6 -p1}
 %patch8 -p1
-%{?_with_cdb:sh dict_cdb.sh}
+%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
@@ -255,21 +256,23 @@ 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%{_sysconfdir}/cron.daily/postfix
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/postfix
-install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/postfix
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
+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 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%{_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}
 
 > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
 
+rm -rf /etc/mail/makedefs.out /usr/share/man/cat*
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -305,8 +308,13 @@ 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 ! grep -q "^myhostname" /etc/mail/main.cf; then
-       postconf -e myhostname=`/bin/hostname -f`
+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
@@ -348,11 +356,12 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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/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
@@ -361,10 +370,10 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/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) %{_sysconfdir}/cron.daily/postfix
-%attr(754,root,root) %{_sysconfdir}/rc.d/init.d/postfix
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sysconfig/postfix
-%{!?_without_sasl:%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sasl/smtpd.conf}
+%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
+%{?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*
@@ -378,9 +387,9 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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
@@ -401,13 +410,13 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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
@@ -417,7 +426,7 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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
This page took 0.120431 seconds and 4 git commands to generate.