From 0ae3a29a383e29d4f6eabf0411b6a627828d9299 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Mon, 1 Apr 2024 16:30:08 +0200 Subject: [PATCH] - fix building with MySQL 8.x --- apr-util.spec | 8 +++++--- mysql8.patch | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 mysql8.patch diff --git a/apr-util.spec b/apr-util.spec index 9a4b8b4..641e713 100644 --- a/apr-util.spec +++ b/apr-util.spec @@ -19,7 +19,7 @@ Summary: A companion library to Apache Portable Runtime Summary(pl.UTF-8): Biblioteka towarzysząca Apache Portable Runtime Name: apr-util Version: 1.6.3 -Release: 1 +Release: 2 Epoch: 1 License: Apache v2.0 Group: Libraries @@ -28,6 +28,7 @@ Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 Patch0: %{name}-link.patch Patch1: %{name}-config-noldap.patch Patch3: %{name}-flags.patch +Patch4: mysql8.patch URL: http://apr.apache.org/ BuildRequires: apr-devel >= 1:1.6.0 BuildRequires: autoconf >= 2.59 @@ -35,7 +36,7 @@ BuildRequires: db-devel >= 5.3 BuildRequires: expat-devel %{?with_freetds:BuildRequires: freetds-devel} BuildRequires: libtool -%{?with_mysql:BuildRequires: mysql-devel} +%{?with_mysql:BuildRequires: mysql-devel >= 8.0.35} %{?with_nss:BuildRequires: nss-devel} %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %{?with_openssl:BuildRequires: openssl-devel} @@ -223,6 +224,7 @@ Statyczna biblioteka apr-util. %patch0 -p1 %patch1 -p1 %patch3 -p1 +%patch4 -p0 echo ' @@ -263,7 +265,7 @@ PYTHON=%{__python3} \ %{?with_nss:--with-nss} \ %{?with_openssl:--with-openssl} \ %{!?with_freetds:--without-freetds} \ - %{?with_mysql:--with-mysql=%{_prefix}} \ + %{?with_mysql:--with-mysql} \ %{!?with_odbc:--without-odbc} \ %{?with_oracle:--with-oracle} \ %{!?with_pgsql:--without-pgsql} \ diff --git a/mysql8.patch b/mysql8.patch new file mode 100644 index 0000000..d771e69 --- /dev/null +++ b/mysql8.patch @@ -0,0 +1,27 @@ +https://bz.apache.org/bugzilla/show_bug.cgi?id=62631 + +--- dbd/apr_dbd_mysql.c 2014-09-16 11:45:15.000000000 +0000 ++++ dbd/apr_dbd_mysql.c 2018-08-11 20:25:13.202562000 +0000 +@@ -47,6 +47,13 @@ + #include "apr_strings.h" + #include "apr_lib.h" + #include "apr_buckets.h" ++/* MySQL 8.0 replaces my_bool with C99 bool. Earlier versions of MySQL had ++* a typedef to char. Gem users reported failures on big endian systems when ++* using C99 bool types with older MySQLs due to mismatched behavior. */ ++#ifndef HAVE_TYPE_MY_BOOL ++#include ++typedef bool my_bool; ++#endif + + #include "apr_dbd_internal.h" + +@@ -1262,7 +1262,7 @@ + + static void dbd_mysql_init(apr_pool_t *pool) + { +-#if MYSQL_VERSION_ID < 100000 ++#if MYSQL_VERSION_ID < 80002 + my_init(); + #endif + mysql_thread_init(); -- 2.44.0