X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sendmail.spec;h=2a6b7dee165711d1040ae18ced6304e688ba6c7d;hb=6a8e33fcf8bdd6e2ef7d7eb1ebe95736777d41f0;hp=eb8837912545199bf30447632bd58acf1473690c;hpb=b7b74817d0d7ffa3a6295530223347e0706c24b1;p=packages%2Fsendmail.git diff --git a/sendmail.spec b/sendmail.spec index eb88379..2a6b7de 100644 --- a/sendmail.spec +++ b/sendmail.spec @@ -1,9 +1,15 @@ +# TODO: +# - make sid-milter support: +# http://sourceforge.net/projects/sid-milter/ +# http://www.sendmail.net/ +# - http://blue-labs.org/clue/bluelabs.patch-8.12.3 has been updated upstream +# - move compilation from install to build section, fix re-entrancy of install +# - add tests bcond and/or disable tests tha fail on (AC-)builders # # Conditional build: -# _without_ldap without LDAP support -# _without_tls without TLS (SSL) support -# _with_db3 use db3 instead of db package -# _with_pgsql with PostgreSQL support (bluelabs) +%bcond_without ldap # without LDAP support +%bcond_without tls # without TLS (SSL) support +%bcond_with pgsql # with PostgreSQL support (bluelabs) # Summary: A widely used Mail Transport Agent (MTA) Summary(de): sendmail-Mail-Übertragungsagent @@ -16,18 +22,18 @@ Summary(ru): Summary(tr): Elektronik posta hizmetleri sunucusu Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail Name: sendmail -Version: 8.12.10 -Release: 4 +Version: 8.13.8 +Release: 2 License: BSD Group: Networking/Daemons Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz -# Source0-md5: 393f5d09d462f522c8288363870b2b42 +# Source0-md5: 5f29c94b42e0bb74d546b2ae84203a1e Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.aliases # From http://doc.phpauction.org/sendmail/examples/ Source4: %{name}-examples.tar.bz2 -# Source4-md5: d00d817cd456a947a7fc6c04072a7d68 +# Source4-md5: d00d817cd456a947a7fc6c04072a7d68 Source5: %{name}-etc-mail-Makefile Source6: %{name}.mc Source7: %{name}-config.m4 @@ -37,6 +43,7 @@ Source10: %{name}.mailertable Source11: %{name}.virtusertable Source12: %{name}.domaintable Source13: %{name}-smtp.pamd +Source14: %{name}.monitrc Patch0: %{name}-makemapman.patch Patch1: %{name}-smrsh-paths.patch Patch2: %{name}-rmail.patch @@ -45,40 +52,49 @@ Patch4: %{name}-m4path.patch Patch5: %{name}-redirect.patch Patch6: %{name}-hprescan-dos.patch Patch7: http://blue-labs.org/clue/bluelabs.patch-8.12.3 +URL: http://www.sendmail.org/ BuildRequires: cyrus-sasl-devel +BuildRequires: db-devel >= 4.1.25 BuildRequires: man -%{?_with_db3:BuildRequires: db3-devel} -%{!?_with_db3:BuildRequires: db-devel >= 4.1.25} -%{!?_without_ldap:BuildRequires: openldap-devel} -%{!?_without_tls:BuildRequires: openssl-devel >= 0.9.7c} -%{?_with_pgsql:BuildRequires: postgresql-devel} -Requires(pre): /bin/id -Requires(pre): /usr/bin/getgid -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/sbin/useradd +%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} +%{?with_tls:BuildRequires: openssl-devel >= 0.9.7d} +%{?with_pgsql:BuildRequires: postgresql-devel} +BuildRequires: rpmbuild(macros) >= 1.310 +BuildRequires: sed >= 4.0 Requires(post): awk Requires(post): textutils -Requires(post,preun):/sbin/chkconfig +Requires(post,preun): /sbin/chkconfig +Requires(post,preun): rc-scripts >= 0.4.0.20 Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel -%{!?_with_db3:Requires: db >= 4.1.25} +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires: db >= 4.1.25 Requires: m4 +Requires: pam >= 0.79.0 Requires: procmail -Requires: pam >= 0.77.3 +Provides: group(smmsp) Provides: smtpdaemon -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -Obsoletes: smtpdaemon +Provides: user(smmsp) +Obsoletes: courier Obsoletes: exim Obsoletes: masqmail +Obsoletes: nullmailer Obsoletes: omta Obsoletes: postfix Obsoletes: qmail Obsoletes: sendmail-cf Obsoletes: sendmail-doc Obsoletes: smail +Obsoletes: smtpdaemon +Obsoletes: ssmtp Obsoletes: zmailer +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/mail +%define specflags -fPIC %description The Sendmail program is a very widely used Mail Transport Agent (MTA). @@ -106,7 +122,7 @@ recibir mensajes a trav Sendmail est un agent de transport de courrier, qui est le programme transférent le courrier d'une machine à l'autre. Sendmail implémente une facilité générale de routage de courrier entre les réseaux, permet -l'\"aliasing\" et le \"forwarding\", un routage automatique sur les +l'"aliasing" et le "forwarding", un routage automatique sur les passerelles du réseau, et une configuration flexible. %description -l ko @@ -149,6 +165,17 @@ Sendmail - ÍÁÒÛÒÕÔÉÚÁæ§ ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀÚ¦× ÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§. +%package devel +Summary: Header files and static libmilter library +Summary(pl): Pliki nag³ówkowe i statyczna biblioteka libmilter +Group: Development/Libraries + +%description devel +Header files and static libmilter library. + +%description devel -l pl +Pliki nag³ówkowe i statyczna biblioteka libmilter. + %prep %setup -q %patch0 -p1 @@ -158,54 +185,63 @@ Sendmail - %patch4 -p1 %patch5 -p1 %patch6 -p1 -%if %{?_with_pgsql:1}%{!?_with_pgsql:0} -%patch7 -p1 -%endif +%{?with_pgsql:%patch7 -p1} sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc install %{SOURCE7} config.m4 +# Ac-specific hack - ac-i386 builder has not fully operational shm +%ifarch i386 i586 i686 amd64 +%{__sed} -i -e 's/^\(smtest.*t-shm\)/dnl \1/' libsm/Makefile.m4 +%endif + %build echo "define(\`confCC', \`%{__cc}')" >> config.m4 echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4 echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4 +echo "define(\`confLIBSEARCHPATH', \`/%{_lib} %{_prefix}/%{_lib}')" >> config.m4 echo "define(\`confLIBSEARCH', \`db resolv')" >> config.m4 -%if %{?debug:0}%{!?debug:1} +%if 0%{!?debug:1} echo "define(\`confLDOPTS', \`-s')" >> config.m4 %endif -%if %{?_without_ldap:0}%{!?_without_ldap:1} +%if %{with ldap} echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4 %endif -%if %{?_with_pgsql:1}%{!?_with_pgsql:0} +%if %{with pgsql} echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4 echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4 echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4 echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4 %endif -%if %{?_without_tls:0}%{!?_without_tls:1} +%if %{with tls} echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4 +echo "APPENDDEF(\`confENVDEF', \`-D_FFR_DEAL_WITH_ERROR_SSL')" >> config.m4 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4 +echo "APPENDDEF(\`confENVDEF', \`-D_FFR_SMTP_SSL')" >> config.m4 %endif +echo "APPENDDEF(\`confENVDEF', \`-DMILTER')" >> config.m4 + cd sendmail && sh Build -f ../config.m4 cd ../mailstats && sh Build -f ../config.m4 cd ../rmail && sh Build -f ../config.m4 cd ../makemap && sh Build -f ../config.m4 cd ../praliases && sh Build -f ../config.m4 cd ../smrsh && sh Build -f ../config.m4 +cd ../libmilter && sh Build -f ../config.m4 cd ../cf/cf m4 pld.mc > pld.cf %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \ - $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \ - $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \ - $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \ - $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \ - $RPM_BUILD_ROOT/etc/pam.d \ +install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \ + $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,monit,sysconfig,sasl,smrsh} \ + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_prefix}/lib} \ + $RPM_BUILD_ROOT{%{_datadir}/sendmail-cf,%{_libdir}} \ + $RPM_BUILD_ROOT/var/{log,spool/mqueue} \ + $RPM_BUILD_ROOT{%{_sysconfdir},%{_includedir}} OBJDIR=obj.$(uname -s).$(uname -r).$(arch) @@ -214,7 +250,8 @@ IDNG=`id -ng` SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \ UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \ CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \ - BINOWN=$IDNU BINGRP=$IDNG" + BINOWN=$IDNU BINGRP=$IDNG LIBOWN=$IDNU LIBGRP=$IDNG INCOWN=$IDNU INCGRP=$IDNG" + %{__make} -C $OBJDIR/sendmail install \ $SMINSTOPT %{__make} -C $OBJDIR/mailstats install \ @@ -227,21 +264,24 @@ SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \ $SMINSTOPT %{__make} -C $OBJDIR/smrsh install \ $SMINSTOPT +%{__make} -C $OBJDIR/libmilter install \ + $SMINSTOPT \ + LIBDIR=%{_libdir} ln -sf %{_sbindir}/makemap $RPM_BUILD_ROOT%{_bindir}/makemap # install the cf files cd cf rm -f cf/{Build,Makefile} feature/*~ -cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf +cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf cd - # sendmail.{cf,mc} install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf -sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \ +sed -e 's|@@PATH@@|%{_datadir}/sendmail-cf|' < %{SOURCE6} \ > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc -%if %{?_with_pgsql:1}%{!?_with_pgsql:0} +%if %{with pgsql} install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc %endif @@ -250,15 +290,16 @@ install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir} echo "# local-host-names - include all aliases for your machine here." \ > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names +#"vim ruuls -ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail +ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_prefix}/lib/sendmail # dangling symlinks -for f in hoststat mailq newaliases purgestat ; do - ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f} +for f in hoststat mailq newaliases purgestat; do + ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/${f} done -for map in virtusertable access domaintable mailertable ; do +for map in virtusertable access domaintable mailertable; do touch $RPM_BUILD_ROOT%{_sysconfdir}/${map} $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \ $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map} @@ -277,6 +318,7 @@ install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable +install %{SOURCE14} $RPM_BUILD_ROOT/etc/monit/ mv -f smrsh/README README.smrsh mv -f cf/README README.cf @@ -284,26 +326,16 @@ mv -f doc/op/op.me . bzip2 -dc %{SOURCE4} | tar xf - +# for perl-Sendmail-Milter +install $OBJDIR/libsm/libsm.a $OBJDIR/libsmutil/libsmutil.a \ + $RPM_BUILD_ROOT%{_libdir} + %clean rm -rf $RPM_BUILD_ROOT %pre -if [ -n "`/usr/bin/getgid smmsp`" ]; then - if [ "`/usr/bin/getgid smmsp`" != "25" ]; then - echo "Error: group smmsp doesn't have gid=25. Correct this before installing sendmail." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 25 -r -f smmsp -fi -if [ -n "`/bin/id -u smmsp 2>/dev/null`" ]; then - if [ "`/bin/id -u smmsp`" != "25" ]; then - echo "Error: user smmsp doesn't have uid=25. Correct this before installing sendmail." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -u 25 -r -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp 1>&2 -fi +%groupadd -g 25 smmsp +%useradd -u 25 -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp %post umask 022 @@ -347,24 +379,18 @@ fi } > /dev/null 2>&1 /sbin/chkconfig --add sendmail -if [ -f /var/lock/subsys/sendmail ]; then - /etc/rc.d/init.d/sendmail restart >&2 -else - echo "Run \"/etc/rc.d/init.d/sendmail start\" to start sendmail daemon." >&2 -fi +%service sendmail restart "sendmail daemon" %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/sendmail ]; then - /etc/rc.d/init.d/sendmail stop >&2 - fi + %service sendmail stop /sbin/chkconfig --del sendmail fi %postun if [ "$1" = "0" ]; then - /usr/sbin/userdel smmsp 2>/dev/null - /usr/sbin/groupdel smmsp 2>/dev/null + %userremove smmsp + %groupremove smmsp fi # removal of compatibility links @@ -385,7 +411,7 @@ fi %attr(755,root,root) %{_bindir}/newaliases %attr(755,root,root) %{_bindir}/mailq %attr(755,root,root) %{_sbindir}/smrsh -%{_libdir}/sendmail +%{_prefix}/lib/sendmail %{_mandir}/man1/mailq.1* %{_mandir}/man1/newaliases.1* @@ -400,41 +426,49 @@ fi %dir /etc/smrsh %dir %{_sysconfdir} /var/log/statistics -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.cf -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.mc -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.cf -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.mc -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/local-host-names -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/aliases -%{?_with_pgsql:%{_sysconfdir}/bluelabs.mc} +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.cf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.mc +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.cf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.mc +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local-host-names +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/aliases +%{?with_pgsql:%{_sysconfdir}/bluelabs.mc} %attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db %attr(770,root,smmsp) %dir /var/spool/clientmqueue %attr(750,root,mail) %dir /var/spool/mqueue %config %{_sysconfdir}/Makefile -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/access %ghost %{_sysconfdir}/access.db -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/domaintable %ghost %{_sysconfdir}/domaintable.db -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mailertable %ghost %{_sysconfdir}/mailertable.db -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/virtusertable +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/virtusertable %ghost %{_sysconfdir}/virtusertable.db %config(noreplace) %{_sysconfdir}/helpfile %attr(754,root,root) /etc/rc.d/init.d/sendmail -%config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/sendmail -%config(noreplace) %verify(not md5 size mtime) /etc/sasl/Sendmail.conf -%config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp - -%dir %{_libdir}/sendmail-cf -%dir %{_libdir}/sendmail-cf/cf -%{_libdir}/sendmail-cf/cf/pld.mc -%{_libdir}/sendmail-cf/feature -%{_libdir}/sendmail-cf/m4 -%{_libdir}/sendmail-cf/mailer -%dir %{_libdir}/sendmail-cf/ostype -%{_libdir}/sendmail-cf/ostype/linux.m4 -%dir %{_libdir}/sendmail-cf/sh -%{_libdir}/sendmail-cf/sh/makeinfo.sh -%{_libdir}/sendmail-cf/siteconfig +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sendmail +%config(noreplace) %verify(not md5 mtime size) /etc/sasl/Sendmail.conf +%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp +%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc + +%dir %{_datadir}/sendmail-cf +%dir %{_datadir}/sendmail-cf/cf +%{_datadir}/sendmail-cf/cf/pld.mc +%{_datadir}/sendmail-cf/feature +%{_datadir}/sendmail-cf/m4 +%{_datadir}/sendmail-cf/mailer +%dir %{_datadir}/sendmail-cf/ostype +%{_datadir}/sendmail-cf/ostype/linux.m4 +%dir %{_datadir}/sendmail-cf/sh +%{_datadir}/sendmail-cf/sh/makeinfo.sh +%{_datadir}/sendmail-cf/siteconfig + +%files devel +%defattr(644,root,root,755) +%{_libdir}/libmilter.a +%{_libdir}/libsm.a +%{_libdir}/libsmutil.a +%{_includedir}/libmilter