diff --git a/cyrus-sasl.spec b/cyrus-sasl.spec index c659b2c..fe3c5c3 100644 --- a/cyrus-sasl.spec +++ b/cyrus-sasl.spec @@ -3,24 +3,14 @@ %define _plugindir2 %{_libdir}/sasl2 %define db_version 4.3.27 -# 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 Fedora 3 or 4 (Core or Extras) needs them. -%define includev1 0 - Summary: The Cyrus SASL library. Name: cyrus-sasl Version: 2.1.21 -Release: 3 +Release: 3.1 License: Freely Distributable Group: System Environment/Libraries Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz Source1: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz.sig -%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 Source6: http://www.sleepycat.com/update/%{db_version}/db-%{db_version}.tar.gz Source7: sasl-mechlist.c @@ -28,15 +18,6 @@ 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 -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 @@ -51,9 +32,6 @@ Patch17: cyrus-sasl-2.1.21-builddir.patch Patch18: cyrus-sasl-2.1.21-linksrcs.patch Patch50: db-4.3.27-initmem.patch Buildroot: %{_tmppath}/%{name}-root -%if %{includev1} -BuildPrereq: gdbm-devel -%endif BuildPrereq: autoconf, automake, libtool BuildPrereq: krb5-devel >= 1.2.2, openssl-devel, pam-devel, pkgconfig BuildPrereq: mysql-devel, postgresql-devel @@ -118,6 +96,7 @@ Summary: NTLM support for Cyrus SASL. The %{name}-ntlm package contains the Cyrus SASL plugin which supports the NTLM authentication schemes. +# This would more appropriately be named cyrus-sasl-auxprop-sql. %package sql Requires: %{name}-lib = %{version}-%{release} Group: System Environment/Libraries @@ -127,37 +106,23 @@ Summary: SQL auxprop support for Cyrus SASL. The %{name}-sql package contains the Cyrus SASL plugin which supports using a RDBMS for storing shared secrets. +# This was *almost* named cyrus-sasl-auxprop-ldapdb, but that's a lot of typing. +%package ldap +Requires: %{name}-lib = %{version}-%{release} +Group: System Environment/Libraries +Summary: LDAP auxprop support for Cyrus SASL. + +%description ldap +The %{name}-ldap package contains the Cyrus SASL plugin which supports using +a directory server, accessed using LDAP, for storing shared secrets. + %prep -%if %{includev1} -%setup -q -c -a 2 -a 6 -%else -%setup -q -c -a 6 -%endif +%setup -q -a 6 pushd db-%{db_version} %patch50 -p2 -b .initmem popd -%if %{includev1} -pushd cyrus-sasl-%{cs1_version} -%patch0 -p1 -b .rpath -%patch1 -p1 -b .autoconf25 -%patch2 -p1 -b .automake17 -%patch3 -p1 -b .automake18 -%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 -automake -a -c -f -autoheader -autoconf -f -popd -%endif - -pushd cyrus-sasl-%{version} %patch5 -p1 -b .gdbm %patch6 -p1 -b .des %patch7 -p1 -b .gssapi-dynamic @@ -192,24 +157,6 @@ popd mkdir build-static build-shared ln -s ../configure build-static ln -s ../configure build-shared -popd - -%if %{includev1} -# Sort of merge the docs. -mkdir cyrus-sasl-%{version}/%{cs1_version} -mkdir cyrus-sasl-%{version}/%{cs1_version}-devel -cp %{name}-%{cs1_version}/{AUTHORS,COPYING,NEWS,README,doc/*.html} cyrus-sasl-%{version}/%{cs1_version} -cp %{name}-%{cs1_version}/doc/*.txt cyrus-sasl-%{version}/%{cs1_version}-devel - -# Remove duplicate RFCs. -pushd cyrus-sasl-%{version}/%{cs1_version}-devel -for file in * ; do - if [ -f ../doc/${file} ] ; then - rm -f ${file} - fi -done -popd -%endif %build CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS @@ -243,26 +190,6 @@ if pkg-config openssl ; then LDFLAGS="`pkg-config --libs-only-L openssl` $LDFLAGS"; export LDFLAGS fi -%if %{includev1} -pushd cyrus-sasl-%{cs1_version} -%configure \ - --enable-static --enable-staticdlopen --with-pic --enable-shared \ - --with-plugindir=%{_plugindir} \ - --disable-krb4 \ - --enable-gssapi${krb5_prefix:+=${krb5_prefix}} --enable-gss_mutexes \ - --with-rc4 \ - --with-dblib=gdbm \ - --with-saslauthd=/var/run/saslauthd --without-pwcheck \ - --enable-anon \ - --enable-cram \ - --enable-digest \ - --enable-plain \ - --enable-login -make sasldir=%{_plugindir} -tagname=CC libtool --mode=link %{__cc} -o saslauthd1-checkpass -I./include $CFLAGS $RPM_SOURCE_DIR/sasl-checkpass.c $LDFLAGS ./lib/libsasl.la -popd -%endif - # Find the SQL libraries used needed by the SQL auxprop plugin. mysql_config=mysql_config pg_config=pg_config @@ -285,7 +212,6 @@ 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 -pushd cyrus-sasl-%{version} build() { pushd build-$1 shift @@ -320,9 +246,11 @@ make -C saslauthd testsaslauthd popd } -# Build the static library without sql auxprop support. -build static --enable-static --disable-shared --disable-sql -# Build the shared library with all that stuff. +# Build the static library without sql or ldapdb auxprop support. Hopefully +# the only users of the static library will be clients, which don't use auxprop +# functionality anyway. +build static --enable-static --disable-ldapdb --disable-shared --disable-sql +# Build the shared library with all that good stuff. build shared --enable-static --enable-shared # Merge our static libdb in with libsasl, because we won't be installing it. @@ -337,23 +265,10 @@ pushd 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 -popd - %install test "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT -%if %{includev1} -pushd cyrus-sasl-%{cs1_version} -make install DESTDIR=$RPM_BUILD_ROOT sasldir=%{_plugindir} -install -m755 -d $RPM_BUILD_ROOT%{_bindir} -libtool --mode=install \ -install -m755 sample/client $RPM_BUILD_ROOT%{_bindir}/sasl-sample-client -libtool --mode=install \ -install -m755 sample/server $RPM_BUILD_ROOT%{_bindir}/sasl-sample-server -popd -%endif - -pushd cyrus-sasl-%{version}/build-shared +pushd build-shared make install DESTDIR=$RPM_BUILD_ROOT sasldir=%{_plugindir2} cd ../build-static make install DESTDIR=$RPM_BUILD_ROOT sasldir=%{_plugindir2} @@ -374,6 +289,7 @@ install -m755 utils/dbconverter-2 $RPM_BUILD_ROOT%{_sbindir}/dbconverter-2 # 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 +popd # Create the saslauthd listening directory. install -m755 -d $RPM_BUILD_ROOT/var/run/saslauthd @@ -383,24 +299,12 @@ install -m755 -d $RPM_BUILD_ROOT/etc/rc.d/init.d $RPM_BUILD_ROOT/etc/sysconfig install -m755 $RPM_SOURCE_DIR/saslauthd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd install -m644 $RPM_SOURCE_DIR/saslauthd.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/saslauthd -popd - -# Figure out an easy way to test various saslauthd clients. -%if %{includev1} +# Provide an easy way to query the list of available mechanisms. libtool --mode=install \ -install -m755 cyrus-sasl-%{cs1_version}/saslauthd1-checkpass \ -$RPM_BUILD_ROOT%{_sbindir}/ -%endif -#libtool --mode=install \ -#install -m755 cyrus-sasl-%{version}/build-shared/saslauthd2-checkpass \ -#$RPM_BUILD_ROOT%{_sbindir}/ - -# Provide out an easy way to query the list of available mechanisms. -libtool --mode=install \ -install -m755 cyrus-sasl-%{version}/build-static/lib/sasl2-static-mechlist \ +install -m755 build-static/lib/sasl2-static-mechlist \ $RPM_BUILD_ROOT%{_sbindir}/ libtool --mode=install \ -install -m755 cyrus-sasl-%{version}/build-shared/lib/sasl2-shared-mechlist \ +install -m755 build-shared/lib/sasl2-shared-mechlist \ $RPM_BUILD_ROOT%{_sbindir}/ # Remove unpackaged files from the buildroot. @@ -430,25 +334,12 @@ fi %files %defattr(-,root,root) -%if %{includev1} -%doc %{name}-%{version}/%{cs1_version} -%doc $RPM_SOURCE_DIR/README.RPM -%endif -%doc %{name}-%{version}/saslauthd/LDAP_SASLAUTHD -%if %{includev1} -%dir %{_plugindir}/ -%endif +%doc saslauthd/LDAP_SASLAUTHD %dir %{_plugindir2}/ %{_plugindir2}/*sasldb*.so* %{_plugindir2}/*sasldb*.la -%{_plugindir2}/*ldapdb*.so* -%{_plugindir2}/*ldapdb*.la %{_mandir}/man8/* %{_sbindir}/dbconverter-2 -%if %{includev1} -%{_sbindir}/saslpasswd -%{_sbindir}/sasldblistusers -%endif %{_sbindir}/saslpasswd2 %{_sbindir}/sasldblistusers2 %{_sbindir}/saslauthd @@ -459,37 +350,26 @@ fi %files lib %defattr(-,root,root) -%doc %{name}-%{version}/{AUTHORS,COPYING,NEWS,README,doc/*.html} +%doc AUTHORS COPYING NEWS README doc/*.html %{_libdir}/libsasl*.so.* %dir %{_plugindir2}/ -%if %{includev1} -%{_plugindir}/*anonymous*.so* -%{_plugindir}/*anonymous*.la -%endif %{_plugindir2}/*anonymous*.so* %{_plugindir2}/*anonymous*.la %files plain %defattr(-,root,root) -%if %{includev1} -%{_plugindir}/*plain*.so* -%{_plugindir}/*plain*.la -%{_plugindir}/*login*.so* -%{_plugindir}/*login*.la -%endif %{_plugindir2}/*plain*.so* %{_plugindir2}/*plain*.la %{_plugindir2}/*login*.so* %{_plugindir2}/*login*.la +%files ldap +%defattr(-,root,root) +%{_plugindir2}/*ldapdb*.so* +%{_plugindir2}/*ldapdb*.la + %files md5 %defattr(-,root,root) -%if %{includev1} -%{_plugindir}/*crammd5*.so* -%{_plugindir}/*crammd5*.la -%{_plugindir}/*digestmd5*.so* -%{_plugindir}/*digestmd5*.la -%endif %{_plugindir2}/*crammd5*.so* %{_plugindir2}/*crammd5*.la %{_plugindir2}/*digestmd5*.so* @@ -507,54 +387,26 @@ fi %files gssapi %defattr(-,root,root) -%if %{includev1} -%{_plugindir}/*gssapi*.so* -%{_plugindir}/*gssapi*.la -%endif %{_plugindir2}/*gssapi*.so* %{_plugindir2}/*gssapi*.la %files devel %defattr(-,root,root) -%if %{includev1} -%doc %{name}-%{version}/%{cs1_version}-devel -%endif -%doc %{name}-%{version}/doc/*.txt -%if %{includev1} -%{_bindir}/sasl-sample-client -%{_bindir}/sasl-sample-server -%endif +%doc doc/*.txt %{_bindir}/sasl2-sample-client %{_bindir}/sasl2-sample-server %{_includedir}/* %{_libdir}/libsasl*.a %{_libdir}/libsasl*.*so -%if %{includev1} -%{_plugindir}/*anonymous*.a -%{_plugindir}/*crammd5*.a -%{_plugindir}/*digestmd5*.a -%{_plugindir}/*gssapi*.a -%{_plugindir}/*login*.a -%{_plugindir}/*plain*.a -%endif -%if 0 -%{_plugindir2}/*anonymous*.a -%{_plugindir2}/*crammd5*.a -%{_plugindir2}/*digestmd5*.a -%{_plugindir2}/*gssapi*.a -%{_plugindir2}/*login*.a -%{_plugindir2}/*plain*.a -%{_plugindir2}/*sasldb*.a -%endif %{_mandir}/man3/* %{_sbindir}/sasl2-static-mechlist %{_sbindir}/sasl2-shared-mechlist -%if %{includev1} -%{_sbindir}/saslauthd1-checkpass -%endif -#%{_sbindir}/saslauthd2-checkpass %changelog +* Thu Sep 1 2005 Nalin Dahyabhai 2.1.21-4 +- move the ldapdb auxprop support into a subpackage (#167300) + (note: the ldap password check support in saslauthd doesn't use auxprop) + * Tue Aug 30 2005 Nalin Dahyabhai 2.1.21-3 - correct a use of uninitialized memory in the bundled libdb (Arjan van de Ven)