- update to 2.1.21

- turn off compilation of libsasl v1 (finally)
- explicitly disable sqlite to avoid the build warning
- change the default mechanism which is set for saslauthd from "shadow" to
    "pam" (#159194)
- split the shared library up from saslauthd so that multilib systems don't
    have to pull in every dependency of saslauthd for the compat arch
    (#166749)
This commit is contained in:
Nalin Dahyabhai 2005-08-29 18:27:47 +00:00
parent f643f03e50
commit 77ce9f786e
4 changed files with 85 additions and 71 deletions

View File

@ -5,3 +5,5 @@ cyrus-sasl-2.1.20.tar.gz
cyrus-sasl-2.1.20.tar.gz.sig
db-4.3.21.tar.gz
db-4.3.27.tar.gz
cyrus-sasl-2.1.21.tar.gz
cyrus-sasl-2.1.21.tar.gz.sig

View File

@ -5,13 +5,13 @@
# Version 1 support. We provide the library and plugins for the vanishingly
# small number of applications which still need them. As of this writing,
# nothing in the FC4 test tree needs them.
%define includev1 1
# nothing in Fedora 3 or 4 (Core or Extras) needs them.
%define includev1 0
Summary: The Cyrus SASL library.
Name: cyrus-sasl
Version: 2.1.20
Release: 5
Version: 2.1.21
Release: 1
License: Freely Distributable
Group: System Environment/Libraries
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz
@ -19,14 +19,15 @@ Source1: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz.si
%if %{includev1}
Source2: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{cs1_version}.tar.gz
Source3: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{cs1_version}.tar.gz.sig
Source5: README.RPM
%endif
Source4: saslauthd.init
Source5: README.RPM
Source6: http://www.sleepycat.com/update/%{db_version}/db-%{db_version}.tar.gz
Source7: sasl-mechlist.c
Source8: sasl-checkpass.c
Source9: saslauthd.sysconfig
URL: http://asg.web.cmu.edu/sasl/sasl-library.html
Requires: %{name}-lib = %{version}-%{release}
%if %{includev1}
Patch0: cyrus-sasl-1.5.24-rpath.patch
Patch1: cyrus-sasl-1.5.28-autoconf25.patch
@ -34,22 +35,26 @@ Patch2: cyrus-sasl-1.5.28-automake17.patch
Patch3: cyrus-sasl-1.5.28-automake18.patch
Patch4: cyrus-sasl-1.5.28-saslauthd2.patch
Patch8: cyrus-sasl-1.5.28-notgnu.patch
Patch16: cyrus-sasl-1.5.28-urandom.patch
%endif
Patch5: cyrus-sasl-2.1.7-gdbm.patch
Patch6: cyrus-sasl-2.1.10-des.patch
Patch7: cyrus-sasl-2.1.20-gssapi-dynamic.patch
Patch9: cyrus-sasl-2.1.17-saslauthd1.patch
Patch10: cyrus-sasl-2.1.20-db_bundle.patch
Patch10: cyrus-sasl-2.1.21-db_bundle.patch
Patch11: cyrus-sasl-2.1.18-no_rpath.patch
Patch12: cyrus-sasl-1.5.28-env.patch
Patch13: cyrus-sasl-2.1.20-notgnu.patch
Patch14: cyrus-sasl-2.1.20-conflict.patch
Patch15: cyrus-sasl-2.1.20-saslauthd.conf-path.patch
Patch17: cyrus-sasl-2.1.21-builddir.patch
Patch18: cyrus-sasl-2.1.21-linksrcs.patch
Buildroot: %{_tmppath}/%{name}-root
%if %{includev1}
BuildPrereq: gdbm-devel
%endif
BuildPrereq: autoconf, automake, libtool
BuildPrereq: krb5-devel >= 1.2, openssl-devel, pam-devel, pkgconfig
BuildPrereq: krb5-devel >= 1.2.2, openssl-devel, pam-devel, pkgconfig
BuildPrereq: mysql-devel, postgresql-devel
Prereq: /sbin/ldconfig, chkconfig, /sbin/service
@ -58,8 +63,16 @@ The %{name} package contains the Cyrus implementation of SASL.
SASL is the Simple Authentication and Security Layer, a method for
adding authentication support to connection-based protocols.
%package lib
Group: System Environment/Libraries
Summary: Shared libraries needed by applications which use Cyrus SASL.
%description lib
The %{name}-lib package contains shared libraries which are needed by
applications which use the Cyrus SASL library.
%package devel
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: Development/Libraries
Summary: Files needed for developing applications with Cyrus SASL.
@ -68,7 +81,7 @@ The %{name}-devel package contains files needed for developing and
compiling applications which use the Cyrus SASL library.
%package gssapi
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: System Environment/Libraries
Summary: GSSAPI support for Cyrus SASL.
@ -78,7 +91,7 @@ support GSSAPI authentication. GSSAPI is commonly used for Kerberos
authentication.
%package plain
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: System Environment/Libraries
Summary: PLAIN and LOGIN support for Cyrus SASL.
@ -87,7 +100,7 @@ The %{name}-plain package contains the Cyrus SASL plugins which support
PLAIN and LOGIN authentication schemes.
%package md5
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: System Environment/Libraries
Summary: CRAM-MD5 and DIGEST-MD5 support for Cyrus SASL.
@ -96,7 +109,7 @@ The %{name}-md5 package contains the Cyrus SASL plugins which support
CRAM-MD5 and DIGEST-MD5 authentication schemes.
%package ntlm
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: System Environment/Libraries
Summary: NTLM support for Cyrus SASL.
@ -105,7 +118,7 @@ The %{name}-ntlm package contains the Cyrus SASL plugin which supports
the NTLM authentication schemes.
%package sql
Requires: %{name} = %{version}-%{release}
Requires: %{name}-lib = %{version}-%{release}
Group: System Environment/Libraries
Summary: SQL auxprop support for Cyrus SASL.
@ -129,6 +142,7 @@ pushd cyrus-sasl-%{cs1_version}
%patch4 -p1 -b .saslauthd2
%patch8 -p1 -b .notgnu
%patch12 -p1 -b .env
%patch16 -p1 -b .urandom
rm config/ltconfig
libtoolize -f -c
aclocal -I config -I cmulocal
@ -139,10 +153,6 @@ popd
%endif
pushd cyrus-sasl-%{version}
for buildtype in static shared ; do
mkdir build-${buildtype}
ln -s ../configure build-${buildtype}
done
%patch5 -p1 -b .gdbm
%patch6 -p1 -b .des
%patch7 -p1 -b .gssapi-dynamic
@ -151,6 +161,9 @@ done
%patch11 -p1 -b .no_rpath
%patch13 -p1 -b .notgnu
%patch14 -p1 -b .conflict
%patch15 -p1 -b .path
%patch17 -p1 -b .builddir
%patch18 -p1 -b .linksrcs
# FIXME - this is just weird
rm config/ltconfig config/libtool.m4
rm -fr autom4te.cache
@ -170,6 +183,7 @@ automake -a -c -f
autoheader
autoconf -f
popd
popd
%if %{includev1}
@ -206,6 +220,7 @@ make install
popd
# Find Kerberos.
krb5_prefix=`krb5-config --prefix`
if test x$krb5_prefix = x%{_prefix} ; then
krb5_prefix=
else
@ -244,7 +259,7 @@ popd
mysql_config=mysql_config
pg_config=pg_config
SQL_CFLAGS=`${mysql_config} --cflags`" -I"`${pg_config} --includedir`
SQL_LIBS=`${mysql_config} --libs`" -L"`${pg_config} --libdir`
SQL_LIBS=`${mysql_config} --libs`" -L"`${pg_config} --libdir`" -lpq"
SQL_CFLAGS=`eval echo "$SQL_CFLAGS" | sed -e 's,-I%{_includedir}[^/],,g' -e 's,-I%{_includedir}$,,g' -e 's,[[:blank:]]+, ,g'`
SQL_LIBS=`eval echo "$SQL_LIBS" | sed -e 's,-L%{_libdir}[^/],,g' -e 's,-L%{_libdir}$,,g' -e 's,[[:blank:]]+, ,g'`
SQL_LDFLAGS=`eval echo "$SQL_LIBS" | sed -e 's,-[^L][^ ]*,,g'`
@ -262,24 +277,9 @@ CFLAGS=`echo $CFLAGS $SQL_CFLAGS | cleanup_flags`; export CFLAGS
CPPFLAGS=`echo $CPPFLAGS $SQL_CFLAGS | cleanup_flags`; export CPPFLAGS
LDFLAGS=`echo $LDFLAGS $SQL_LDFLAGS | cleanup_flags`; export LDFLAGS
# Version 2. If built statically, the plugins are part of the library itself,
# and if built shared in the same instance, in the shared library, too, so we
# build twice. Yay.
for buildtype in static shared ; do
pushd cyrus-sasl-%{version}/build-${buildtype}
build_static=
build_shared=
eval build_${buildtype}=yes
if test x$build_shared = xyes ; then
moreflags="--enable-sql --with-mysql=%{_prefix} --with-pgsql=%{_prefix}"
fi
# We patch configure.in, so we regenerate configure, but the generated version
# doesn't cache whether or not it can build shared libraries, so configure gets
# confused. Aaargh.
ac_cv_can_build_shared=yes
export ac_cv_can_build_shared
pushd cyrus-sasl-%{version}
%configure \
--disable-shared --disable-static --enable-${buildtype} \
--enable-shared --enable-static \
--disable-java \
--with-plugindir=%{_plugindir2} \
--disable-krb4 \
@ -299,30 +299,22 @@ export ac_cv_can_build_shared
--enable-plain \
--enable-login \
--disable-otp \
--enable-ldapdb \
--enable-sql --with-mysql=%{_prefix} --with-pgsql=%{_prefix} \
--without-sqlite \
$moreflags
# --enable-auth-sasldb -- EXPERIMENTAL
make sasldir=%{_plugindir2}
make -C saslauthd testsaslauthd
popd
done
# Merge our static libdb in with libsasl, because we won't be installing it.
pushd cyrus-sasl-%{version}/build-static/lib
pushd cyrus-sasl-%{version}/lib
ar x ${topdir}/db-instroot/lib/libdb.a
ar cru libsasl2.a `ar t ${topdir}/db-instroot/lib/libdb.a`
# Build small programs to list the available mechanisms, because I need them.
%{__cc} -o sasl2-static-mechlist \
-I../../include $CFLAGS \
$RPM_SOURCE_DIR/sasl-mechlist.c \
$LDFLAGS ./libsasl2.a \
`pkg-config --libs openssl`
popd
pushd cyrus-sasl-%{version}/build-shared/lib
tagname=CC ../libtool --mode=link %{__cc} -o sasl2-shared-mechlist -I../../include $CFLAGS $RPM_SOURCE_DIR/sasl-mechlist.c $LDFLAGS ./libsasl2.la
popd
pushd cyrus-sasl-%{version}/build-shared
#tagname=CC ./libtool --mode=link %{__cc} -o saslauthd2-checkpass -DSASL2 -I../include $CFLAGS $RPM_SOURCE_DIR/sasl-checkpass.c $LDFLAGS ./lib/libsasl2.la
tagname=CC ../libtool --mode=link %{__cc} -o sasl2-shared-mechlist -I../include $CFLAGS $RPM_SOURCE_DIR/sasl-mechlist.c $LDFLAGS ./libsasl2.la
popd
%install
@ -339,11 +331,7 @@ install -m755 sample/server $RPM_BUILD_ROOT%{_bindir}/sasl-sample-server
popd
%endif
pushd cyrus-sasl-%{version}/build-static
make install DESTDIR=$RPM_BUILD_ROOT sasldir=%{_plugindir2} -C lib
popd
pushd cyrus-sasl-%{version}/build-shared
pushd cyrus-sasl-%{version}
make install DESTDIR=$RPM_BUILD_ROOT sasldir=%{_plugindir2}
install -m755 -d $RPM_BUILD_ROOT%{_bindir}
@ -359,7 +347,7 @@ install -m755 utils/dbconverter-2 $RPM_BUILD_ROOT%{_sbindir}/dbconverter-2
# Install the saslauthd mdoc page in the expected location. Sure, it's not
# really a man page, but groff seems to be able to cope with it.
install -m755 -d $RPM_BUILD_ROOT%{_mandir}/man8/
install -m644 ../saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
install -m644 saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
# Create the saslauthd listening directory.
install -m755 -d $RPM_BUILD_ROOT/var/run/saslauthd
@ -383,43 +371,52 @@ $RPM_BUILD_ROOT%{_sbindir}/
# Figure out an easy way to query the list of available mechanisms.
libtool --mode=install \
install -m755 cyrus-sasl-%{version}/build-shared/lib/sasl2-shared-mechlist \
$RPM_BUILD_ROOT%{_sbindir}/
libtool --mode=install \
install -m755 cyrus-sasl-%{version}/build-static/lib/sasl2-static-mechlist \
install -m755 cyrus-sasl-%{version}/lib/sasl2-shared-mechlist \
$RPM_BUILD_ROOT%{_sbindir}/
# Remove unpackaged files from the buildroot.
rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/libotp.*
rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.a
rm -f $RPM_BUILD_ROOT%{_mandir}/cat8/saslauthd.8
# Check that the static library includes all of the dependencies which
# aren't provided by other packages, i.e. that static linking works.
mysql_config=mysql_config
pg_config=pg_config
SQL_CFLAGS=`${mysql_config} --cflags`" -I"`${pg_config} --includedir`
SQL_LIBS=`${mysql_config} --libs`" -L"`${pg_config} --libdir`" -lpq"
%{__cc} -o $RPM_BUILD_ROOT/%{_sbindir}/sasl2-static-mechlist \
-I$RPM_BUILD_ROOT/%{_includedir}/sasl $RPM_OPT_FLAGS $SQL_CFLAGS \
$RPM_SOURCE_DIR/sasl-mechlist.c \
$RPM_BUILD_ROOT/%{_libdir}/libsasl2.a \
$SQL_LIBS -lldap -llber `pkg-config --libs openssl`
%clean
test "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig
/sbin/chkconfig --add saslauthd
%preun
if [ $1 = 0 ] ; then
if [ $1 -eq 0 ] ; then
/sbin/chkconfig --del saslauthd
fi
%postun
/sbin/ldconfig
if [ $1 != 0 ] ; then
if [ $1 -ne 0 ] ; then
/sbin/service saslauthd condrestart 2>&1 > /dev/null
fi
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%files
%defattr(-,root,root)
%if %{includev1}
%doc %{name}-%{version}/%{cs1_version}
%endif
%doc %{name}-%{version}/{AUTHORS,COPYING,NEWS,README,doc/*.html}
%doc %{name}-%{version}/saslauthd/LDAP_SASLAUTHD
%doc $RPM_SOURCE_DIR/README.RPM
%{_libdir}/libsasl*.so.*
%endif
%doc %{name}-%{version}/saslauthd/LDAP_SASLAUTHD
%if %{includev1}
%dir %{_plugindir}/
%endif
@ -432,6 +429,8 @@ fi
%{_plugindir2}/*anonymous*.la
%{_plugindir2}/*sasldb*.so*
%{_plugindir2}/*sasldb*.la
%{_plugindir2}/*ldapdb*.so*
%{_plugindir2}/*ldapdb*.la
%{_mandir}/man8/*
%{_sbindir}/dbconverter-2
%if %{includev1}
@ -446,6 +445,11 @@ fi
%config /etc/rc.d/init.d/saslauthd
/var/run/saslauthd
%files lib
%defattr(-,root,root)
%doc %{name}-%{version}/{AUTHORS,COPYING,NEWS,README,doc/*.html}
%{_libdir}/libsasl*.so.*
%files plain
%defattr(-,root,root)
%if %{includev1}
@ -532,6 +536,15 @@ fi
#%{_sbindir}/saslauthd2-checkpass
%changelog
* Mon Aug 29 2005 Nalin Dahyabhai <nalin@redhat.com> 2.1.21-1
- update to 2.1.21
- turn off compilation of libsasl v1 (finally)
- explicitly disable sqlite to avoid the build warning
- change the default mechanism which is set for saslauthd from "shadow" to
"pam" (#159194)
- split the shared library up from saslauthd so that multilib systems don't
have to pull in every dependency of saslauthd for the compat arch (#166749)
* Wed Apr 13 2005 Nalin Dahyabhai <nalin@redhat.com> 2.1.20-5
- rebuild with new deps

View File

@ -3,8 +3,8 @@
SOCKETDIR=/var/run/saslauthd
# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list
# of which mechanism your installation was compiled to use.
MECH=shadow
# of which mechanism your installation was compiled with the ablity to use.
MECH=pam
# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
# for the list of accepted flags.

View File

@ -1,4 +1,3 @@
60710be040801e9aff7353563b636518 cyrus-sasl-1.5.28.tar.gz
268ead27f4ac39bcfe17d9e38e0f2977 cyrus-sasl-2.1.20.tar.gz
d4ab532887be315f59746ab74de690a4 cyrus-sasl-2.1.20.tar.gz.sig
dde02db234dea892bee298390890502e cyrus-sasl-2.1.21.tar.gz
7af5fab7c35d45ab842cfd1fcbbcf841 cyrus-sasl-2.1.21.tar.gz.sig
fcc481d52c3b80e20a328f8c0cb042bd db-4.3.27.tar.gz