File cyrus-sasl-saslauthd.spec of Package cyrus-sasl.14128

#
# spec file for package cyrus-sasl-saslauthd
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           cyrus-sasl-saslauthd
Version:        2.1.26
Release:        0
Summary:        The SASL Authentication Server
License:        BSD-4-Clause
Group:          Productivity/Networking/Other
URL:            http://asg.web.cmu.edu/sasl/

Source:         ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-%{version}.tar.gz
Source1:        cyrus-sasl-rc.tar.bz2
Source2:        README.Source
Source3:        baselibs.conf
Source4:        saslauthd.service
Patch:          cyrus-sasl.dif
Patch1:         shared_link_on_ppc.patch
Patch5:         cyrus-sasl-no_rpath.patch
Patch6:         cyrus-sasl-lfs.patch
Patch7:         fix-sasl-header.diff
Patch8:         0001-Fix-GSS-SPNEGO-mechanism-s-incompatible-behavior.patch
Patch9:         0002-Drop-unused-parameter-from-gssapi_spnego_ssf.patch
Patch10:        0003-Check-return-error-from-gss_wrap_size_limit.patch
Patch11:        0004-Add-support-for-retrieving-the-mech_ssf.patch
PreReq:         %fillup_prereq
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  db-devel
BuildRequires:  krb5-devel
BuildRequires:  libtool
BuildRequires:  mysql-devel
BuildRequires:  openldap2-devel
BuildRequires:  opie
BuildRequires:  pam-devel
BuildRequires:  postgresql-devel
BuildRequires:  pkgconfig(systemd)
%{?systemd_requires}

%description
This daemon is required when using cyrus-sasl in server software that
should authenticate with PAM, for example.

%package -n     cyrus-sasl-ldap-auxprop
Summary:        The cyrus-sasl LDAP auxprop plugin
Group:          Productivity/Networking/Other
Requires:       cyrus-sasl = %{version}

%description -n cyrus-sasl-ldap-auxprop
The LDAP auxprop plugin allows for tighter application/directory
integration.

%package -n     cyrus-sasl-sqlauxprop
Summary:        SQL auxprop plugin for cyrus-sasl
Group:          Development/Libraries/C and C++
Requires:       cyrus-sasl = %{version}

%description -n cyrus-sasl-sqlauxprop
The SQL auxprop plugin supports PostgreSQL and MySQL

%prep
%setup -n cyrus-sasl-%{version} -a 1
%patch
%patch1
%patch5 -p1
%patch6
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1

%build
find . -name "*.cvsignore" -exec rm -fv "{}" "+"
autoreconf -f -i
export CFLAGS="-fno-strict-aliasing $RPM_OPT_FLAGS -DLDAP_DEPRECATED"
%configure --with-plugindir=%{_libdir}/sasl2 \
            --with-configdir=/etc/sasl2/:%{_libdir}/sasl2 \
            --with-saslauthd=/run/sasl2/ \
            --enable-checkapop=no \
            --enable-cram=no \
            --enable-digest=no \
            --enable-otp=no \
            --enable-srp=no \
            --enable-plain=no \
            --enable-anon=no \
            --enable-ntlm=no \
            --enable-passdss=no \
            --enable-sample=no \
            --enable-login=no \
            --enable-gssapi=yes \
            --enable-gs2=no \
            --enable-scram=no \
            --enable-krb4=no \
            --enable-sql \
            --with-mysql=/usr/include/mysql \
            --with-pgsql=/usr/include/pgsql \
            --enable-ldapdb=yes \
            --with-pam \
            --with-ldap
make sasldir=%{_libdir}/sasl2 %{?_smp_mflags}

%install
cd plugins
make DESTDIR=$RPM_BUILD_ROOT sasldir=%{_libdir}/sasl2 install
cd ..
cd saslauthd
make DESTDIR=$RPM_BUILD_ROOT sasldir=%{_libdir}/sasl2 install
ln -s service "%buildroot/%_sbindir/rcsaslauthd"
install -m 755 -d $RPM_BUILD_ROOT/run/sasl2
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8
install -m 644 saslauthd.mdoc $RPM_BUILD_ROOT/%{_mandir}/man8/saslauthd.8
mkdir -p $RPM_BUILD_ROOT/usr/bin
install -m 755 testsaslauthd $RPM_BUILD_ROOT/usr/bin/testsaslauthd
cd -
mkdir -p $RPM_BUILD_ROOT/sbin
install -D -m 644 SuSE/sysconfig.saslauthd $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.saslauthd
rm -f $RPM_BUILD_ROOT/%{_mandir}/cat?/*
rm -f $RPM_BUILD_ROOT/%{_libdir}/sasl2/libsasldb*
rm -f $RPM_BUILD_ROOT/%{_libdir}/sasl2/libldapdb.la
rm -f $RPM_BUILD_ROOT/%{_libdir}/sasl2/libsql.la
rm -f $RPM_BUILD_ROOT/%{_libdir}/sasl2/libgs2.*
rm -f $RPM_BUILD_ROOT/%{_libdir}/sasl2/libgssapiv2.*

mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_unitdir}

%pre
%service_add_pre saslauthd.service

%preun
%service_del_preun saslauthd.service

%postun
%service_del_postun saslauthd.service

%post
%{fillup_only -n saslauthd}
%service_add_post saslauthd.service

%files
%defattr(-,root,root)
/var/adm/fillup-templates/sysconfig.saslauthd
%{_unitdir}/saslauthd.service
%dir %attr(0755, root, root) %ghost /run/sasl2   
/usr/sbin/*
/usr/bin/*
%doc %{_mandir}/man8/*.gz
%doc saslauthd/AUTHORS saslauthd/COPYING saslauthd/ChangeLog saslauthd/LDAP_SASLAUTHD saslauthd/NEWS saslauthd/README

%files -n cyrus-sasl-sqlauxprop
%defattr(-,root,root)
%dir %_libdir/sasl2/
%{_libdir}/sasl2/libsql.so*

%files -n cyrus-sasl-ldap-auxprop
%defattr(-,root,root)
%dir %_libdir/sasl2/
%{_libdir}/sasl2/libldapdb.so*

%changelog