Source: freetds
Severity: normal
Version: 0.91-5
Tags: patch
User: ametz...@debian.org
Usertags: gnutls3

Dear Maintainer,

Please consider switching to gnutls28 to use more up to date
implementation. Previous licensing concerns (GPLv2-only incompatibility)
of gnutls28 have now been resolved.

Also using and linking with gcrypt is no longer necessary as gnutls 2.12
uses locking by default. [1]

Please consider applying following patch:

reverted:
--- freetds-0.91/configure.ac
+++ freetds-0.91.orig/configure.ac
@@ -694,11 +694,11 @@
 if test "$with_gnutls" = "yes"; then
 	AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if you have GNU tls.])
 	if test "$PKG_CONFIG" != "" && "$PKG_CONFIG" --libs gnutls > /dev/null 2>&1; then
+		CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags gnutls`"
+		NETWORK_LIBS="$NETWORK_LIBS `$PKG_CONFIG --libs gnutls`"
-		CPPFLAGS="$CPPFLAGS `libgcrypt-config --cflags` `$PKG_CONFIG --cflags gnutls`"
-		NETWORK_LIBS="$NETWORK_LIBS `libgcrypt-config --libs` `$PKG_CONFIG --libs gnutls`"
 	else
+		CPPFLAGS="$CPPFLAGS `libgnutls-config --cflags`"
+		NETWORK_LIBS="$NETWORK_LIBS `libgnutls-config --libs`"
-		CPPFLAGS="$CPPFLAGS `libgcrypt-config --cflags` `libgnutls-config --cflags`"
-		NETWORK_LIBS="$NETWORK_LIBS `libgcrypt-config --libs` `libgnutls-config --libs`"
 	fi
 	OLDLIBS="$LIBS"
 	LIBS="$LIBS $NETWORK_LIBS"
diff -u freetds-0.91/debian/changelog freetds-0.91/debian/changelog
--- freetds-0.91/debian/changelog
+++ freetds-0.91/debian/changelog
@@ -1,3 +1,12 @@
+freetds (0.91-5.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Build against gnutls28-dev.
+  * Drop libgcrypt-dev dependency.
+  * Do not check for libgcrypt-dev in configure scripts.
+
+ -- Dimitri John Ledkov <x...@ubuntu.com>  Thu, 08 May 2014 21:34:31 +0100
+
 freetds (0.91-5) unstable; urgency=low
 
   * Add Kerberos support.  LP: #1223567.
diff -u freetds-0.91/debian/control freetds-0.91/debian/control
--- freetds-0.91/debian/control
+++ freetds-0.91/debian/control
@@ -11,9 +11,8 @@
 	autotools-dev,
 	unixodbc-dev (>= 2.2.11-10),
 	libglib2.0-dev | libglib-dev,
-	libgnutls-dev,
+	libgnutls28-dev,
 	libreadline-dev,
-	libgcrypt-dev,
 	libkrb5-dev,
 	dh-autoreconf
 
only in patch2:
unchanged:
--- freetds-0.91.orig/src/tds/net.c
+++ freetds-0.91/src/tds/net.c
@@ -94,11 +94,13 @@
 #include <assert.h>
 
 #ifdef HAVE_GNUTLS
+#include <gnutls/gnutls.h>
 #if defined(_THREAD_SAFE) && defined(TDS_HAVE_PTHREAD_MUTEX)
 #include "tdsthread.h"
+#if GNUTLS_VERSION_NUMBER <= 0x020b00
 #include <gcrypt.h>
 #endif
-#include <gnutls/gnutls.h>
+#endif
 #elif defined(HAVE_OPENSSL)
 #include <openssl/ssl.h>
 #endif
@@ -1268,7 +1270,7 @@
 }
 #endif
 
-#if defined(_THREAD_SAFE) && defined(TDS_HAVE_PTHREAD_MUTEX)
+#if defined(_THREAD_SAFE) && defined(TDS_HAVE_PTHREAD_MUTEX) && GNUTLS_VERSION_NUMBER <= 0x020b00
 GCRY_THREAD_OPTION_PTHREAD_IMPL;
 #define tds_gcry_init() gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread)
 #else
Regards,

Dimitri.

[1] gnutls 2.12 release announcement:
** libgnutls: Added gnutls_global_set_mutex() to allow setting
alternative locking procedures. By default the system available
locking is used. In *NIX pthreads are used and in windows the
critical section API. This follows a different approach than the
previous versions that depended on libgcrypt initialization. The
locks are now set by default in systems that support it. Programs
that used gcry_control() to set thread locks should insert it into
a block of
#if GNUTLS_VERSION_NUMBER <= 0x020b00
        gcry_control(...)
#endif

Reply via email to