File libsasl2-2.spec of Package libsasl2-2.3289

#
# spec file for package cyrus-sasl
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#

# norootforbuild


Name:           libsasl2-2
Version:        2.1.22
Release:        182.<RELEASE27>
BuildRequires:  db-devel krb5-devel opie pam-devel
BuildRequires:  libopenssl-devel automake autoconf
AutoReqProv:    on
License:        BSD-4-Clause
Group:          Productivity/Networking/Other
Url:            http://asg.web.cmu.edu/sasl/
Summary:        Implementation of Cyrus SASL API
Source:         cyrus-sasl-%{version}.tar.bz2
Source1:        cyrus-sasl-rc.tar.bz2
Source2:        README.Source
Source3:	baselibs.conf
Patch:          cyrus-sasl-%{version}.dif
Patch1:         shared_link_on_ppc.patch
Patch2:         cyrus-sasl-gcc4.patch
Patch3:         cyrus-sasl-implicitfunc.dif
Patch4:         libsasl_encode64_termination.dif
Patch5:		cyrus-sasl-no-des.patch
PreReq:         %insserv_prereq %fillup_prereq
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
#

%package      gssapi
License:        BSD-4-Clause
Summary:        cyrus-sasl plugin for the GSSAPI mechanism
AutoReqProv:    on
Group:          Development/Libraries/C and C++
Requires:       %name
#

%package      crammd5
License:        BSD-4-Clause
Summary:        cyrus-sasl plugin for the CRAMMD5 mechanism
AutoReqProv:    on
Group:          Development/Libraries/C and C++
Requires:       %name

%package      digestmd5
License:        BSD-4-Clause
Summary:        cyrus-sasl plugin for the DIGESTMD5 mechanism
AutoReqProv:    on
Group:          Development/Libraries/C and C++
Requires:       %name

%package      otp
License:        BSD-4-Clause
Summary:        cyrus-sasl plugin for the OTP mechanism
AutoReqProv:    on
Group:          Development/Libraries/C and C++
Requires:       %name

%package      plain
License:        BSD-4-Clause
Summary:        cyrus-sasl plugin for the PLAIN mechanism
AutoReqProv:    on
Group:          Development/Libraries/C and C++
Requires:       %name

%package      ntlm
License:        BSD-4-Clause
Summary:        Implementation of Cyrus SASL API
AutoReqProv:    on
Group:          Productivity/Networking/Other
Requires:       %name

%description
This is the Cyrus SASL API. It can be used on the client or server side
to provide authentication. See RFC 2222 for more information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%description gssapi
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%if "%{name}" == "cyrus-sasl"

%description devel
This is the Cyrus SASL API. It can be used on the client or server side
to provide authentication. See RFC 2222 for more information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu
%endif

%description digestmd5
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%description crammd5
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%description otp
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%description plain
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%description ntlm
This is the Cyrus SASL API. It can be used on the client or server side
to provide authentication. See RFC 2222 for more information.



Authors:
--------
    <tech-transfer> tech-transfer@andrew.cmu.edu

%prep
%setup -n cyrus-sasl-%{version} -a 1
if [ -e %{_builddir}/%{name}-%{version}/dlcompat-*/ ]
then
    echo "dlcompat contains potential legal risks."
    exit 1;
fi
%patch
%patch1
%patch2
%patch3 -p1
%patch4
%patch5 -p1

%build
echo prefix is %_prefix
echo libdir is %_libdir
find . -name \*.cvsignore -print0 | xargs -0 rm -fv
# has old libtool macros (and nothing else)
rm -f acinclude.m4
rm -f saslauthd/acinclude.m4
rm -rf autom4te.cache
rm -rf saslauthd/autom4te.cache
# libtoolize --force
# cyrus-sasl2 does not work, when using newer libtool
aclocal -I cmulocal -I config
autoconf
cd saslauthd
autoconf
cd -
export CFLAGS="-fno-strict-aliasing $RPM_OPT_FLAGS"
export CPPFLAGS=-I/usr/include/heimdal
./configure 	\
		--libdir=%{_libdir} \
		--with-plugindir=%{_libdir}/sasl2-2 \
                --with-configdir=/etc/sasl2/:%{_libdir}/sasl2 \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=%{_mandir} \
		--with-saslauthd=/var/run/sasl2/ \
		--enable-pam \
		--enable-sample \
		--enable-login \
		--enable-gssapi \
		--enable-ntlm \
		--enable-krb4=no \
                --enable-sql=no \
		--with-devrandom=/dev/urandom
make sasldir=%{_libdir}/sasl2-2

%install
make DESTDIR=$RPM_BUILD_ROOT sasldir=%{_libdir}/sasl2-2 install
install -m 755 -d $RPM_BUILD_ROOT/var/run/sasl2
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/etc/sasl2
install -m 755 sample/.libs/client $RPM_BUILD_ROOT/usr/bin/cyrus_sasl_sample_client
install -m 755 sample/.libs/server $RPM_BUILD_ROOT/usr/bin/cyrus_sasl_sample_server
pushd utils
gcc -Wall -W -O2 -fmessage-length=0 -o dbconverter dbconverter-2.o ../sasldb/.libs/libsasldb.al -lresolv ../lib/.libs/libsasl2.so -ldl -ldb
#gcc -Wall -W -O2 -fmessage-length=0 -o dbconverter dbconverter-2.o ../sasldb/.libs/libsasldb.al -lresolv ../lib/.libs/libsasl2.so -ldl -ldb -Wl,--rpath -Wl,/usr/src/packages/BUILD/cyrus-sasl-2.1.12/lib/.libs
install -m 755 dbconverter $RPM_BUILD_ROOT/usr/sbin/dbconverter
popd
chmod 0644 doc/*
rm -f doc/Makefile*
rm -f $RPM_BUILD_ROOT/%{_mandir}/cat?/*
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man8
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man3/
rm -rf $RPM_BUILD_ROOT/usr/sbin
rm -rf $RPM_BUILD_ROOT/usr/include
rm -rf $RPM_BUILD_ROOT/usr/bin
rm -rf $RPM_BUILD_ROOT/usr/%_lib/libsasl2.la
rm -rf $RPM_BUILD_ROOT/usr/%_lib/libsasl2.so
find $RPM_BUILD_ROOT/%{_libdir}/sasl2-2 -name "*.la" | xargs rm -f

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libanonymous.so*
%{_libdir}/sasl2-2/liblogin.so*
%{_libdir}/sasl2-2/libsasldb.so*
%{_libdir}/libsasl2.so.*
%doc AUTHORS COPYING ChangeLog INSTALL NEWS README doc
%doc saslauthd/AUTHORS saslauthd/COPYING saslauthd/ChangeLog saslauthd/INSTALL saslauthd/LDAP_SASLAUTHD saslauthd/NEWS saslauthd/README 

%files gssapi
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libgssapiv2.so*

%files crammd5
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libcrammd5.so*

%files digestmd5
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libdigestmd5.so*

%files otp
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libotp.so*

%files plain
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libplain.so*

%files ntlm
%defattr(-,root,root)
%dir %{_libdir}/sasl2-2
%{_libdir}/sasl2-2/libntlm.so*

%changelog