X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=postfix.spec;h=ffb1af13bbddb818442f7df7ef55da66cadeb457;hb=f1e37fd63a0e21870fc5d4487d64277850f6c4ae;hp=fbe3e4001a5ed04b279124d4cf2204ce2b577b30;hpb=31bc8b8bf812f89f04c3b18ee2f397c6d754956d;p=packages%2Fpostfix.git diff --git a/postfix.spec b/postfix.spec index fbe3e40..ffb1af1 100644 --- a/postfix.spec +++ b/postfix.spec @@ -3,14 +3,28 @@ %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 -# -%define vda_ver 2.5.1 +%if "%{pld_release}" == "ac" +%bcond_with epoll # enable epoll 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 +%endif + +%define vda_ver v11-2.9.1 Summary: Postfix Mail Transport Agent Summary(cs.UTF-8): Postfix - program pro přepravu pošty (MTA) Summary(es.UTF-8): Postfix - Un MTA (Mail Transport Agent) de alto desempeño @@ -19,48 +33,58 @@ 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.5.1 -Release: 1 +Version: 2.9.6 +Release: 3 Epoch: 2 License: distributable -Group: Networking/Daemons +Group: Networking/Daemons/SMTP Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz -# Source0-md5: 95a559c509081fdd07d78eafd4f4c3b4 +# Source0-md5: 62eba08ce4acfa6b421e8fa88f2422d1 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_ver}-vda-ng.patch.gz -# Source7-md5: bba9426f8ae9d8603861ce782f117760 +Source7: http://vda.sourceforge.net/VDA/%{name}-vda-%{vda_ver}.patch +# Source7-md5: a54a21428de5eeae91b4bb670976e37a Source8: %{name}-bounce.cf.pl # http://postfix.state-of-mind.de/bounce-templates/bounce.de-DE.cf Source9: %{name}-bounce.cf.de Source10: %{name}.monitrc +Source11: %{name}-vda-bigquota.patch +#Source11: http://vda.sourceforge.net/VDA/%{name}-%{vda_ver}-vda-ng-bigquota.patch.gz +# -ource11-md5: d46103195b43ec5784ea2c166b238f71 +Source12: %{name}.service Patch0: %{name}-config.patch Patch1: %{name}-conf_msg.patch Patch2: %{name}-dynamicmaps.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}-log-proxy-rejects.patch -Patch6: %{name}-ident.patch -Patch7: %{name}-lib64.patch -Patch8: %{name}-conf.patch -Patch9: %{name}-dictname.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 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 %{?with_mysql:BuildRequires: mysql-devel} -%{?with_ldap:BuildRequires: openldap-devel >= 2.3.6} +%{?with_ldap:BuildRequires: openldap-devel >= 2.0.12} %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7l} BuildRequires: pcre-devel +BuildRequires: perl-base %{?with_pgsql:BuildRequires: postgresql-devel} -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.644 BuildRequires: sed >= 4.0 +%{?with_sqlite:BuildRequires: sqlite3-devel} %{?with_cdb:BuildRequires: tinycdb-devel} %{?with_mysql:BuildRequires: zlib-devel} Requires(post): /bin/hostname @@ -78,6 +102,7 @@ Requires: findutils Requires: rc-scripts Requires: sed %{?with_cdb:Requires:tinycdb} +Requires: systemd-units >= 38 Suggests: cyrus-sasl-saslauthd Provides: group(postfix) Provides: smtpdaemon @@ -153,9 +178,9 @@ Pliki nagłówkowe do tworzenia dodatkowych typów map dla Postfiksa. %package dict-ldap Summary: LDAP map support for Postfix Summary(pl.UTF-8): Obsługa map LDAP dla Postfiksa -Group: Networking/Daemons +Group: Networking/Daemons/SMTP Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: openldap >= 2.4.6 +Requires: openldap >= 2.3.6 %description dict-ldap This package provides support for LDAP maps in Postfix. @@ -166,7 +191,7 @@ Ten pakiet dodaje obsługę map LDAP do Postfiksa. %package dict-mysql Summary: MySQL map support for Postfix Summary(pl.UTF-8): Obsługa map MySQL dla Postfiksa -Group: Networking/Daemons +Group: Networking/Daemons/SMTP Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-mysql @@ -178,7 +203,7 @@ Ten pakiet dodaje obsługę map MySQL do Postfiksa. %package dict-pcre Summary: PCRE map support for Postfix Summary(pl.UTF-8): Obsługa map PCRE dla Postfiksa -Group: Networking/Daemons +Group: Networking/Daemons/SMTP Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-pcre @@ -190,7 +215,7 @@ Ten pakiet dodaje obsługę map PCRE do Postfiksa. %package dict-pgsql Summary: PostgreSQL map support for Postfix Summary(pl.UTF-8): Obsługa map PostgreSQL dla Postfiksa -Group: Networking/Daemons +Group: Networking/Daemons/SMTP Requires: %{name} = %{epoch}:%{version}-%{release} %description dict-pgsql @@ -199,10 +224,22 @@ This package provides support for PostgreSQL maps in Postfix. %description dict-pgsql -l pl.UTF-8 Ten pakiet dodaje obsługę map PostgreSQL do Postfiksa. +%package dict-sqlite +Summary: SQLite map support for Postfix +Summary(pl.UTF-8): Obsługa map SQLite dla Postfiksa +Group: Networking/Daemons/SMTP +Requires: %{name} = %{epoch}:%{version}-%{release} + +%description dict-sqlite +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 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 +Group: Networking/Daemons/SMTP Requires: %{name} = %{epoch}:%{version}-%{release} %description qshape @@ -235,7 +272,10 @@ Plik monitrc do monitorowania serwera Postfix. %prep %setup -q -%{?with_vda:zcat %{SOURCE7} | patch -p1 -s} +%if %{with vda} +cat %{SOURCE7} | %{__patch} -p1 -s +cat %{SOURCE11} | %{__patch} -p1 -s +%endif find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g' @@ -245,13 +285,18 @@ find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g' %patch3 -p1 %{?with_hir:%patch4 -p0} %patch5 -p1 -%patch6 -p1 sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c %if "%{_lib}" == "lib64" -%patch7 -p1 +%patch6 -p1 %endif +%patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%if %{with vda} +%patch12 -p1 +%endif %if %{with tcp} sed -i 's/ifdef SNAPSHOT/if 1/' src/util/dict_open.c @@ -264,11 +309,11 @@ CC="%{__cc}" export CC %{__make} \ DEBUG="" \ - OPT="%{rpmcflags} -D_FILE_OFFSET_BITS=64" \ + OPT="%{rpmcflags} %{rpmcppflags} -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} %{?with_ssl:-DUSE_TLS} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} -DHAVE_GETIFADDRS" \ + 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" %install @@ -277,38 +322,41 @@ 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,/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} + $RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public} \ + $RPM_BUILD_ROOT%{_var}/lib/postfix \ + $RPM_BUILD_ROOT%{systemdunitdir} -rm -f html/Makefile.in conf/{LICENSE,main.cf.default} +%{__rm} html/Makefile.in conf/{LICENSE,main.cf.default} -install bin/* $RPM_BUILD_ROOT%{_sbindir} -install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix +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 -install 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 - install lib/lib${f}.a $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1 + 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 lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix -install include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix +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} -install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases -install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix +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 -install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/postfix -install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf -install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/smtp -install %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.pl -install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.de -install %{SOURCE10} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc -install auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail -install auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{_bindir}/qshape +cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/postfix +cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf +cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/smtp +cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.pl +cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.de +cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc +cp -a %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service +install -p auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail +install -p auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{_bindir}/qshape ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases @@ -321,8 +369,10 @@ touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger -rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/TLS_LICENSE +%{__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} %clean rm -rf $RPM_BUILD_ROOT @@ -335,22 +385,32 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig if ! grep -q "^postmaster:" %{_sysconfdir}/mail/aliases; then -echo "Adding Entry for postmaster in %{_sysconfdir}/mail/aliases" >&2 -echo "postmaster: root" >>%{_sysconfdir}/mail/aliases + echo "Adding Entry for postmaster in %{_sysconfdir}/mail/aliases" >&2 + echo "postmaster: root" >>%{_sysconfdir}/mail/aliases fi -if [ "$1" -gt "1" ]; then - postfix upgrade-configuration +if [ "$1" = "1" ]; then + # only on installation, not upgrade; set sane defaults + # postfix expects gethostname() to return FQDN, which is obviously wrong + if ! grep -qE "^my(domain|hostname)" %{_sysconfdir}/mail/main.cf; then + domain=$(/bin/hostname -d 2>/dev/null) + [ -n "$domain" -a "$domain" != 'localdomain' ] && \ + postconf -e mydomain="$domain" + fi +else + %{_sbindir}/postfix upgrade-configuration fi -newaliases +%{_bindir}/newaliases /sbin/chkconfig --add postfix -%service postfix restart "postfix daemon" +%service postfix restart "Postfix Daemon" +%systemd_post %preun if [ "$1" = "0" ]; then %service postfix stop /sbin/chkconfig --del postfix fi +%systemd_preun %postun /sbin/ldconfig @@ -359,18 +419,19 @@ if [ "$1" = "0" ]; then %userremove postfix %groupremove postfix fi +%systemd_reload %files %defattr(644,root,root,755) -%doc html *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES TLS_* +%doc html COMPATIBILITY HISTORY LICENSE RELEASE_NOTES* TLS_* %doc README_FILES/*README %doc examples/smtpd-policy %dir %{_sysconfdir}/mail %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/access %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.default -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.de -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.pl +%lang(de) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.de +%lang(pl) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.pl %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/regexp_table @@ -382,9 +443,8 @@ fi %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/master.cf -%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/postfix-script -%attr(755,root,root) %{_sysconfdir}/mail/post-install -%{_sysconfdir}/mail/postfix-files +%{_sysconfdir}/mail/postfix-wrapper +%{_sysconfdir}/mail/postmulti-script %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 @@ -402,6 +462,7 @@ fi %attr(755,root,root) %{_sbindir}/postl* %attr(755,root,root) %{_sbindir}/postc* %attr(755,root,root) %{_sbindir}/postmap +%attr(755,root,root) %{_sbindir}/postmulti %attr(2755,root,maildrop) %{_sbindir}/postqueue %attr(755,root,root) %{_sbindir}/postsuper %attr(2755,root,maildrop) %{_sbindir}/postdrop @@ -411,6 +472,7 @@ fi %dir %{_libdir}/postfix %attr(755,root,root) %{_libdir}/postfix/[!d]* %attr(755,root,root) %{_libdir}/postfix/discard +%attr(755,root,root) %{_libdir}/postfix/dnsblog %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 @@ -424,6 +486,7 @@ fi %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 +%attr(700,postfix,root) %{_var}/lib/postfix %{_mandir}/man1/mailq.1* %{_mandir}/man1/newaliases.1* %{_mandir}/man1/post*.1* @@ -439,14 +502,17 @@ fi %{_mandir}/man5/generic.5* %{_mandir}/man5/header_checks.5* %{_mandir}/man5/master.5* +%{_mandir}/man5/memcache_table.5* %{_mandir}/man5/nisplus_table.5* %{_mandir}/man5/postconf.5* +%{_mandir}/man5/postfix-wrapper.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* +%{systemdunitdir}/%{name}.service %files devel %defattr(644,root,root,755) @@ -480,6 +546,13 @@ fi %{_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 +%{_mandir}/man5/sqlite_table.5* +%endif + %files qshape %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qshape