#
# Joysticks
#
%def_disable static
%def_enable check
%def_with libtasn1
%def_with lzo
%def_without guile
#
# name macroses
#
%define libname libgnutls
%define soname 26
%define so_libname %libname%soname
%define pkgname gnutls
%define pkgdocdir %_docdir/%pkgname-%version
#
# version macroses
#
%define req_gcrypt_ver 1.4.3
%define req_opencdk_ver 0.5.5
%define req_tasn1_ver 0.3.4
%define req_guile_ver 1:1.8
Name: gnutls%soname
Version: 2.6.6
Release: alt0.M50.1
Summary: Transport Layer Security library
Group: System/Libraries
License: LGPL
Url: http://www.gnu.org/software/%pkgname/
Packager: Afanasov Dmitry <ender@altlinux.org>
Source: %pkgname-%version.tar
Source2: %pkgname.sym
Patch: %name-%version.patch
# Automatically added by buildreq on Sat Nov 08 2008
BuildRequires: gcc-c++ gtk-doc libltdl-devel libreadline-devel zlib-devel
BuildRequires: libgcrypt-devel >= %req_gcrypt_ver
BuildRequires: libopencdk-devel >= %req_opencdk_ver
%if_with guile
BuildRequires: guile-devel >= %req_guile_ver
%endif
%if_with lzo
BuildRequires: liblzo2-devel
%endif
%if_with libtasn1
BuildRequires: libtasn1-devel >= %req_tasn1_ver
%endif
%ifarch %ix86 x86_64
BuildRequires: valgrind
%endif
%description
GnuTLS is a project that aims to develop a library which provides a
secure layer, over a reliable transport layer. Currently the GnuTLS
library implements the proposed standards by the IETF TLS working
group.
#
# libgnutls
#
%package -n %so_libname
Summary: Transport Layer Security library
Group: System/Libraries
Requires: libgcrypt >= %req_gcrypt_ver
%if_with libtasn1
Requires: libtasn1 >= %req_tasn1_ver
%endif
Provides: %libname = %version-%release
Provides: libgnutls-new = %version-%release
Obsoletes: libgnutls-new
%description -n %so_libname
A library which provides a secure layer, over a reliable transport layer.
Currently the GnuTLS library implements the proposed standards
by the IETF TLS working group.
#
# libgnutlsxx
#
%package -n %{so_libname}xx
Summary: Transport Layer Security C++ library
Group: System/Libraries
Provides: %libname = %version-%release
Provides: libgnutls-newxx = %version-%release
Obsoletes: libgnutls-newxx
%description -n %{so_libname}xx
A library which provides a secure layer, over a reliable transport layer.
Currently the GnuTLSxx library implements the proposed standards
by the IETF TLS working group.
#
# libgnutls-extra
#
%package -n %so_libname-extra
Summary: Transport Layer Security library, extra functions
Group: System/Libraries
License: GPL
Requires: %so_libname = %version-%release
Requires: libopencdk >= %req_opencdk_ver
Provides: %libname-extra = %version-%release
Provides: libgnutls-new-extra = %version-%release
Obsoletes: libgnutls-new-extra
%description -n %so_libname-extra
The %pkgname-extra library provides extra functions to the %pkgname library.
This portion of the library is covered by the GNU General Public License.
#
# libgnutls-openssl
#
%package -n %so_libname-openssl
Summary: OpenSSL compatibility layer for the GnuTLS library
Group: System/Libraries
License: GPL
Requires: %so_libname = %version-%release
Provides: %libname-openssl = %version-%release
Provides: libgnutls-new-openssl = %version-%release
Obsoletes: libgnutls-new-openssl
%description -n %so_libname-openssl
The %pkgname-openssl library provides an OpenSSL compatibility layer to the
%pkgname library, to ease migration from the OpenSSL library.
#
# libgnutls-devel
#
%package -n %libname-devel
Summary: Development files for %so_libname
Group: Development/C
Requires: %so_libname = %version-%release
Requires: libgcrypt-devel >= %req_gcrypt_ver
Provides: libgnutls-new-devel = %version-%release
Obsoletes: libgnutls-new-devel
%description -n %libname-devel
Header and other files to build applications using %pkgname,
a Transport Layer Security (TLS) library.
#
# libgnutlsxx-devel
#
%package -n %{libname}xx-devel
Summary: Development files for %{libname}xx
Group: Development/C++
Requires: lib%{name}xx = %version-%release
Provides: libgnutls-newxx-devel = %version-%release
Obsoletes: libgnutls-newxx-devel
%description -n %{libname}xx-devel
Header and other files to build applications using %{name}xx,
a Transport Layer Security (TLS) C++ library.
#
# libgnutls-extra-devel
#
%package -n %libname-extra-devel
Summary: Development files for %so_libname-extra
Group: Development/C
License: GPL
Requires: %so_libname-extra = %version-%release
Requires: %libname-devel = %version-%release
Provides: libgnutls-new-extra-devel = %version-%release
Obsoletes: libgnutls-new-extra-devel
%description -n %libname-extra-devel
Header and other files to build applications using the %pkgname-extra library.
#
# libgnutls-openssl-devel
#
%package -n %libname-openssl-devel
Summary: Development files for %so_libname-openssl
Group: Development/C
License: GPL
Requires: %so_libname-openssl = %version-%release
Requires: %libname-devel = %version-%release
Provides: libgnutls-new-openssl-devel = %version-%release
Obsoletes: libgnutls-new-openssl-devel
%description -n %libname-openssl-devel
Header and other files to build applications using the %pkgname-openssl library.
#
# libgnutls-devel-static
#
%package -n %libname-devel-static
Summary: Static build for %so_libname
Group: Development/C
Requires: %so_libname-devel = %version-%release
%description -n %libname-devel-static
Static build of %pkgname, a Transport Layer Security (TLS) library.
#
# libgnutls-extra-devel-static
#
%package -n %libname-extra-devel-static
Summary: Static build for %so_libname-extra
Group: Development/C
License: GPL
Requires: %libname-extra-devel = %version-%release
%description -n %libname-extra-devel-static
Static build of the %pkgname-extra library.
#
# libgnutls-openssl-devel-static
#
%package -n %libname-openssl-devel-static
Summary: Static build for %so_libname-openssl
Group: Development/C
License: GPL
Requires: %libname-openssl-devel = %version-%release
%description -n %libname-openssl-devel-static
Static build of the %pkgname-openssl library.
#
# gnutls-utils
#
%package utils
Summary: Utilities for GnuTLS
Group: Security/Networking
License: GPL
Requires: %so_libname = %version-%release
Requires: %so_libname-extra = %version-%release
Provides: %pkgname-utils = %version-%release
%description utils
Utilities coming with the GnuTLS project.
#
# gnutls-guile
#
%package -n %libname-guile
Summary: GnuTLS Guile bindings
Group: Development/Other
License: GPL
Requires: %so_libname = %version-%release
Requires: guile >= %req_guile_ver
Provides: libgnutls-new-guile = %version-%release
Obsoletes: libgnutls-new-guile
%description -n %libname-guile
GnuTLS Guile bindings.
#
# gnutls-devel-doc
#
%package devel-doc
Summary: Development documentation for GnuTLS
Group: Development/C
Conflicts: libgnutls-devel < 1.2.9-alt1
Provides: gnutls-devel-doc = %version-%release
Conflicts: gnutls-new-devel-doc = %version-%release
Obsoletes: gnutls-new-devel-doc
# must displace old gnutls-2.0.4
Conflicts: gnutls-devel-doc < %version-%release
%description devel-doc
Development documentation for GnuTLS.
%prep
%setup -n %pkgname-%version
%patch -p1
# disable version script because soname change.
#install -m644 %SOURCE2 lib/libgnutls.vers
bzip2 -9k ChangeLog
%build
%autoreconf
%configure \
%if_without libtasn1
--with-included-libtasn1 \
%endif
%if_with guile
--enable-guile \
%endif
--enable-gtk-doc \
--disable-rpath \
%{subst_with lzo} \
%{subst_enable static}
# Non-parallel make
export echo='echo'
%make
%if_enabled check
%make check
%endif
%install
export echo='echo'
%make_install DESTDIR=%buildroot install
install -d -m755 %buildroot%pkgdocdir
install -p -m644 AUTHORS ChangeLog.bz2 NEWS README THANKS doc/TODO \
%buildroot%pkgdocdir
ln -s %_licensedir/GPL-2 %buildroot%pkgdocdir/COPYING
ln -s %_licensedir/LGPL-2.1 %buildroot%pkgdocdir/COPYING.LIB
install -p -m644 doc/*.html doc/*.png %buildroot%pkgdocdir
%make -C doc/examples clean
cp -a doc/examples %buildroot%pkgdocdir
rm -f %buildroot%pkgdocdir/examples/Makefile*
%find_lang %name
%post devel-doc
%install_info %name.info
%preun devel-doc
%uninstall_info %name.info
%files -n %so_libname -f %name.lang
%dir %pkgdocdir
%pkgdocdir/AUTHORS
%pkgdocdir/ChangeLog.bz2
%pkgdocdir/NEWS
%pkgdocdir/README
%pkgdocdir/THANKS
%pkgdocdir/TODO
%pkgdocdir/COPYING.LIB
%_libdir/%libname.so.*
%files -n lib%{name}xx
%_libdir/%{libname}xx.so.*
%files -n %so_libname-extra
%pkgdocdir/COPYING
%_libdir/%libname-extra.so.*
%files -n %so_libname-openssl
%_libdir/%libname-openssl.so.*
%files -n %libname-devel
%_includedir/gnutls
%exclude %_includedir/gnutls/extra.h
%exclude %_includedir/gnutls/openssl.h
%_bindir/%libname-config
%_libdir/%libname.so
%_libdir/pkgconfig/gnutls.pc
%_datadir/aclocal/%libname.m4
%files -n %{libname}xx-devel
%_libdir/%{libname}xx.so
%files -n %libname-extra-devel
%_includedir/gnutls/extra.h
%_bindir/%libname-extra-config
%_libdir/%libname-extra.so
%_libdir/pkgconfig/gnutls-extra.pc
%_datadir/aclocal/%libname-extra.m4
%files -n %libname-openssl-devel
%_includedir/gnutls/openssl.h
%_libdir/%libname-openssl.so
%if_enabled static
%files -n %libname-devel-static
%_libdir/%libname.a
%files -n %libname-extra-devel-static
%_libdir/%libname-extra.a
%files -n %libname-openssl-devel-static
%_libdir/%libname-openssl.a
%endif # enabled static
%files devel-doc
%pkgdocdir/*.html
%pkgdocdir/*.png
%pkgdocdir/examples
%_man3dir/*
%_infodir/*
%_datadir/gtk-doc/html/*
%files utils
%_bindir/*
%exclude %_bindir/*-config
%_man1dir/*
# %%_datadir/guile belongs to guile package
# %%_datadir/guile/site may contain not only gnutls guile files.
# therefore %%_datadir/guile and %%_datadir/guile/site are not packaged.
# is there some package using 'site' directory?
%if_with guile
%files -n %libname-guile
%_datadir/guile/site/gnutls.scm
%_datadir/guile/site/gnutls
%_libdir/libguile-*
%endif
%changelog
* Thu Apr 30 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.6-alt0.M50.1
- 2.6.6 release.
+ fix Corrected double free on signature verification failure (CVE-2009-1415)
+ fix DSA key generation (CVE-2009-1416)
+ fix gnutls-cli expiration/activation time check (CVE-2009-1417)
* Tue Apr 14 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.5-alt0.M50.1.1
- build against libtasn1-2.0
* Mon Apr 13 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.5-alt0.M50.1
- backport to M50
* Mon Apr 13 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.5-alt1
- 2.6.5 release.
+ GnuTLS no longer uses the libtasn1-config (see NEWS)
- enable lzo by default
* Mon Feb 09 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.4-alt1
- 2.6.4 release.
* Tue Jan 27 2009 Afanasov Dmitry <ender@altlinux.org> 2.6.3-alt2
- change libgcrypt dependancy (Closes: #18654)
* Sun Dec 21 2008 Afanasov Dmitry <ender@altlinux.org> 2.6.3-alt1
- 2.6.3 release (see NEW for details)
+ Fix chain verification for chains that ends with RSA-MD2 CAs (CVE-2008-4989)
+ Fix memory leak in PSK authentication.
+ gnutls-cli minor updates
- return macroses that updates info's (fix repocop warnings)
* Tue Dec 02 2008 Afanasov Dmitry <ender@altlinux.org> 2.6.2-alt2
- fix unmet with devel packages.
* Wed Nov 26 2008 Afanasov Dmitry <ender@altlinux.org> 2.6.2-alt1
- 2.6.2 release.
- append soname to gettext files (fix conflict with gnutls that
has another soname).
* Sat Nov 08 2008 Afanasov Dmitry <ender@altlinux.org> 2.6.0-alt1
- 2.6.0 release.
- update buildreq.
- add support for lzo, guile controlled by --with/--without options.
disable by default.
- remove obsolete %%post/%%pre actions.
* Fri Jul 11 2008 Pavlov Konstantin <thresh@altlinux.ru> 2.4.1-alt1
- 2.4.1 release.
* Thu Mar 13 2008 Pavlov Konstantin <thresh@altlinux.ru> 2.2.2-alt1
- 2.2.2 release.
* Mon Dec 03 2007 Pavlov Konstantin <thresh@altlinux.ru> 2.0.4-alt1
- 2.0.4 release.
* Fri Sep 21 2007 Pavlov Konstantin <thresh@altlinux.ru> 2.0.1-alt1
- 2.0.1 release.
* Fri Sep 14 2007 Pavlov Konstantin <thresh@altlinux.ru> 2.0.0-alt1
- 2.0.0 release.
- Do not try to use valgrind on non-x86/x86_64 architectures (thx kas@).
* Tue Jun 05 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.3-alt1
- 1.6.3 release.
* Thu Apr 19 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.2-alt1
- 1.6.2 release.
* Wed Feb 21 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.1-alt5
- Reverted -alt4 fixes, introduced a real fix for tasn1.
* Wed Feb 14 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.1-alt4
- Fixed #10822: removed .private.
* Sun Jan 21 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.1-alt3
- Modified symbol versioning:
Added GNUTLS_1_6_1 with two new symbols.
* Sun Jan 21 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.1-alt2
- Added libgnutlsxx and libgnutlsxx-devel subpackages.
- Spec cleanup.
* Mon Jan 08 2007 Pavlov Konstantin <thresh@altlinux.ru> 1.6.1-alt1
- Release 1.6.1.
* Sun Sep 24 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.4-alt1
- Release 1.4.4
* Sun Sep 10 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.3-alt1
- Release 1.4.3
* Sat Sep 02 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2-alt1
- Updated to 1.4.2
* Tue May 30 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.0-alt1
- Updated to 1.4.0
- Updated Patch0
* Fri Mar 24 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.2.10-alt2
- Patch0: fixes build problems with ld --as-needed flag
* Sat Feb 11 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.2.10-alt1
- 1.2.10, fixes SA18794
- Correct packaging of examples
- Info install scripts moved to gnutls-devel-doc
* Thu Feb 02 2006 ALT QA Team Robot <qa-robot@altlinux.org> 1.2.9-alt1.1
- Rebuilt for new pkg-config dependencies.
* Sat Dec 03 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.2.9-alt1
- Updated to 1.2.9
- Moved documentation off to gnutls-devel-doc
* Tue Aug 16 2005 ALT QA Team Robot <qa-robot@altlinux.org> 1.2.6-alt1.1
- rebuild with libopencdk.
* Sun Aug 14 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.2.6-alt1
- Updated to upstream release 1.2.6
* Fri May 27 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.2.3-alt1
- Updated to upstream release 1.2.3
* Mon Jan 03 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.23-alt1
- Updated to upstream release 1.0.23
* Sat Oct 16 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.21-alt1
- Updated to upstream release 1.0.21
* Tue May 25 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.13-alt1
- Updated to upstream release 1.0.13
- Added /usr/bin/srptool to the utils file list
* Thu Apr 08 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.10-alt1
- Updated to upstream release 1.0.10
* Sat Mar 27 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.8-alt2
- Rebuilt against libgcrypt 1.1.93
* Sat Mar 06 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.8-alt1
- Updated to 1.0.8 upstream release
- Build fixes for new autotools
* Sat Jan 10 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.0.4-alt1
- Updated to 1.0.4 upstream release
- Renamed the source package to gnutls
- Added openssl subpackage family to pack libgnutls-openssl
* Sat Jan 10 2004 Mikhail Zabaluev <mhz@altlinux.ru> 0.8.9-alt3
- Made external libtasn1 linkage optional, disabled per default
* Fri Jan 02 2004 Mikhail Zabaluev <mhz@altlinux.ru> 0.8.9-alt2
- Spec cleanup
- Build against libtasn1
- Removed libtool files from the filelist
* Sun Jul 20 2003 Mikhail Zabaluev <mhz@altlinux.ru> 0.8.9-alt1
- Ported the package to ALT Linux