X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sendmail.spec;h=a3be28bb2a0339bd1e2843a3ef05e33130ecdc3d;hb=00791ae11b520480ea49e4cf495c1c0ee3dc9bce;hp=a17fbe977650e58f236ef5ac58d4c4393ece53f7;hpb=ab79237487828989372f993083411231087f9ca9;p=packages%2Fsendmail.git diff --git a/sendmail.spec b/sendmail.spec index a17fbe9..a3be28b 100644 --- a/sendmail.spec +++ b/sendmail.spec @@ -1,35 +1,74 @@ -Summary: A widely used Mail Transport Agent (MTA). -Summary(pl): Sendmail -- aplikacja do obs³ugi poczty elektronicznej +# +# Conditional build: +# _without_ldap without LDAP support +# _without_tls without TLS (SSL) support +# _with_pgsql without pgsql support (bluelabs) + +Summary: A widely used Mail Transport Agent (MTA) +Summary(de): sendmail-Mail-Übertragungsagent +Summary(fr): Agent de transport de courrier sendmail +Summary(pl): Sendmail - serwer poczty elektronicznej +Summary(ru): ðÏÞÔÏ×ÙÊ ÔÒÁÎÓÐÏÒÔÎÙÊ ÁÇÅÎÔ sendmail +Summary(tr): Elektronik posta hizmetleri sunucusu +Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail Name: sendmail -Version: 8.10.1 -Release: 1 +Version: 8.12.3 +Release: 4 License: BSD -Group: System Environment/Daemons -###### Unknown group! -Group(pl): Sieciowe/Serwery +Group: Networking/Daemons +Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz +Source1: %{name}.init +Source2: %{name}.sysconfig +Source3: %{name}.aliases +# From http://doc.phpauction.org/sendmail/examples/ +Source4: %{name}-examples.tar.bz2 +Source5: %{name}-etc-mail-Makefile +Source6: %{name}.mc +Source7: %{name}-config.m4 +Source8: %{name}.sasl +Source9: %{name}.access +Source10: %{name}.mailertable +Source11: %{name}.virtusertable +Source12: %{name}.domaintable +Source13: %{name}-smtp.pamd +Patch0: %{name}-makemapman.patch +Patch1: %{name}-smrsh-paths.patch +Patch2: %{name}-rmail.patch +Patch3: %{name}-os-paths.patch +Patch4: %{name}-m4path.patch +Patch5: %{name}-redirect.patch +Patch6: %{name}-hprescan-dos.patch +Patch7: http://blue-labs.org/clue/bluelabs.patch-%{version} +BuildRequires: cyrus-sasl-devel +BuildRequires: db3-devel +%{!?_without_ldap:BuildRequires: openldap-devel} +%{!?_without_tls:BuildRequires: openssl-devel} +%{?_with_pgsql:BuildRequires: postgresql-devel} +Requires: m4 +Requires: procmail +PreReq: /sbin/chkconfig +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(post): awk +Requires(post): textutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Provides: smtpdaemon -Source0: ftp://ftp.cs.berkeley.edu/ucb/sendmail/%{name}.%{version}.tar.gz -Source1: sendmail.init -Source2: http://www.informatik.uni-kiel.de/%7Eca/email/rules/check.tar -Source3: aliases -Source4: sendmail.sysconfig -Source5: sendmail-8.9.3-etc-mail-Makefile -Source6: sendmail-redhat.mc -Patch0: sendmail-8.10.0-redhat.patch -Patch1: sendmail-8.10.0-makemapman.patch -Patch2: sendmail-8.10.0-smrsh-paths.patch -Patch3: sendmail-8.8.7-rmail.patch -#Patch4: sendmail-8.10.0-aliasesDoS.patch -#Patch5: sendmail-8.10.0-movefiles.patch -#Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -Prereq: /sbin/chkconfig -Provides: smtpdaemon Obsoletes: smtpdaemon -Obsoletes: zmail +Obsoletes: exim +Obsoletes: masqmail +Obsoletes: omta +Obsoletes: postfix Obsoletes: qmail +Obsoletes: sendmail-cf +Obsoletes: sendmail-doc Obsoletes: smail +Obsoletes: zmailer +%define _sysconfdir /etc/mail %description The Sendmail program is a very widely used Mail Transport Agent (MTA). @@ -38,252 +77,255 @@ program, which you use to read your e-mail. Sendmail is a behind-the-scenes program which actually moves your e-mail over networks or the Internet to where you want it to go. -If you ever need to reconfigure Sendmail, you'll also need to have the -sendmail.cf package installed. If you need documentation on Sendmail, -you can install the sendmail-doc package. +%description -l de +Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine +allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und +Weiterleiten von Nachrichten, automatischem Routing an +Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über +das Internet senden und empfangen möchten, brauchen Sie sendmail. +%description -l fr +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 +passerelles du réseau, et une configuration flexible. %description -l pl Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej -miêdzy komputerami w sieci internet. Zajmuje siê przekazywaniem poczty +miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty elektronicznej miêdzy bramkami pocztowymi i dostarczaniem przesy³ek na konta docelowe. Bardzo dobrze obs³uguje aliasy pocztowe a jego dodatkowym atutem jest prosta konfiguracja. Dziêki rozbudowanym mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych. -Je¿eli masz zamiar korzystaæ z poczty elektronicznej w sieci internet -oraz 6bone to zainstaluj ten pakiet - -%package doc -Summary: Documentation about the Sendmail Mail Transport Agent program. -Summary(pl): Dokumentacja do Sendmaila. -Group(pl): Serwery -Group: Documentation +%description -l ru +Sendmail - ÜÔÏ Mail Transport Agent, ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÓÙÌÁÀÝÁÑ ÐÏÞÔÕ Ó +ÍÁÛÉÎÙ ÎÁ ÍÁÛÉÎÕ. Sendmail ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÅ ÓÒÅÄÓÔ×Á +ÍÅÖÓÅÔÅ×ÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏÞÔÙ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÅÓËÕÀ +ÍÁÒÛÒÕÔÉÚÁÃÉÀ ÄÌÑ ÓÅÔÅ×ÙÈ ÛÌÀÚÏ× É ÇÉÂËÉÊ ÍÅÈÁÎÉÚÍ ËÏÎÆÉÇÕÒÁÃÉÉ. -%description doc -The sendmail-doc package contains documentation about the Sendmail -Mail Transport Agent (MTA) program, including release notes, the -Sendmail FAQ and a few papers written about Sendmail. The papers are -provided in PostScript(TM) and troff formats. +%description -l tr +Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý +ayarlanabilir. Internet üzerinden mektup almak veya göndermek +istiyorsanýz bu pakete gereksiniminiz olacaktýr. -Install the sendmail-doc package if you need documentation about -Sendmail. - -%description -l pl -Ten pakiet zawiera dokumentacjê do programu Sendmail Mail Transport -Agent (MTA). Dokumentacja zwawiera informacje o zmianach w bie¿±cej -wersji, FAQ - najczêsciej zadawane pytania. Dokumentacja dostêpna jest -w formacie PostScript(TM) oraz troff. Je¿eli potrzebujesz dokumntacji -- zainstaluj ten pakiet. - -%package cf -Summary: The files needed to reconfigure Sendmail. -Summary(pl): Pliki konfiguracyjne oraz makra m4 dla sendmaila -Group: System Environment/Daemons -Group(pl): Serwery -Requires: %{name} = %{version} - - -%description cf -This package includes the configuration files which you'd need to -generate the sendmail.cf file distributed with the sendmail package. -You'll need the sendmail-cf package if you ever need to reconfigure -and rebuild your sendmail.cf file. For example, the default -sendmail.cf file is not configured for UUCP. If someday you needed to -send and receive mail over UUCP, you'd need to install the sendmail-cf -package to help you reconfigure Sendmail. - -Install the sendmail-cf package if you need to reconfigure your -sendmail.cf file. - -%description -l pl cf -Pakiet ten zawiera wszystkie pliki konfiguracyjne u¿ywane do gene- -rowania pliku sendmail.cf, znajduj±cego siê w pakiecie bazowym. -Bêdziesz potrzebowa³ tego pakietu je¿eli chcesz zmieniæ i przebudowaæ -konfiguracjê swojego sendmaila. Na przyk³ad, standardowy plik konfigu- -racyjny nie zawiera wspomagania dla poczty po UUCP. Je¿eli chcesz wy- -sy³aæ i odbieraæ pocztê po UUCP bêdziesz potrzebowa³ tego pakietu. +%description -l uk +Sendmail - ÃÅ Mail Transport Agent, ÐÒÏÇÒÁÍÁ ÝÏ ÐÅÒÅÓÉÌÁ¤ ÐÏÛÔÕ Ú +ÍÁÛÉÎÉ ÎÁ ÍÁÛÉÎÕ. Sendmail ÎÁÄÁ¤ ÓÔÁÎÄÁÒÔΦ ÚÁÓÏÂÉ Í¦ÖÍÅÒÅÖÅ×ϧ +ÍÁÒÛÒÕÔÉÚÁæ§ ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ +ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀÚ¦× ÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§. %prep %setup -q -%patch0 -p1 -b .redhat -%patch1 -p1 -b .makemapman -%patch2 -p1 -b .smrsh -%patch3 -p1 -b .rmail -#%patch4 -p1 -b .aliases -#%patch5 -p1 -b .movestuff +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%if %{?_with_pgsql:1}%{!?_with_pgsql:0} +%patch7 -p1 +%endif -# XXX REVERTING -#tar xf $RPM_SOURCE_DIR/check.tar -C cf -#chown root.root cf/hack/* cf/README.check +sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc - -sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/redhat.mc +install %{SOURCE7} config.m4 %build -export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1" - -cd sendmail -sh Build -f ../redhat.config.m4 -cd .. - -cd mailstats -sh Build -f ../redhat.config.m4 -cd .. - -cd rmail -sh Build -f ../redhat.config.m4 -cd .. - -cd makemap -sh Build -f ../redhat.config.m4 -cd .. - -cd praliases -sh Build -f ../redhat.config.m4 -cd .. - -cd smrsh -sh Build -f ../redhat.config.m4 -cd .. - -cd cf/cf -m4 redhat.mc > redhat.cf +echo "define(\`confCC', \`%{__cc}')" >> config.m4 +echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4 +%if %{?debug:0}%{!?debug:1} +echo "define(\`confLDOPTS', \`-s')" >> config.m4 +%endif +%if %{?_without_ldap:0}%{!?_without_ldap:1} +echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4 +echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4 +%endif +%if %{?_with_pgsql:1}%{!?_with_pgsql:0} +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} +echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4 +echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4 +%endif + +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 ../cf/cf +m4 pld.mc > pld.cf %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT - -cd $RPM_BUILD_ROOT -install -d etc/rc.d/init.d etc/rc.d/rc{0,1,2,3,4,5,6}.d etc/sysconfig -install -d usr/bin usr/lib usr/man/man{1,5,8} usr/sbin var/log var/spool usr/lib/sendmail-cf -cd - +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 \ OBJDIR=obj.$(uname -s).$(uname -r).$(arch) -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - install -C $OBJDIR/sendmail -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - install -C $OBJDIR/mailstats -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - install -C $OBJDIR/praliases -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - force-install -C $OBJDIR/rmail -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - install -C $OBJDIR/makemap +IDNU=`id -nu` +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" +%{__make} $SMINSTOPT install -C $OBJDIR/sendmail +%{__make} $SMINSTOPT install -C $OBJDIR/mailstats +%{__make} $SMINSTOPT install -C $OBJDIR/praliases +%{__make} $SMINSTOPT force-install -C $OBJDIR/rmail +%{__make} $SMINSTOPT install -C $OBJDIR/makemap ln -sf ../sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap -make DESTDIR=$RPM_BUILD_ROOT SBINOWN=`id -nu` UBINOWN=`id -nu` SBINGRP=`id -ng` UBINGRP=`id -ng` MANOWN=`id -nu` MANGRP=`id -ng` \ - install -C $OBJDIR/smrsh - -# install docs by hand -install -d $RPM_BUILD_ROOT%{_prefix}/doc/sendmail -cp -ar FAQ LICENSE KNOWNBUGS README RELEASE_NOTES doc $RPM_BUILD_ROOT%{_prefix}/doc/sendmail -cp smrsh/README $RPM_BUILD_ROOT%{_prefix}/doc/sendmail/README.smrsh -cp cf/README $RPM_BUILD_ROOT%{_prefix}/doc/sendmail/README.cf +%{__make} $SMINSTOPT install -C $OBJDIR/smrsh # install the cf files cd cf +rm -f cf/{Build,Makefile} feature/*~ cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf cd - -install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail +# sendmail.{cf,mc} +install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf +sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \ + > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc + +%if %{?_with_pgsql:1}%{!?_with_pgsql:0} +install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc +%endif +# submit.mc (submit.cf is installed automatically) +install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir} -install cf/cf/redhat.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf -sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} > $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.mc -echo "# local-host-names - include all aliases for your machine here." > $RPM_BUILD_ROOT%{_sysconfdir}/mail/local-host-names +echo "# local-host-names - include all aliases for your machine here." \ + > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail -install -d -m755 $RPM_BUILD_ROOT/var/spool/mqueue # dangling symlinks -for f in hoststat mailq newaliases purgestat - do - ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f} - done -install -d $RPM_BUILD_ROOT%{_sysconfdir}/smrsh - -cat < $RPM_BUILD_ROOT%{_sysconfdir}/mail/access -# Check the %{_prefix}/doc/sendmail-%{version}/README.cf file for a description -# of the format of this file. (search for access_db in that file) -# The %{_prefix}/doc/sendmail-%{version}/README.cf is part of the sendmail-doc -# package. -# -# by default we allow relaying from localhost... -localhost.localdomain RELAY -localhost RELAY -127.0.0.1 RELAY - -EOF -for map in virtusertable access domaintable mailertable - do -touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map} -makemap hash $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map} - done +for f in hoststat mailq newaliases purgestat ; do + ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f} +done + + +for map in virtusertable access domaintable mailertable ; do + touch $RPM_BUILD_ROOT%{_sysconfdir}/${map} + $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \ + $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map} +done + install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases -makemap hash $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3} +$RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \ + $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3} -install %SOURCE4 $RPM_BUILD_ROOT/etc/sysconfig/sendmail -install -m755 %SOURCE1 $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail +install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile +install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf +install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp +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 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mail/Makefile +mv -f smrsh/README README.smrsh +mv -f cf/README README.cf +mv -f doc/op/op.me . -chmod u+w $RPM_BUILD_ROOT%{_sbindir}/{mailstats,praliases} -chmod u+w $RPM_BUILD_ROOT%{_bindir}/rmail +bzip2 -dc %{SOURCE4} | tar xf - -strip $RPM_BUILD_ROOT%{_sbindir}/{mailstats,praliases,sendmail} -strip $RPM_BUILD_ROOT%{_bindir}/rmail +gzip -9nf FAQ KNOWNBUGS README* op.me RELEASE_NOTES %clean rm -rf $RPM_BUILD_ROOT +%pre +if [ -n "`/usr/bin/getgid smmsp`" ]; then + if [ "`/usr/bin/getgid smmsp`" != "25" ]; then + echo "Warning: group smmsp haven't 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 "Warning: user smmsp haven't 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 + %post # # Convert old format to new # if [ -f /etc/mail/deny ] ; then - cat /etc/mail/deny | \ - awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \ - {print $1" REJECT"}' >> /etc/mail/access - cp /etc/mail/deny /etc/mail/deny.rpmorig + cat /etc/mail/deny | \ + awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \ + {print $1" REJECT"}' >> /etc/mail/access + mv -f /etc/mail/deny /etc/mail/deny.rpmorig fi for oldfile in relay_allow ip_allow name_allow ; do - if [ -f /etc/mail/$oldfile ] ; then - cat /etc/mail/$oldfile | \ - awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \ - { print $1\" RELAY\" }" >> /etc/mail/access - cp /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig - fi + if [ -f /etc/mail/$oldfile ] ; then + cat /etc/mail/$oldfile | \ + awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \ + { print $1\" RELAY\" }" >> /etc/mail/access + mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig + fi done # # Oops, these files moved # if [ -f /etc/sendmail.cw ] ; then - cat /etc/sendmail.cw | \ - awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \ - { print $1 }' >> /etc/mail/local-host-names - cp /etc/sendmail.cw /etc/sendmail.cw.rpmorig + cat /etc/sendmail.cw | \ + awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \ + { print $1 }' >> /etc/mail/local-host-names + mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig fi # # Rebuild maps (next reboot will rebuild also) # { /usr/bin/newaliases - for map in virtusertable access domaintable mailertable - do - if [ -f /etc/mail/${map} ] ; then - /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map} - sleep 1 - fi - done + for map in virtusertable access domaintable mailertable; do + if [ -f /etc/mail/${map} ] ; then + /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map} + sleep 1 + fi + done } > /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 %preun -if [ $1 = 0 ]; then - /sbin/chkconfig --del sendmail +if [ "$1" = "0" ]; then + if [ -f /var/lock/subsys/sendmail ]; then + /etc/rc.d/init.d/sendmail stop >&2 + fi + /sbin/chkconfig --del sendmail +fi + +%postun +if [ "$1" = "0" ]; then + /usr/sbin/userdel smmsp 2>/dev/null + /usr/sbin/groupdel smmsp 2>/dev/null fi # removal of compatibility links @@ -292,6 +334,7 @@ fi %files %defattr(644,root,root,755) +%doc *.gz examples/ %attr(755,root,root) %{_sbindir}/mailstats %attr(755,root,root) %{_sbindir}/praliases %attr(755,root,root) %{_bindir}/hoststat @@ -299,7 +342,7 @@ fi %attr(755,root,root) %{_bindir}/rmail %attr(755,root,root) %{_bindir}/makemap %attr(755,root,root) %{_sbindir}/makemap -%attr(755,root,root) %{_sbindir}/sendmail +%attr(2755,root,smmsp) %{_sbindir}/sendmail %attr(755,root,root) %{_bindir}/newaliases %attr(755,root,root) %{_bindir}/mailq %attr(755,root,root) %{_sbindir}/smrsh @@ -314,40 +357,45 @@ fi %{_mandir}/man1/newaliases.1* %{_mandir}/man1/mailq.1* +%dir /etc/smrsh +%dir %{_sysconfdir} /var/log/statistics -# XXX can't do noreplace here or new sendmail will not deliver. -%config %{_sysconfdir}/sendmail.cf -%attr(0644,root,root) %config %{_sysconfdir}/mail/sendmail.mc -%config(noreplace) %{_sysconfdir}/mail/local-host-names -%config(noreplace) %{_sysconfdir}/aliases -%attr(0644,root,mail) %ghost %{_sysconfdir}/aliases.db -%attr(0755,root,mail) %dir /var/spool/mqueue -%dir %{_sysconfdir}/smrsh -%dir %{_sysconfdir}/mail - -%config %{_sysconfdir}/mail/Makefile -%attr(0644,root,root) %ghost %{_sysconfdir}/mail/virtusertable.db -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/mail/virtusertable - -%attr(0644,root,root) %ghost %{_sysconfdir}/mail/access.db -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/mail/access - -%attr(0644,root,root) %ghost %{_sysconfdir}/mail/domaintable.db -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/mail/domaintable - -%attr(0644,root,root) %ghost %{_sysconfdir}/mail/mailertable.db -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/mail/mailertable - -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/mail/helpfile - -%config /etc/sysconfig/sendmail - -%config /etc/rc.d/init.d/sendmail - -%files cf -%defattr(644,root,root,755) -%{_libdir}/sendmail-cf - -%files doc -%defattr(644,root,root,755) -%{_prefix}/doc/sendmail +%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:%attr(644,root,root) /etc/mail/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 +%attr(755,root,root) %dir /etc/pam.d + +%config %{_sysconfdir}/Makefile +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access +%ghost %{_sysconfdir}/access.db +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable +%ghost %{_sysconfdir}/domaintable.db +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable +%ghost %{_sysconfdir}/mailertable.db +%config(noreplace) %verify(not md5 size mtime) %{_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