Commit 466c83e3 authored by Jérome Perrin's avatar Jérome Perrin

erp5/crash_test: configure mariadb with debug enabled

https://mariadb.com/kb/en/compiling-mariadb-for-debugging/
parent 84e6ea94
From 47d01e14c26855323fba181936a77643e963d5a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 24 Sep 2020 08:52:07 +0200
Subject: [PATCH] Workaround double definiton of openssl 1.11 macros
---
mysys_ssl/openssl.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/mysys_ssl/openssl.c b/mysys_ssl/openssl.c
index e0f3d646ca9..9d1067a377b 100644
--- a/mysys_ssl/openssl.c
+++ b/mysys_ssl/openssl.c
@@ -30,8 +30,32 @@ int check_openssl_compatibility()
return 0;
}
#else
+
+// XXX workaround double definition of these macros ( in ssl_compat.h and openssl/evp.h )
+#undef EVP_MD_CTX_init
+#undef EVP_CIPHER_CTX_init
+#undef ERR_free_strings
+#undef EVP_cleanup
+#undef CRYPTO_cleanup_all_ex_data
+#undef SSL_load_error_strings
+
#include <openssl/evp.h>
+// XXX workaround double definition macros continued
+#undef EVP_MD_CTX_init
+#define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
+#undef EVP_CIPHER_CTX_init
+#define EVP_CIPHER_CTX_init(X) do { memset((X), 0, EVP_CIPHER_CTX_SIZE); EVP_CIPHER_CTX_reset(X); } while(0)
+#undef ERR_free_strings
+#define ERR_free_strings()
+#undef EVP_cleanup
+#define EVP_cleanup()
+#undef CRYPTO_cleanup_all_ex_data
+#define CRYPTO_cleanup_all_ex_data()
+#undef SSL_load_error_strings
+#define SSL_load_error_strings()
+
+
static uint testing;
size_t alloc_size, alloc_count;
--
2.25.1
...@@ -6,43 +6,12 @@ repository = /srv/slapgrid/slappart4/srv/project/erp5/ ...@@ -6,43 +6,12 @@ repository = /srv/slapgrid/slappart4/srv/project/erp5/
branch = wip/scalability_crash_mariadb branch = wip/scalability_crash_mariadb
develop = true develop = true
# https://mariadb.com/kb/en/compiling-mariadb-for-debugging/
[mariadb] [mariadb]
version = 10.3.24 # https://mariadb.com/kb/en/compiling-mariadb-for-debugging/
url = https://downloads.mariadb.org/f/mariadb-10.3.24/source/mariadb-10.3.24.tar.gz/from/https%3A//mirrors.piconets.webwerks.in/mariadb-mirror/?serve configure-options +=
md5sum = 629a4c66a76c1c7ce59ac3eb42924d26 -DCMAKE_BUILD_TYPE=Debug
Xpre-configure = patches +=
set -e '\bSET(PLUGIN_AUTH_PAM YES)' cmake/build_configurations/mysql_release.cmake ${:_profile_base_location_}/0001-Workaround-double-definiton-of-openssl-1.11-macros.patch#ef2da5cfe303978f132601a78e239b32
grep -q "$@"
sed -i "/$1/d" "$2"
post-install =
ldd=`ldd ${:location}/lib/plugin/ha_rocksdb.so`
for x in ${lz4:location} ${snappy:location} ${zstd:location}
do echo "$ldd" |grep -qF " $x/lib/"
done
mkdir -p ${:location}/include/wsrep &&
cp -p wsrep/wsrep_api.h ${:location}/include/wsrep
[mroonga-mariadb]
pre-configure = set -e
rm -rf fake_mariadb_source
mkdir -p fake_mariadb_source
test -d ${mariadb:location}/include/mysql/server/private && (
mkdir -p fake_mariadb_source/sql
cp -a ${mariadb:location}/include/mysql/server/private/* fake_mariadb_source/sql
cp -a ${mariadb:location}/include/mysql/server/*.h fake_mariadb_source/sql
cp -a ${mariadb:location}/include/mysql/server/mysql fake_mariadb_source/sql
) || ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
cp -ar ${mariadb:location}/include fake_mariadb_source/include
! test -f fake_mariadb_source/include/mysql/mariadb_stmt.h ||
sed -i -E -e '/^enum enum_(cursor|indicator)_type$/,/};/d' fake_mariadb_source/include/mysql/mariadb_stmt.h
mkdir -p ${:plugin-dir}
; XXX don't share during dev ; XXX don't share during dev
[mariadb] [mariadb]
...@@ -50,6 +19,3 @@ shared = false ...@@ -50,6 +19,3 @@ shared = false
[mroonga-mariadb] [mroonga-mariadb]
shared = false shared = false
[xxx]
xxx = ${mariadb:patch-options}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment