#
# Conditional build:
-%bcond_without gss # without GSSAPI mechanism
-%bcond_without krbv5 # without KERBEROS_V5 mechanism
-%bcond_without ntlm # without NTLM mechanism
+%bcond_without apidocs # disable gtk-doc
+%bcond_with gss # use gss instead of Heimdal as GSSAPI implementation
+%bcond_with kerberos5 # with KERBEROS_V5 mechanism (based on shishi, currently broken)
+%bcond_without heimdal # do not use Heimdal either
+%bcond_without ntlm # without NTLM mechanism
+%bcond_without static_libs # don't build static libraries
#
Summary: GNU SASL - implementation of the Simple Authentication and Security Layer
-Summary(pl): GNU SASL - implementacja Simple Authentication and Security Layer
+Summary(pl.UTF-8): GNU SASL - implementacja Simple Authentication and Security Layer
Name: gsasl
-Version: 0.0.8
-Release: 1
-License: GPL
+Version: 1.8.0
+Release: 2
+License: LGPL v2.1+ (library), GPL v3+ (gsasl tool)
Group: Libraries
-Source0: http://josefsson.org/gsasl/releases/%{name}-%{version}.tar.gz
-# Source0-md5: eae923fe86e38e4822f6d9e2459fe7de
+Source0: http://ftp.gnu.org/gnu/gsasl/%{name}-%{version}.tar.gz
+# Source0-md5: 982fe54a20016aa46a871c084c990c36
Patch0: %{name}-info.patch
-Patch1: %{name}-libgcrypt.patch
+Patch1: %{name}-heimdal-check.patch
+Patch2: %{name}-link.patch
URL: http://www.gnu.org/software/gsasl/
-BuildRequires: autoconf >= 2.50
-BuildRequires: automake
-BuildRequires: gettext-devel >= 0.12.1
-%{?with_gss:BuildRequires: gss-devel >= 0.0.0}
-BuildRequires: gtk-doc >= 0.6
-BuildRequires: libgcrypt-devel >= 1.1.42
+BuildRequires: autoconf >= 2.61
+BuildRequires: automake >= 1:1.10
+BuildRequires: docbook-dtd412-xml
+BuildRequires: gettext-tools >= 0.18.1
+BuildRequires: gnutls-devel >= 1.2.0
+%{?with_gss:BuildRequires: gss-devel >= 1.0.0}
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.1}
+# used by examples/saml20 (noinst only)
+#BuildRequires: lasso-devel >= 2.2.1
+BuildRequires: libgcrypt-devel >= 1.3.0
BuildRequires: libidn-devel >= 0.1.0
-%{?with_ntlm:BuildRequires: libntlm-devel >= 0.3.1}
-BuildRequires: libtool
+%{?with_ntlm:BuildRequires: libntlm-devel >= 0.3.5}
+BuildRequires: libtool >= 2:1.5
BuildRequires: pkgconfig
-# alternatively, krb5 or heimdal could be used for GSSAPI and KERBEROS_V5
-%{?with_krbv5:BuildRequires: shishi-devel >= 0.0.0}
+%if %{without gss}
+# alternatively, gss or krb5 can be used for GSSAPI
+%{?with_heimdal:BuildRequires: heimdal-devel}
+%endif
+%{?with_kerberos5:BuildRequires: shishi-devel}
BuildRequires: texinfo
Requires(post,postun): /sbin/ldconfig
+Requires: libgcrypt >= 1.3.0
+%{?with_ntlm:Requires: libntlm >= 0.3.5}
Obsoletes: libgsasl
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
used, as it utilizes callbacks into the application to decide whether
an user is authorized or not.
-%description -l pl
+%description -l pl.UTF-8
GNU SASL to implementacja szkieletu Simple Authentication and Security
-Layer (prostej warstwy uwierzytelniania i bezpieczeñstwa) oraz kilku
-popularnych mechanizmów SASL. SASL jest u¿ywane przez serwery sieciowe
-(np. IMAP i SMTP) do ¿±dania uwierzytelnienia od klientów oraz w
-klientach do uwierzytelniania wzglêdem serwerów.
-
-GNU SASL zawiera bibliotekê (libgsasl), narzêdzie dzia³aj±ce z linii
-poleceñ (gsasl) pozwalaj±ce na korzystanie z biblioteki z poziomu
-pow³oki oraz dokumentacjê. Biblioteka ma obs³ugê szkieletu SASL (z
-funkcjami uwierzytelniaj±cymi oraz zapewniaj±cymi prywatno¶æ i
-spójno¶æ danych aplikacji) oraz przynajmniej czê¶ciow± obs³ugê
-mechanizmów CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID,
+Layer (prostej warstwy uwierzytelniania i bezpieczeństwa) oraz kilku
+popularnych mechanizmów SASL. SASL jest używane przez serwery sieciowe
+(np. IMAP i SMTP) do żądania uwierzytelnienia od klientów oraz w
+klientach do uwierzytelniania względem serwerów.
+
+GNU SASL zawiera bibliotekę (libgsasl), narzędzie działające z linii
+poleceń (gsasl) pozwalające na korzystanie z biblioteki z poziomu
+powłoki oraz dokumentację. Biblioteka ma obsługę szkieletu SASL (z
+funkcjami uwierzytelniającymi oraz zapewniającymi prywatność i
+spójność danych aplikacji) oraz przynajmniej częściową obsługę
+mechanizmów CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID,
DIGEST-MD5, LOGIN, NTLM oraz KERBEROS_V5.
-Biblioteka jest przeno¶na, poniewa¿ sama nie korzysta z komunikacji
-sieciowej, pozostawiaj±c to wywo³uj±cej j± aplikacji. Biblioteka jest
-elastyczna ze wzglêdu na u¿ywan± infrastrukturê uwierzytelniania,
-poniewa¿ korzysta z callbacków w aplikacji przy decydowaniu, czy
-u¿ytkownik jest autoryzowany.
+Biblioteka jest przenośna, ponieważ sama nie korzysta z komunikacji
+sieciowej, pozostawiając to wywołującej ją aplikacji. Biblioteka jest
+elastyczna ze względu na używaną infrastrukturę uwierzytelniania,
+ponieważ korzysta z callbacków w aplikacji przy decydowaniu, czy
+użytkownik jest autoryzowany.
%package devel
Summary: Header files for GNU SASL library
-Summary(pl): Pliki nag³ówkowe biblioteki GNU SASL
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GNU SASL
+License: LGPL v2.1+
Group: Development/Libraries
-Requires: %{name} = %{version}
-Requires: gtk-doc-common
-%{?with_gss:Requires: gss-devel >= 0.0.0}
-Requires: libgcrypt-devel >= 1.1.42
+Requires: %{name} = %{version}-%{release}
+%if %{with gss}
+Requires: gss-devel >= 1.0.0
+%else
+%{?with_heimdal:Requires: heimdal-devel}
+%endif
+Requires: libgcrypt-devel >= 1.3.0
Requires: libidn-devel >= 0.1.0
-%{?with_ntlm:Requires: libntlm-devel >= 0.3.1}
-%{?with_krbv5:Requires: shishi-devel >= 0.0.0}
+%{?with_ntlm:Requires: libntlm-devel >= 0.3.5}
+%{?with_kerberos5:Requires: shishi-devel}
Obsoletes: libgsasl-devel
%description devel
Header files for GNU SASL library.
-%description devel -l pl
-Pliki nag³ówkowe biblioteki GNU SASL.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki GNU SASL.
%package static
Summary: Static GNU SASL library
-Summary(pl): Statyczna biblioteka GNU SASL
+Summary(pl.UTF-8): Statyczna biblioteka GNU SASL
+License: LGPL v2.1+
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{version}-%{release}
Obsoletes: libgsasl-static
%description static
Static GNU SASL library.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna biblioteka GNU SASL.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+
+%{__rm} po/stamp-po
+
+# remove it when "linking libtool libraries using a non-POSIX archiver ..." warning is gone
+# (after gsasl or libtool change)
+%{__sed} -i -e '/AM_INIT_AUTOMAKE/s/-Werror//' configure.ac lib/configure.ac
%build
%{__gettextize}
%{__libtoolize}
-%{__aclocal} -I gl/m4
+%{__aclocal} -I m4 -I gl/m4
%{__autoconf}
%{__autoheader}
%{__automake}
+cd lib
+%{__libtoolize}
+%{__aclocal} -I m4 -I gl/m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+cd -
%configure \
- %{!?with_gss:--disable-gssapi} \
- %{!?with_krbv5:--disable-kerberos_v5} \
+ --disable-silent-rules \
+ %{?with_apidocs:--enable-gtk-doc} \
%{!?with_ntlm:--disable-ntlm} \
- --enable-gtk-doc \
- --with-html-dir=%{_gtkdocdir}
+ %{!?with_static_libs:--disable-static} \
+ %{?with_kerberos5:--enable-kerberos_v5} \
+%if %{with gss}
+ --with-gssapi-impl=gss
+%else
+ %{?with_heimdal:--with-gssapi-impl=heimdal} \
+ %{!?with_heimdal:--with-gssapi-impl=no} \
+%endif
+ --with-html-dir=%{_gtkdocdir} \
+ --with-libgcrypt
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-%find_lang %{name}
+# libgsasl for lib, gsasl for app
+%find_lang %{name} --all-name
+
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc ANNOUNCE AUTHORS ChangeLog NEWS README* THANKS
+%doc AUTHORS ChangeLog NEWS README* THANKS
%attr(755,root,root) %{_bindir}/gsasl
%attr(755,root,root) %{_libdir}/libgsasl.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgsasl.so.7
%{_mandir}/man1/gsasl.1*
-%{_infodir}/*.info*
+%{_infodir}/gsasl.info*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgsasl.so
%{_libdir}/libgsasl.la
-%{_includedir}/gsasl.h
+%{_includedir}/gsasl*.h
%{_pkgconfigdir}/libgsasl.pc
-%{_mandir}/man3/*.3*
-%{_gtkdocdir}/gsasl
+%{_mandir}/man3/gsasl_*.3*
+%{?with_apidocs:%{_gtkdocdir}/gsasl}
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libgsasl.a
+%endif