+#
+# Conditional build:
+# _without_ldap - without LDAP
+#
Summary: A widely used Mail Transport Agent (MTA)
-Summary(pl): Sendmail -- aplikacja do obs³ugi poczty elektronicznej
+Summary(de): sendmail-Mail-Übertragungsagent
+Summary(fr): Agent de transport de courrier sendmail
+Summary(pl): Sendmail - serwer poczty elektronicznej
+Summary(tr): Elektronik posta hizmetleri sunucusu
Name: sendmail
-Version: 8.11.1
+Version: 8.12.0
Release: 1
License: BSD
Group: Networking/Daemons
+Group(de): Netzwerkwesen/Server
Group(pl): Sieciowe/Serwery
Provides: smtpdaemon
Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
-Source1: sendmail.init
+Source1: %{name}.init
Source2: http://www.informatik.uni-kiel.de/~ca/email/rules/check.tar
Source3: aliases
-Source4: sendmail.sysconfig
-Source5: sendmail-etc-mail-Makefile
-Source6: sendmail.mc
-Source7: sendmail-config.m4
-Patch0: sendmail-redhat.patch
-Patch1: sendmail-makemapman.patch
-Patch2: sendmail-smrsh-paths.patch
-Patch3: sendmail-rmail.patch
-Patch4: sendmail-manpath.patch
-Patch5: sendmail-m4path.patch
-Patch6: sendmail-dtelnet.patch
-Patch7: sendmail-pld.mc.patch
-Patch8: sendmail-redirect.patch
+Source4: %{name}.sysconfig
+Source5: %{name}-etc-mail-Makefile
+Source6: %{name}.mc
+Source7: %{name}-config.m4
+Source8: %{name}.sasl
+Patch0: %{name}-makefile.patch
+#Patch0: %{name}-redhat.patch
+Patch1: %{name}-makemapman.patch
+Patch2: %{name}-smrsh-paths.patch
+Patch3: %{name}-rmail.patch
+Patch4: %{name}-os-paths.patch
+Patch5: %{name}-m4path.patch
+Patch6: %{name}-dtelnet.patch
+Patch7: %{name}-pld.mc.patch
+Patch8: %{name}-redirect.patch
+Patch9: %{name}-hprescan-dos.patch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
BuildRequires: cyrus-sasl-devel
BuildRequires: db3-devel
-BuildRequires: gdbm-devel
+%{!?_without_ldap:BuildRequires: openldap-devel}
BuildRequires: pam-devel
-Prereq: /sbin/chkconfig
+Requires: m4
+Prereq: chkconfig
Provides: smtpdaemon
Obsoletes: smtpdaemon
-Obsoletes: zmailer
-Obsoletes: qmail
-Obsoletes: smail
Obsoletes: exim
+Obsoletes: masqmail
Obsoletes: postfix
-#Obsoletes: sendmail-cf
+Obsoletes: qmail
+Obsoletes: sendmail-cf
+Obsoletes: sendmail-doc
+Obsoletes: smail
+Obsoletes: zmailer
+Obsoletes: omta
+
+%define _sysconfdir /etc/mail
%description
The Sendmail program is a very widely used Mail Transport Agent (MTA).
behind-the-scenes program which actually moves your e-mail over
networks or the Internet to where you want it to go.
-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
mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
-dokumentacja do programu sendmail znajduje siê w pakiecie sendmail-doc.
-
-%package cf
-Summary: The files needed to reconfigure Sendmail
-Summary(pl): Pliki potrzebne do rekonfiguracji Sendmaila
-Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
-Requires: %{name} = %{version}
-Requires: m4
-
-%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
-B
-Ten pakiet zawiera pliki konfiguracyjne, których bêdziesz potrzebowa³,
-by wygenerowaæ plik sendmail.cf, zawarty w pakiecie sendmail.
-Bêdziesz potrzebowa³ pakietu sendmail-cf je¿eli potrzebujesz
-zrekonfigurowaæ i przebudowaæ plik sendmail.cf. Na przyk³ad, domy¶lny
-sendmail.cf nie jest skonfigurowany dla UUCP. Je¿eli kiedy¶ bêdziesz
-potrzebowa³ wysy³aæ i odbieraæ porztê po UUCP, bêdziesz musia³
-zainstalowaæ pakiet sendmail-cf, który pomo¿e ci zrekonfigurowaæ Sendmaila.
-
-%package doc
-Summary: Documentation about the Sendmail Mail Transport Agent program
-Summary(pl): Dokumentacja do Sendmaila
-Group: Documentation
-Group(pl): Dokumentacja
-Requires: %{name} = %{version}
-
-%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.
-
-Install the sendmail-doc package if you need documentation about
-Sendmail.
-
-%description -l pl doc
-Ten pakiet zawiera dokumentacjê do programu Sendmail Mail Transport
-Agent (MTA). Dokumentacja zwawiera informacje o zmianach w bie¿±cej
-wersji i FAQ - najczêsciej zadawane pytania. Dokumentacja dostêpna jest
-w formacie PostScript(TM) oraz troff. Je¿eli potrzebujesz dokumentacji
-B
-- zainstaluj ten pakiet.
+%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.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p0
+%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
# seems to be obsoleted...
#tar xf %{SOURCE2} -C cf
%build
-#RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1 -DNETINET6"
-# won't compile with -DNETINET6 on glibc-2.2 - resolver problems
+%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
-RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1"
+RPM_OPT_FLAGS="%{rpmcflags} \
+ -DUSE_VENDOR_CF_PATH=1 -DNETINET6 -D_FFR_TESTMODE_DROP_PRIVS"
export RPM_OPT_FLAGS
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 redhat.mc > redhat.cf
+#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 redhat.mc > redhat.cf
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{mail,smrsh}
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d $RPM_BUILD_ROOT/etc/sysconfig
-install -d $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir}
-install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8}
-install -d $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue
-install -d $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
+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 \
OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
IDNU=`id -nu`
IDNG=`id -ng`
SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
- UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG"
+ UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
+ CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG \
+ BINOWN=$IDNU BINGRP=$IDNG"
%{__make} $SMINSTOPT install -C $OBJDIR/sendmail
%{__make} $SMINSTOPT install -C $OBJDIR/mailstats
%{__make} $SMINSTOPT install -C $OBJDIR/praliases
# install docs by hand
install -d $RPM_BUILD_ROOT%{_docdir}/sendmail
cp -ar FAQ LICENSE KNOWNBUGS README RELEASE_NOTES doc $RPM_BUILD_ROOT%{_docdir}/sendmail
-cp smrsh/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.smrsh
-cp cf/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.cf
+cp -f smrsh/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.smrsh
+cp -f cf/README $RPM_BUILD_ROOT%{_docdir}/sendmail/README.cf
# install the cf files
cd cf
cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
cd -
-install cf/cf/redhat.cf $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf
+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
+ > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
echo "# local-host-names - include all aliases for your machine here." \
- > $RPM_BUILD_ROOT%{_sysconfdir}/mail/local-host-names
+ > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
done
-cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/mail/access
+cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/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
EOF
for map in virtusertable access domaintable mailertable ; do
- touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}
- $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf hash \
- $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/mail/${map}
+ 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}/mail/aliases
-$RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/mail/sendmail.cf hash \
- $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases.db < %{SOURCE3}
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
+$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 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
-install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mail/Makefile
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
+
+mv -f $RPM_BUILD_ROOT/usr/share/doc/sendmail/{FAQ,KNOWNBUGS,LICENSE,README,README.cf,doc/op/op.me} .
+
+gzip -9nf FAQ KNOWNBUGS README README.cf op.me RELEASE_NOTES
%clean
rm -rf $RPM_BUILD_ROOT
# 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
+ cp /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
+ cp /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
+ cp /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
%files
%defattr(644,root,root,755)
+%doc *.gz
%attr(755,root,root) %{_sbindir}/mailstats
%attr(755,root,root) %{_sbindir}/praliases
%attr(755,root,root) %{_bindir}/hoststat
%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(6755,root,mail) %{_sbindir}/sendmail
%attr(755,root,root) %{_bindir}/newaliases
%attr(755,root,root) %{_bindir}/mailq
%attr(755,root,root) %{_sbindir}/smrsh
/var/log/statistics
# XXX can't do noreplace here or new sendmail will not deliver.
-#%config %{_sysconfdir}/sendmail.cf
-%config %{_sysconfdir}/mail/sendmail.cf
-%config %{_sysconfdir}/mail/sendmail.mc
-%config(noreplace) %{_sysconfdir}/mail/local-host-names
-%config(noreplace) %{_sysconfdir}/mail/aliases
-%attr(0644,root,mail) %ghost %{_sysconfdir}/mail/aliases.db
-%attr(0755,root,mail) %dir /var/spool/mqueue
-%dir %{_sysconfdir}/smrsh
-%dir %{_sysconfdir}/mail
-
-%config %{_sysconfdir}/mail/Makefile
-%ghost %{_sysconfdir}/mail/virtusertable.db
-%config(noreplace) %{_sysconfdir}/mail/virtusertable
-%ghost %{_sysconfdir}/mail/access.db
-%config(noreplace) %{_sysconfdir}/mail/access
-%ghost %{_sysconfdir}/mail/domaintable.db
-%config(noreplace) %{_sysconfdir}/mail/domaintable
-%ghost %{_sysconfdir}/mail/mailertable.db
-%config(noreplace) %{_sysconfdir}/mail/mailertable
-%config(noreplace) %{_sysconfdir}/mail/helpfile
+%config(noreplace) %{_sysconfdir}/sendmail.cf
+%config(noreplace) %{_sysconfdir}/sendmail.mc
+%config(noreplace) %{_sysconfdir}/local-host-names
+%config(noreplace) %{_sysconfdir}/aliases
+%attr(0644,root,mail) %ghost %{_sysconfdir}/aliases.db
+%attr(0770,root,mail) %dir /var/spool/mqueue
+%dir /etc/smrsh
+%dir %{_sysconfdir}
+
+%config %{_sysconfdir}/Makefile
+%ghost %{_sysconfdir}/virtusertable.db
+%config(noreplace) %{_sysconfdir}/virtusertable
+%ghost %{_sysconfdir}/access.db
+%config(noreplace) %{_sysconfdir}/access
+%ghost %{_sysconfdir}/domaintable.db
+%config(noreplace) %{_sysconfdir}/domaintable
+%ghost %{_sysconfdir}/mailertable.db
+%config(noreplace) %{_sysconfdir}/mailertable
+%config(noreplace) %{_sysconfdir}/helpfile
%attr(754,root,root) /etc/rc.d/init.d/sendmail
%config(noreplace) /etc/sysconfig/sendmail
-
-%files cf
-%defattr(644,root,root,755)
-%{_libdir}/sendmail-cf
-
-%files doc
-%defattr(644,root,root,755)
-%{_docdir}/sendmail
+%config(noreplace) /etc/sasl/Sendmail.conf
+
+%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