1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Fast SQL database server, derived from MySQL
9 HOMEPAGE= https://mariadb.org/
13 SITES[main]= https://downloads.mariadb.com/MariaDB/mariadb-10.4.33/source/
14 DISTFILE[1]= mariadb-10.4.33.tar.gz:main
16 SPKGS[standard]= complete
23 OPTIONS_AVAILABLE= ROCKSDB
24 OPTIONS_STANDARD= ROCKSDB
26 BUILD_DEPENDS= bison:primary:standard
29 boost-libraries:dev:standard
31 BUILDRUN_DEPENDS= boost-libraries:primary:standard
32 snappy:primary:standard
33 msgpack:primary:standard
36 B_DEPS[netbsd]= openpam:dev:standard
37 BR_DEPS[netbsd]= openpam:primary:standard
41 USERGROUP_SPKG= server
43 USES= cmake zlib readline ncurses shebangfix cpe
44 python:build perl:build pkgconfig iconv:translit
45 zstd lz4 lzo bz2 execinfo ssl:openssl11
46 GNOME_COMPONENTS= libxml2
48 DISTNAME= mariadb-10.4.33
51 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
52 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
53 LICENSE_AWK= TERMS:"^\#include"
54 LICENSE_SOURCE= TERMS:{{WRKSRC}}/libmysqld/libmysqld.c
59 SHEBANG_FILES= scripts/*.sh
61 INSTALL_REQ_TOOLCHAIN= yes
62 PLIST_SUB= AUTHSOCKET={{AUTHSOCKET}}
63 PAM={{PAM:U"@comment "}}
65 CMAKE_ARGS= -DCOMPILATION_COMMENT="Ravenports"
66 -DINSTALL_INCLUDEDIR=include/mysql
67 -DINSTALL_PLUGINDIR=lib/mysql/plugin
68 -DINSTALL_SHAREDIR=share
69 -DINSTALL_SUPPORTFILESDIR=share/mysql
70 -DINSTALL_MYSQLSHAREDIR=share/mysql
71 -DINSTALL_DOCREADMEDIR=share/doc/mariadb104
72 -DINSTALL_DOCDIR=share/doc/mariadb104
73 -DINSTALL_LIBDIR=lib/mysql
74 -DINSTALL_MANDIR=share/man
75 -DINSTALL_SCRIPTDIR=bin
76 -DINSTALL_MYSQLTESTDIR=
77 -DINSTALL_SQLBENCHDIR=
78 -DDEFAULT_CHARSET=utf8mb4
79 -DDEFAULT_COLLATION=utf8mb4_unicode_ci
80 -DDEFAULT_SYSCONFDIR="{{PREFIX}}/etc"
81 -DENABLED_LOCAL_INFILE=ON
85 -DWITH_EMBEDDED_SERVER=ON
86 -DWITH_EXTRA_CHARSETS=complex
91 -DWITH_READLINE=system
92 -DWITH_SSL="{{OPENSSLBASE}}"
96 VAR_OPSYS[freebsd]= CXXFLAGS=-DHAVE_POSIX_MEMALIGN=1
97 VAR_OPSYS[netbsd]= MAKEFILE_LINE=AUTHSOCKET="@comment "
100 [ROCKSDB].DESCRIPTION= Build RocksDB LSM Engine
101 [ROCKSDB].CMAKE_ARGS_OFF= -DPLUGIN_ROCKSDB=NO
102 [ROCKSDB].CMAKE_ARGS_ON= -DPLUGIN_ROCKSDB=DYNAMIC
105 ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
106 ${WRKSRC}/cmake/os/DragonFly.cmake
109 ${RM} ${STAGEDIR}${STD_DOCDIR}/COPYING
110 ${MV} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig/mariadb.pc \
111 ${STAGEDIR}${PREFIX}/lib/pkgconfig/
112 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
113 # strip plugins and libraries
114 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadb.so
115 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadbd.so
116 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/*/*.so
118 @flist=$$(${FIND} ${STAGEDIR}${PREFIX}/bin -type f -perm /111 -print) ;\
119 for f in $$flist; do \
120 (${FILE} $$f | ${GREP} -Fq ", not stripped")\
121 && ${ECHO_CMD} "Auto-stripping $$f"\
122 && ${STRIP_CMD} $$f || ${TRUE} ;\
124 # if pam config file exists, set it as a sample
125 # remove testsuite files too
126 if [ -f "${STAGEDIR}${PREFIX}/etc/mariadb/user_map.conf" ]; then \
127 (cd ${STAGEDIR}${PREFIX}/etc/mariadb && \
128 ${MV} user_map.conf user_map.conf.sample) ;\
129 ${RM} -r ${STAGEDIR}/suite ;\
133 ${REINPLACE_CMD} 's|/usr/bin/env python|${PYTHON_CMD}|' \
134 ${WRKSRC}/CMakeLists.txt
135 ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' \
136 ${WRKSRC}/mysys/my_default.c
137 ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
138 ${WRKSRC}/scripts/mysql_config.sh \
139 ${WRKSRC}/scripts/CMakeLists.txt
142 ${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
143 -e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
144 ${BUILD_WRKSRC}/libmariadb/mariadb_config/mariadb_config.c
145 # Fix build failure in mbstream, see https://jira.mariadb.org/browse/MDEV-14072
146 ${REINPLACE_CMD} -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
147 -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
148 -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
149 -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
150 ${BUILD_WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt
152 [FILE:807:descriptions/desc.server]
153 MariaDB Server is one of the most popular database servers in the world.
154 It's made by the original developers of MySQL and guaranteed to stay open
155 source. Notable users include Wikipedia, WordPress.com and Google.
157 MariaDB turns data into structured information in a wide array of
158 applications, ranging from banking to websites. It is an enhanced, drop-in
159 replacement for MySQL. MariaDB is used because it is fast, scalable and
160 robust, with a rich ecosystem of storage engines, plugins and many other
161 tools make it very versatile for a wide variety of use cases.
163 MariaDB is developed as open source software and as a relational database
164 it provides an SQL interface for accessing data. The latest versions of
165 MariaDB also include GIS and JSON features.
167 This package contains the server and related files.
170 [FILE:267:descriptions/desc.client]
171 MariaDB Server is one of the most popular database servers in the world.
172 It's made by the original developers of MySQL and guaranteed to stay open
173 source. Notable users include Wikipedia, WordPress.com and Google.
175 This package contains the client and related files.
179 6da4eb835ee2c2299f59f81d4b24a9a1524d25da6cc156c8d1b9f2faba593081 98404502 mariadb-10.4.33.tar.gz
182 [FILE:3967:manifests/plist.server]
183 %%ONLY-LINUX%%lib/mysql/plugin/disks.so
184 %%PAM%%@sample etc/mariadb/user_map.conf.sample
185 %%PAM%%lib/mysql/plugin/
188 %%PAM%%lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
189 %%PAM%%lib/mysql/security/pam_user_map.so
195 %%ROCKSDB-ON%%lib/mysql/plugin/ha_rocksdb.so
206 mariadb-client-test-embedded
209 mariadb-fix-extensions
211 mariadb-secure-installation
213 mariadb-test-embedded
214 mariadb-tzinfo-to-sql
228 mysql_client_test_embedded
233 mysql_secure_installation
250 wsrep_sst_mariabackup
265 auth_gssapi_client.so
267 caching_sha2_password.so
268 debug_key_management.so
271 example_key_management.so
272 file_key_management.so
282 ha_test_sql_discovery.so
286 metadata_lock_info.so
292 query_response_time.so
294 simple_password_check.so
302 share/groonga-normalizer-mysql/
312 maria_add_gis_sp_bootstrap.sql
315 mysql_performance_tables.sql
316 mysql_system_tables.sql
317 mysql_system_tables_data.sql
318 mysql_test_data_timezone.sql
323 share/mysql/bulgarian/errmsg.sys
324 share/mysql/charsets/
351 share/mysql/chinese/errmsg.sys
352 share/mysql/czech/errmsg.sys
353 share/mysql/danish/errmsg.sys
354 share/mysql/dutch/errmsg.sys
355 share/mysql/english/errmsg.sys
356 share/mysql/estonian/errmsg.sys
357 share/mysql/french/errmsg.sys
358 share/mysql/german/errmsg.sys
359 share/mysql/greek/errmsg.sys
360 share/mysql/hindi/errmsg.sys
361 share/mysql/hungarian/errmsg.sys
362 share/mysql/italian/errmsg.sys
363 share/mysql/japanese/errmsg.sys
364 share/mysql/korean/errmsg.sys
370 share/mysql/norwegian/errmsg.sys
371 share/mysql/norwegian-ny/errmsg.sys
372 share/mysql/policy/apparmor/
375 usr.sbin.mysqld.local
376 share/mysql/policy/selinux/
381 share/mysql/polish/errmsg.sys
382 share/mysql/portuguese/errmsg.sys
383 share/mysql/romanian/errmsg.sys
384 share/mysql/russian/errmsg.sys
385 share/mysql/serbian/errmsg.sys
386 share/mysql/slovak/errmsg.sys
387 share/mysql/spanish/errmsg.sys
388 share/mysql/swedish/errmsg.sys
389 share/mysql/ukrainian/errmsg.sys
392 [FILE:661:manifests/plist.client]
399 mariadb-convert-table-format
405 mariadb-setpermission
412 mysql_convert_table_format
434 mysql_clear_password.so
438 [FILE:6576:manifests/plist.dev]
457 include/mysql/mariadb/ma_io.h
462 include/mysql/server/
465 byte_order_generic_x86.h
466 byte_order_generic_x86_64.h
477 mariadb_capi_rename.h
510 include/mysql/server/mysql/
519 plugin_password_validation.h
523 service_encryption_scheme.h
525 service_kill_statement.h
529 service_my_print_error.h
530 service_my_snprintf.h
531 service_progress_report.h
536 service_thd_autoinc.h
537 service_thd_error_context.h
539 service_thd_specifics.h
540 service_thd_timezone.h
544 include/mysql/server/mysql/psi/
558 include/mysql/server/private/
578 event_db_repository.h
594 handle_connections_win.h
670 mysqld_default_groups.h
684 probes_mysql_nodtrace.h
711 semisync_master_ack_receiver.h
756 sql_expression_cache.h
757 sql_get_diagnostics.h
772 sql_partition_admin.h
829 welcome_copyright_notice.h
836 wsrep_client_service.h
838 wsrep_condition_variable.h
839 wsrep_high_priority_service.h
846 wsrep_server_service.h
849 wsrep_storage_service.h
851 wsrep_trans_observer.h
857 include/mysql/server/private/atomic/
871 share/aclocal/mysql.m4
874 [FILE:2049:manifests/plist.man]
881 galera_new_cluster.1.gz
890 mariadb-client-test-embedded.1.gz
891 mariadb-client-test.1.gz
892 mariadb-convert-table-format.1.gz
894 mariadb-dumpslow.1.gz
895 mariadb-embedded.1.gz
896 mariadb-find-rows.1.gz
897 mariadb-fix-extensions.1.gz
900 mariadb-install-db.1.gz
903 mariadb-secure-installation.1.gz
904 mariadb-service-convert.1.gz
905 mariadb-setpermission.1.gz
908 mariadb-test-embedded.1.gz
910 mariadb-tzinfo-to-sql.1.gz
915 mariadbd-safe-helper.1.gz
919 my_print_defaults.1.gz
925 mysql-stress-test.pl.1.gz
926 mysql-test-run.pl.1.gz
929 mysql_client_test.1.gz
930 mysql_client_test_embedded.1.gz
932 mysql_convert_table_format.1.gz
935 mysql_fix_extensions.1.gz
936 mysql_install_db.1.gz
939 mysql_secure_installation.1.gz
940 mysql_setpermission.1.gz
941 mysql_tzinfo_to_sql.1.gz
950 mysqld_safe_helper.1.gz
958 mysqltest_embedded.1.gz
961 resolve_stack_dump.1.gz
963 wsrep_sst_common.1.gz
964 wsrep_sst_mariabackup.1.gz
965 wsrep_sst_mysqldump.1.gz
967 wsrep_sst_rsync_wan.1.gz
973 [FILE:84:manifests/plist.docs]
974 share/doc/mariadb104/
982 [FILE:328:patches/patch-MDEV-20248]
983 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2023-10-30 12:36:23 UTC
984 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
986 #include <jemalloc/jemalloc.h>
990 +#define JEMALLOC_USABLE_SIZE_CONST const
993 #ifndef JEMALLOC_CXX_THROW
994 #define JEMALLOC_CXX_THROW
998 [FILE:572:patches/patch-client_mysql.cc]
999 --- client/mysql.cc.orig 2023-10-30 12:36:19 UTC
1001 @@ -61,8 +61,8 @@ static char *server_version= NULL;
1004 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1005 -#include <curses.h>
1007 +#include <ncurses/curses.h>
1008 +#include <ncurses/term.h>
1010 #if defined(HAVE_TERMIOS_H)
1011 #include <termios.h>
1012 @@ -81,7 +81,7 @@ extern "C" {
1014 #undef SYSV // hack to avoid syntax error
1017 +#include <ncurses/term.h>
1020 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1023 [FILE:500:patches/patch-cmake_install__layout.cmake]
1024 --- cmake/install_layout.cmake.orig 2023-10-30 12:36:19 UTC
1025 +++ cmake/install_layout.cmake
1026 @@ -128,8 +128,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1027 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1029 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1030 -SET(INSTALL_PAMDIR_STANDALONE "share")
1031 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1032 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1033 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1039 [FILE:1968:patches/patch-cmake_readline.cmake]
1040 --- cmake/readline.cmake.orig 2023-10-30 12:36:19 UTC
1041 +++ cmake/readline.cmake
1042 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1046 + SET(CURSES_NEED_NCURSES True)
1047 FIND_PACKAGE(Curses REQUIRED)
1048 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1049 IF(NOT CURSES_FOUND)
1050 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1051 remove CMakeCache.txt and rerun cmake.")
1052 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1053 - SET(ERRORMSG ${ERRORMSG}
1054 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivatives "
1055 - "it is ncurses-devel.")
1057 MESSAGE(FATAL_ERROR ${ERRORMSG})
1060 - IF(CURSES_HAVE_CURSES_H)
1061 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1063 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1064 - # CMake uses full path to library /lib/libcurses.sl
1065 - # On Itanium, it results into architecture mismatch+
1066 - # the library is for PA-RISC
1067 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1069 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1071 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1072 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1073 - # Lower-level libcurses calls are exposed by libtinfo
1074 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1075 - IF(NOT HAVE_TPUTS_IN_CURSES)
1076 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1077 - IF(HAVE_TPUTS_IN_TINFO)
1078 - SET(CURSES_LIBRARY tinfo)
1082 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1083 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1085 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1086 SET(CMAKE_REQUIRED_LIBRARIES)
1087 SET(CMAKE_REQUIRED_INCLUDES)
1089 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1090 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1091 + SET(CMAKE_REQUIRED_INCLUDES)
1096 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1097 --- extra/readline/CMakeLists.txt.orig 2023-10-30 12:36:19 UTC
1098 +++ extra/readline/CMakeLists.txt
1099 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1101 # Declare dependency
1102 # so every executable that links with readline links with curses as well
1103 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1104 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1107 [FILE:1692:patches/patch-mysys_my__default.c]
1108 --- mysys/my_default.c.orig 2023-10-30 12:36:20 UTC
1109 +++ mysys/my_default.c
1110 @@ -784,7 +784,7 @@ static int search_default_file_with_ext(
1113 if (!my_stat(name,&stat_info,MYF(0)))
1117 Ignore world-writable regular files (exceptions apply).
1118 This is mainly done to protect us to not read a file that may be
1119 @@ -817,6 +817,14 @@ static int search_default_file_with_ext(
1120 if (!(fp= mysql_file_fopen(key_file_cnf, name, O_RDONLY, MYF(0))))
1121 return 1; /* Ignore wrong files */
1123 + if (strstr(name, "/etc") == name)
1126 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1131 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1134 @@ -1091,7 +1099,8 @@ void my_print_default_files(const char *
1135 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1137 strxmov(end, conf_file, *ext, " ", NullS);
1138 - fputs(name, stdout);
1139 + if (strstr(name, "/etc") != name)
1140 + fputs(name, stdout);
1144 @@ -1218,13 +1227,10 @@ static const char **init_default_directo
1148 -#if defined(DEFAULT_SYSCONFDIR)
1149 - if (DEFAULT_SYSCONFDIR[0])
1150 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1152 errors += add_directory(alloc, "/etc/", dirs);
1153 errors += add_directory(alloc, "/etc/mysql/", dirs);
1154 -#endif /* DEFAULT_SYSCONFDIR */
1155 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1156 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1162 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1163 --- storage/oqgraph/oqgraph_judy.cc.orig 2023-10-30 12:36:21 UTC
1164 +++ storage/oqgraph/oqgraph_judy.cc
1167 Currently the only active code that can return error is:
1168 judy_bitset::reset()/J1U()
1169 - judy_bitset::setbit()/J1S()
1170 + judy_bitset::jsetbit()/J1S()
1172 In most cases errors are either about wrong parameters passed to Judy
1173 functions or internal structures corruption. These definitely deserve
1174 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1178 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1179 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1183 --- storage/oqgraph/oqgraph_judy.h.orig 2023-10-30 12:36:21 UTC
1184 +++ storage/oqgraph/oqgraph_judy.h
1185 @@ -63,7 +63,7 @@ namespace open_query
1190 + return jsetbit(n);
1193 judy_bitset& set(const judy_bitset& src);
1194 @@ -114,7 +114,7 @@ namespace open_query
1196 mutable void* array;
1198 - judy_bitset& setbit(size_type n);
1199 + judy_bitset& jsetbit(size_type n);
1205 [FILE:399:patches/patch-scripts_CMakeLists.txt]
1206 --- scripts/CMakeLists.txt.orig 2023-10-30 12:36:20 UTC
1207 +++ scripts/CMakeLists.txt
1208 @@ -120,11 +120,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1212 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1213 - SET (PERL_PATH "/usr/local/bin/perl")
1215 - SET (PERL_PATH "/usr/bin/perl")
1217 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1220 # FIND_PROC and CHECK_PID are used by mysqld_safe
1223 [FILE:403:patches/patch-scripts_mysql__config.sh]
1224 --- scripts/mysql_config.sh.orig 2023-10-30 12:36:20 UTC
1225 +++ scripts/mysql_config.sh
1226 @@ -87,7 +87,9 @@ fi
1229 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1230 +libs="$libs -L%%LOCALBASE%%/lib "
1231 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1232 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1234 include="-I$pkgincludedir"
1235 if [ "$basedir" != "/usr" ]; then
1238 [FILE:446:patches/patch-scripts_mysqld__safe.sh]
1239 --- scripts/mysqld_safe.sh.orig 2023-10-30 12:36:20 UTC
1240 +++ scripts/mysqld_safe.sh
1241 @@ -559,11 +559,11 @@ fi
1243 if test -z "$MYSQL_HOME"
1245 - if test -r "$DATADIR/my.cnf"
1246 + if test -r "$DATADIR/etc/my.cnf"
1248 log_error "WARNING: Found $DATADIR/my.cnf
1249 The data directory is not a valid location for my.cnf, please move it to
1250 -$MY_BASEDIR_VERSION/my.cnf"
1251 +$MY_BASEDIR_VERSION/etc/my.cnf"
1253 MYSQL_HOME=$MY_BASEDIR_VERSION
1257 [FILE:432:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1258 --- scripts/wsrep_sst_mariabackup.sh.orig 2023-10-30 12:36:20 UTC
1259 +++ scripts/wsrep_sst_mariabackup.sh
1260 @@ -799,7 +799,7 @@ recv_joiner()
1261 if [ $tmt -gt 0 ]; then
1262 if [ -n "$(commandex timeout)" ]; then
1264 - if [ "$OS" = 'FreeBSD' ]; then
1265 + if [ 1 eq 1 ]; then
1266 if timeout 2>&1 | grep -qw -F -- '-k'; then
1271 [FILE:250:patches/patch-sql_mysqld.cc]
1272 --- sql/mysqld.cc.orig 2023-10-30 12:36:20 UTC
1274 @@ -4767,8 +4767,9 @@ static void init_ssl()
1275 sql_print_warning("SSL error: %s",buf);
1280 ERR_remove_state(0);
1287 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1288 --- storage/innobase/lz4.cmake.orig 2023-10-30 12:36:21 UTC
1289 +++ storage/innobase/lz4.cmake
1290 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1292 MACRO (MYSQL_CHECK_LZ4)
1293 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1294 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1295 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1296 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1297 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1298 + find_library(LZ4_LIBRARY NAMES lz4)
1300 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1301 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1302 + IF (LZ4_INCLUDE_DIR)
1303 + SET(HAVE_LZ4_H YES)
1305 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1306 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1308 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1309 SET(HAVE_INNODB_LZ4 TRUE)
1310 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1311 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1312 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1314 - LINK_LIBRARIES(lz4)
1315 + LINK_LIBRARIES(${LZ4_LIBRARY})
1317 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1318 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1323 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1327 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1328 --- storage/innobase/lzo.cmake.orig 2023-10-30 12:36:21 UTC
1329 +++ storage/innobase/lzo.cmake
1330 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1332 MACRO (MYSQL_CHECK_LZO)
1333 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1334 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1335 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1337 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1338 + find_library(LZO_LIBRARY NAMES lzo2)
1339 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1343 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1344 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1345 SET(HAVE_INNODB_LZO TRUE)
1346 ADD_DEFINITIONS(-DHAVE_LZO=1)
1347 - LINK_LIBRARIES(lzo2)
1348 + LINK_LIBRARIES(${LZO_LIBRARY})
1350 IF (WITH_INNODB_LZO STREQUAL "ON")
1351 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1354 [FILE:283:patches/patch-storage_perfschema_pfs__global.cc]
1355 --- storage/perfschema/pfs_global.cc.orig 2023-10-30 12:36:21 UTC
1356 +++ storage/perfschema/pfs_global.cc
1359 #include <arpa/inet.h>
1361 +#ifdef __MidnightBSD__
1362 +#include <malloc_np.h>
1365 bool pfs_initialized= false;
1366 size_t pfs_allocated_memory= 0;
1369 [FILE:486:patches/patch-storage_rocksdb_build__rocksdb.cmake]
1370 --- storage/rocksdb/build_rocksdb.cmake.orig 2023-10-30 12:36:21 UTC
1371 +++ storage/rocksdb/build_rocksdb.cmake
1372 @@ -90,7 +90,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1373 add_definitions(-DOS_LINUX)
1374 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1375 add_definitions(-DOS_SOLARIS)
1376 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1377 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1378 add_definitions(-DOS_FREEBSD)
1379 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1380 add_definitions(-DOS_NETBSD)
1383 [FILE:2105:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1384 --- storage/rocksdb/ha_rocksdb.cc.orig 2023-10-30 12:36:21 UTC
1385 +++ storage/rocksdb/ha_rocksdb.cc
1386 @@ -260,7 +260,7 @@ Rdb_cf_manager cf_manager;
1387 Rdb_ddl_manager ddl_manager;
1388 Rdb_binlog_manager binlog_manager;
1390 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1391 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1392 Rdb_io_watchdog *io_watchdog = nullptr;
1395 @@ -844,7 +844,7 @@ static void rocksdb_set_io_write_timeout
1396 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1397 DBUG_ASSERT(save != nullptr);
1398 DBUG_ASSERT(rdb != nullptr);
1399 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1400 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1401 DBUG_ASSERT(io_watchdog != nullptr);
1404 @@ -853,7 +853,7 @@ static void rocksdb_set_io_write_timeout
1405 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1407 rocksdb_io_write_timeout_secs = new_val;
1408 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1409 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1410 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1412 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1413 @@ -5768,7 +5768,7 @@ static int rocksdb_init_func(void *const
1414 directories.push_back(myrocks::rocksdb_wal_dir);
1417 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1418 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1419 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1420 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1422 @@ -5875,7 +5875,7 @@ static int rocksdb_done_func(void *const
1423 delete commit_latency_stats;
1424 commit_latency_stats = nullptr;
1426 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1427 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1429 io_watchdog = nullptr;
1433 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1434 --- storage/rocksdb/rdb_buff.h.orig 2023-10-30 12:36:21 UTC
1435 +++ storage/rocksdb/rdb_buff.h
1437 #define be16toh(x) OSSwapBigToHostInt16(x)
1440 +#include "port/port_posix.h"
1442 /* MySQL header files */
1443 #include "./my_global.h"
1447 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1448 If timer_t is an integer type, setting it to nullptr fails.
1450 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2023-10-30 12:36:21 UTC
1451 +++ storage/rocksdb/rdb_io_watchdog.cc
1452 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1453 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1457 + m_io_check_watchdog_timer = 0;
1459 m_io_check_watchdog_timer = nullptr;
1462 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1466 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1467 If timer_t is an integer type, setting it to nullptr fails.
1469 --- storage/rocksdb/rdb_io_watchdog.h.orig 2023-10-30 12:36:21 UTC
1470 +++ storage/rocksdb/rdb_io_watchdog.h
1472 /* MyRocks header files */
1473 #include "./rdb_utils.h"
1476 +#define NULLTIMER 0
1478 +#define NULLTIMER nullptr
1483 // Rdb_io_watchdog does not support Windows ATM.
1484 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1485 ret = timer_delete(m_io_check_watchdog_timer);
1488 - m_io_check_watchdog_timer = nullptr;
1489 + m_io_check_watchdog_timer = NULLTIMER;
1493 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1494 ret = timer_delete(m_io_check_timer);
1497 - m_io_check_timer = nullptr;
1498 + m_io_check_timer = NULLTIMER;
1502 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1505 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1506 - : m_io_check_timer(nullptr),
1507 - m_io_check_watchdog_timer(nullptr),
1508 + : m_io_check_timer(NULLTIMER),
1509 + m_io_check_watchdog_timer(NULLTIMER),
1510 m_io_in_progress(false),
1511 m_dirs_to_check(std::move(directories)),
1515 [FILE:494:patches/patch-storage_rocksdb_rocksdb_CMakeLists.txt]
1516 --- storage/rocksdb/rocksdb/CMakeLists.txt.orig 2023-10-30 12:36:23 UTC
1517 +++ storage/rocksdb/rocksdb/CMakeLists.txt
1518 @@ -413,7 +413,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1519 add_definitions(-DOS_LINUX)
1520 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1521 add_definitions(-DOS_SOLARIS)
1522 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1523 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1524 add_definitions(-DOS_FREEBSD)
1525 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1526 add_definitions(-DOS_NETBSD)
1529 [FILE:493:patches/patch-storage_rocksdb_ut0counter.h]
1530 --- storage/rocksdb/ut0counter.h.orig 2023-10-30 12:36:21 UTC
1531 +++ storage/rocksdb/ut0counter.h
1532 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1535 #define get_curr_thread_id() GetCurrentThreadId()
1536 +#elif defined __FreeBSD__
1537 +#include <pthread_np.h>
1538 +#define get_curr_thread_id() pthread_getthreadid_np()
1539 +#elif defined __DragonFly__
1540 +#include <sys/syscall.h>
1541 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1543 #define get_curr_thread_id() pthread_self()