Bug#913360: libreoffice-base-drivers: please switch to libmariadb-java
Hi,
On Fri, Nov 09, 2018 at 11:45:41PM +0100, Rene Engelhard wrote:
> > diff --git a/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java
> > index a44f1b9d1..03a8293ef 100644
> > --- a/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java
> > +++ b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java
> > @@ -59,7 +59,7 @@ public class JdbcLongVarCharTest extends ComplexTestCase
> >
> > String url = "jdbc:mysql://localhost:3306/mysql?user=root";
> > com.sun.star.beans.PropertyValue prop[] = new PropertyValue[1];
> > - prop[0] = new PropertyValue("JavaDriverClass", 0, "com.mysql.jdbc.Driver", PropertyState.DIRECT_VALUE);
> > + prop[0] = new PropertyValue("JavaDriverClass", 0, "org.mariadb.jdbc.Driver", PropertyState.DIRECT_VALUE);
>
> Not used, ttbomk. At least we have no test environment where this ever
> could work. No MySQL running.
OK, this is not used because of
--- snip ---
ifneq ($(filter QADEVOOO,$(BUILD_TYPE)),)
$(eval $(call gb_Module_add_subsequentcheck_targets,connectivity,\
Jar_ConnectivityTools \
))
# FIXME: Does not work. Convert to JUnit.
# JunitTest_complex \
endif
--- snip ---
> > diff --git a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu b/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu
> > index 77988448f..acd8bfdaf 100644
> > --- a/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu
> > +++ b/connectivity/registry/mysql/org/openoffice/Office/DataAccess/Drivers.xcu
> > @@ -33,7 +33,7 @@
> > </node>
> > <node oor:name="JavaDriverClass" oor:op="replace">
> > <prop oor:name="Value" oor:type="xs:string">
> > - <value>com.mysql.jdbc.Driver</value>
> > + <value>org.mariadb.jdbc.Driver</value>
> > </prop>
> > </node>
> > <node oor:name="AddIndexAppendix" oor:op="replace">
> > diff --git a/connectivity/source/drivers/mysql/YDriver.cxx b/connectivity/source/drivers/mysql/YDriver.cxx
> > index 95094265e..c0ad7802e 100644
> > --- a/connectivity/source/drivers/mysql/YDriver.cxx
> > +++ b/connectivity/source/drivers/mysql/YDriver.cxx
> > @@ -54,7 +54,7 @@ namespace connectivity
> > css::uno::Sequence<css::beans::PropertyValue> const & info)
> > {
> > return comphelper::NamedValueCollection(info).getOrDefault(
> > - "JavaDriverClass", OUString("com.mysql.jdbc.Driver"));
> > + "JavaDriverClass", OUString("org.mariadb.jdbc.Driver"));
> > }
> > }
> >
> > @@ -185,7 +185,7 @@ namespace connectivity
> > aProps.push_back( PropertyValue(
> > "JavaDriverClass"
> > ,0
> > - ,makeAny(OUString("com.mysql.jdbc.Driver"))
> > + ,makeAny(OUString("org.mariadb.jdbc.Driver"))
> > ,PropertyState_DIRECT_VALUE) );
> > }
> > }
But I think this will give us problems if we suggest libmariadb-java and don't get the
new class into this...
Can't we get some symlinks in libmariadb-java? :)
Did
diff --git a/changelog b/changelog
index fe843d07..bdb4d3dd 100644
--- a/changelog
+++ b/changelog
@@ -7,13 +7,17 @@ libreoffice (1:6.1.3-2) UNRELEASED; urgency=medium
-Djdk.net.URLClassPath.disableClassPathURLCheck=true to JAVAIFLAGS;
see https://gerrit.libreoffice.org/#/c/63118/2
+ * debian/patches/use-mariadb-java-instead-of-mysql-java.diff: as name says;
+ use org.mariadb.jdbc.Driver instead of com.mysql.jdbc.Driver
* debian/control.in:
- - Add libmariadb-java as new alternative before libmysql-java in
- -base-drivers' Suggests: See #912916 for more information.
+ - Suggest libmariadb-java instead of libmysql-java. See #912916 for more
+ information.
* debian/patches/jdbc-driver-classpaths.diff: add org.mariadb.jdbc.Driver
- classpath to /usr/share/java/mariadb-java-client.jar
+ classpath pointing to /usr/share/java/mariadb-java-client.jar
* debian/libreoffice-base.bug-script.in: add libmariadb-java
- (closes: #913360)
+ (closes: #913360, thanks Markus Koschany)
+
+ * debian/libreoffice-base-drivers.NEWS: add NEWS about above change
-- Rene Engelhard <rene@debian.org> Fri, 09 Nov 2018 20:59:58 +0100
diff --git a/control b/control
index bb17ab05..635b538c 100644
--- a/control
+++ b/control
@@ -795,7 +795,7 @@ Depends: libreoffice-core, ${misc:Depends}, ${shlibs:Depends}
Architecture: alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386
Section: database
Suggests: libjtds-java,
- libreoffice-mysql-connector | libmyodbc | libmariadb-java | libmysql-java,
+ libreoffice-mysql-connector | libmyodbc | libmariadb-java,
libreoffice-sdbc-postgresql | odbc-postgresql | libpg-java,
libsqliteodbc | tdsodbc | mdbtools
Recommends: libreoffice-sdbc-hsqldb [alpha amd64 arm64 armel armhf i386 ia64 m68k mips mipsel mips64el powerpc ppc64 ppc64el s390x sparc64 powerpcspe kfreebsd-amd64 kfreebsd-i386],
@@ -825,9 +825,9 @@ Description: Database connectivity drivers for LibreOffice
- SQLite
- MS SQL / Sybase SQL
- *.mdb (JET / MS Access)
- * libmysql-java | libpg-java | libjtds-java: JDBC Drivers
+ * libmariadb-java | libpg-java | libjtds-java: JDBC Drivers
for:
- - MySQL
+ - MySQL/MariaDB
- PostgreSQL
- MS SQL Server and Sybase
* libreoffice-sdbc-hsqldb: embedded HSQLDB SDBC Driver
diff --git a/control.in b/control.in
index 0360399e..42fd69c0 100644
--- a/control.in
+++ b/control.in
@@ -581,7 +581,7 @@ Depends: libreoffice-core, ${shlibs:Depends}, ${misc:Depends}
Architecture: %OOO_BASE_ARCHS%
Section: database
Suggests: libreoffice-sdbc-postgresql | odbc-postgresql | libpg-java,
- libreoffice-mysql-connector | libmyodbc | libmariadb-java | libmysql-java,
+ libreoffice-mysql-connector | libmyodbc | libmariadb-java,
libsqliteodbc | tdsodbc | mdbtools,
libjtds-java,
Recommends: libreoffice-sdbc-hsqldb [%OOO_JAVA_ARCHS%], ${base-firebird-recommends}
@@ -610,9 +610,9 @@ Description: Database connectivity drivers for LibreOffice
- SQLite
- MS SQL / Sybase SQL
- *.mdb (JET / MS Access)
- * libmysql-java | libpg-java | libjtds-java: JDBC Drivers
+ * libmariadb-java | libpg-java | libjtds-java: JDBC Drivers
for:
- - MySQL
+ - MySQL/MariaDB
- PostgreSQL
- MS SQL Server and Sybase
* libreoffice-sdbc-hsqldb: embedded HSQLDB SDBC Driver
diff --git a/libreoffice-base-drivers.NEWS b/libreoffice-base-drivers.NEWS
new file mode 100644
index 00000000..8a648f67
--- /dev/null
+++ b/libreoffice-base-drivers.NEWS
@@ -0,0 +1,12 @@
+libreoffice (1:6.1.3-2) unstable; urgency=low
+
+ * The JDBC Driver used for JDBC Access by the LibreOffice MySQL driver
+ (NOT libreoffice-mysql-connector) contained in this package has been changed
+ from MySQL to MariaDB (libmysql-java -> libmariadb-java). This also involves
+ changing the classes used in the code, so using libmysql-java and
+ com.mysql.jdbc.Driver does not work anymore.
+
+ If you want to connect to MySQL or MariaDB databases over JDBC, use
+ libmariadb-java.
+
+ -- Rene Engelhard <rene@debian.org> Fri, 16 Nov 2018 19:35:22 +0100
diff --git a/patches/series b/patches/series
index b5a527df..78b42932 100644
--- a/patches/series
+++ b/patches/series
@@ -42,3 +42,4 @@ apparmor-cleanups.diff
fix-tests-openjdk11.patch
apparmor-mesa.diff
disableClassPathURLCheck.diff
+use-mariadb-java-instead-of-mysql-java.diff
diff --git a/patches/use-mariadb-java-instead-of-mysql-java.diff b/patches/use-mariadb-java-instead-of-mysql-java.diff
new file mode 100644
index 00000000..7ac47988
--- /dev/null
+++ b/patches/use-mariadb-java-instead-of-mysql-java.diff
[...]
for now, but I totally don't like it as it's an extra (ok, I have a predencence, but..)
patch I need to revert in stretch-backports. Ideally stretch-backports should just be
a rebuild.
Regards,
Rene
Reply to: