+#
+# Conditional builds:
+# x509 - build x509 pluggin
+# srp - build srp pluggin
+#
Summary: The SASL library API for the Cyrus mail system.
Name: cyrus-sasl
-Version: 1.5.21
-Release: 3
-Copyright: distributable
+Version: 1.5.27
+Release: 1
+LIcense: Distributable
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
-Patch0: cyrus-sasl-configdir.patch
-BuildRequires: gdbm-devel
+Source1: saslauthd.init
+Source2: saslauthd.sysconfig
+Patch0: %{name}-configdir.patch
+Patch1: %{name}-des.patch
+Patch2: %{name}-mysql-ldap.patch
+Patch3: %{name}-saslauthd.patch
+#Patch4: http://www.imasy.or.jp/~ume/ipv6/cyrus-sasl-1.5.24-ipv6-20010321.diff.gz
+Patch4: %{name}-ipv6.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: db3-devel >= 3.1.17-8
BuildRequires: pam-devel
BuildRequires: openssl-devel
+BuildRequires: libtool >= 1.4
+%{?bcond_on_mysql:BuildRequires: mysql-devel}
+%{?bcond_on_ldap:BuildRequires: openldap-devel}
URL: http://asg.web.cmu.edu/sasl/
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%package devel
Summary: Header files and documentation for cyrus-sasl
Group: Development/Libraries
+Group(de): Entwicklung/Libraries
Group(fr): Development/Librairies
Group(pl): Programowanie/Biblioteki
Requires: %{name} = %{version}
%package static
Summary: Static cyrus-sasl libraries
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name}-devel = %{version}
%package cram-md5
Summary: Cram-MD5 Cyrus SASL pluggin
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name} = %{version}
%package digest-md5
Summary: Digest-MD5 Cyrus SASL pluggin
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name} = %{version}
%package plain
Summary: Plain Cyrus SASL pluggin
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name} = %{version}
%package anonymous
Summary: Anonymous Cyrus SASL pluggin
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name} = %{version}
%package login
Summary: Unsupported Login Cyrus SASL pluggin
Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
Requires: %{name} = %{version}
%description login
Unsupported Login Cyrus SASL pluggin.
+%package srp
+Summary: SRP Cyrus SASL pluggin
+Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
+Group(fr): Librairies
+Group(pl): Biblioteki
+Requires: %{name} = %{version}
+
+%description srp
+SRP Cyrus SASL pluggin.
+
+%package x509
+Summary: x509 Cyrus SASL pluggin
+Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
+Group(fr): Librairies
+Group(pl): Biblioteki
+Requires: %{name} = %{version}
+
+%description x509
+x509 Cyrus SASL pluggin.
+
+%package saslauthd
+Summary: Cyrus SASL authd
+Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
+Group(fr): Librairies
+Group(pl): Biblioteki
+Requires: %{name} = %{version}
+
+%description saslauthd
+Cyrus SASL authd.
+
+%package pwcheck
+Summary: Cyrus SASL pwcheck helper
+Group: Libraries
+Group(de): Libraries
+Group(es): Bibliotecas
+Group(fr): Librairies
+Group(pl): Biblioteki
+Requires: %{name} = %{version}
+
+%description pwcheck
+Cyrus SASL pwcheck helper.
+
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
+rm -f config/missing
+libtoolize --copy --force
aclocal -I cmulocal
autoheader
automake -a
autoconf
-LDFLAGS="-s"; export LDFLAGS
+LDFLAGS="%{rpmldflags} -ldl"; export LDFLAGS
%configure \
--enable-static \
--enable-login \
+ %{?bcond_on_srp:--enable-srp} \
+ %{?bcond_on_x509:--enable-x509} \
+ %{?bcond_on_mysql: --with-mysql=/usr} \
+ %{?bcond_on_ldap: --with-ldap=/usr} \
+ %{?bcond_on_pwcheck: --with-pwcheck=/var/state/sasl} \
+ --with-saslauthd=/var/state/sasl \
--with-pam \
- --with-dblib=gdbm \
+ --with-dblib=berkeley \
--with-dbpath=/var/lib/sasl/sasl.db \
--with-configdir=%{_sysconfdir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT/var/lib/sasl
+install -d $RPM_BUILD_ROOT{/var/{state,lib}/sasl,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}}
%{__make} install DESTDIR=$RPM_BUILD_ROOT
-strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* \
- $RPM_BUILD_ROOT%{_libdir}/sasl/lib*.so.*.*
-
touch $RPM_BUILD_ROOT/var/lib/sasl/sasl.db
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man?/*
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post saslauthd
+/sbin/chkconfig --add saslauthd
+if [ -f /var/lock/subsys/saslauthd ]; then
+ /etc/rc.d/init.d/saslauthd restart 1>&2
+else
+ echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
+fi
+
+%postun saslauthd
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/saslauthd ]; then
+ /etc/rc.d/init.d/saslauthd stop 1>&2
+ fi
+ /sbin/chkconfig --del saslauthd
+fi
+
%files
%defattr(644,root,root,755)
%dir %{_sysconfdir}
%dir %{_libdir}/sasl
%dir /var/lib/sasl
+%dir /var/state/sasl
%attr(755,root,root) %{_libdir}/lib*.so.*.*
#%attr(755,root,root) %{_libdir}/sasl/lib*.so*
-%attr(755,root,root) %{_sbindir}/*
+%attr(755,root,root) %{_sbindir}/sasldblistusers
+%attr(755,root,root) %{_sbindir}/saslpasswd
+
%config(noreplace) %verify(not mtime md5 size) /var/lib/sasl/sasl.db
%{_mandir}/man[18]/*
%files login
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/sasl/liblogin.so*
+
+%if %{?bcond_on_srp:1}%{?!bcond_on_srp:0}
+%files srp
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/sasl/libsrp.so*
+%endif
+
+%if %{?bcond_on_x509:1}%{?!bcond_on_x509:0}
+%files x509
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/sasl/libx509.so*
+%endif
+
+%if %{?bcond_on_pwcheck:1}%{?!bcond_on_pwcheck:0}
+%files pwcheck
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/pwcheck
+%endif
+
+%files saslauthd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/saslauthd
+%attr(755,root,root) /etc/rc.d/init.d/saslauthd
+%config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd