1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Fast SQL database server, derived from MySQL
8 HOMEPAGE= https://mariadb.org/
12 SITES[main]= https://downloads.mariadb.com/MariaDB/mariadb-10.6.14/source/
13 DISTFILE[1]= mariadb-10.6.14.tar.gz:main
15 SPKGS[standard]= complete
22 OPTIONS_AVAILABLE= none
23 OPTIONS_STANDARD= none
25 BUILD_DEPENDS= bison:primary:standard
28 boost-libraries:dev:standard
30 BUILDRUN_DEPENDS= boost-libraries:primary:standard
31 snappy:primary:standard
32 msgpack:primary:standard
35 BR_DEPS[netbsd]= openpam:single:standard
39 USERGROUP_SPKG= server
41 USES= cmake zlib readline ncurses pcre2 shebangfix cpe
42 python:build perl:build pkgconfig iconv:translit
43 curl zstd lz4 lzo bz2 execinfo ssl:openssl30
44 GNOME_COMPONENTS= libxml2
46 DISTNAME= mariadb-10.6.14
49 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
50 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
51 LICENSE_AWK= TERMS:"^\#include"
52 LICENSE_SOURCE= TERMS:{{WRKSRC}}/libmysqld/libmysqld.c
57 FPC_EQUIVALENT= databases/mariadb104-server
58 SHEBANG_FILES= scripts/*.sh
60 INSTALL_REQ_TOOLCHAIN= yes
61 PLIST_SUB= PORTNAME=mariadb106
62 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/mariadb106
72 -DINSTALL_DOCDIR=share/doc/mariadb106
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 "
101 ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
102 ${WRKSRC}/cmake/os/DragonFly.cmake
105 ${RM} ${STAGEDIR}${STD_DOCDIR}/COPYING
106 ${MV} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig/mariadb.pc \
107 ${STAGEDIR}${PREFIX}/lib/pkgconfig/
108 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
109 # strip plugins and libraries
110 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadb.so
111 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadbd.so
112 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/*/*.so
114 @flist=$$(${FIND} ${STAGEDIR}${PREFIX}/bin -type f -perm /111 -print) ;\
115 for f in $$flist; do \
116 (${FILE} $$f | ${GREP} -Fq ", not stripped")\
117 && ${ECHO_CMD} "Auto-stripping $$f"\
118 && ${STRIP_CMD} $$f || ${TRUE} ;\
120 # if pam config file exists, set it as a sample
121 # remove testsuite files too
122 if [ -f "${STAGEDIR}${PREFIX}/etc/mariadb/user_map.conf" ]; then \
123 (cd ${STAGEDIR}${PREFIX}/etc/mariadb && \
124 ${MV} user_map.conf user_map.conf.sample) ;\
125 ${RM} -r ${STAGEDIR}/suite ;\
129 ${REINPLACE_CMD} 's|/usr/bin/env python|${PYTHON_CMD}|' \
130 ${WRKSRC}/CMakeLists.txt
131 ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' \
132 ${WRKSRC}/mysys/my_default.c
133 ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
134 ${WRKSRC}/scripts/mysql_config.sh \
135 ${WRKSRC}/scripts/CMakeLists.txt
138 ${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
139 -e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
140 ${BUILD_WRKSRC}/libmariadb/mariadb_config/mariadb_config.c
141 # Fix build failure in mbstream, see https://jira.mariadb.org/browse/MDEV-14072
142 ${REINPLACE_CMD} -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
143 -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
144 -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
145 -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
146 ${BUILD_WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt
148 [FILE:807:descriptions/desc.server]
149 MariaDB Server is one of the most popular database servers in the world.
150 It's made by the original developers of MySQL and guaranteed to stay open
151 source. Notable users include Wikipedia, WordPress.com and Google.
153 MariaDB turns data into structured information in a wide array of
154 applications, ranging from banking to websites. It is an enhanced, drop-in
155 replacement for MySQL. MariaDB is used because it is fast, scalable and
156 robust, with a rich ecosystem of storage engines, plugins and many other
157 tools make it very versatile for a wide variety of use cases.
159 MariaDB is developed as open source software and as a relational database
160 it provides an SQL interface for accessing data. The latest versions of
161 MariaDB also include GIS and JSON features.
163 This package contains the server and related files.
166 [FILE:267:descriptions/desc.client]
167 MariaDB Server is one of the most popular database servers in the world.
168 It's made by the original developers of MySQL and guaranteed to stay open
169 source. Notable users include Wikipedia, WordPress.com and Google.
171 This package contains the client and related files.
175 450437c74a8e44c76b3c0b343b9347eb903201545851565d78d9a624676ab202 95286643 mariadb-10.6.14.tar.gz
178 [FILE:3947:manifests/plist.server]
179 %%PAM%%@sample etc/mariadb/user_map.conf.sample
180 %%PAM%%lib/mysql/plugin/
183 %%PAM%%lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
184 %%PAM%%lib/mysql/security/pam_user_map.so
196 mariadb-client-test-embedded
201 mariadb-fix-extensions
204 mariadb-secure-installation
206 mariadb-test-embedded
207 mariadb-tzinfo-to-sql
222 mysql_client_test_embedded
228 mysql_secure_installation
246 wsrep_sst_mariabackup
258 auth_gssapi_client.so
260 caching_sha2_password.so
261 debug_key_management.so
264 example_key_management.so
265 file_key_management.so
278 ha_test_sql_discovery.so
282 metadata_lock_info.so
288 query_response_time.so
290 simple_password_check.so
301 share/groonga-normalizer-mysql/
310 maria_add_gis_sp_bootstrap.sql
313 mysql_performance_tables.sql
315 mysql_system_tables.sql
316 mysql_system_tables_data.sql
317 mysql_test_data_timezone.sql
322 share/mysql/bulgarian/errmsg.sys
323 share/mysql/charsets/
350 share/mysql/chinese/errmsg.sys
351 share/mysql/czech/errmsg.sys
352 share/mysql/danish/errmsg.sys
353 share/mysql/dutch/errmsg.sys
354 share/mysql/english/errmsg.sys
355 share/mysql/estonian/errmsg.sys
356 share/mysql/french/errmsg.sys
357 share/mysql/german/errmsg.sys
358 share/mysql/greek/errmsg.sys
359 share/mysql/hindi/errmsg.sys
360 share/mysql/hungarian/errmsg.sys
361 share/mysql/italian/errmsg.sys
362 share/mysql/japanese/errmsg.sys
363 share/mysql/korean/errmsg.sys
369 share/mysql/norwegian/errmsg.sys
370 share/mysql/norwegian-ny/errmsg.sys
371 share/mysql/policy/apparmor/
374 usr.sbin.mysqld.local
375 share/mysql/policy/selinux/
380 share/mysql/polish/errmsg.sys
381 share/mysql/portuguese/errmsg.sys
382 share/mysql/romanian/errmsg.sys
383 share/mysql/russian/errmsg.sys
384 share/mysql/serbian/errmsg.sys
385 share/mysql/slovak/errmsg.sys
386 share/mysql/spanish/errmsg.sys
387 share/mysql/swedish/errmsg.sys
388 share/mysql/ukrainian/errmsg.sys
391 [FILE:661:manifests/plist.client]
398 mariadb-convert-table-format
404 mariadb-setpermission
411 mysql_convert_table_format
433 mysql_clear_password.so
437 [FILE:7180: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/
521 plugin_password_validation.h
525 service_encryption_scheme.h
527 service_kill_statement.h
531 service_my_print_error.h
532 service_my_snprintf.h
533 service_progress_report.h
537 service_thd_autoinc.h
538 service_thd_error_context.h
541 service_thd_specifics.h
542 service_thd_timezone.h
546 include/mysql/server/mysql/psi/
565 include/mysql/server/private/
590 event_db_repository.h
607 handle_connections_win.h
682 mysqld_default_groups.h
695 pfs_memory_provider.h
696 pfs_metadata_provider.h
697 pfs_socket_provider.h
699 pfs_statement_provider.h
701 pfs_thread_provider.h
702 pfs_transaction_provider.h
705 probes_mysql_nodtrace.h
732 semisync_master_ack_receiver.h
777 sql_expression_cache.h
778 sql_get_diagnostics.h
795 sql_partition_admin.h
823 sql_type_fixedbin_storage.h
848 threadpool_winsockets.h
857 welcome_copyright_notice.h
864 wsrep_client_service.h
866 wsrep_condition_variable.h
867 wsrep_high_priority_service.h
874 wsrep_server_service.h
877 wsrep_storage_service.h
879 wsrep_trans_observer.h
885 include/mysql/server/private/atomic/
902 share/aclocal/mysql.m4
905 [FILE:5277:manifests/plist.man]
913 galera_new_cluster.1.gz
922 mariadb-client-test-embedded.1.gz
923 mariadb-client-test.1.gz
925 mariadb-convert-table-format.1.gz
927 mariadb-dumpslow.1.gz
928 mariadb-embedded.1.gz
929 mariadb-find-rows.1.gz
930 mariadb-fix-extensions.1.gz
933 mariadb-install-db.1.gz
936 mariadb-secure-installation.1.gz
937 mariadb-service-convert.1.gz
938 mariadb-setpermission.1.gz
941 mariadb-test-embedded.1.gz
943 mariadb-tzinfo-to-sql.1.gz
949 mariadbd-safe-helper.1.gz
953 my_print_defaults.1.gz
959 myrocks_hotbackup.1.gz
960 mysql-stress-test.pl.1.gz
961 mysql-test-run.pl.1.gz
964 mysql_client_test.1.gz
965 mysql_client_test_embedded.1.gz
967 mysql_convert_table_format.1.gz
970 mysql_fix_extensions.1.gz
971 mysql_install_db.1.gz
974 mysql_secure_installation.1.gz
975 mysql_setpermission.1.gz
976 mysql_tzinfo_to_sql.1.gz
985 mysqld_safe_helper.1.gz
993 mysqltest_embedded.1.gz
997 resolve_stack_dump.1.gz
999 wsrep_sst_common.1.gz
1000 wsrep_sst_mariabackup.1.gz
1001 wsrep_sst_mysqldump.1.gz
1002 wsrep_sst_rsync.1.gz
1003 wsrep_sst_rsync_wan.1.gz
1006 mariadb_connection.3.gz
1007 mariadb_dyncol_check.3.gz
1008 mariadb_dyncol_column_cmp_named.3.gz
1009 mariadb_dyncol_column_count.3.gz
1010 mariadb_dyncol_create_many_named.3.gz
1011 mariadb_dyncol_create_many_num.3.gz
1012 mariadb_dyncol_exists_named.3.gz
1013 mariadb_dyncol_exists_num.3.gz
1014 mariadb_dyncol_free.3.gz
1015 mariadb_dyncol_list_named.3.gz
1016 mariadb_dyncol_list_num.3.gz
1017 mariadb_dyncol_unpack.3.gz
1018 mariadb_dyncol_update_many_named.3.gz
1019 mariadb_dyncol_update_many_num.3.gz
1020 mariadb_get_infov.3.gz
1021 mariadb_reconnect.3.gz
1022 mariadb_rpl_close.3.gz
1023 mariadb_rpl_fetch.3.gz
1024 mariadb_rpl_get_optionsv.3.gz
1025 mariadb_rpl_open.3.gz
1026 mariadb_rpl_optionsv.3.gz
1027 mariadb_stmt_execute_direct.3.gz
1028 mariadb_stmt_fetch_fields.3.gz
1029 mysql_affected_rows.3.gz
1030 mysql_autocommit.3.gz
1031 mysql_change_user.3.gz
1034 mysql_data_seek.3.gz
1037 mysql_fetch_field.3.gz
1038 mysql_fetch_field_direct.3.gz
1039 mysql_fetch_fields.3.gz
1040 mysql_fetch_lengths.3.gz
1041 mysql_fetch_row.3.gz
1042 mysql_field_count.3.gz
1043 mysql_field_seek.3.gz
1044 mysql_field_tell.3.gz
1045 mysql_free_result.3.gz
1046 mysql_get_character_set_info.3.gz
1047 mysql_get_client_info.3.gz
1048 mysql_get_client_version.3.gz
1049 mysql_get_host_info.3.gz
1050 mysql_get_proto_info.3.gz
1051 mysql_get_server_info.3.gz
1052 mysql_get_server_version.3.gz
1053 mysql_get_socket.3.gz
1054 mysql_get_ssl_cipher.3.gz
1055 mysql_hex_string.3.gz
1059 mysql_more_results.3.gz
1060 mysql_next_result.3.gz
1061 mysql_num_fields.3.gz
1068 mysql_read_query_result.3.gz
1069 mysql_real_connect.3.gz
1070 mysql_real_escape_string.3.gz
1071 mysql_real_query.3.gz
1073 mysql_reset_connection.3.gz
1077 mysql_select_db.3.gz
1078 mysql_send_query.3.gz
1079 mysql_server_end.3.gz
1080 mysql_server_init.3.gz
1081 mysql_session_track_get_first.3.gz
1082 mysql_session_track_get_next.3.gz
1083 mysql_set_character_set.3.gz
1084 mysql_set_server_option.3.gz
1089 mysql_stmt_affected_rows.3.gz
1090 mysql_stmt_attr_get.3.gz
1091 mysql_stmt_attr_set.3.gz
1092 mysql_stmt_bind_param.3.gz
1093 mysql_stmt_bind_result.3.gz
1094 mysql_stmt_close.3.gz
1095 mysql_stmt_data_seek.3.gz
1096 mysql_stmt_errno.3.gz
1097 mysql_stmt_error.3.gz
1098 mysql_stmt_execute.3.gz
1099 mysql_stmt_fetch.3.gz
1100 mysql_stmt_fetch_column.3.gz
1101 mysql_stmt_field_count.3.gz
1102 mysql_stmt_free_result.3.gz
1103 mysql_stmt_init.3.gz
1104 mysql_stmt_insert_id.3.gz
1105 mysql_stmt_more_results.3.gz
1106 mysql_stmt_next_result.3.gz
1107 mysql_stmt_num_rows.3.gz
1108 mysql_stmt_param_count.3.gz
1109 mysql_stmt_param_metadata.3.gz
1110 mysql_stmt_prepare.3.gz
1111 mysql_stmt_reset.3.gz
1112 mysql_stmt_result_metadata.3.gz
1113 mysql_stmt_row_seek.3.gz
1114 mysql_stmt_row_tell.3.gz
1115 mysql_stmt_send_long_data.3.gz
1116 mysql_stmt_sqlstate.3.gz
1117 mysql_stmt_store_result.3.gz
1118 mysql_stmt_warning_count.3.gz
1119 mysql_store_result.3.gz
1120 mysql_thread_end.3.gz
1121 mysql_thread_id.3.gz
1122 mysql_thread_init.3.gz
1123 mysql_use_result.3.gz
1124 mysql_warning_count.3.gz
1130 [FILE:86:manifests/plist.docs]
1131 share/doc/%%PORTNAME%%/
1139 [FILE:572:patches/patch-client_mysql.cc]
1140 --- client/mysql.cc.orig 2023-06-05 17:02:14 UTC
1142 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1145 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1146 -#include <curses.h>
1148 +#include <ncurses/curses.h>
1149 +#include <ncurses/term.h>
1151 #if defined(HAVE_TERMIOS_H)
1152 #include <termios.h>
1153 @@ -82,7 +82,7 @@ extern "C" {
1155 #undef SYSV // hack to avoid syntax error
1158 +#include <ncurses/term.h>
1161 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1164 [FILE:312:patches/patch-client_mysqltest.cc]
1165 --- client/mysqltest.cc.orig 2023-06-05 17:02:14 UTC
1166 +++ client/mysqltest.cc
1169 #include <violite.h>
1170 #define PCRE2_STATIC 1 /* Important on Windows */
1172 #include "pcre2posix.h" /* pcreposix regex library */
1173 #ifdef HAVE_SYS_WAIT_H
1174 #include <sys/wait.h>
1177 [FILE:500:patches/patch-cmake_install__layout.cmake]
1178 --- cmake/install_layout.cmake.orig 2023-06-05 17:02:14 UTC
1179 +++ cmake/install_layout.cmake
1180 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1181 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1183 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1184 -SET(INSTALL_PAMDIR_STANDALONE "share")
1185 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1186 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1187 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1193 [FILE:1968:patches/patch-cmake_readline.cmake]
1194 --- cmake/readline.cmake.orig 2023-06-05 17:02:14 UTC
1195 +++ cmake/readline.cmake
1196 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1200 + SET(CURSES_NEED_NCURSES True)
1201 FIND_PACKAGE(Curses REQUIRED)
1202 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1203 IF(NOT CURSES_FOUND)
1204 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1205 remove CMakeCache.txt and rerun cmake.")
1206 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1207 - SET(ERRORMSG ${ERRORMSG}
1208 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivatives "
1209 - "it is ncurses-devel.")
1211 MESSAGE(FATAL_ERROR ${ERRORMSG})
1214 - IF(CURSES_HAVE_CURSES_H)
1215 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1217 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1218 - # CMake uses full path to library /lib/libcurses.sl
1219 - # On Itanium, it results into architecture mismatch+
1220 - # the library is for PA-RISC
1221 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1223 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1225 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1226 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1227 - # Lower-level libcurses calls are exposed by libtinfo
1228 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1229 - IF(NOT HAVE_TPUTS_IN_CURSES)
1230 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1231 - IF(HAVE_TPUTS_IN_TINFO)
1232 - SET(CURSES_LIBRARY tinfo)
1236 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1237 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1239 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1240 SET(CMAKE_REQUIRED_LIBRARIES)
1241 SET(CMAKE_REQUIRED_INCLUDES)
1243 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1244 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1245 + SET(CMAKE_REQUIRED_INCLUDES)
1250 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1251 --- extra/readline/CMakeLists.txt.orig 2023-06-05 17:02:14 UTC
1252 +++ extra/readline/CMakeLists.txt
1253 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1255 # Declare dependency
1256 # so every executable that links with readline links with curses as well
1257 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1258 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1261 [FILE:1605:patches/patch-mysys_my__default.c]
1262 --- mysys/my_default.c.orig 2023-06-05 17:02:20 UTC
1263 +++ mysys/my_default.c
1264 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1267 if (!my_stat(name,&stat_info,MYF(0)))
1271 Ignore world-writable regular files.
1272 This is mainly done to protect us to not read a file created by
1273 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1274 add_option(ctx, name))
1277 + if (strstr(name, "/etc") == name)
1280 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1285 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1288 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1289 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1291 strxmov(end, conf_file, *ext, " ", NullS);
1292 - fputs(name, stdout);
1293 + if (strstr(name, "/etc") != name)
1294 + fputs(name, stdout);
1298 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1302 -#if defined(DEFAULT_SYSCONFDIR)
1303 - if (DEFAULT_SYSCONFDIR[0])
1304 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1306 errors += add_directory(alloc, "/etc/", dirs);
1307 errors += add_directory(alloc, "/etc/mysql/", dirs);
1308 -#endif /* DEFAULT_SYSCONFDIR */
1309 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1310 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1316 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1317 --- storage/oqgraph/oqgraph_judy.cc.orig 2023-06-05 17:02:23 UTC
1318 +++ storage/oqgraph/oqgraph_judy.cc
1321 Currently the only active code that can return error is:
1322 judy_bitset::reset()/J1U()
1323 - judy_bitset::setbit()/J1S()
1324 + judy_bitset::jsetbit()/J1S()
1326 In most cases errors are either about wrong parameters passed to Judy
1327 functions or internal structures corruption. These definitely deserve
1328 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1332 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1333 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1337 --- storage/oqgraph/oqgraph_judy.h.orig 2023-06-05 17:02:23 UTC
1338 +++ storage/oqgraph/oqgraph_judy.h
1339 @@ -63,7 +63,7 @@ namespace open_query
1344 + return jsetbit(n);
1347 judy_bitset& set(const judy_bitset& src);
1348 @@ -115,7 +115,7 @@ namespace open_query
1350 mutable void* array;
1352 - judy_bitset& setbit(size_type n);
1353 + judy_bitset& jsetbit(size_type n);
1359 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1360 --- scripts/CMakeLists.txt.orig 2023-06-05 17:02:20 UTC
1361 +++ scripts/CMakeLists.txt
1362 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1366 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1367 - SET (PERL_PATH "/usr/local/bin/perl")
1369 - SET (PERL_PATH "/usr/bin/perl")
1371 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1374 # FIND_PROC and CHECK_PID are used by mysqld_safe
1377 [FILE:403:patches/patch-scripts_mysql__config.sh]
1378 --- scripts/mysql_config.sh.orig 2023-06-05 17:02:20 UTC
1379 +++ scripts/mysql_config.sh
1380 @@ -87,7 +87,9 @@ fi
1383 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1384 +libs="$libs -L%%LOCALBASE%%/lib "
1385 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1386 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1388 include="-I$pkgincludedir"
1389 if [ "$basedir" != "/usr" ]; then
1392 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1393 --- scripts/mysqld_safe.sh.orig 2023-06-05 17:02:20 UTC
1394 +++ scripts/mysqld_safe.sh
1395 @@ -560,11 +560,11 @@ fi
1397 if test -z "$MYSQL_HOME"
1399 - if test -r "$DATADIR/my.cnf"
1400 + if test -r "$DATADIR/etc/my.cnf"
1402 log_error "WARNING: Found $DATADIR/my.cnf
1403 The data directory is not a valid location for my.cnf, please move it to
1404 -$MY_BASEDIR_VERSION/my.cnf"
1405 +$MY_BASEDIR_VERSION/etc/my.cnf"
1407 MYSQL_HOME=$MY_BASEDIR_VERSION
1411 [FILE:489:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1412 --- scripts/wsrep_sst_mariabackup.sh.orig 2023-06-05 17:02:20 UTC
1413 +++ scripts/wsrep_sst_mariabackup.sh
1414 @@ -798,7 +798,7 @@ recv_joiner()
1416 if [ $tmt -gt 0 ]; then
1417 if [ -n "$(commandex timeout)" ]; then
1418 - if timeout --help | grep -qw -F -- '-k'; then
1419 + if timeout --help 2>&1 | grep -qw -F -- '-k'; then
1420 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1422 ltcmd="timeout -s9 $tmt $tcmd"
1425 [FILE:250:patches/patch-sql_mysqld.cc]
1426 --- sql/mysqld.cc.orig 2023-06-05 17:02:21 UTC
1428 @@ -4615,8 +4615,9 @@ static void init_ssl()
1429 sql_print_warning("SSL error: %s",buf);
1434 ERR_remove_state(0);
1441 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1442 --- storage/innobase/lz4.cmake.orig 2023-06-05 17:02:22 UTC
1443 +++ storage/innobase/lz4.cmake
1444 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1446 MACRO (MYSQL_CHECK_LZ4)
1447 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1448 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1449 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1450 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1451 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1452 + find_library(LZ4_LIBRARY NAMES lz4)
1454 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1455 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1456 + IF (LZ4_INCLUDE_DIR)
1457 + SET(HAVE_LZ4_H YES)
1459 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1460 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1462 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1463 SET(HAVE_INNODB_LZ4 TRUE)
1464 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1465 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1466 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1468 - LINK_LIBRARIES(lz4)
1469 + LINK_LIBRARIES(${LZ4_LIBRARY})
1471 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1472 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1477 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1481 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1482 --- storage/innobase/lzo.cmake.orig 2023-06-05 17:02:22 UTC
1483 +++ storage/innobase/lzo.cmake
1484 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1486 MACRO (MYSQL_CHECK_LZO)
1487 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1488 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1489 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1491 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1492 + find_library(LZO_LIBRARY NAMES lzo2)
1493 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1497 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1498 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1499 SET(HAVE_INNODB_LZO TRUE)
1500 ADD_DEFINITIONS(-DHAVE_LZO=1)
1501 - LINK_LIBRARIES(lzo2)
1502 + LINK_LIBRARIES(${LZO_LIBRARY})
1504 IF (WITH_INNODB_LZO STREQUAL "ON")
1505 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1508 [FILE:270:patches/patch-storage_perfschema_pfs__global.cc]
1509 --- storage/perfschema/pfs_global.cc.orig 2023-06-05 17:02:23 UTC
1510 +++ storage/perfschema/pfs_global.cc
1512 #ifdef HAVE_NETINET_IN_H
1513 #include <netinet/in.h>
1515 +#ifdef __MidnightBSD__
1516 +#include <malloc_np.h>
1519 bool pfs_initialized= false;
1523 [FILE:486:patches/patch-storage_rocksdb_build__rocksdb.cmake]
1524 --- storage/rocksdb/build_rocksdb.cmake.orig 2023-06-05 17:02:23 UTC
1525 +++ storage/rocksdb/build_rocksdb.cmake
1526 @@ -90,7 +90,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1527 add_definitions(-DOS_LINUX)
1528 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1529 add_definitions(-DOS_SOLARIS)
1530 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1531 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1532 add_definitions(-DOS_FREEBSD)
1533 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1534 add_definitions(-DOS_NETBSD)
1537 [FILE:2105:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1538 --- storage/rocksdb/ha_rocksdb.cc.orig 2023-06-05 17:02:23 UTC
1539 +++ storage/rocksdb/ha_rocksdb.cc
1540 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1541 Rdb_ddl_manager ddl_manager;
1542 Rdb_binlog_manager binlog_manager;
1544 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1545 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1546 Rdb_io_watchdog *io_watchdog = nullptr;
1549 @@ -850,7 +850,7 @@ static void rocksdb_set_io_write_timeout
1550 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1551 DBUG_ASSERT(save != nullptr);
1552 DBUG_ASSERT(rdb != nullptr);
1553 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1554 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1555 DBUG_ASSERT(io_watchdog != nullptr);
1558 @@ -859,7 +859,7 @@ static void rocksdb_set_io_write_timeout
1559 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1561 rocksdb_io_write_timeout_secs = new_val;
1562 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1563 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1564 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1566 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1567 @@ -5798,7 +5798,7 @@ static int rocksdb_init_func(void *const
1568 directories.push_back(myrocks::rocksdb_wal_dir);
1571 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1572 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1573 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1574 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1576 @@ -5905,7 +5905,7 @@ static int rocksdb_done_func(void *const
1577 delete commit_latency_stats;
1578 commit_latency_stats = nullptr;
1580 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1581 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1583 io_watchdog = nullptr;
1587 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1588 --- storage/rocksdb/rdb_buff.h.orig 2023-06-05 17:02:23 UTC
1589 +++ storage/rocksdb/rdb_buff.h
1591 #define be16toh(x) OSSwapBigToHostInt16(x)
1594 +#include "port/port_posix.h"
1596 /* MySQL header files */
1597 #include "./my_global.h"
1601 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1602 If timer_t is an integer type, setting it to nullptr fails.
1604 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2023-06-05 17:02:24 UTC
1605 +++ storage/rocksdb/rdb_io_watchdog.cc
1606 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1607 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1611 + m_io_check_watchdog_timer = 0;
1613 m_io_check_watchdog_timer = nullptr;
1616 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1620 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1621 If timer_t is an integer type, setting it to nullptr fails.
1623 --- storage/rocksdb/rdb_io_watchdog.h.orig 2023-06-05 17:02:24 UTC
1624 +++ storage/rocksdb/rdb_io_watchdog.h
1626 /* MyRocks header files */
1627 #include "./rdb_utils.h"
1630 +#define NULLTIMER 0
1632 +#define NULLTIMER nullptr
1637 // Rdb_io_watchdog does not support Windows ATM.
1638 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1639 ret = timer_delete(m_io_check_watchdog_timer);
1642 - m_io_check_watchdog_timer = nullptr;
1643 + m_io_check_watchdog_timer = NULLTIMER;
1647 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1648 ret = timer_delete(m_io_check_timer);
1651 - m_io_check_timer = nullptr;
1652 + m_io_check_timer = NULLTIMER;
1656 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1659 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1660 - : m_io_check_timer(nullptr),
1661 - m_io_check_watchdog_timer(nullptr),
1662 + : m_io_check_timer(NULLTIMER),
1663 + m_io_check_watchdog_timer(NULLTIMER),
1664 m_io_in_progress(false),
1665 m_dirs_to_check(std::move(directories)),
1669 [FILE:494:patches/patch-storage_rocksdb_rocksdb_CMakeLists.txt]
1670 --- storage/rocksdb/rocksdb/CMakeLists.txt.orig 2023-06-05 17:02:28 UTC
1671 +++ storage/rocksdb/rocksdb/CMakeLists.txt
1672 @@ -413,7 +413,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1673 add_definitions(-DOS_LINUX)
1674 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1675 add_definitions(-DOS_SOLARIS)
1676 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1677 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1678 add_definitions(-DOS_FREEBSD)
1679 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1680 add_definitions(-DOS_NETBSD)
1683 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1684 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2023-06-05 17:02:29 UTC
1685 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1687 #include <jemalloc/jemalloc.h>
1691 +#define JEMALLOC_USABLE_SIZE_CONST const
1694 #ifndef JEMALLOC_CXX_THROW
1695 #define JEMALLOC_CXX_THROW
1699 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1700 --- storage/rocksdb/ut0counter.h.orig 2023-06-05 17:02:24 UTC
1701 +++ storage/rocksdb/ut0counter.h
1702 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1705 #define get_curr_thread_id() GetCurrentThreadId()
1706 +#elif defined __FreeBSD__
1707 +#include <pthread_np.h>
1708 +#define get_curr_thread_id() pthread_getthreadid_np()
1709 +#elif defined __DragonFly__
1710 +#include <sys/syscall.h>
1711 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1713 #define get_curr_thread_id() pthread_self()