git: a025389152de - main - databases/mysql80-server: add patch for malloc-lib

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Fri, 07 Jan 2022 12:13:23 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a025389152de64d806e403a680dc053ae41ade77

commit a025389152de64d806e403a680dc053ae41ade77
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2022-01-07 12:10:00 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2022-01-07 12:13:17 +0000

    databases/mysql80-server: add patch for malloc-lib
    
    forked from mysql57-server: https://svnweb.freebsd.org/changeset/ports/548590
    Log:
      MySQL 5.7 mysqld_safe allows malloc-lib files only in certain locations.
      google-perftools port puts libtcmalloc_minimal.so inside /usr/local/lib
      To use tcmalloc memory allocator we need mysqld_safe to load libraries from /usr/local/lib
    
      More information about why to use tcmalloc instead of jemalloc here:
    
      https://forums.freebsd.org/threads/freebsd-12-x-and-mysql-5-7-and-importing-file-with-lots-of-small-lines-exhaust-ram-and-swap.72733/
    
    PR:     259816
    Sponsored by:   Netzkommune GmbH
---
 .../files/patch-scripts_mysqld__safe.txt              | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/databases/mysql80-server/files/patch-scripts_mysqld__safe.txt b/databases/mysql80-server/files/patch-scripts_mysqld__safe.txt
new file mode 100644
index 000000000000..7da369b97b60
--- /dev/null
+++ b/databases/mysql80-server/files/patch-scripts_mysqld__safe.txt
@@ -0,0 +1,19 @@
+--- scripts/mysqld_safe.sh.orig	2022-01-07 11:33:53.643546000 +0100
++++ scripts/mysqld_safe.sh	2022-01-07 11:37:41.505101000 +0100
+@@ -360,7 +360,7 @@ mysqld_ld_preload_text() {
+ # running mysqld.  See ld.so for details.
+ set_malloc_lib() {
+   # This list is kept intentionally simple.
+-  malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu"
++  malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib"
+   malloc_lib="$1"
+ 
+   # Allow --malloc-lib='' to override other settings
+@@ -379,6 +379,7 @@ set_malloc_lib() {
+         /usr/lib64) ;;
+         /usr/lib/i386-linux-gnu) ;;
+         /usr/lib/x86_64-linux-gnu) ;;
++	/usr/local/lib) ;;
+         *)
+           log_error "--malloc-lib must be located in one of the directories: $malloc_dirs"
+           exit 1