X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=exim.spec;h=9ce81de09dc5b9f97c2842725e27000656e8ce92;hb=a9ac7f12f92e1133900091fd18548dd19bd66774;hp=857802cd00b664cfce7b69e893ca421f9e60dc9d;hpb=ff7ae076fa542524731f3f9549be8e9ab9c2b1f7;p=packages%2Fexim.git diff --git a/exim.spec b/exim.spec index 857802c..9ce81de 100644 --- a/exim.spec +++ b/exim.spec @@ -1,24 +1,28 @@ +# # Conditional build: -# _without_pgsql - build without PostgreSQL support -# _without_mysql - build without MySQL support -# _without_whoson - build without whoson support -# _without_ldap - build without LDAP support -# _without_exiscan - build without exiscan support - -%define exiscan_version 4.24-12 +%bcond_without pgsql # without PostgreSQL support +%bcond_without mysql # without MySQL support +%bcond_without whoson # without whoson support +%bcond_without sasl # without SASL +%bcond_without ldap # without LDAP support +%bcond_without spf # without spf support +%bcond_without srs # without srs support +%bcond_with saexim # with sa-exim support +# +%define saexim_version 4.2 Summary: University of Cambridge Mail Transfer Agent Summary(pl): Agent Transferu Poczty Uniwersytetu w Cambridge Summary(pt_BR): Servidor de correio eletrĂ´nico exim Name: exim -Version: 4.24 -Release: 2 +Version: 4.50 +Release: 1 Epoch: 2 License: GPL Group: Networking/Daemons Source0: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/%{name}-%{version}.tar.bz2 -# Source0-md5: 2d6c1a6d150c68330ba489246ac617ce -Source1: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/%{name}-texinfo-4.20.tar.bz2 -# Source1-md5: debc6d3fdd88fd6d9c646ca0495fa92d +# Source0-md5: 7844eff82171872f6b3971a4183368d9 +Source1: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/%{name}-texinfo-4.50.tar.bz2 +# Source1-md5: a12993436e9943083e3ce5b76cf96b11 Source2: %{name}.init Source3: %{name}.cron.db Source4: %{name}4.conf @@ -27,38 +31,39 @@ Source6: %{name}on.desktop # 20021016: http://www.logic.univie.ac.at/~ametzler/debian/exim4manpages/ Source7: %{name}4-man-021016.tar.bz2 # Source7-md5: b552704ebf853a401946038a2b7e8e98 -# Source8: http://duncanthrax.net/exiscan-acl/exiscan-acl-%{exiscan_version}.patch.bz2 -Source8: exiscan-acl-%{exiscan_version}.patch.bz2 -# Source8-md5: c33a91f584eb0501185d7caef9e4b464 Source9: %{name}.aliases Source10: newaliases Source11: %{name}.logrotate Source12: %{name}.sysconfig -# 20020326: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/FAQ.txt.bz2 -Source13: %{name}4-FAQ.txt.bz2 -# Source13-md5: 6ae34c36679bd423b32643464a06c4fd -# 20020326: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.bz2 -Source14: %{name}4-config.samples.tar.bz2 -# Source14-md5: 918b390124cfc7515ba262e49bee750f +Source13: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/FAQ.txt.bz2 +# Source13-md5: ff781bd31fb1d574c8b9d33f4bfd34a7 +Source14: ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.bz2 +# Source14-md5: 4b93321938a800caa6127c48ad60a42b Source15: %{name}4-smtp.pamd Source16: %{name}on.png +Source17: http://marc.merlins.org/linux/exim/files/sa-exim-%{saexim_version}.tar.gz +# Source17-md5: ad76f73c6b3d01caa88078e3e622745a Patch0: %{name}4-EDITME.patch Patch1: %{name}4-monitor-EDITME.patch Patch2: %{name}4-texinfo.patch Patch3: %{name}4-use_system_pcre.patch Patch4: %{name}4-Makefile-Default.patch -Patch5: %{name}4-exiscan-pld.patch URL: http://www.exim.org/ -%{!?_without_ldap:BuildRequires: openldap-devel >= 2.0.0} -%{!?_without_mysql:BuildRequires: mysql-devel} -%{!?_without_pgsql:BuildRequires: postgresql-devel} -%{!?_without_whoson:BuildRequires: whoson-devel} +%{?with_ldap:BuildRequires: openldap-devel >= 2.0.0} +%{?with_spf:BuildRequires: libspf2-devel} +%{?with_srs:BuildRequires: libsrs_alt-devel >= 0.5} +%{?with_mysql:BuildRequires: mysql-devel} +%{?with_pgsql:BuildRequires: postgresql-devel} +%{?with_whoson:BuildRequires: whoson-devel} +%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0} BuildRequires: XFree86-devel BuildRequires: db-devel -BuildRequires: openssl-devel >= 0.9.7b +BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pam-devel BuildRequires: pcre-devel -BuildRequires: perl-devel >= 5.6.0 +BuildRequires: perl-devel >= 1:5.6.0 +BuildRequires: readline-devel +BuildRequires: rpmbuild(macros) >= 1.176 BuildRequires: texinfo PreReq: rc-scripts Requires(pre): /bin/id @@ -68,11 +73,16 @@ Requires(pre): /usr/sbin/useradd Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires(post): fileutils +Requires(post): /bin/hostname Requires(post,preun): /sbin/chkconfig Requires: pam >= 0.77.3 +Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION') +Provides: group(exim) Provides: smtpdaemon -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +Provides: user(exim) +Obsoletes: courier Obsoletes: masqmail +Obsoletes: nullmailer Obsoletes: omta Obsoletes: postfix Obsoletes: qmail @@ -82,7 +92,9 @@ Obsoletes: sendmail-cf Obsoletes: sendmail-doc Obsoletes: smail Obsoletes: smtpdaemon +Obsoletes: ssmtp Obsoletes: zmailer +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description Smail like Mail Transfer Agent with single configuration file. @@ -137,8 +149,7 @@ desta interface. %patch2 -p0 %patch3 -p1 %patch4 -p1 -%patch5 -p0 -%{!?_without_exiscan:test -f %{SOURCE8} || exit 1; bzip2 -d -c %{SOURCE8} | patch -p1 || exit 1} +%{?with_saexim:test -f %{SOURCE17} || exit 1; gzip -d -c %{SOURCE17} | tar -x || exit 1} install %{SOURCE13} doc/FAQ.txt.bz2 install %{SOURCE14} doc/config.samples.tar.bz2 @@ -148,47 +159,63 @@ cp -f src/EDITME Local/Makefile cp -f exim_monitor/EDITME Local/eximon.conf %build -%{__make} \ + +%if %{with saexim} + cd sa-exim-%{saexim_version} + %{__make} -j1 sa-exim.h + echo '#define SPAMASSASSIN_CONF "%{_sysconfdir}/mail/spamassassin/local.cf"' >> sa-exim.h + cat sa-exim.c > ../src/local_scan.c + cat sa-exim.h > ../src/sa-exim.h + cd .. +%endif + +%{__make} -j1 \ CC="%{__cc}" \ - CFLAGS="%{rpmcflags}" \ + CFLAGS="%{rpmcflags} %{?with_spf:-DEXPERIMENTAL_SPF=yes} %{?with_srs:-DEXPERIMENTAL_SRS=yes}" \ LOOKUP_CDB=yes \ - %{!?_without_mysql:LOOKUP_MYSQL=yes} \ - %{!?_without_pgsql:LOOKUP_PGSQL=yes} \ - %{!?_without_whoson:LOOKUP_WHOSON=yes} \ - %{!?_without_ldap:LOOKUP_LDAP=yes LDAP_LIB_TYPE=OPENLDAP2} \ - LOOKUP_LIBS="%{!?_without_ldap:-lldap -llber} %{!?_without_mysql:-lmysqlclient} %{!?_without_pgsql:-lpq} %{!?_without_whoson:-lwhoson}" \ - LOOKUP_INCLUDE="%{!?_without_mysql:-I%{_includedir}/mysql} %{!?_without_pgsql:-I%{_includedir}/pgsql}" + XLFLAGS=-L%{_prefix}/X11R6/%{_lib} \ + X11_LD_LIB=%{_prefix}/X11R6/%{_lib} \ + %{?with_mysql:LOOKUP_MYSQL=yes} \ + %{?with_pgsql:LOOKUP_PGSQL=yes} \ + %{?with_whoson:LOOKUP_WHOSON=yes} \ + %{?with_sasl:AUTH_CYRUS_SASL=yes} \ + %{?with_ldap:LOOKUP_LDAP=yes LDAP_LIB_TYPE=OPENLDAP2} \ + LOOKUP_LIBS="%{?with_ldap:-lldap -llber} %{?with_mysql:-lmysqlclient} %{?with_pgsql:-lpq} %{?with_whoson:-lwhoson} %{?with_spf:-lspf2} %{?with_srs:-lsrs_alt} %{?with_sasl:-lsasl2}" \ + LOOKUP_INCLUDE="%{?with_mysql:-I%{_includedir}/mysql} %{?with_pgsql:-I%{_includedir}/pgsql}" makeinfo --force exim-texinfo-*/doc/*.texinfo %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cron.{daily,weekly},logrotate.d,rc.d/init.d,sysconfig,mail,pam.d} -install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man8,%{_libdir}} +install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail +install -d $RPM_BUILD_ROOT/etc/{cron.{daily,weekly},logrotate.d,rc.d/init.d,sysconfig,pam.d} +install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man8,/usr/lib} install -d $RPM_BUILD_ROOT%{_var}/{spool/exim/{db,input,msglog},log/{archiv,}/exim,mail} -install -d $RPM_BUILD_ROOT{%{_infodir},%{_prefix}/X11R6/bin,%{_desktopdir},%{_pixmapsdir}} +install -d $RPM_BUILD_ROOT{%{_infodir},%{_desktopdir},%{_pixmapsdir}} install build-Linux-*/exim{,_fixdb,_tidydb,_dbmbuild,on.bin,_dumpdb,_lock} \ build-Linux-*/exi{cyclog,next,what} %{SOURCE10} \ build-Linux-*/{exigrep,eximstats,exiqsumm,convert4r4} \ util/unknownuser.sh \ $RPM_BUILD_ROOT%{_bindir} -install build-Linux-*/eximon.bin $RPM_BUILD_ROOT%{_prefix}/X11R6/bin -install build-Linux-*/eximon $RPM_BUILD_ROOT%{_prefix}/X11R6/bin +install build-Linux-*/eximon.bin $RPM_BUILD_ROOT%{_bindir} +install build-Linux-*/eximon $RPM_BUILD_ROOT%{_bindir} install %{SOURCE5} . -install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/cron.weekly/ +install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.weekly install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/%{name} install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} install %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/exim.conf -install {doc,man}/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ +install {doc,man}/*.8 $RPM_BUILD_ROOT%{_mandir}/man8 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases -install *.info* $RPM_BUILD_ROOT%{_infodir}/ +install *.info* $RPM_BUILD_ROOT%{_infodir} install %{SOURCE15} $RPM_BUILD_ROOT/etc/pam.d/smtp +%{?with_saexim:install sa-exim-%{saexim_version}/sa-exim.conf $RPM_BUILD_ROOT/%{_sysconfdir}/mail/sa-exim.conf} + ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/sendmail -ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_libdir}/sendmail +ln -sf %{_bindir}/exim $RPM_BUILD_ROOT/usr/lib/sendmail ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/mailq ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/rsmtp ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/rmail @@ -204,21 +231,22 @@ rm -rf $RPM_BUILD_ROOT %pre if [ -n "`/usr/bin/getgid exim`" ]; then - if [ "`getgid exim`" != "79" ]; then - echo "Warning: group exim haven't gid=79. Correct this before installing exim" 1>&2 + if [ "`/usr/bin/getgid exim`" != 79 ]; then + echo "Warning: group exim doesn't have gid=79. Correct this before installing exim" 1>&2 exit 1 fi else - /usr/sbin/groupadd -g 79 -r -f exim + /usr/sbin/groupadd -g 79 exim 1>&2 fi if [ -n "`/bin/id -u exim 2>/dev/null`" ]; then - if [ "`id -u exim`" != "79" ]; then - echo "Warning: user exim doesn't have uid=79. Correct this before installing Exim" 1>&2 + if [ "`/bin/id -u exim`" != 79 ]; then + echo "Warning: user exim doesn't have uid=79. Correct this before installing exim" 1>&2 exit 1 fi else - /usr/sbin/useradd -u 79 -r -d /var/spool/exim -s /bin/false -c "Exim pseudo user" -g exim exim 1>&2 + /usr/sbin/useradd -u 79 -d /var/spool/exim -s /bin/false \ + -c "Exim pseudo user" -g exim exim 1>&2 fi %post @@ -227,7 +255,9 @@ umask 022 if [ -f /var/lock/subsys/exim ]; then /etc/rc.d/init.d/%{name} restart >&2 else - echo "Run \"/etc/rc.d/init.d/%{name} start\" to start exim daemon." + %banner %{name} -e </dev/null 2>&1 if [ "$1" = "0" ]; then - /usr/sbin/userdel exim - /usr/sbin/groupdel exim + %userremove exim + %groupremove exim fi %triggerpostun -- exim < 3.90 @@ -261,39 +291,46 @@ fi %files %defattr(644,root,root,755) -%doc README* NOTICE LICENCE analyse-log-errors doc/{ChangeLog,NewStuff,dbm.discuss.txt,filter.txt,spec.txt,Exim*.upgrade,OptionLists.txt%{!?_without_exiscan:,exiscan-*.txt}} build-Linux-*/transport-filter.pl -%attr( 644,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/exim.conf -%attr( 644,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/aliases -%attr( 644,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/exim -%attr( 644,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/exim -%attr( 754,root,root) /etc/rc.d/init.d/exim +%doc README* NOTICE LICENCE analyse-log-errors doc/{ChangeLog,NewStuff,dbm.discuss.txt,filter.txt,spec.txt,Exim*.upgrade,OptionLists.txt,experimental-spec.txt} build-Linux-*/transport-filter.pl +%dir %{_sysconfdir}/mail +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/exim.conf +%{?with_saexim:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/sa-exim.conf} +%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases +%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/exim +%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/exim +%attr(754,root,root) /etc/rc.d/init.d/exim %attr(4755,root,root) %{_bindir}/exim -%attr( 770,root,exim) %dir %{_var}/spool/exim -%attr( 750,exim,exim) %dir %{_var}/spool/exim/db -%attr( 700,exim,root) %dir %{_var}/spool/exim/input -%attr( 750,exim,root) %dir %{_var}/spool/exim/msglog -%attr( 755,root,root) %{_bindir}/exim_* -%attr( 755,root,root) %{_bindir}/exinext -%attr( 755,root,root) %{_bindir}/exiwhat -%attr( 755,root,root) %{_bindir}/exicyclog -%attr( 755,root,root) %{_bindir}/exigrep -%attr( 755,root,root) %{_bindir}/eximstats -%attr( 755,root,root) %{_bindir}/exiqsumm -%attr( 755,root,root) %{_bindir}/unknownuser.sh -%attr( 755,root,root) %{_bindir}/newaliases -%attr( 755,root,root) %{_bindir}/convert4r4 -%attr( 755,root,root) %{_sbindir}/* -%attr( 755,root,root) %{_libdir}/* -%attr( 754,root,root) %{_sysconfdir}/cron.weekly/exim.cron.db -%attr( 750,exim,root) %dir %{_var}/log/exim -%attr( 750,exim,root) %dir %{_var}/log/archiv/exim -%attr( 640,exim,root) %ghost %{_var}/log/exim/* -%attr( 640,root,root) %{_sysconfdir}/pam.d/smtp -%{_infodir}/* +%attr(770,root,exim) %dir %{_var}/spool/exim +%attr(750,exim,exim) %dir %{_var}/spool/exim/db +%attr(700,exim,root) %dir %{_var}/spool/exim/input +%attr(750,exim,root) %dir %{_var}/spool/exim/msglog +%attr(755,root,root) %{_bindir}/exim_* +%attr(755,root,root) %{_bindir}/exinext +%attr(755,root,root) %{_bindir}/exiwhat +%attr(755,root,root) %{_bindir}/exicyclog +%attr(755,root,root) %{_bindir}/exigrep +%attr(755,root,root) %{_bindir}/eximstats +%attr(755,root,root) %{_bindir}/exiqsumm +%attr(755,root,root) %{_bindir}/unknownuser.sh +%attr(755,root,root) %{_bindir}/newaliases +%attr(755,root,root) %{_bindir}/convert4r4 +%attr(755,root,root) %{_sbindir}/mailq +%attr(755,root,root) %{_sbindir}/rmail +%attr(755,root,root) %{_sbindir}/rsmtp +%attr(755,root,root) %{_sbindir}/runq +%attr(755,root,root) %{_sbindir}/sendmail +%attr(755,root,root) /usr/lib/sendmail +%attr(754,root,root) /etc/cron.weekly/exim.cron.db +%attr(750,exim,root) %dir %{_var}/log/exim +%attr(750,exim,root) %dir %{_var}/log/archiv/exim +%attr(640,exim,root) %ghost %{_var}/log/exim/* +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp +%{_infodir}/*.info* %{_mandir}/man8/* %files X11 %defattr(644,root,root,755) -%attr(755,root,root) %{_prefix}/X11R6/bin/* -%{_desktopdir}/%{name}on.desktop -%{_pixmapsdir}/%{name}on.png +%attr(755,root,root) %{_bindir}/eximon +%attr(755,root,root) %{_bindir}/eximon.bin +%{_desktopdir}/eximon.desktop +%{_pixmapsdir}/eximon.png