-#
# TODO:
-# - upgrade to 8.13.*
+# - 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
#
# 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.12.11
-Release: 9
+Version: 8.13.8
+Release: 1
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
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.159
-Requires(pre): /bin/id
-Requires(pre): /usr/bin/getgid
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
+BuildRequires: rpmbuild(macros) >= 1.310
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).
install %{SOURCE7} config.m4
# Ac-specific hack - ac-i386 builder has not fully operational shm
-%ifarch i386
+%ifarch i386 i586 i686 amd64
%{__perl} -pi -e 's/^(smtest.*t-shm)/dnl $1/' libsm/Makefile.m4
%endif
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
rm -rf $RPM_BUILD_ROOT
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},%{_libdir}/sendmail-cf} \
+ $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}}
# install the cf files
cd cf
rm -f cf/{Build,Makefile} feature/*~
-cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
+cp -ar * $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}
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}
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
%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 smmsp 1>&2
-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 -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
} > /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
%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*
%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
-
-%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