package/oracle-mysql: don't use bundled zlib

As spotted by Thomas Petazzoni during review of
https://patchwork.ozlabs.org/project/buildroot/patch/20200713215943.2240412-1-fontaine.fabrice@gmail.com,
oracle-mysql uses its bundled version of zlib if it is not found on the
system

So explictly disable zlib if needed and add a patch fixing build
failures without it

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabrice Fontaine 2020-07-14 18:31:52 +02:00 committed by Thomas Petazzoni
parent 1e23e2ab45
commit 6fed83a030
2 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,52 @@
Fix build without zlib
Don't include unconditionally zlib.h, and compile out code that
requires zlib support.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
diff -durN mysql-5.1.73.orig/mysys/checksum.c mysql-5.1.73/mysys/checksum.c
--- mysql-5.1.73.orig/mysys/checksum.c 2020-07-14 17:34:38.212304432 +0200
+++ mysql-5.1.73/mysys/checksum.c 2020-07-14 18:06:45.076342493 +0200
@@ -16,7 +16,9 @@
#include <my_global.h>
#include <my_sys.h>
+#ifdef HAVE_COMPRESS
#include <zlib.h>
+#endif
/*
Calculate a long checksum for a memoryblock.
diff -durN mysql-5.1.73.orig/sql/item_strfunc.cc mysql-5.1.73/sql/item_strfunc.cc
--- mysql-5.1.73.orig/sql/item_strfunc.cc 2020-07-14 17:34:38.160304431 +0200
+++ mysql-5.1.73/sql/item_strfunc.cc 2020-07-14 18:04:36.956339962 +0200
@@ -35,7 +35,9 @@
#include "my_md5.h"
#include "sha1.h"
#include "my_aes.h"
+#ifdef HAVE_COMPRESS
#include <zlib.h>
+#endif
C_MODE_START
#include "../mysys/my_static.h" // For soundex_map
C_MODE_END
diff -durN mysql-5.1.73.orig/sql/sql_table.cc mysql-5.1.73/sql/sql_table.cc
--- mysql-5.1.73.orig/sql/sql_table.cc 2020-07-14 17:34:38.156304431 +0200
+++ mysql-5.1.73/sql/sql_table.cc 2020-07-14 18:14:48.628352044 +0200
@@ -1681,6 +1681,7 @@
goto end;
}
}
+#ifdef HAVE_COMPRESS
if (flags & WFRM_PACK_FRM)
{
/*
@@ -1702,6 +1703,7 @@
}
error= my_delete(shadow_frm_name, MYF(MY_WME));
}
+#endif
if (flags & WFRM_INSTALL_SHADOW)
{
#ifdef WITH_PARTITION_STORAGE_ENGINE

View File

@ -68,6 +68,9 @@ endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
ORACLE_MYSQL_DEPENDENCIES += zlib
ORACLE_MYSQL_CONF_OPTS += --with-zlib-dir=$(STAGING_DIR)/usr
else
ORACLE_MYSQL_CONF_OPTS += --without-zlib-dir
endif
ifeq ($(BR2_PACKAGE_ORACLE_MYSQL_SERVER),y)