severity 343815 important
tags 343815 patch
thanks

Hi Frank,

As gpsdrive build-depends on libmysqlclient10-dev, which is still present in
unstable today, this bug is not release-critical; "important" is the correct
severity.  Nevertheless, I would like to drop libmysqlclient10 for etch, so
I'm going to go ahead and NMU gpsdrive anyway.

The attached patch switches gpsdrive over to use libmysqlclient.so.15
instead of libmysqlclient.so.10.  It also makes some small changes to the
package's headers, due to a small ABI change in mysql_real_connect() that
would otherwise affect 64-bit architectures.  The prototypes of all the
other symbols look ok to me, after reviewing the source.

Analysis of the code shows that libmysqlclient10-dev was not actually being
used at build time due to the bundled copy of mysql headers, but I've gone
ahead and substituted libmysqlclient15-dev in the build-depends line anyway
-- otherwise, there would be no way to notice this feature of gpsdrive was
broken when libmysqlclient15 leaves the archive, since it's only a Suggests:
rather than a Depends:.

An NMU using this patch will be uploaded to unstable shortly.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
diff -u gpsdrive-2.09/debian/changelog gpsdrive-2.09/debian/changelog
--- gpsdrive-2.09/debian/changelog
+++ gpsdrive-2.09/debian/changelog
@@ -1,3 +1,13 @@
+gpsdrive (2.09-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Build-depend on libmysqlclient15-dev instead of the obsolete
+    libmysqlclient10-dev which should be removed for etch; requires minor
+    source changes due to changed library name and a small ABI change.
+    Closes: #343815.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Mon, 20 Feb 2006 01:00:45 -0800
+
 gpsdrive (2.09-2sarge1) stable-security; urgency=high
 
   * Non-maintainer upload by the Security Team
diff -u gpsdrive-2.09/debian/control gpsdrive-2.09/debian/control
--- gpsdrive-2.09/debian/control
+++ gpsdrive-2.09/debian/control
@@ -2,14 +2,14 @@
 Section: utils
 Priority: optional
 Maintainer: Frank Kirschner <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>> 3.0.0), pkg-config, libpcre3-dev, libgtk2.0-dev, 
libmysqlclient10-dev, xutils
+Build-Depends: debhelper (>> 3.0.0), pkg-config, libpcre3-dev, libgtk2.0-dev, 
libmysqlclient15-dev, xutils
 Standards-Version: 3.6.1
 
 Package: gpsdrive
 Architecture: any
 Depends: ${shlibs:Depends}
 Recommends: gpsd
-Suggests: libmysqlclient10, imagemagick
+Suggests: libmysqlclient15, imagemagick
 Description: Car navigation system
  GpsDrive is a car (bike, ship, plane) navigation system.
  GpsDrive displays your position provided from your NMEA capable GPS
only in patch2:
unchanged:
--- gpsdrive-2.09.orig/README.SQL
+++ gpsdrive-2.09/README.SQL
@@ -7,7 +7,7 @@
 Compiling:
 ----------
 There is no MySQL needed for compiling, the needed library
-libmysqlclient.so.10 will be loaded at runtime, if found.
+libmysqlclient.so.15 will be loaded at runtime, if found.
 
 Running and first initialization:
 ---------------------------------
only in patch2:
unchanged:
--- gpsdrive-2.09.orig/src/gpsdrive.c
+++ gpsdrive-2.09/src/gpsdrive.c
@@ -10496,22 +10496,22 @@
       if (!handle)
        handle = dlopen ("libmysqlclient.so", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/opt/lib/mysql/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/opt/lib/mysql/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/opt/mysql/lib/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/opt/mysql/lib/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/usr/lib/mysql/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/usr/lib/mysql/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/usr/lib/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/usr/lib/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
        handle =
-         dlopen ("/usr/local/lib/mysql/libmysqlclient.so.10", RTLD_LAZY);
+         dlopen ("/usr/local/lib/mysql/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/usr/local/mysql/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/usr/local/mysql/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
-       handle = dlopen ("/usr/local/lib/libmysqlclient.so.10", RTLD_LAZY);
+       handle = dlopen ("/usr/local/lib/libmysqlclient.so.15", RTLD_LAZY);
       if (!handle)
        handle = dlopen ("/sw/lib/libmysqlclient.dylib", RTLD_LAZY);
 
only in patch2:
unchanged:
--- gpsdrive-2.09.orig/src/gpsdrive.h
+++ gpsdrive-2.09/src/gpsdrive.h
@@ -237,7 +237,7 @@
                                            const char *db,
                                            unsigned int port,
                                            const char *unix_socket,
-                                           unsigned int clientflag);
+                                           unsigned long clientflag);
 void    (*dl_mysql_close)(MYSQL *sock);
 int     (*dl_mysql_query)(MYSQL *mysql, const char *q);
 my_ulonglong (*dl_mysql_affected_rows)(MYSQL *mysql);
only in patch2:
unchanged:
--- gpsdrive-2.09.orig/src/mysql/mysql.h
+++ gpsdrive-2.09/src/mysql/mysql.h
@@ -229,14 +229,14 @@
                                           const char *db,
                                           unsigned int port,
                                           const char *unix_socket,
-                                          unsigned int clientflag);
+                                          unsigned long clientflag);
 #else
 MYSQL *                STDCALL mysql_real_connect(MYSQL *mysql, const char 
*host,
                                           const char *user,
                                           const char *passwd,
                                           unsigned int port,
                                           const char *unix_socket,
-                                          unsigned int clientflag);
+                                          unsigned long clientflag);
 #endif
 void           STDCALL mysql_close(MYSQL *sock);
 int            STDCALL mysql_select_db(MYSQL *mysql, const char *db);
only in patch2:
unchanged:
--- gpsdrive-2.09.orig/man/gpsdrive.1
+++ gpsdrive-2.09/man/gpsdrive.1
@@ -633,7 +633,7 @@
 menu.
 
 GpsDrive use MySQL automatically if it finds the shared library 
-.I libmysqlclient.so.10 
+.I libmysqlclient.so.15 
 and the MySQL Server is running and a connection to the database is possible. 
For first use you have to run 
 .B create.sql
 once.

Attachment: signature.asc
Description: Digital signature

Reply via email to