]> git.pld-linux.org Git - packages/postfix.git/blobdiff - postfix.spec
- up to 3.6.15
[packages/postfix.git] / postfix.spec
index b85b7a4ab11277aa4ed23dd01e9273c175063542..997f1de2574ca5bba8f565b34570c16fce4abee0 100644 (file)
@@ -1,27 +1,24 @@
 #
 # 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 sqlite  # without SQLite map module
-%bcond_without sasl    # without SMTP AUTH support
-%bcond_without ssl     # without SSL/TLS support
-%bcond_without cdb     # without cdb map support
-%if "%{pld_release}" == "th"
-%bcond_without vda     # without VDA patch
-%else
-%bcond_with    vda     # with VDA patch
-%endif
-%bcond_with    hir     # with Beeth's header_if_reject patch
-%bcond_with    tcp     # with unofficial tcp: lookup table
+%bcond_without ldap    # LDAP map module
+%bcond_without mysql   # MySQL map module
+%bcond_without pgsql   # PostgreSQL map module
+%bcond_without sqlite  # SQLite map module
+%bcond_without sasl    # SMTP AUTH support
+%bcond_without ssl     # SSL/TLS support
+%bcond_without cdb     # cdb map support
+%bcond_without lmdb    # lmdb map support
+%bcond_with    vda     # VDA patch
+%bcond_with    hir     # Beeth's header_if_reject patch
+%bcond_with    tcp     # unofficial tcp: lookup table
 %if "%{pld_release}" == "ac"
-%bcond_with            epoll   # enable epoll for 2.6 kernels
+%bcond_with    epoll   # epoll support for 2.6 kernels
 # there didn't exist x86_64 2.4 kernel in PLD, so can safely enable epoll
 %ifarch %{x8664}
 %define                with_epoll      1
 %endif
 %else
-%bcond_without epoll   # disable epoll for 2.4 kernels
+%bcond_without epoll   # epoll support (Linux >= 2.6)
 %endif
 
 %define                vda_ver v13-2.10.0
@@ -33,21 +30,22 @@ Summary(pl.UTF-8):  Serwer SMTP Postfix
 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.11.0
-Release:       0.1
+Version:       3.6.15
+Release:       1
 Epoch:         2
-License:       distributable
+License:       IBM Public License or Eclipse Public License v2.0
 Group:         Networking/Daemons/SMTP
 Source0:       ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
-# Source0-md5: 25fe7dd05f81cc0755131beecee046fd
+# Source0-md5: 88471ed95d8f779d16e5c77c000367d5
 Source1:       %{name}.aliases
 Source2:       %{name}.cron
 Source3:       %{name}.init
 Source4:       %{name}.sysconfig
 Source5:       %{name}.sasl
 Source6:       %{name}.pamd
-Source7:       http://vda.sourceforge.net/VDA/%{name}-vda-%{vda_ver}.patch
-# Source7-md5: 01e1b031d79b85f3cb67d98ceddd775d
+Source7:       %{name}-vda.patch
+#Source7:      http://vda.sourceforge.net/VDA/%{name}-vda-%{vda_ver}.patch
+# -ource7-md5: 01e1b031d79b85f3cb67d98ceddd775d
 Source8:       %{name}-bounce.cf.pl
 # http://postfix.state-of-mind.de/bounce-templates/bounce.de-DE.cf
 Source9:       %{name}-bounce.cf.de
@@ -57,24 +55,27 @@ Source11:   %{name}-vda-bigquota.patch
 # -ource11-md5:        d46103195b43ec5784ea2c166b238f71
 Source12:      %{name}.service
 Patch0:                %{name}-config.patch
-Patch1:                %{name}-conf_msg.patch
-Patch2:                %{name}-dynamicmaps.patch
+Patch1:         %{name}-egrep.patch
+
 Patch3:                %{name}-master.cf_cyrus.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}-ident.patch
-Patch6:                %{name}-lib64.patch
+
 Patch7:                %{name}-conf.patch
 Patch8:                %{name}-dictname.patch
-Patch9:                %{name}-make-jN.patch
-Patch10:       %{name}-link.patch
+
 Patch11:       %{name}-scache_clnt.patch
 Patch12:       format-security.patch
+Patch13:       glibc-2.34.patch
 URL:           http://www.postfix.org/
 %{?with_sasl:BuildRequires:    cyrus-sasl-devel}
 BuildRequires: db-devel
 # getifaddrs() with IPv6 support
 BuildRequires: glibc-devel >= 6:2.3.4
+BuildRequires: libicu-devel
+BuildRequires: libnsl-devel
+BuildRequires: m4
+%{?with_lmdb:BuildRequires:    lmdb-devel}
 %{?with_mysql:BuildRequires:   mysql-devel}
 %{?with_ldap:BuildRequires:    openldap-devel >= 2.0.12}
 %{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7l}
@@ -236,6 +237,30 @@ This package provides support for SQLite maps in Postfix.
 %description dict-sqlite -l pl.UTF-8
 Ten pakiet dodaje obsługę map SQLite do Postfiksa.
 
+%package dict-lmdb
+Summary:       LMDB map support for Postfix
+Summary(pl.UTF-8):     Obsługa map LMDB dla Postfiksa
+Group:         Networking/Daemons/SMTP
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description dict-lmdb
+This package provides support for LMDB maps in Postfix.
+
+%description dict-lmdb -l pl.UTF-8
+Ten pakiet dodaje obsługę map LMDB do Postfiksa.
+
+%package dict-cdb
+Summary:       CDB map support for Postfix
+Summary(pl.UTF-8):     Obsługa map CDB dla Postfiksa
+Group:         Networking/Daemons/SMTP
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description dict-cdb
+This package provides support for CDB maps in Postfix.
+
+%description dict-cdb -l pl.UTF-8
+Ten pakiet dodaje obsługę map CDB 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
@@ -277,44 +302,53 @@ cat %{SOURCE7} | %{__patch} -p1 -s
 cat %{SOURCE11} | %{__patch} -p1 -s
 %endif
 
-find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g'
+find -type f | xargs %{__sed} -i -e 's|/etc/postfix|/etc/mail|g'
 
 %patch0 -p1
-%patch1 -p0
-%patch2 -p1
+%patch1 -p1
+
 %patch3 -p1
 %{?with_hir:%patch4 -p0}
-%patch5 -p1
-sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
-%if "%{_lib}" == "lib64"
-%patch6 -p1
-%endif
+
+%{__sed} -i -e '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
-%patch10 -p1
+
 %patch11 -p1
 %if %{with vda}
 %patch12 -p1
 %endif
+%patch13 -p1
 
 %if %{with tcp}
 sed -i 's/ifdef SNAPSHOT/if 1/' src/util/dict_open.c
 %endif
 
+%{__sed} -i -e 's,/lib64\>,/%{_lib},' makedefs
+
 %build
-%{__make} -f Makefile.init makefiles
-%{__make} tidy
-CC="%{__cc}"
-export CC
-%{__make} \
+# export, as the same variables must be passed both to 'make makefiles' and 'make'
+export CCARGS="%{!?with_epoll:-DNO_EPOLL} %{?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} %{?with_sqlite:-DHAS_SQLITE} %{?with_lmdb:-DHAS_LMDB} -LHAS_SDBM"
+export AUXLIBS="%{rpmldflags} -lsasl -lssl -lcrypto"
+export AUXLIBS_CDB="%{?with_cdb:-lcdb}"
+export AUXLIBS_LDAP="%{?with_ldap:-lldap -llber}"
+export AUXLIBS_LMDB="%{?with_lmdb:-llmdb}"
+export AUXLIBS_MYSQL="%{?with_mysql:-lmysqlclient}"
+export AUXLIBS_PCRE="-lpcre"
+export AUXLIBS_PGSQL="%{?with_pgsql:-lpq}"
+export AUXLIBS_SQLITE="%{?with_sqlite:-lsqlite3}"
+
+export CC="%{__cc}"
+%{__make} makefiles \
+       shared=yes \
+       dynamicmaps=yes \
+       daemon_directory="%{_libdir}/postfix" \
+       shlib_directory="%{_libdir}/postfix" \
+       manpage_directory="%{_mandir}"
+
+%{__make} -j1 \
        DEBUG="" \
-       OPT="%{rpmcflags} %{rpmcppflags} -D_FILE_OFFSET_BITS=64" \
-       %{!?with_ldap:LDAPSO=""} \
-       %{!?with_mysql:MYSQLSO=""} \
-       %{!?with_pgsql:PGSQLSO=""} \
-       CCARGS="%{!?with_epoll:-DNO_EPOLL} %{?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}" \
-       AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre"
+       OPT="%{rpmcflags} %{rpmcppflags} -D_FILE_OFFSET_BITS=64"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -326,25 +360,15 @@ install -d $RPM_BUILD_ROOT/etc/{cron.daily,rc.d/init.d,sysconfig,pam.d,security,
        $RPM_BUILD_ROOT%{_var}/lib/postfix \
        $RPM_BUILD_ROOT%{systemdunitdir}
 
-%{__rm} html/Makefile.in conf/{LICENSE,main.cf.default}
+%{__make} non-interactive-package \
+       install_root=$RPM_BUILD_ROOT
 
-install -p bin/* $RPM_BUILD_ROOT%{_sbindir}
-install -p 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
-cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}/mail
+#cp -a 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
-       cp -a 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 -p lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix
 cp -a include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix
 
-cp -a man/man* $RPM_BUILD_ROOT%{_mandir}
-
 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix
 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postfix
@@ -370,9 +394,7 @@ touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
 > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
 
 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mail/TLS_LICENSE
-
-%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mail/{postfix-files,postfix-script,post-install}
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mail/{,TLS_}LICENSE
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -445,16 +467,17 @@ fi
 #%ghost %{_sysconfdir}/mail/*.db
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/dynamicmaps.cf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf.default
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf.proto
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/master.cf
-%{_sysconfdir}/mail/postfix-wrapper
-%{_sysconfdir}/mail/postmulti-script
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/master.cf.proto
+%config(noreplace) %verify(not md5 mtime size) %{_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 md5 mtime size) /etc/sysconfig/postfix
 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
 %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}/mailq
 %attr(755,root,root) %{_bindir}/newaliases
 %attr(755,root,root) %{_bindir}/rmail
@@ -468,15 +491,48 @@ fi
 %attr(755,root,root) %{_sbindir}/postmulti
 %attr(2755,root,maildrop) %{_sbindir}/postqueue
 %attr(755,root,root) %{_sbindir}/postsuper
-%attr(755,root,root) %{_sbindir}/posttls-finger
 %attr(2755,root,maildrop) %{_sbindir}/postdrop
-%attr(755,root,root) %{_sbindir}/qmqp-sink
-%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) %{_libdir}/postfix/anvil
+%attr(755,root,root) %{_libdir}/postfix/bounce
+%attr(755,root,root) %{_libdir}/postfix/cleanup
 %attr(755,root,root) %{_libdir}/postfix/discard
 %attr(755,root,root) %{_libdir}/postfix/dnsblog
+%attr(755,root,root) %{_libdir}/postfix/error
+%attr(755,root,root) %{_libdir}/postfix/flush
+%attr(755,root,root) %{_libdir}/postfix/libpostfix-dns.so
+%attr(755,root,root) %{_libdir}/postfix/libpostfix-global.so
+%attr(755,root,root) %{_libdir}/postfix/libpostfix-master.so
+%attr(755,root,root) %{_libdir}/postfix/libpostfix-tls.so
+%attr(755,root,root) %{_libdir}/postfix/libpostfix-util.so
+%attr(755,root,root) %{_libdir}/postfix/lmtp
+%attr(755,root,root) %{_libdir}/postfix/local
+%attr(755,root,root) %{_libdir}/postfix/master
+%attr(755,root,root) %{_libdir}/postfix/nqmgr
+%attr(755,root,root) %{_libdir}/postfix/oqmgr
+%attr(755,root,root) %{_libdir}/postfix/pickup
+%attr(755,root,root) %{_libdir}/postfix/pipe
+%attr(755,root,root) %{_libdir}/postfix/postfix-script
+%attr(755,root,root) %{_libdir}/postfix/postfix-tls-script
+%attr(755,root,root) %{_libdir}/postfix/postlogd
+%attr(755,root,root) %{_libdir}/postfix/postfix-wrapper
+%attr(755,root,root) %{_libdir}/postfix/post-install
+%attr(755,root,root) %{_libdir}/postfix/postmulti-script
+%attr(755,root,root) %{_libdir}/postfix/postscreen
+%attr(755,root,root) %{_libdir}/postfix/proxymap
+%attr(755,root,root) %{_libdir}/postfix/qmgr
+%attr(755,root,root) %{_libdir}/postfix/qmqpd
+%attr(755,root,root) %{_libdir}/postfix/scache
+%attr(755,root,root) %{_libdir}/postfix/showq
+%attr(755,root,root) %{_libdir}/postfix/smtp
+%attr(755,root,root) %{_libdir}/postfix/smtpd
+%attr(755,root,root) %{_libdir}/postfix/spawn
+%attr(755,root,root) %{_libdir}/postfix/tlsmgr
+%attr(755,root,root) %{_libdir}/postfix/tlsproxy
+%attr(755,root,root) %{_libdir}/postfix/trivial-rewrite
+%attr(755,root,root) %{_libdir}/postfix/verify
+%attr(755,root,root) %{_libdir}/postfix/virtual
 %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
@@ -485,7 +541,7 @@ fi
 %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(755,root,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
@@ -494,9 +550,7 @@ fi
 %{_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*
@@ -505,7 +559,6 @@ fi
 %{_mandir}/man5/cidr_table.5*
 %{_mandir}/man5/generic.5*
 %{_mandir}/man5/header_checks.5*
-%{_mandir}/man5/lmdb_table.5*
 %{_mandir}/man5/master.5*
 %{_mandir}/man5/memcache_table.5*
 %{_mandir}/man5/nisplus_table.5*
@@ -522,47 +575,57 @@ fi
 
 %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
+%attr(755,root,root) %{_libdir}/postfix/postfix-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
+%attr(755,root,root) %{_libdir}/postfix/postfix-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
+%attr(755,root,root) %{_libdir}/postfix/postfix-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
+%attr(755,root,root) %{_libdir}/postfix/postfix-pgsql.so
 %{_mandir}/man5/pgsql_table.5*
 %endif
 
 %if %{with sqlite}
 %files dict-sqlite
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/postfix/dict_sqlite.so
+%attr(755,root,root) %{_libdir}/postfix/postfix-sqlite.so
 %{_mandir}/man5/sqlite_table.5*
 %endif
 
+%if %{with lmdb}
+%files dict-lmdb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/postfix/postfix-lmdb.so
+%{_mandir}/man5/lmdb_table.5*
+%endif
+
+%if %{with cdb}
+%files dict-cdb
+%attr(755,root,root) %{_libdir}/postfix/postfix-cdb.so
+%endif
+
 %files qshape
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qshape
-%{_mandir}/man1/qshape.1*
 
 %files -n monit-rc-%{name}
 %defattr(644,root,root,755)
This page took 0.474994 seconds and 4 git commands to generate.