summaryrefslogtreecommitdiff
path: root/databases/mariadb105-server/files
diff options
context:
space:
mode:
authorBernard Spil <brnrd@FreeBSD.org>2020-07-11 20:17:08 +0000
committerBernard Spil <brnrd@FreeBSD.org>2020-07-11 20:17:08 +0000
commit05c50ace80745ad875698269cd56e5a33e8cf48f (patch)
tree29c76607236f3c3e5c611f77fe56044e69014433 /databases/mariadb105-server/files
parentwww/py-freenit: Udate to 0.1.11 (diff)
databases/mariadb105-server: New port MariaDB 10.5
PR: 247535 Reported by: VVD <vvd unislabs com>
Notes
Notes: svn path=/head/; revision=542046
Diffstat (limited to 'databases/mariadb105-server/files')
-rw-r--r--databases/mariadb105-server/files/client.cnf.sample.in52
-rw-r--r--databases/mariadb105-server/files/my.cnf.sample.in13
-rw-r--r--databases/mariadb105-server/files/mysql-server.in140
-rw-r--r--databases/mariadb105-server/files/patch-extra_CMakeLists.txt11
-rw-r--r--databases/mariadb105-server/files/patch-scripts_mysql__config.sh10
-rw-r--r--databases/mariadb105-server/files/patch-scripts_wsrep__sst__mariabackup.sh11
-rw-r--r--databases/mariadb105-server/files/patch-scripts_wsrep__sst__rsync.sh18
-rw-r--r--databases/mariadb105-server/files/patch-storage_mroonga_CMakeLists.txt11
-rw-r--r--databases/mariadb105-server/files/patch-storage_perfschema_my__thread.h13
-rw-r--r--databases/mariadb105-server/files/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h13
-rw-r--r--databases/mariadb105-server/files/patch-tpool_CMakeLists.txt17
-rw-r--r--databases/mariadb105-server/files/pkg-message.in24
-rw-r--r--databases/mariadb105-server/files/server.cnf.sample.in60
13 files changed, 393 insertions, 0 deletions
diff --git a/databases/mariadb105-server/files/client.cnf.sample.in b/databases/mariadb105-server/files/client.cnf.sample.in
new file mode 100644
index 000000000000..f66262f2fefa
--- /dev/null
+++ b/databases/mariadb105-server/files/client.cnf.sample.in
@@ -0,0 +1,52 @@
+# Options specific to client applications, see
+# https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#client-option-groups
+
+# Options specific to all client programs
+[client]
+# port = 3306 # set in %%ETCDIR%%/my.cnf
+# socket = /var/run/mysql/mysql.sock # set in %%ETCDIR%%/my.cnf
+
+# Options specific to MariaDB client programs
+[client-mariadb]
+
+#
+## Options for specific client Tools
+#
+
+# Options read by `mysql`
+# Renamed from [mysql] starting with MariaDB 10.4.6.
+[mariadb-client] Options read by mysql. Available starting with MariaDB 10.4.6.
+prompt = \u@\h [\d]>\_
+no_auto_rehash
+
+# Options read by `mysqldump`
+# Renamed from [mysqldump] starting with MariaDB 10.4.6.
+[mariadb-dump]
+max_allowed_packet = 256M
+quote_names
+quick
+
+# Options read by `mysqladmin`
+# Renamed from [mysqladmin] starting with MariaDB 10.4.6.
+[mariadb-admin]
+
+# Options read by `mysqlbinlog`
+# Renamed from [mysqlbinlog] starting with MariaDB 10.4.6.
+[mariadb-binlog]
+
+# Options read by `mysqlcheck`
+# Renamed from [mysqlcheck] starting with MariaDB 10.4.6.
+[mariadb-check]
+
+# Options read by `mysqlimport`
+# Renamed from [mysqlimport] starting with MariaDB 10.4.6.
+[mariadb-import]
+
+# Options read by `mysqlshow`
+# Renamed from [mysqlshow] starting with MariaDB 10.4.6.
+[mariadb-show]
+
+# Options read by `mysqlslap`
+# Renamed from [mysqlslap] starting with MariaDB 10.4.6.
+[mariadb-slap]
+
diff --git a/databases/mariadb105-server/files/my.cnf.sample.in b/databases/mariadb105-server/files/my.cnf.sample.in
new file mode 100644
index 000000000000..0426f1313556
--- /dev/null
+++ b/databases/mariadb105-server/files/my.cnf.sample.in
@@ -0,0 +1,13 @@
+#
+# This group is read both by the client and the server
+# use it for options that affect everything, see
+# https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#option-groups
+#
+[client-server]
+port = 3306
+socket = %%MARIADB_RUNDIR%%/mysql.sock
+
+#
+# include *.cnf from the config directory
+#
+!includedir %%ETCDIR%%/conf.d/
diff --git a/databases/mariadb105-server/files/mysql-server.in b/databases/mariadb105-server/files/mysql-server.in
new file mode 100644
index 000000000000..3519e22a5550
--- /dev/null
+++ b/databases/mariadb105-server/files/mysql-server.in
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# $FreeBSD: head/databases/mariadb55-server/files/mysql-server.in 361647 2014-07-12 22:42:33Z rakuco $
+#
+# PROVIDE: mysql
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable mysql:
+# mysql_(instance_)?enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable MySQL.
+%%LEGACY_LIMITS%%# mysql_(instance_)?limits (bool): Set to "NO" by default.
+%%LEGACY_LIMITS%%# Set it to yes to run `limits -e -U mysql`
+%%LEGACY_LIMITS%%# just before mysql starts.
+# mysql_(instance_)?dbdir (str): Default to "/var/db/mysql"
+# Base database directory.
+# mysql_(instance_)?args (str): Custom additional arguments to be passed
+# to mysqld_safe (default empty).
+# mysql_(instance_)?pidfile (str): Custum PID file path and name.
+# Default to "${mysql_dbdir}/${hostname}.pid".
+# mysql_(instance_)?user (str): User to run mysqld as
+# Default to "%%MARIADB_USER%%" created by the port
+# mysql_(instance_)?optfile (str): Server-specific option file.
+# Default to "${mysql_dbdir}/my.cnf".
+# mysql_instances (str): Set to "" by default.
+# If defined, list of instances to enable
+
+. /etc/rc.subr
+
+name="mysql"
+rcvar=mysql_enable
+
+load_rc_config $name
+
+: ${mysql_enable="NO"}
+%%LEGACY_LIMITS%%: ${mysql_limits="NO"}
+: ${mysql_user="%%MARIADB_USER"}
+%%LEGACY_LIMITS%%mysql_limits_args="-e -U ${mysql_user}"
+: ${mysql_dbdir="/var/db/mysql"}
+: ${mysql_optfile="%%ETCDIR%%/my.cnf"}
+
+command="/usr/sbin/daemon"
+procname="%%PREFIX%%/libexec/mysqld"
+start_precmd="${name}_prestart"
+start_postcmd="${name}_poststart"
+
+if [ -n "$2" ]; then
+ instance="$2"
+ load_rc_config ${name}_${instance}
+ case "$mysql_instances" in
+ "$2 "*|*" $2 "*|*" $2"|"$2")
+ eval mysql_args="\${mysql_${instance}_args:-\"${mysql_args}\"}"
+ eval mysql_dbdir="\${mysql_${instance}_dbdir:-\"/var/db/mysql_${instance}\"}"
+ %%LEGACY_LIMITS%%eval mysql_limits="\${mysql_${instance}_limits:-\"${mysql_limits}\"}"
+ eval mysql_user="\${mysql_${instance}_user:-\"${mysql_user}\"}"
+ %%LEGACY_LIMITS%%eval mysql_limits_args="\${mysql_${instance}_limits_args:-\"-e -U $mysql_user\"}"
+ eval mysql_optfile="\${mysql_${instance}_optfile:-\"${mysql_dbdir}/my.cnf\"}"
+ eval mysql_pidfile="\${mysql_${instance}_pidfile:-\"${mysql_dbdir}/`/bin/hostname`.pid\"}"
+ ;;
+ *)
+ err 1 "$2 not found in mysql_instances" ;;
+ esac
+else
+ if [ -n "${mysql_instances}" -a -n "$1" ]; then
+ for instance in ${mysql_instances}; do
+ eval _enable="\${mysql_${instance}_enable}"
+ case "${_enable:-${mysql_enable}}" in
+ [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
+ continue
+ ;;
+ [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+ ;;
+ *)
+ if [ -z "$_enable" ]; then
+ _var=mysql_enable
+ else
+ _var=mysql_${instance}_enable
+ fi
+ warn "Bad value" \
+ "'${_enable:-${mysql_enable}}'" \
+ "for ${_var}. " \
+ "Instance ${instance} skipped."
+ continue
+ ;;
+ esac
+ echo "===> mysql instance: ${instance}"
+ if %%PREFIX%%/etc/rc.d/mysql-server $1 ${instance}; then
+ success="${instance} ${success}"
+ else
+ failed="${instance} (${retcode}) ${failed}"
+ fi
+ done
+ exit 0
+ else
+ mysql_pidfile=${mysql_pidfile:-"/var/run/mysqld.pid"}
+ fi
+fi
+
+pidfile=$mysql_pidfile
+mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
+mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force"
+command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
+
+mysql_create_auth_tables()
+{
+ eval $mysql_install_db $mysql_install_db_args
+ [ $? -eq 0 ] && chown -R ${mysql_user}:$(id -gn $mysql_user) ${mysql_dbdir}
+}
+
+mysql_prestart()
+{
+ local dir
+ for dir in /etc /usr/local/etc /etc/mysql /var/db/mysql; do
+ if [ -f "${dir}/my.cnf" ]; then
+ echo "Please merge existing ${dir}/my.cnf file with %%ETCDIR%%/conf.d/server.cnf"
+ return 1
+ fi
+ done
+ if [ ! -d "${mysql_dbdir}/mysql/." ]; then
+ mysql_create_auth_tables || return 1
+ fi
+%%LEGACY_LIMITS%% if checkyesno mysql_limits; then
+%%LEGACY_LIMITS%% eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
+%%LEGACY_LIMITS%% else
+%%LEGACY_LIMITS%% return 0
+%%LEGACY_LIMITS%% fi
+%%MODERN_LIMITS%% return 0
+}
+
+mysql_poststart()
+{
+ local timeout=15
+ while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
+ timeout=$(( timeout - 1 ))
+ sleep 1
+ done
+ return 0
+}
+
+run_rc_command "$1"
diff --git a/databases/mariadb105-server/files/patch-extra_CMakeLists.txt b/databases/mariadb105-server/files/patch-extra_CMakeLists.txt
new file mode 100644
index 000000000000..6f662cf00bac
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-extra_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- extra/CMakeLists.txt.orig 2020-06-23 15:10:16 UTC
++++ extra/CMakeLists.txt
+@@ -46,7 +46,7 @@ ADD_CUSTOM_TARGET(GenError
+ DEPENDS
+ ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp)
+
+-MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
++MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c COMPONENT Client)
+ TARGET_LINK_LIBRARIES(my_print_defaults mysys)
+
+ MYSQL_ADD_EXECUTABLE(perror perror.c)
diff --git a/databases/mariadb105-server/files/patch-scripts_mysql__config.sh b/databases/mariadb105-server/files/patch-scripts_mysql__config.sh
new file mode 100644
index 000000000000..8a6c51edd57c
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-scripts_mysql__config.sh
@@ -0,0 +1,10 @@
+--- scripts/mysql_config.sh.orig 2020-07-11 14:16:47 UTC
++++ scripts/mysql_config.sh
+@@ -88,6 +88,7 @@ fi
+ # Create options
+ libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
+ embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
++embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
+
+ include="-I$pkgincludedir"
+ if [ "$basedir" != "/usr" ]; then
diff --git a/databases/mariadb105-server/files/patch-scripts_wsrep__sst__mariabackup.sh b/databases/mariadb105-server/files/patch-scripts_wsrep__sst__mariabackup.sh
new file mode 100644
index 000000000000..2b81b4eca7b8
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-scripts_wsrep__sst__mariabackup.sh
@@ -0,0 +1,11 @@
+--- scripts/wsrep_sst_mariabackup.sh.orig 2019-12-11 19:29:57 UTC
++++ scripts/wsrep_sst_mariabackup.sh
+@@ -605,7 +605,7 @@ recv_joiner()
+ set +e
+
+ if [[ $tmt -gt 0 ]] && command -v timeout >/dev/null;then
+- if timeout --help | grep -q -- '-k';then
++ if timeout --help 2>&1 | grep -q -- '-k';then
+ ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
+ else
+ ltcmd="timeout -s9 $tmt $tcmd"
diff --git a/databases/mariadb105-server/files/patch-scripts_wsrep__sst__rsync.sh b/databases/mariadb105-server/files/patch-scripts_wsrep__sst__rsync.sh
new file mode 100644
index 000000000000..85d6c46a5f7d
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-scripts_wsrep__sst__rsync.sh
@@ -0,0 +1,18 @@
+--- scripts/wsrep_sst_rsync.sh.orig 2020-05-09 19:28:00 UTC
++++ scripts/wsrep_sst_rsync.sh
+@@ -390,7 +390,14 @@ EOF
+
+ elif [ "$WSREP_SST_OPT_ROLE" = "joiner" ]
+ then
+- wsrep_check_programs lsof
++ case $OS in
++ FreeBSD)
++ wsrep_check_programs sockstat
++ ;;
++ *)
++ wsrep_check_programs lsof
++ ;;
++ esac
+
+ touch $SST_PROGRESS_FILE
+ MYSQLD_PID=$WSREP_SST_OPT_PARENT
diff --git a/databases/mariadb105-server/files/patch-storage_mroonga_CMakeLists.txt b/databases/mariadb105-server/files/patch-storage_mroonga_CMakeLists.txt
new file mode 100644
index 000000000000..a00932dc6b01
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-storage_mroonga_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- storage/mroonga/CMakeLists.txt.orig 2020-06-23 15:10:17 UTC
++++ storage/mroonga/CMakeLists.txt
+@@ -80,7 +80,7 @@ else()
+ set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
+ endif()
+
+-file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION)
++file(READ ${MRN_SOURCE_DIR}/version_txt MRN_VERSION)
+ file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR)
+ file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR)
+ file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO)
diff --git a/databases/mariadb105-server/files/patch-storage_perfschema_my__thread.h b/databases/mariadb105-server/files/patch-storage_perfschema_my__thread.h
new file mode 100644
index 000000000000..37c30c362e99
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-storage_perfschema_my__thread.h
@@ -0,0 +1,13 @@
+--- storage/perfschema/my_thread.h.orig 2020-06-23 15:10:17 UTC
++++ storage/perfschema/my_thread.h
+@@ -10,6 +10,10 @@
+ #include <sys/syscall.h>
+ #endif
+
++#ifdef HAVE_PTHREAD_GETTHREADID_NP
++#include <pthread_np.h>
++#endif
++
+ typedef pthread_key_t thread_local_key_t;
+ typedef pthread_t my_thread_handle;
+ typedef pthread_attr_t my_thread_attr_t;
diff --git a/databases/mariadb105-server/files/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h b/databases/mariadb105-server/files/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h
new file mode 100644
index 000000000000..dab7177b65b8
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h
@@ -0,0 +1,13 @@
+--- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2020-06-23 15:10:17 UTC
++++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
+@@ -26,6 +26,10 @@
+ #include <jemalloc/jemalloc.h>
+ #endif
+
++#ifdef __FreeBSD__
++#define JEMALLOC_USABLE_SIZE_CONST const
++#endif
++
+ #ifndef JEMALLOC_CXX_THROW
+ #define JEMALLOC_CXX_THROW
+ #endif
diff --git a/databases/mariadb105-server/files/patch-tpool_CMakeLists.txt b/databases/mariadb105-server/files/patch-tpool_CMakeLists.txt
new file mode 100644
index 000000000000..30ab2ed8db62
--- /dev/null
+++ b/databases/mariadb105-server/files/patch-tpool_CMakeLists.txt
@@ -0,0 +1,17 @@
+--- tpool/CMakeLists.txt.orig 2020-06-23 15:10:18 UTC
++++ tpool/CMakeLists.txt
+@@ -2,6 +2,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+ IF(WIN32)
+ SET(EXTRA_SOURCES tpool_win.cc aio_win.cc)
+ ELSE()
++ ADD_DEFINITIONS(-fPIC)
+ SET(EXTRA_SOURCES aio_linux.cc)
+ ENDIF()
+
+@@ -26,4 +27,4 @@ ADD_LIBRARY(tpool STATIC
+ ${EXTRA_SOURCES}
+ )
+
+-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
+\ No newline at end of file
++INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
diff --git a/databases/mariadb105-server/files/pkg-message.in b/databases/mariadb105-server/files/pkg-message.in
new file mode 100644
index 000000000000..189a27624f5d
--- /dev/null
+++ b/databases/mariadb105-server/files/pkg-message.in
@@ -0,0 +1,24 @@
+[
+{ type: install
+ message: <<EOM
+MariaDB respects hier(7) and doesn't check /etc and /etc/mysql for
+my.cnf. Please move existing my.cnf files from those paths to
+%%PREFIX%%/etc/mysql or %%PREFIX%%/etc. Sample
+configuration files are provided in %%PREFIX%%/etc/mysql
+and %%PREFIX%%/etc/mysql/conf.d.
+The rc(8) script no longer uses /var/db/mysql/my.cnf for configuration
+nor /var/db/mysql for logs and PID-file.
+
+This port does NOT include the mytop perl script, this is included in
+the MariaDB tarball but the most recent version can be found in the
+databases/mytop port
+EOM
+}
+{ type: upgrade
+ message: <<EOM
+Remember to run mariadb-upgrade (with the optional --datadir=<dbdir> flag)
+the first time you start the MySQL server after an upgrade from an
+earlier version.
+EOM
+}
+
diff --git a/databases/mariadb105-server/files/server.cnf.sample.in b/databases/mariadb105-server/files/server.cnf.sample.in
new file mode 100644
index 000000000000..26a49f6236af
--- /dev/null
+++ b/databases/mariadb105-server/files/server.cnf.sample.in
@@ -0,0 +1,60 @@
+# Options specific to server applications, see
+# https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#server-option-groups
+
+# Options specific to all server programs
+[server]
+
+# Options specific to MariaDB server programs
+[server-mariadb]
+
+#
+# Options for specific server tools
+#
+
+[mysqld]
+user = %%MARIADB_USER%%
+# port = 3306 # inherited from %%ETCDIR%%/my.cnf
+# socket = %%MARIADB_RUNDIR%%/mysql.sock # inherited from %%ETCDIR%%/my.cnf
+bind-address = 127.0.0.1
+basedir = %%PREFIX%%
+datadir = /var/db/mysql
+net_retry_count = 16384
+log_error = %%MARIADB_LOGDIR%%/${hostname}.err
+# [mysqld] configuration for ZFS
+# From https://www.percona.com/resources/technical-presentations/zfs-mysql-percona-technical-webinar
+# Create separate datasets for data and logs, eg
+# zroot/mysql compression=on recordsize=128k atime=off
+# zroot/mysql/data recordsize=16k
+# zroot/mysql/logs
+# datadir = /var/db/mysql/data
+# innodb_log_group_home_dir = /var/db/mysql/log
+# audit_log_file = /var/db/mysql/log/audit.log
+# general_log_file = /var/db/mysql/log/general.log
+# log_bin = /var/db/mysql/log/mysql-bin
+# relay_log = /var/db/mysql/log/relay-log
+# slow_query_log_file = /var/db/mysql/log/slow.log
+# innodb_doublewrite = 0
+# innodb_flush_method = O_DSYNC
+
+# Options read by `mysqld_safe`
+# Renamed from [mysqld_safe] starting with MariaDB 10.4.6.
+[mariadb_safe]
+
+# Options read my `mariabackup`
+[mariabackup]
+
+# Options read by `mysql_upgrade`
+# Renamed from [mysql_upgrade] starting with MariaDB 10.4.6.
+[mariadb-upgrade]
+
+# Specific options read by the mariabackup SST method
+[sst]
+
+# Options read by `mysqlbinlog`
+# Renamed from [mysqlbinlog] starting with MariaDB 10.4.6.
+[mariadb-binlog]
+
+# Options read by `mysqladmin`
+# Renamed from [mysqladmin] starting with MariaDB 10.4.6.
+[mariadb-admin]
+