-#
# 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.1
-Release: 1
+Version: 8.13.8
+Release: 5
License: BSD
Group: Networking/Daemons
Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
-# Source0-md5: 5407db289086261d7e7a09920d2ea14e
+# 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
+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
ÍÁÒÛÒÕÔÉÚÁæ§ ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ
ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀÚ¦× ÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§.
-%package devel
+%package -n libmilter-devel
Summary: Header files and static libmilter library
Summary(pl): Pliki nag³ówkowe i statyczna biblioteka libmilter
Group: Development/Libraries
+Provides: sendmail-devel
+Obsoletes: sendmail-devel
-%description devel
+%description -n libmilter-devel
Header files and static libmilter library.
-%description devel -l pl
+%description -n libmilter-devel -l pl
Pliki nag³ówkowe i statyczna biblioteka libmilter.
%prep
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
+# Ac-specific hack:
+# It's problem with _simultanous_ building when builders are on the same
+# machine. These are anonymous SHM tests (AFAIR) which must fail when called
+# simultanously...
+#
+# send on builders requests only for some arch - it won't fail.
+#- blues
+%ifarch i386 i586 athlon
+%{__sed} -i -e 's/^\(smtest.*t-shm\)/dnl \1/' libsm/Makefile.m4
+%{__sed} -i -e 's/^\(smtest.*t-sem\)/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
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 -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}
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
-
-%files devel
+%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
+%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 -n libmilter-devel
%defattr(644,root,root,755)
%{_libdir}/libmilter.a
+%{_libdir}/libsm.a
+%{_libdir}/libsmutil.a
%{_includedir}/libmilter