Hello community,
here is the log from the commit of package mysql-connector-cpp for
openSUSE:Factory checked in at 2020-05-02 22:17:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mysql-connector-cpp (Old)
and /work/SRC/openSUSE:Factory/.mysql-connector-cpp.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-connector-cpp"
Sat May 2 22:17:56 2020 rev:28 rq:799500 version:8.0.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/mysql-connector-cpp/mysql-connector-cpp.changes
2019-02-28 21:24:02.997920130 +0100
+++
/work/SRC/openSUSE:Factory/.mysql-connector-cpp.new.2738/mysql-connector-cpp.changes
2020-05-02 22:17:59.516618319 +0200
@@ -1,0 +2,20 @@
+Thu Apr 2 21:07:48 UTC 2020 - Mykola Krachkovsky <[email protected]>
+
+- Updated to version 8.0.19
+ * release notes:
+ https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-19.html
+ https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-18.html
+ https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-17.html
+ https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-16.html
+- Fixed mysql/mariadb config utility incompatability
+ * added mysql-connector-cpp-config.patch
+- Added patch for dl functions linking
+ * added mysql-connector-cpp-dlfcn.patch
+- Updated typos patch
+ * removed mysql-connector-cpp-8.0.12-libmysql_dynamic_proxy_typos.patch
+ * added mysql-connector-cpp-libmysql_dynamic_proxy_typos.patch
+- Used system protobuf (packaged withing mysql-workbench has some building
+ issues in OBS)
+ * added mysql-connector-cpp-use-system-protobuf.patch
+
+-------------------------------------------------------------------
Old:
----
mysql-connector-c++-8.0.15-src.tar.gz
mysql-connector-cpp-8.0.12-libmysql_dynamic_proxy_typos.patch
New:
----
mysql-connector-c++-8.0.19-src.tar.gz
mysql-connector-cpp-config.patch
mysql-connector-cpp-dlfcn.patch
mysql-connector-cpp-libmysql_dynamic_proxy_typos.patch
mysql-connector-cpp-use-system-protobuf.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-connector-cpp.spec ++++++
--- /var/tmp/diff_new_pack.tE9g3O/_old 2020-05-02 22:18:00.224619803 +0200
+++ /var/tmp/diff_new_pack.tE9g3O/_new 2020-05-02 22:18:00.224619803 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mysql-connector-cpp
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,22 +17,30 @@
%define libname libmysqlcppconn7
-%define x_libname libmysqlcppconn8-1
+%define x_libname libmysqlcppconn8-2
Name: mysql-connector-cpp
-Version: 8.0.15
+Version: 8.0.19
Release: 0
Summary: MySQL Connector/C++: Standardized database driver for C++
development
License: SUSE-GPL-2.0-with-FLOSS-exception
Group: Development/Libraries/C and C++
URL: http://dev.mysql.com/downloads/connector/
Source:
http://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-%{version}-src.tar.gz
+# PATCH-FIX-OPENSUSE fix options for mysql_config
+Patch1: mysql-connector-cpp-config.patch
# PATCH-FIX-UPSTREAM - bsc#1067883 [email protected] -- fix build with
libmariadb by fixing copypaste errors in libmysql_dynamic_proxy.cpp file
-Patch3: mysql-connector-cpp-8.0.12-libmysql_dynamic_proxy_typos.patch
+Patch3: mysql-connector-cpp-libmysql_dynamic_proxy_typos.patch
# PATCH-FIX-OPENSUSE fix library to work with MariaDB instead of MySQL
Patch4: mysql-connector-cpp-mariadb.patch
+# PATCH-FIX-OPENSUSE fix absence of -ldl
+Patch5: mysql-connector-cpp-dlfcn.patch
+# PATCH-FIX-OPENSUSE use system protobuf (due to some build issues in OBS)
+Patch6: mysql-connector-cpp-use-system-protobuf.patch
BuildRequires: cmake >= 2.6.2
+BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libmysqlclient-devel
+BuildRequires: protobuf-devel
BuildRequires: zlib-devel
Obsoletes: mysql-connector-c++ < %{version}
Provides: mysql-connector-c++ = %{version}
@@ -125,8 +133,7 @@
%prep
%setup -q -n mysql-connector-c++-%{version}-src
-%patch3 -p1
-%patch4 -p1
+%autopatch -p1
chmod -x jdbc/examples/*
%build
@@ -146,14 +153,14 @@
rm -f %{buildroot}%{_libdir}/libmysqlcppconn-static.a
rm -f %{buildroot}%{_prefix}/[A-Z]*
mkdir -p %{buildroot}%{_docdir}/libmysqlcppconn-devel
-install -m 0644 LICENSE.txt %{buildroot}%{_docdir}/libmysqlcppconn-devel/
install -m 0644 README.txt %{buildroot}%{_docdir}/libmysqlcppconn-devel/
mkdir -p %{buildroot}%{_docdir}/libmysqlcppconn-devel/examples
install -m 0644 jdbc/examples/*
%{buildroot}%{_docdir}/libmysqlcppconn-devel/examples/
mkdir -p %{buildroot}%{_docdir}/libmysqlcppconn8-devel
-install -m 0644 LICENSE.txt %{buildroot}%{_docdir}/libmysqlcppconn8-devel/
install -m 0644 README.txt %{buildroot}%{_docdir}/libmysqlcppconn8-devel/
+%fdupes -s %{buildroot}
+
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
@@ -163,8 +170,9 @@
%files -n libmysqlcppconn-devel
%license LICENSE.txt
-%doc LICENSE.txt README.txt examples
+%doc README.txt examples
%{_includedir}/jdbc
+%{_includedir}/mysql/jdbc.h
%{_libdir}/libmysqlcppconn.so
%files -n %{libname}
@@ -172,7 +180,7 @@
%files -n libmysqlcppconn8-devel
%license LICENSE.txt
-%doc LICENSE.txt README.txt
+%doc README.txt
%{_includedir}/mysqlx
%{_libdir}/libmysqlcppconn8.so
++++++ mysql-connector-c++-8.0.15-src.tar.gz ->
mysql-connector-c++-8.0.19-src.tar.gz ++++++
++++ 468701 lines of diff (skipped)
++++++ mysql-connector-cpp-config.patch ++++++
diff -uNr mysql-connector-c++-8.0.16-src/jdbc/cmake/DepFindMySQL.cmake
mysql-connector-c++-8.0.16-src/jdbc/cmake/DepFindMySQL.cmake
--- mysql-connector-c++-8.0.16-src/jdbc/cmake/DepFindMySQL.cmake
2019-03-04 19:29:41.000000000 +0200
+++ mysql-connector-c++-8.0.16-src/jdbc/cmake/DepFindMySQL.cmake
2019-06-17 14:27:06.114392842 +0300
@@ -453,8 +453,8 @@
# Install location
- _mysql_conf(MYSQL_INCLUDE_DIR --variable=pkgincludedir)
- _mysql_conf(MYSQL_LIB_DIR --variable=pkglibdir)
+ set(MYSQL_INCLUDE_DIR "/usr/include/mysql")
+ set(MYSQL_LIB_DIR "/usr/lib64")
file(TO_CMAKE_PATH "${MYSQL_INCLUDE_DIR}" MYSQL_INCLUDE_DIR)
file(TO_CMAKE_PATH "${MYSQL_LIB_DIR}" MYSQL_LIB_DIR)
++++++ mysql-connector-cpp-dlfcn.patch ++++++
--- mysql-connector-c++-8.0.19-org/jdbc/driver/CMakeLists.txt 2019-11-28
01:08:32.000000000 +0200
+++ mysql-connector-c++-8.0.19-src/jdbc/driver/CMakeLists.txt 2020-04-03
00:04:30.255859754 +0300
@@ -201,6 +201,10 @@
target_include_directories(jdbc PRIVATE ${MYSQL_INCLUDE_DIR})
endif()
+if(CMAKE_DL_LIBS)
+ target_link_libraries(jdbc PUBLIC ${CMAKE_DL_LIBS})
+endif()
+
if(NOT BUILD_SHARED_LIBS)
target_compile_definitions(jdbc PRIVATE -DCPPCONN_LIB_BUILD)
else()
++++++ mysql-connector-cpp-libmysql_dynamic_proxy_typos.patch ++++++
---
mysql-connector-c++-8.0.18-org/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
2018-05-21 16:06:10.000000000 +0300
+++
mysql-connector-c++-8.0.18-src/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
2018-08-09 12:38:45.453558901 +0300
@@ -440,7 +440,7 @@
int
LibmysqlDynamicProxy::get_option(MYSQL * mysql, enum mysql_option option,
const void *arg)
{
- ptr2mysql_get_option ptr2_get_option =
symbol_safe_cast<ptr2mysql_options>(GetProcAddr("mysql_get_option"));
+ ptr2mysql_get_option ptr2_get_option =
symbol_safe_cast<ptr2mysql_get_option>(GetProcAddr("mysql_get_option"));
if (ptr2_get_option != NULL) {
if (((*ptr2_get_option)(mysql, option, arg))) {
throw sql::InvalidArgumentException("Unsupported option provided to
mysql_get_option()");
++++++ mysql-connector-cpp-use-system-protobuf.patch ++++++
diff -uNr mysql-connector-c++-8.0.19-org/cdk/CMakeLists.txt
mysql-connector-c++-8.0.19-src/cdk/CMakeLists.txt
--- mysql-connector-c++-8.0.19-org/cdk/CMakeLists.txt 2019-12-12
08:48:20.000000000 +0200
+++ mysql-connector-c++-8.0.19-src/cdk/CMakeLists.txt 2020-04-03
01:37:18.880097316 +0300
@@ -94,9 +94,9 @@
#
find_dependency(SSL)
-find_dependency(Protobuf)
find_dependency(RapidJSON)
find_dependency(Coverage)
+find_package(Protobuf REQUIRED)
# TODO: These macros should not be used in public headers because they are
diff -uNr mysql-connector-c++-8.0.19-org/cdk/core/CMakeLists.txt
mysql-connector-c++-8.0.19-src/cdk/core/CMakeLists.txt
--- mysql-connector-c++-8.0.19-org/cdk/core/CMakeLists.txt 2019-12-12
08:48:20.000000000 +0200
+++ mysql-connector-c++-8.0.19-src/cdk/core/CMakeLists.txt 2020-04-03
01:41:40.221696783 +0300
@@ -44,7 +44,7 @@
target_link_libraries(cdk
PUBLIC cdk_mysqlx cdk_parser
- PRIVATE Protobuf::pb-lite # required by codecc.cc
+ PRIVATE protobuf::libprotobuf-lite # required by codecc.cc
)
add_coverage(cdk)
diff -uNr mysql-connector-c++-8.0.19-org/cdk/protocol/mysqlx/CMakeLists.txt
mysql-connector-c++-8.0.19-src/cdk/protocol/mysqlx/CMakeLists.txt
--- mysql-connector-c++-8.0.19-org/cdk/protocol/mysqlx/CMakeLists.txt
2019-12-12 08:48:20.000000000 +0200
+++ mysql-connector-c++-8.0.19-src/cdk/protocol/mysqlx/CMakeLists.txt
2020-04-03 01:45:21.531663970 +0300
@@ -109,6 +109,65 @@
endif(NOT use_full_protobuf)
+function(mysqlx_protobuf_generate_cpp SRCS HDRS)
+
+ IF(NOT ARGN)
+ MESSAGE(SEND_ERROR
+ "Error: MYSQLX_PROTOBUF_GENERATE_CPP() called without any proto files")
+ RETURN()
+ ENDIF()
+
+ SET(srcs)
+ SET(hdrs)
+
+ FOREACH(FIL ${ARGN})
+
+ GET_FILENAME_COMPONENT(ABS_FIL ${FIL} ABSOLUTE)
+ GET_FILENAME_COMPONENT(FIL_WE ${FIL} NAME_WE)
+ GET_FILENAME_COMPONENT(ABS_PATH ${ABS_FIL} PATH)
+
+ LIST(APPEND srcs "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.cc")
+ LIST(APPEND hdrs "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h")
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.cc"
+ "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
+ COMMAND ${CMAKE_COMMAND}
+ -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+ COMMAND protobuf::protoc
+ ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+ -I ${ABS_PATH} ${ABS_FIL}
+ DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
+ COMMENT "Running C++ protocol buffer compiler on ${FIL}"
+ VERBATIM
+ )
+
+ ENDFOREACH()
+
+ SET_SOURCE_FILES_PROPERTIES(
+ ${srcs} ${hdrs}
+ PROPERTIES GENERATED TRUE)
+
+ #
+ # Disable compile warnings in code generated by Protobuf
+ #
+
+ IF(UNIX)
+ set_source_files_properties(${srcs}
+ APPEND_STRING PROPERTY COMPILE_FLAGS "-w"
+ )
+ ELSE(WIN32)
+ set_source_files_properties(${srcs}
+ APPEND_STRING PROPERTY COMPILE_FLAGS
+ "/W1 /wd4018 /wd4996 /wd4244 /wd4267"
+ )
+ ENDIF()
+
+
+ SET(${SRCS} ${srcs} PARENT_SCOPE)
+ SET(${HDRS} ${hdrs} PARENT_SCOPE)
+
+endfunction(mysqlx_protobuf_generate_cpp)
mysqlx_protobuf_generate_cpp(PB_SRCS PB_HDRS ${proto_mysqlx_defs})
@@ -127,9 +187,9 @@
)
if(use_full_protobuf)
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
+ target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf::libprotobuf)
else()
- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
+ target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf::libprotobuf-lite)
endif()
target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation)