# - 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
+# - fix re-entrancy of install
+# - add tests bcond?
#
# Conditional build:
%bcond_without ldap # without LDAP support
Summary(tr.UTF-8): Elektronik posta hizmetleri sunucusu
Summary(uk.UTF-8): Поштовий транспортний агент sendmail
Name: sendmail
-Version: 8.14.3
-Release: 6
+Version: 8.18.1
+Release: 1
License: BSD
Group: Networking/Daemons/SMTP
-Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
-# Source0-md5: a5ee5d26e1f546a2da5fb9a513bd6bce
+Source0: https://ftp.sendmail.org/%{name}.%{version}.tar.gz
+# Source0-md5: b6b332295b5779036d4c9246f96f673c
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.aliases
Patch4: %{name}-m4path.patch
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
-BuildRequires: db-devel >= 4.1.25
-BuildRequires: man
+Patch7: %{name}-cyrus.patch
+# https://blue-labs.org/software/sm-pgsql/sendmail.php
+# https://blue-labs.org/software/sm-pgsql/bluelabs-smpgsql-8.14.3.patch.bz2
+Patch8: bluelabs-smpgsql-8.14.3.patch
+URL: https://www.sendmail.org/
+BuildRequires: cyrus-sasl-devel >= 2.1.21
+BuildRequires: db-devel >= 5.0
+BuildRequires: libnsl-devel
+# man or man-db
+BuildRequires: man-db
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
-%{?with_tls:BuildRequires: openssl-devel >= 0.9.7d}
-%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_tls:BuildRequires: openssl-devel >= 0.9.8}
+%{?with_pgsql:BuildRequires: postgresql-devel >= 8.1}
BuildRequires: rpmbuild(macros) >= 1.310
BuildRequires: sed >= 4.0
%ifarch sparc
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%{?with_pgsql:%patch7 -p1}
+%patch7 -p1
+%{?with_pgsql:%patch8 -p1}
sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
cp -p %{SOURCE7} config.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(\`confLIBSEARCHPATH', \`/%{_lib} %{_prefix}/%{_lib}')" >> config.m4
echo "define(\`confCC', \`%{__cc}')" >> config.m4
%ifarch sparc sparc64
echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DSM_CONF_SEM=0 -DNETINET6')" >> config.m4
%else
echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
%endif
-echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> 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
-%endif
+echo "define(\`confLDOPTS', \`%{rpmldflags}')" >> config.m4
%if %{with ldap}
echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
%endif
%if %{with pgsql}
-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
+echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv -lcrypto')" >> config.m4
%endif
%if %{with tls}
echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
-echo "APPENDDEF(\`confENVDEF', \`-D_FFR_DEAL_WITH_ERROR_SSL')" >> config.m4
+echo "APPENDDEF(\`confENVDEF', \`-D_FFR_TLS_1')" >> config.m4
echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
-echo "APPENDDEF(\`confENVDEF', \`-D_FFR_SMTP_SSL')" >> config.m4
%endif
-
-echo "APPENDDEF(\`confENVDEF', \`-DMILTER')" >> config.m4
+echo "APPENDDEF(\`confENVDEF', \`-DHASFLOCK')" >> config.m4
%ifarch sparc
%define Build sparc32 sh Build
# install the cf files
cd cf
-rm -f cf/{Build,Makefile}
-rm -f feature/*~ feature/*.orig
+%{__rm} cf/{Build,Makefile}
+find . -name '*~' -o -name '*.orig' | xargs -r %{__rm}
cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
cd -
sed -e 's|@@PATH@@|%{_datadir}/sendmail-cf|' < %{SOURCE6} \
> $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
-%if %{with pgsql}
-cp -p bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
-%endif
-
# submit.mc (submit.cf is installed automatically)
cp -p cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
-mv -f smrsh/README README.smrsh
-mv -f cf/README README.cf
-mv -f doc/op/op.me .
+%{__mv} smrsh/README README.smrsh
+%{__mv} cf/README README.cf
+%{__mv} doc/op/op.me .
bzip2 -dc %{SOURCE4} | tar xf -
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf{,/cf}/README
+# foreign systems
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/cf/cs-{hpux*,osf1,solaris*,sunos*,ultrix*}.mc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/cf/generic-{bsd*,hpux*,mpeix,nextstep*,osf1,solaris,sunos*,ultrix*}.{cf,mc}
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/cf/s2k-{osf1,ultrix*}.mc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/ostype/{a-ux,aix*,altos,amdahl-uts,bsd*,darwin,dgux,domainos,dragonfly,dynix*,freebsd*,gnu,hpux*,irix*,isc*,maxion,mklinux,mpeix,nextstep,openbsd,osf1,powerux,ptx2,qnx,riscos*,sco*,sinix,solaris*,sunos*,svr4,ultrix*,unicos*,unixware*,unknown,uxpds}.m4
+# foreign machines
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/cf/{chez.cs,huginn.cs,knecht,mail.cs,mail.eecs,mailspool.cs,python.cs,ucbarpa,ucbvax,vangogh.cs}.mc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/domain/{Berkeley.EDU,CS.Berkeley.EDU,EECS.Berkeley.EDU,S2K.Berkeley.EDU,berkeley-only}.m4
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/hack/cssubdomain.m4
+# precompiled files
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/cf/*.cf
+# MIB (package as mibs-*?)
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/sendmail-cf/sendmail.schema
+
# for perl-Sendmail-Milter
install $OBJDIR/libsm/libsm.a $OBJDIR/libsmutil/libsmutil.a \
$RPM_BUILD_ROOT%{_libdir}
%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
%dir %{_datadir}/sendmail-cf
%dir %{_datadir}/sendmail-cf/cf
+%{_datadir}/sendmail-cf/cf/clientproto.mc
+%{_datadir}/sendmail-cf/cf/cyrusproto.mc
+%{_datadir}/sendmail-cf/cf/generic-linux.mc
%{_datadir}/sendmail-cf/cf/pld.mc
+%{_datadir}/sendmail-cf/cf/submit.mc
+%{_datadir}/sendmail-cf/cf/tcpproto.mc
+%{_datadir}/sendmail-cf/cf/uucpproto.mc
+%dir %{_datadir}/sendmail-cf/domain
+%{_datadir}/sendmail-cf/domain/generic.m4
%{_datadir}/sendmail-cf/feature
+%{_datadir}/sendmail-cf/hack
%{_datadir}/sendmail-cf/m4
%{_datadir}/sendmail-cf/mailer
%dir %{_datadir}/sendmail-cf/ostype