diff --git a/.gitignore b/.gitignore index 9d37854..eb38feb 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /mysql-connector-odbc-5.3.2-src.tar.gz /mariadb-mysys.tar.gz /mysql-connector-odbc-5.3.4-src.tar.gz +/mysql-connector-odbc-5.3.9-src.tar.gz diff --git a/mysql-connector-odbc-5.2.5-aarch64.patch b/mysql-connector-odbc-5.2.5-aarch64.patch deleted file mode 100644 index 4ec11b6..0000000 --- a/mysql-connector-odbc-5.2.5-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up --recursive mysql-connector-odbc-5.3.2-src.orig/CMakeLists.txt mysql-connector-odbc-5.3.2-src/CMakeLists.txt ---- mysql-connector-odbc-5.3.2-src.orig/CMakeLists.txt 2014-03-26 22:20:55.000000000 +0100 -+++ mysql-connector-odbc-5.3.2-src/CMakeLists.txt 2014-06-12 17:13:06.287288410 +0200 -@@ -251,7 +251,7 @@ SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINA - SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") - - SET(LIB_SUBDIR "lib") --IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)") -+IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|aarch64|ppc64|ppc64p7|s390x|sparc64)") - SET(LIB_SUBDIR "lib64") - ENDIF() - diff --git a/mysql-connector-odbc-aarch64-libdir.patch b/mysql-connector-odbc-aarch64-libdir.patch new file mode 100644 index 0000000..4bb9a5c --- /dev/null +++ b/mysql-connector-odbc-aarch64-libdir.patch @@ -0,0 +1,14 @@ +Mark aarch64 as a 64-bit architecture. +Otherwise, "/usr/lib" would be used instead of correct "/usr/lib64". + +--- mysql-connector-odbc-5.3.9-src/CMakeLists.txt 2017-07-18 06:52:28.000000000 +0200 ++++ mysql-connector-odbc-5.3.9-src/CMakeLists.txt_patched 2018-01-02 20:38:52.032637173 +0100 +@@ -251,7 +251,7 @@ SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINA + SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") + + SET(LIB_SUBDIR "lib") +-IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)") ++IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64|aarch64)") + SET(LIB_SUBDIR "lib64") + ENDIF() + diff --git a/mysql-connector-odbc.spec b/mysql-connector-odbc.spec index 0b9a70c..e4f5327 100644 --- a/mysql-connector-odbc.spec +++ b/mysql-connector-odbc.spec @@ -1,24 +1,18 @@ -Summary: ODBC driver for MySQL -Name: mysql-connector-odbc -Version: 5.3.4 -Release: 8%{?dist} -Group: System Environment/Libraries -URL: http://dev.mysql.com/downloads/connector/odbc/ -# exceptions allow library to be linked with most open source SW, -# not only GPL code. -License: GPLv2 with exceptions - -Source0: http://dev.mysql.com/get/Downloads/Connector-ODBC/5.2/%{name}-%{version}-src.tar.gz - -# mysql-connector-odbc expects to be able to get at a bunch of utility -# functions inside libmysqlclient. Now that we are restricting what symbols -# are exported by libmysqlclient, that doesn't work. Instead, copy those -# functions here. mysql and mysql-connector-odbc are published under the same -# license, so this creates no legal issues. (Note: we don't worry about -# polluting application namespace in mysql-connector-odbc, since it's never -# directly statically linked with any application code.) -Source1: mariadb-mysys.tar.gz +# About: +# https://dev.mysql.com/doc/connectors/en/connector-odbc-installation-source-unix.html +# Dynamic linking issue tracker: +# https://bugs.mysql.com/bug.php?id=82202 +Name: mysql-connector-odbc +Version: 5.3.9 +Release: 1%{?dist} +Summary: ODBC driver for MySQL + +License: GPLv2 with exceptions +URL: https://dev.mysql.com/downloads/connector/odbc/ +Source0: http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/%{name}-%{version}-src.tar.gz + +# TODO: add explanative comments to all patches Patch1: myodbc-add-mysys.patch Patch2: myodbc-shutdown.patch Patch3: myodbc-64bit.patch @@ -26,35 +20,34 @@ Patch4: myodbc-movecmpfunc.patch Patch5: mysql-connector-odbc-buffsize.patch Patch6: mysql-connector-odbc-cleartext.patch Patch7: mysql-connector-odbc-format-security.patch -Patch8: mysql-connector-odbc-5.2.5-aarch64.patch +# Mark aarch64 as a 64-bit architecture. Otherwise "/usr/lib" would be used instead of correct "/usr/lib64" +Patch8: mysql-connector-odbc-aarch64-libdir.patch Patch9: myodbc-mariadb10.patch Patch10: mysql-connector-odbc-x_free.patch -BuildRequires: mysql-devel unixODBC-devel gtk3-devel -BuildRequires: cmake -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: cmake unixODBC-devel gtk3-devel +BuildRequires: community-mysql-devel +BuildRequires: community-mysql-static +Suggests: community-mysql-server %description An ODBC (rev 3) driver for MySQL, for use with unixODBC. + %prep %setup -q -n %{name}-%{version}-src -tar xfz %{SOURCE1} - -%patch1 -p1 -%patch2 -p1 +# TODO: check all pacthes, if they are still needed +#%patch1 -p1 +#%patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 +#%patch4 -p1 +#%patch5 -p1 +#%patch6 -p1 +#%patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 - -# mysql_config does not support --cxxflags option -sed -i 's/--cxxflags/--cflags/g' cmake/FindMySQL.cmake +#%patch9 -p1 +#%patch10 -p1 %build # mysql 5.5.10 has stopped #define'ing THREAD in its exports, and has @@ -63,14 +56,17 @@ sed -i 's/--cxxflags/--cflags/g' cmake/FindMySQL.cmake # when updating to newer release. export CFLAGS="%{optflags} -lpthread -fno-strict-aliasing -DTHREAD=1 -UMY_PTHREAD_FASTMUTEX -DDBUG_OFF" -cmake . -G "Unix Makefiles" \ +cmake . \ + -G "Unix Makefiles" \ -DWITH_UNIXODBC=1 \ -DRPM_BUILD=1 \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ - -DMYSQLCLIENT_LIB_NAME=mysqlclient + -DMYSQLCLIENT_STATIC_LINKING=ON make %{?_smp_mflags} VERBOSE=1 + + %install export tagname=CC make DESTDIR=$RPM_BUILD_ROOT install @@ -93,6 +89,8 @@ ln -sf libmyodbc5w.so $RPM_BUILD_ROOT%{_libdir}/libmyodbc5.so # We don't include the test suite until it works fine. rm -rf $RPM_BUILD_ROOT/usr/test + + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -101,7 +99,16 @@ rm -rf $RPM_BUILD_ROOT/usr/test %doc README README.debug ChangeLog COPYING %{_libdir}/lib*so + + %changelog +* Tue Jan 02 2018 Michal Schorm - 5.3.9-1 +- Begin building against static library, dynamic linking is not supported from 5.3.6 version + https://bugs.mysql.com/bug.php?id=82202 +- Begin building against community-mysql again, MariaDB files used to build this connectors + are no longer available +- Drop Group tag as it shouldn't be used anymore + * Thu Aug 03 2017 Fedora Release Engineering - 5.3.4-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 9aaa366..e0aaf45 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -6974c4dd9096b961267ed6c4c853a07c mysql-connector-odbc-5.3.4-src.tar.gz -55520d6ae84cbc0a0693f18393255a07 mariadb-mysys.tar.gz +SHA512 (mysql-connector-odbc-5.3.9-src.tar.gz) = bbded69fa9c9d5899badb73ea490d9625de451b351b015f4662108ea282e5dbac4b1d962cbe069f3c36f8f36605383ebd10ff5a97d98332d3676cbc17edf0040