[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: