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.
signature.asc
Description: Digital signature