]> git.pld-linux.org Git - packages/postfix.git/blobdiff - postfix.spec
- Builds and seems to work. Needs testing.
[packages/postfix.git] / postfix.spec
index 0e384e207df5c948a34ed1290c03abe3ce91d274..f7716bb8cda94fc8cdb65a2a199b713b793b340c 100644 (file)
@@ -1,43 +1,61 @@
 #
 # Conditional build:
-# --without sasl - build wihtout SMTP AUTH support
-# --without ssl  - build without SSL/TLS support
-# --without ipv6 - build 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_without cdb     # without cdb map support
+#%bcond_with   polish  # with double English+Polish messages
 #
-%define        tls_ver 0.8.3-1.1.3-0.9.6c
+# TODO:
+#      - check/fix 'polish' bcond
+#
+%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
 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:       1.1.3
-Release:       5
+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: 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
-Source7:       %{name}.sasl
+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}-pl.patch
-Patch2:                %{name}-conf_msg.patch
-Patch3:                %{name}-ipv6.patch
-Patch4:                %{name}-dynamicmaps.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
-%{!?_without_sasl:BuildRequires:       cyrus-sasl-devel}
-BuildRequires: db3-devel
+%{?with_sasl:BuildRequires:    cyrus-sasl-devel}
+BuildRequires: db-devel
 BuildRequires: grep
-%{!?_without_ipv6:BuildRequires:       libinet6 >= 0.20010420-3}
-BuildRequires: mysql-devel
-BuildRequires: openldap-devel >= 2.0.0
-%{!?_without_ssl:BuildRequires:        openssl-devel >= 0.9.6a}
+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
 Requires(pre): /usr/sbin/useradd
@@ -45,24 +63,28 @@ Requires(pre):      /usr/sbin/groupadd
 Requires(pre): /usr/bin/getgid
 Requires(pre): /bin/id
 Requires(post):        /bin/hostname
-Requires(post,postun):/sbin/ldconfig
-Requires(post,preun):/sbin/chkconfig
+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:      procmail
-Requires:      diffutils
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 Postfix is attempt to provide an alternative to the widely-used
@@ -70,6 +92,14 @@ 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
@@ -94,8 +124,11 @@ 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. 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
+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
@@ -114,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} = %{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description devel
 Header files to build additional map types for Postfix.
@@ -126,8 +159,8 @@ Pliki nag
 Summary:       LDAP map support for Postfix
 Summary(pl):   Obs³uga map LDAP dla Postfiksa
 Group:         Networking/Daemons
-Requires:      %{name} = %{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.
@@ -139,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} = %{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description dict-mysql
 This package provides support for MySQL maps in Postfix.
@@ -147,12 +180,11 @@ 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} = %{version}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description dict-pcre
 This package provides support for PCRE maps in Postfix.
@@ -160,36 +192,59 @@ 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 -a6
+%setup -q %{?with_cdb:-a7}
+zcat %{SOURCE8} | patch -p1 -s
 %patch0 -p1
 %patch1 -p1
-patch -p1 -s <pfixtls-%{tls_ver}/pfixtls.diff
 %patch2 -p1
-%{!?_without_ipv6:%patch3 -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}" \
-       CCARGS="-DHAS_LDAP -DHAS_PCRE %{!?_without_sasl:-DUSE_SASL_AUTH} -DHAS_MYSQL -I%{_includedir}/mysql %{!?_without_ssl:-DHAS_SSL -I%{_includedir}/openssl} -DMAX_DYNAMIC_MAPS" \
-       AUXLIBS="-ldb -lresolv %{!?_without_sasl:-lsasl} %{!?_without_ssl:-lssl -lcrypto}"
+       %{!?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
@@ -204,28 +259,27 @@ 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 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
 install auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
 
-ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq
-ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases
-ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
+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}
 
-gzip -9nf *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES \
-       README_FILES/*README
-
 > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
 
+rm -rf /etc/mail/makedefs.out /usr/share/man/cat*
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 if [ -n "`/usr/bin/getgid postfix`" ]; then
        if [ "`getgid postfix`" != "62" ]; then
-               echo "Warning: group postfix haven't gid=62. Correct this before installing postfix" 1>&2
+               echo "Error: group postfix doesn't have gid=62. Correct this before installing postfix." 1>&2
                exit 1
        fi
 else
@@ -233,7 +287,7 @@ else
 fi
 if [ -n "`/usr/bin/getgid maildrop`" ]; then
        if [ "`/usr/bin/getgid maildrop`" != "63" ]; then
-               echo "Warning: group maildrop haven't gid=63. Correct this before installing postfix" 1>&2
+               echo "Error: group maildrop doesn't have gid=63. Correct this before installing postfix." 1>&2
                exit 1
        fi
 else
@@ -241,7 +295,7 @@ else
 fi
 if [ -n "`/bin/id -u postfix 2>/dev/null`" ]; then
        if [ "`/bin/id -u postfix`" != "62" ]; then
-               echo "Warning: user postfix haven't uid=62. Correct this before installing postfix" 1>&2
+               echo "Error: user postfix doesn't have uid=62. Correct this before installing postfix." 1>&2
                exit 1
        fi
 else
@@ -254,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
@@ -283,6 +342,7 @@ if [ "$1" = "0" ]; then
 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
@@ -290,14 +350,18 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 
 %files
 %defattr(644,root,root,755)
-%doc html *.gz README_FILES/*.gz
+%doc html *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES
+%doc README_FILES/*README
 %doc sample-conf
 %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
@@ -309,7 +373,7 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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*
@@ -323,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
@@ -346,14 +410,24 @@ mv -f /etc/mail/master.cf.rpmtmp /etc/mail/master.cf
 %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
This page took 0.08735 seconds and 4 git commands to generate.