X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sendmail.spec;h=2a6b7dee165711d1040ae18ced6304e688ba6c7d;hb=6a8e33fcf8bdd6e2ef7d7eb1ebe95736777d41f0;hp=3d290ef7a51533cc463765045977f9eb3eab22b5;hpb=58f0209c6cbb2be071e2f30cc253ca6d1fa01280;p=packages%2Fsendmail.git diff --git a/sendmail.spec b/sendmail.spec index 3d290ef..2a6b7de 100644 --- a/sendmail.spec +++ b/sendmail.spec @@ -1,8 +1,14 @@ +# 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: %bcond_without ldap # without LDAP support %bcond_without tls # without TLS (SSL) support -%bcond_with db3 # use db3 instead of db package %bcond_with pgsql # with PostgreSQL support (bluelabs) # Summary: A widely used Mail Transport Agent (MTA) @@ -16,12 +22,12 @@ Summary(ru): Summary(tr): Elektronik posta hizmetleri sunucusu Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail Name: sendmail -Version: 8.12.11 -Release: 0.1 +Version: 8.13.8 +Release: 2 License: BSD Group: Networking/Daemons Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz -# Source0-md5: fafda7f8043f0c34b9aa295618aa598c +# Source0-md5: 5f29c94b42e0bb74d546b2ae84203a1e Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.aliases @@ -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,28 +52,32 @@ 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} -%{?with_ldap:BuildRequires: openldap-devel} -%{?with_tls:BuildRequires: openssl-devel >= 0.9.7c} +%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} +%{?with_tls:BuildRequires: openssl-devel >= 0.9.7d} %{?with_pgsql:BuildRequires: postgresql-devel} -Requires(pre): /bin/id -Requires(pre): /usr/bin/getgid -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/sbin/useradd +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) +Provides: user(smmsp) Obsoletes: courier Obsoletes: exim Obsoletes: masqmail @@ -80,8 +91,10 @@ 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). @@ -109,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 @@ -152,10 +165,21 @@ 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 -#%patch1 -p1 +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 @@ -167,10 +191,16 @@ 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 0%{!?debug:1} echo "define(\`confLDOPTS', \`-s')" >> config.m4 @@ -200,17 +230,18 @@ 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) @@ -219,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 \ @@ -232,18 +264,21 @@ 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} @@ -255,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} @@ -282,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 @@ -289,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 @@ -352,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 @@ -390,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* @@ -405,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 +%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