-#
# 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)
Summary(tr): Elektronik posta hizmetleri sunucusu
Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail
Name: sendmail
-Version: 8.13.3
-Release: 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: 2809fbf9c8b067947b650d0128928d05
+# Source0-md5: 5f29c94b42e0bb74d546b2ae84203a1e
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.aliases
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
-%{?with_db3:BuildRequires: db3-devel}
-%{!?with_db3:BuildRequires: db-devel >= 4.1.25}
+BuildRequires: db-devel >= 4.1.25
BuildRequires: man
-%{?with_ldap:BuildRequires: openldap-devel}
+%{?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.202
-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
Provides: user(smmsp)
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).
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
install %{SOURCE7} config.m4
# Ac-specific hack - ac-i386 builder has not fully operational shm
-%ifarch i386
-%{__perl} -pi -e 's/^(smtest.*t-shm)/dnl $1/' libsm/Makefile.m4
+%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} /usr/%{_lib}')" >> 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
# install the cf files
cd cf
rm -f cf/{Build,Makefile} feature/*~
-cp -ar * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
+cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
cd -
# sendmail.{cf,mc}
> $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
#"vim ruuls
-ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_prefix}/lib/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}
mv -f cf/README README.cf
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
} > /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
%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
-%attr(750,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/monit/*.monitrc
+%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
%files devel
%defattr(644,root,root,755)
%{_libdir}/libmilter.a
+%{_libdir}/libsm.a
+%{_libdir}/libsmutil.a
%{_includedir}/libmilter