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.13/source/
13 DISTFILE[1]= mariadb-10.6.13.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
29 BUILDRUN_DEPENDS= boost-libraries:primary:standard
30 snappy:primary:standard
31 msgpack:primary:standard
34 BR_DEPS[netbsd]= openpam:single:standard
38 USERGROUP_SPKG= server
40 USES= cmake zlib readline ncurses pcre2 shebangfix cpe
41 python:build perl:build pkgconfig iconv:translit
42 curl zstd lz4 lzo bz2 execinfo ssl:openssl30
43 GNOME_COMPONENTS= libxml2
45 DISTNAME= mariadb-10.6.13
48 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
49 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
50 LICENSE_AWK= TERMS:"^\#include"
51 LICENSE_SOURCE= TERMS:{{WRKSRC}}/libmysqld/libmysqld.c
56 FPC_EQUIVALENT= databases/mariadb104-server
57 SHEBANG_FILES= scripts/*.sh
59 INSTALL_REQ_TOOLCHAIN= yes
60 PLIST_SUB= PORTNAME=mariadb106
61 AUTHSOCKET={{AUTHSOCKET}}
62 PAM={{PAM:U"@comment "}}
64 CMAKE_ARGS= -DCOMPILATION_COMMENT="Ravenports"
65 -DINSTALL_INCLUDEDIR=include/mysql
66 -DINSTALL_PLUGINDIR=lib/mysql/plugin
67 -DINSTALL_SHAREDIR=share
68 -DINSTALL_SUPPORTFILESDIR=share/mysql
69 -DINSTALL_MYSQLSHAREDIR=share/mysql
70 -DINSTALL_DOCREADMEDIR=share/doc/mariadb106
71 -DINSTALL_DOCDIR=share/doc/mariadb106
72 -DINSTALL_LIBDIR=lib/mysql
73 -DINSTALL_MANDIR=share/man
74 -DINSTALL_SCRIPTDIR=bin
75 -DINSTALL_MYSQLTESTDIR=
76 -DINSTALL_SQLBENCHDIR=
77 -DDEFAULT_CHARSET=utf8mb4
78 -DDEFAULT_COLLATION=utf8mb4_unicode_ci
79 -DDEFAULT_SYSCONFDIR="{{PREFIX}}/etc"
80 -DENABLED_LOCAL_INFILE=ON
84 -DWITH_EMBEDDED_SERVER=ON
85 -DWITH_EXTRA_CHARSETS=complex
90 -DWITH_READLINE=system
91 -DWITH_SSL="{{OPENSSLBASE}}"
95 VAR_OPSYS[freebsd]= CXXFLAGS=-DHAVE_POSIX_MEMALIGN=1
96 VAR_OPSYS[netbsd]= MAKEFILE_LINE=AUTHSOCKET="@comment "
100 ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
101 ${WRKSRC}/cmake/os/DragonFly.cmake
104 ${RM} ${STAGEDIR}${STD_DOCDIR}/COPYING
105 ${MV} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig/mariadb.pc \
106 ${STAGEDIR}${PREFIX}/lib/pkgconfig/
107 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
108 # strip plugins and libraries
109 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadb.so
110 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadbd.so
111 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/*/*.so
113 @flist=$$(${FIND} ${STAGEDIR}${PREFIX}/bin -type f -perm /111 -print) ;\
114 for f in $$flist; do \
115 (${FILE} $$f | ${GREP} -Fq ", not stripped")\
116 && ${ECHO_CMD} "Auto-stripping $$f"\
117 && ${STRIP_CMD} $$f || ${TRUE} ;\
119 # if pam config file exists, set it as a sample
120 # remove testsuite files too
121 if [ -f "${STAGEDIR}${PREFIX}/etc/mariadb/user_map.conf" ]; then \
122 (cd ${STAGEDIR}${PREFIX}/etc/mariadb && \
123 ${MV} user_map.conf user_map.conf.sample) ;\
124 ${RM} -r ${STAGEDIR}/suite ;\
128 ${REINPLACE_CMD} 's|/usr/bin/env python|${PYTHON_CMD}|' \
129 ${WRKSRC}/CMakeLists.txt
130 ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' \
131 ${WRKSRC}/mysys/my_default.c
132 ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
133 ${WRKSRC}/scripts/mysql_config.sh \
134 ${WRKSRC}/scripts/CMakeLists.txt
137 ${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
138 -e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
139 ${BUILD_WRKSRC}/libmariadb/mariadb_config/mariadb_config.c
140 # Fix build failure in mbstream, see https://jira.mariadb.org/browse/MDEV-14072
141 ${REINPLACE_CMD} -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
142 -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
143 -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
144 -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
145 ${BUILD_WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt
147 [FILE:807:descriptions/desc.server]
148 MariaDB Server is one of the most popular database servers in the world.
149 It's made by the original developers of MySQL and guaranteed to stay open
150 source. Notable users include Wikipedia, WordPress.com and Google.
152 MariaDB turns data into structured information in a wide array of
153 applications, ranging from banking to websites. It is an enhanced, drop-in
154 replacement for MySQL. MariaDB is used because it is fast, scalable and
155 robust, with a rich ecosystem of storage engines, plugins and many other
156 tools make it very versatile for a wide variety of use cases.
158 MariaDB is developed as open source software and as a relational database
159 it provides an SQL interface for accessing data. The latest versions of
160 MariaDB also include GIS and JSON features.
162 This package contains the server and related files.
165 [FILE:267:descriptions/desc.client]
166 MariaDB Server is one of the most popular database servers in the world.
167 It's made by the original developers of MySQL and guaranteed to stay open
168 source. Notable users include Wikipedia, WordPress.com and Google.
170 This package contains the client and related files.
174 f085f379cf59ed2d365644fc5cd8558f882a886ec964070d65a28530ddbb75ba 95285355 mariadb-10.6.13.tar.gz
177 [FILE:3947:manifests/plist.server]
178 %%PAM%%@sample etc/mariadb/user_map.conf.sample
179 %%PAM%%lib/mysql/plugin/
182 %%PAM%%lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
183 %%PAM%%lib/mysql/security/pam_user_map.so
195 mariadb-client-test-embedded
200 mariadb-fix-extensions
203 mariadb-secure-installation
205 mariadb-test-embedded
206 mariadb-tzinfo-to-sql
221 mysql_client_test_embedded
227 mysql_secure_installation
245 wsrep_sst_mariabackup
257 auth_gssapi_client.so
259 caching_sha2_password.so
260 debug_key_management.so
263 example_key_management.so
264 file_key_management.so
277 ha_test_sql_discovery.so
281 metadata_lock_info.so
287 query_response_time.so
289 simple_password_check.so
300 share/groonga-normalizer-mysql/
309 maria_add_gis_sp_bootstrap.sql
312 mysql_performance_tables.sql
314 mysql_system_tables.sql
315 mysql_system_tables_data.sql
316 mysql_test_data_timezone.sql
321 share/mysql/bulgarian/errmsg.sys
322 share/mysql/charsets/
349 share/mysql/chinese/errmsg.sys
350 share/mysql/czech/errmsg.sys
351 share/mysql/danish/errmsg.sys
352 share/mysql/dutch/errmsg.sys
353 share/mysql/english/errmsg.sys
354 share/mysql/estonian/errmsg.sys
355 share/mysql/french/errmsg.sys
356 share/mysql/german/errmsg.sys
357 share/mysql/greek/errmsg.sys
358 share/mysql/hindi/errmsg.sys
359 share/mysql/hungarian/errmsg.sys
360 share/mysql/italian/errmsg.sys
361 share/mysql/japanese/errmsg.sys
362 share/mysql/korean/errmsg.sys
368 share/mysql/norwegian/errmsg.sys
369 share/mysql/norwegian-ny/errmsg.sys
370 share/mysql/policy/apparmor/
373 usr.sbin.mysqld.local
374 share/mysql/policy/selinux/
379 share/mysql/polish/errmsg.sys
380 share/mysql/portuguese/errmsg.sys
381 share/mysql/romanian/errmsg.sys
382 share/mysql/russian/errmsg.sys
383 share/mysql/serbian/errmsg.sys
384 share/mysql/slovak/errmsg.sys
385 share/mysql/spanish/errmsg.sys
386 share/mysql/swedish/errmsg.sys
387 share/mysql/ukrainian/errmsg.sys
390 [FILE:661:manifests/plist.client]
397 mariadb-convert-table-format
403 mariadb-setpermission
410 mysql_convert_table_format
432 mysql_clear_password.so
436 [FILE:7180:manifests/plist.dev]
456 include/mysql/mariadb/ma_io.h
461 include/mysql/server/
464 byte_order_generic_x86.h
465 byte_order_generic_x86_64.h
476 mariadb_capi_rename.h
509 include/mysql/server/mysql/
520 plugin_password_validation.h
524 service_encryption_scheme.h
526 service_kill_statement.h
530 service_my_print_error.h
531 service_my_snprintf.h
532 service_progress_report.h
536 service_thd_autoinc.h
537 service_thd_error_context.h
540 service_thd_specifics.h
541 service_thd_timezone.h
545 include/mysql/server/mysql/psi/
564 include/mysql/server/private/
589 event_db_repository.h
606 handle_connections_win.h
681 mysqld_default_groups.h
694 pfs_memory_provider.h
695 pfs_metadata_provider.h
696 pfs_socket_provider.h
698 pfs_statement_provider.h
700 pfs_thread_provider.h
701 pfs_transaction_provider.h
704 probes_mysql_nodtrace.h
731 semisync_master_ack_receiver.h
776 sql_expression_cache.h
777 sql_get_diagnostics.h
794 sql_partition_admin.h
822 sql_type_fixedbin_storage.h
847 threadpool_winsockets.h
856 welcome_copyright_notice.h
863 wsrep_client_service.h
865 wsrep_condition_variable.h
866 wsrep_high_priority_service.h
873 wsrep_server_service.h
876 wsrep_storage_service.h
878 wsrep_trans_observer.h
884 include/mysql/server/private/atomic/
901 share/aclocal/mysql.m4
904 [FILE:5277:manifests/plist.man]
912 galera_new_cluster.1.gz
921 mariadb-client-test-embedded.1.gz
922 mariadb-client-test.1.gz
924 mariadb-convert-table-format.1.gz
926 mariadb-dumpslow.1.gz
927 mariadb-embedded.1.gz
928 mariadb-find-rows.1.gz
929 mariadb-fix-extensions.1.gz
932 mariadb-install-db.1.gz
935 mariadb-secure-installation.1.gz
936 mariadb-service-convert.1.gz
937 mariadb-setpermission.1.gz
940 mariadb-test-embedded.1.gz
942 mariadb-tzinfo-to-sql.1.gz
948 mariadbd-safe-helper.1.gz
952 my_print_defaults.1.gz
958 myrocks_hotbackup.1.gz
959 mysql-stress-test.pl.1.gz
960 mysql-test-run.pl.1.gz
963 mysql_client_test.1.gz
964 mysql_client_test_embedded.1.gz
966 mysql_convert_table_format.1.gz
969 mysql_fix_extensions.1.gz
970 mysql_install_db.1.gz
973 mysql_secure_installation.1.gz
974 mysql_setpermission.1.gz
975 mysql_tzinfo_to_sql.1.gz
984 mysqld_safe_helper.1.gz
992 mysqltest_embedded.1.gz
996 resolve_stack_dump.1.gz
998 wsrep_sst_common.1.gz
999 wsrep_sst_mariabackup.1.gz
1000 wsrep_sst_mysqldump.1.gz
1001 wsrep_sst_rsync.1.gz
1002 wsrep_sst_rsync_wan.1.gz
1005 mariadb_connection.3.gz
1006 mariadb_dyncol_check.3.gz
1007 mariadb_dyncol_column_cmp_named.3.gz
1008 mariadb_dyncol_column_count.3.gz
1009 mariadb_dyncol_create_many_named.3.gz
1010 mariadb_dyncol_create_many_num.3.gz
1011 mariadb_dyncol_exists_named.3.gz
1012 mariadb_dyncol_exists_num.3.gz
1013 mariadb_dyncol_free.3.gz
1014 mariadb_dyncol_list_named.3.gz
1015 mariadb_dyncol_list_num.3.gz
1016 mariadb_dyncol_unpack.3.gz
1017 mariadb_dyncol_update_many_named.3.gz
1018 mariadb_dyncol_update_many_num.3.gz
1019 mariadb_get_infov.3.gz
1020 mariadb_reconnect.3.gz
1021 mariadb_rpl_close.3.gz
1022 mariadb_rpl_fetch.3.gz
1023 mariadb_rpl_get_optionsv.3.gz
1024 mariadb_rpl_open.3.gz
1025 mariadb_rpl_optionsv.3.gz
1026 mariadb_stmt_execute_direct.3.gz
1027 mariadb_stmt_fetch_fields.3.gz
1028 mysql_affected_rows.3.gz
1029 mysql_autocommit.3.gz
1030 mysql_change_user.3.gz
1033 mysql_data_seek.3.gz
1036 mysql_fetch_field.3.gz
1037 mysql_fetch_field_direct.3.gz
1038 mysql_fetch_fields.3.gz
1039 mysql_fetch_lengths.3.gz
1040 mysql_fetch_row.3.gz
1041 mysql_field_count.3.gz
1042 mysql_field_seek.3.gz
1043 mysql_field_tell.3.gz
1044 mysql_free_result.3.gz
1045 mysql_get_character_set_info.3.gz
1046 mysql_get_client_info.3.gz
1047 mysql_get_client_version.3.gz
1048 mysql_get_host_info.3.gz
1049 mysql_get_proto_info.3.gz
1050 mysql_get_server_info.3.gz
1051 mysql_get_server_version.3.gz
1052 mysql_get_socket.3.gz
1053 mysql_get_ssl_cipher.3.gz
1054 mysql_hex_string.3.gz
1058 mysql_more_results.3.gz
1059 mysql_next_result.3.gz
1060 mysql_num_fields.3.gz
1067 mysql_read_query_result.3.gz
1068 mysql_real_connect.3.gz
1069 mysql_real_escape_string.3.gz
1070 mysql_real_query.3.gz
1072 mysql_reset_connection.3.gz
1076 mysql_select_db.3.gz
1077 mysql_send_query.3.gz
1078 mysql_server_end.3.gz
1079 mysql_server_init.3.gz
1080 mysql_session_track_get_first.3.gz
1081 mysql_session_track_get_next.3.gz
1082 mysql_set_character_set.3.gz
1083 mysql_set_server_option.3.gz
1088 mysql_stmt_affected_rows.3.gz
1089 mysql_stmt_attr_get.3.gz
1090 mysql_stmt_attr_set.3.gz
1091 mysql_stmt_bind_param.3.gz
1092 mysql_stmt_bind_result.3.gz
1093 mysql_stmt_close.3.gz
1094 mysql_stmt_data_seek.3.gz
1095 mysql_stmt_errno.3.gz
1096 mysql_stmt_error.3.gz
1097 mysql_stmt_execute.3.gz
1098 mysql_stmt_fetch.3.gz
1099 mysql_stmt_fetch_column.3.gz
1100 mysql_stmt_field_count.3.gz
1101 mysql_stmt_free_result.3.gz
1102 mysql_stmt_init.3.gz
1103 mysql_stmt_insert_id.3.gz
1104 mysql_stmt_more_results.3.gz
1105 mysql_stmt_next_result.3.gz
1106 mysql_stmt_num_rows.3.gz
1107 mysql_stmt_param_count.3.gz
1108 mysql_stmt_param_metadata.3.gz
1109 mysql_stmt_prepare.3.gz
1110 mysql_stmt_reset.3.gz
1111 mysql_stmt_result_metadata.3.gz
1112 mysql_stmt_row_seek.3.gz
1113 mysql_stmt_row_tell.3.gz
1114 mysql_stmt_send_long_data.3.gz
1115 mysql_stmt_sqlstate.3.gz
1116 mysql_stmt_store_result.3.gz
1117 mysql_stmt_warning_count.3.gz
1118 mysql_store_result.3.gz
1119 mysql_thread_end.3.gz
1120 mysql_thread_id.3.gz
1121 mysql_thread_init.3.gz
1122 mysql_use_result.3.gz
1123 mysql_warning_count.3.gz
1129 [FILE:86:manifests/plist.docs]
1130 share/doc/%%PORTNAME%%/
1138 [FILE:572:patches/patch-client_mysql.cc]
1139 --- client/mysql.cc.orig 2023-05-05 11:04:20 UTC
1141 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1144 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1145 -#include <curses.h>
1147 +#include <ncurses/curses.h>
1148 +#include <ncurses/term.h>
1150 #if defined(HAVE_TERMIOS_H)
1151 #include <termios.h>
1152 @@ -82,7 +82,7 @@ extern "C" {
1154 #undef SYSV // hack to avoid syntax error
1157 +#include <ncurses/term.h>
1160 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1163 [FILE:312:patches/patch-client_mysqltest.cc]
1164 --- client/mysqltest.cc.orig 2023-05-05 11:04:20 UTC
1165 +++ client/mysqltest.cc
1168 #include <violite.h>
1169 #define PCRE2_STATIC 1 /* Important on Windows */
1171 #include "pcre2posix.h" /* pcreposix regex library */
1172 #ifdef HAVE_SYS_WAIT_H
1173 #include <sys/wait.h>
1176 [FILE:500:patches/patch-cmake_install__layout.cmake]
1177 --- cmake/install_layout.cmake.orig 2023-05-05 11:04:20 UTC
1178 +++ cmake/install_layout.cmake
1179 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1180 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1182 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1183 -SET(INSTALL_PAMDIR_STANDALONE "share")
1184 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1185 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1186 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1192 [FILE:1968:patches/patch-cmake_readline.cmake]
1193 --- cmake/readline.cmake.orig 2023-05-05 11:04:20 UTC
1194 +++ cmake/readline.cmake
1195 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1199 + SET(CURSES_NEED_NCURSES True)
1200 FIND_PACKAGE(Curses REQUIRED)
1201 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1202 IF(NOT CURSES_FOUND)
1203 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1204 remove CMakeCache.txt and rerun cmake.")
1205 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1206 - SET(ERRORMSG ${ERRORMSG}
1207 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivatives "
1208 - "it is ncurses-devel.")
1210 MESSAGE(FATAL_ERROR ${ERRORMSG})
1213 - IF(CURSES_HAVE_CURSES_H)
1214 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1216 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1217 - # CMake uses full path to library /lib/libcurses.sl
1218 - # On Itanium, it results into architecture mismatch+
1219 - # the library is for PA-RISC
1220 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1222 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1224 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1225 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1226 - # Lower-level libcurses calls are exposed by libtinfo
1227 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1228 - IF(NOT HAVE_TPUTS_IN_CURSES)
1229 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1230 - IF(HAVE_TPUTS_IN_TINFO)
1231 - SET(CURSES_LIBRARY tinfo)
1235 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1236 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1238 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1239 SET(CMAKE_REQUIRED_LIBRARIES)
1240 SET(CMAKE_REQUIRED_INCLUDES)
1242 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1243 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1244 + SET(CMAKE_REQUIRED_INCLUDES)
1249 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1250 --- extra/readline/CMakeLists.txt.orig 2023-05-05 11:04:20 UTC
1251 +++ extra/readline/CMakeLists.txt
1252 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1254 # Declare dependency
1255 # so every executable that links with readline links with curses as well
1256 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1257 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1260 [FILE:1605:patches/patch-mysys_my__default.c]
1261 --- mysys/my_default.c.orig 2023-05-05 11:04:35 UTC
1262 +++ mysys/my_default.c
1263 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1266 if (!my_stat(name,&stat_info,MYF(0)))
1270 Ignore world-writable regular files.
1271 This is mainly done to protect us to not read a file created by
1272 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1273 add_option(ctx, name))
1276 + if (strstr(name, "/etc") == name)
1279 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1284 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1287 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1288 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1290 strxmov(end, conf_file, *ext, " ", NullS);
1291 - fputs(name, stdout);
1292 + if (strstr(name, "/etc") != name)
1293 + fputs(name, stdout);
1297 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1301 -#if defined(DEFAULT_SYSCONFDIR)
1302 - if (DEFAULT_SYSCONFDIR[0])
1303 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1305 errors += add_directory(alloc, "/etc/", dirs);
1306 errors += add_directory(alloc, "/etc/mysql/", dirs);
1307 -#endif /* DEFAULT_SYSCONFDIR */
1308 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1309 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1315 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1316 --- storage/oqgraph/oqgraph_judy.cc.orig 2023-05-05 11:04:43 UTC
1317 +++ storage/oqgraph/oqgraph_judy.cc
1320 Currently the only active code that can return error is:
1321 judy_bitset::reset()/J1U()
1322 - judy_bitset::setbit()/J1S()
1323 + judy_bitset::jsetbit()/J1S()
1325 In most cases errors are either about wrong parameters passed to Judy
1326 functions or internal structures corruption. These definitely deserve
1327 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1331 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1332 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1336 --- storage/oqgraph/oqgraph_judy.h.orig 2023-05-05 11:04:43 UTC
1337 +++ storage/oqgraph/oqgraph_judy.h
1338 @@ -63,7 +63,7 @@ namespace open_query
1343 + return jsetbit(n);
1346 judy_bitset& set(const judy_bitset& src);
1347 @@ -115,7 +115,7 @@ namespace open_query
1349 mutable void* array;
1351 - judy_bitset& setbit(size_type n);
1352 + judy_bitset& jsetbit(size_type n);
1358 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1359 --- scripts/CMakeLists.txt.orig 2023-05-05 11:04:35 UTC
1360 +++ scripts/CMakeLists.txt
1361 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1365 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1366 - SET (PERL_PATH "/usr/local/bin/perl")
1368 - SET (PERL_PATH "/usr/bin/perl")
1370 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1373 # FIND_PROC and CHECK_PID are used by mysqld_safe
1376 [FILE:403:patches/patch-scripts_mysql__config.sh]
1377 --- scripts/mysql_config.sh.orig 2023-05-05 11:04:35 UTC
1378 +++ scripts/mysql_config.sh
1379 @@ -87,7 +87,9 @@ fi
1382 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1383 +libs="$libs -L%%LOCALBASE%%/lib "
1384 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1385 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1387 include="-I$pkgincludedir"
1388 if [ "$basedir" != "/usr" ]; then
1391 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1392 --- scripts/mysqld_safe.sh.orig 2023-05-05 11:04:35 UTC
1393 +++ scripts/mysqld_safe.sh
1394 @@ -560,11 +560,11 @@ fi
1396 if test -z "$MYSQL_HOME"
1398 - if test -r "$DATADIR/my.cnf"
1399 + if test -r "$DATADIR/etc/my.cnf"
1401 log_error "WARNING: Found $DATADIR/my.cnf
1402 The data directory is not a valid location for my.cnf, please move it to
1403 -$MY_BASEDIR_VERSION/my.cnf"
1404 +$MY_BASEDIR_VERSION/etc/my.cnf"
1406 MYSQL_HOME=$MY_BASEDIR_VERSION
1410 [FILE:489:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1411 --- scripts/wsrep_sst_mariabackup.sh.orig 2023-05-05 11:04:35 UTC
1412 +++ scripts/wsrep_sst_mariabackup.sh
1413 @@ -798,7 +798,7 @@ recv_joiner()
1415 if [ $tmt -gt 0 ]; then
1416 if [ -n "$(commandex timeout)" ]; then
1417 - if timeout --help | grep -qw -F -- '-k'; then
1418 + if timeout --help 2>&1 | grep -qw -F -- '-k'; then
1419 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1421 ltcmd="timeout -s9 $tmt $tcmd"
1424 [FILE:250:patches/patch-sql_mysqld.cc]
1425 --- sql/mysqld.cc.orig 2023-05-05 11:04:36 UTC
1427 @@ -4615,8 +4615,9 @@ static void init_ssl()
1428 sql_print_warning("SSL error: %s",buf);
1433 ERR_remove_state(0);
1440 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1441 --- storage/innobase/lz4.cmake.orig 2023-05-05 11:04:40 UTC
1442 +++ storage/innobase/lz4.cmake
1443 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1445 MACRO (MYSQL_CHECK_LZ4)
1446 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1447 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1448 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1449 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1450 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1451 + find_library(LZ4_LIBRARY NAMES lz4)
1453 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1454 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1455 + IF (LZ4_INCLUDE_DIR)
1456 + SET(HAVE_LZ4_H YES)
1458 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1459 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1461 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1462 SET(HAVE_INNODB_LZ4 TRUE)
1463 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1464 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1465 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1467 - LINK_LIBRARIES(lz4)
1468 + LINK_LIBRARIES(${LZ4_LIBRARY})
1470 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1471 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1476 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1480 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1481 --- storage/innobase/lzo.cmake.orig 2023-05-05 11:04:40 UTC
1482 +++ storage/innobase/lzo.cmake
1483 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1485 MACRO (MYSQL_CHECK_LZO)
1486 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1487 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1488 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1490 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1491 + find_library(LZO_LIBRARY NAMES lzo2)
1492 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1496 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1497 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1498 SET(HAVE_INNODB_LZO TRUE)
1499 ADD_DEFINITIONS(-DHAVE_LZO=1)
1500 - LINK_LIBRARIES(lzo2)
1501 + LINK_LIBRARIES(${LZO_LIBRARY})
1503 IF (WITH_INNODB_LZO STREQUAL "ON")
1504 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1507 [FILE:270:patches/patch-storage_perfschema_pfs__global.cc]
1508 --- storage/perfschema/pfs_global.cc.orig 2023-05-05 11:04:43 UTC
1509 +++ storage/perfschema/pfs_global.cc
1511 #ifdef HAVE_NETINET_IN_H
1512 #include <netinet/in.h>
1514 +#ifdef __MidnightBSD__
1515 +#include <malloc_np.h>
1518 bool pfs_initialized= false;
1522 [FILE:486:patches/patch-storage_rocksdb_build__rocksdb.cmake]
1523 --- storage/rocksdb/build_rocksdb.cmake.orig 2023-05-05 11:04:43 UTC
1524 +++ storage/rocksdb/build_rocksdb.cmake
1525 @@ -90,7 +90,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1526 add_definitions(-DOS_LINUX)
1527 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1528 add_definitions(-DOS_SOLARIS)
1529 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1530 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1531 add_definitions(-DOS_FREEBSD)
1532 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1533 add_definitions(-DOS_NETBSD)
1536 [FILE:2105:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1537 --- storage/rocksdb/ha_rocksdb.cc.orig 2023-05-05 11:04:43 UTC
1538 +++ storage/rocksdb/ha_rocksdb.cc
1539 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1540 Rdb_ddl_manager ddl_manager;
1541 Rdb_binlog_manager binlog_manager;
1543 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1544 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1545 Rdb_io_watchdog *io_watchdog = nullptr;
1548 @@ -850,7 +850,7 @@ static void rocksdb_set_io_write_timeout
1549 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1550 DBUG_ASSERT(save != nullptr);
1551 DBUG_ASSERT(rdb != nullptr);
1552 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1553 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1554 DBUG_ASSERT(io_watchdog != nullptr);
1557 @@ -859,7 +859,7 @@ static void rocksdb_set_io_write_timeout
1558 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1560 rocksdb_io_write_timeout_secs = new_val;
1561 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1562 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1563 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1565 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1566 @@ -5798,7 +5798,7 @@ static int rocksdb_init_func(void *const
1567 directories.push_back(myrocks::rocksdb_wal_dir);
1570 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1571 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1572 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1573 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1575 @@ -5905,7 +5905,7 @@ static int rocksdb_done_func(void *const
1576 delete commit_latency_stats;
1577 commit_latency_stats = nullptr;
1579 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1580 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1582 io_watchdog = nullptr;
1586 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1587 --- storage/rocksdb/rdb_buff.h.orig 2023-05-05 11:04:44 UTC
1588 +++ storage/rocksdb/rdb_buff.h
1590 #define be16toh(x) OSSwapBigToHostInt16(x)
1593 +#include "port/port_posix.h"
1595 /* MySQL header files */
1596 #include "./my_global.h"
1600 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1601 If timer_t is an integer type, setting it to nullptr fails.
1603 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2023-05-05 11:04:44 UTC
1604 +++ storage/rocksdb/rdb_io_watchdog.cc
1605 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1606 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1610 + m_io_check_watchdog_timer = 0;
1612 m_io_check_watchdog_timer = nullptr;
1615 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1619 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1620 If timer_t is an integer type, setting it to nullptr fails.
1622 --- storage/rocksdb/rdb_io_watchdog.h.orig 2023-05-05 11:04:44 UTC
1623 +++ storage/rocksdb/rdb_io_watchdog.h
1625 /* MyRocks header files */
1626 #include "./rdb_utils.h"
1629 +#define NULLTIMER 0
1631 +#define NULLTIMER nullptr
1636 // Rdb_io_watchdog does not support Windows ATM.
1637 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1638 ret = timer_delete(m_io_check_watchdog_timer);
1641 - m_io_check_watchdog_timer = nullptr;
1642 + m_io_check_watchdog_timer = NULLTIMER;
1646 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1647 ret = timer_delete(m_io_check_timer);
1650 - m_io_check_timer = nullptr;
1651 + m_io_check_timer = NULLTIMER;
1655 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1658 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1659 - : m_io_check_timer(nullptr),
1660 - m_io_check_watchdog_timer(nullptr),
1661 + : m_io_check_timer(NULLTIMER),
1662 + m_io_check_watchdog_timer(NULLTIMER),
1663 m_io_in_progress(false),
1664 m_dirs_to_check(std::move(directories)),
1668 [FILE:494:patches/patch-storage_rocksdb_rocksdb_CMakeLists.txt]
1669 --- storage/rocksdb/rocksdb/CMakeLists.txt.orig 2023-05-05 11:04:52 UTC
1670 +++ storage/rocksdb/rocksdb/CMakeLists.txt
1671 @@ -413,7 +413,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux"
1672 add_definitions(-DOS_LINUX)
1673 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
1674 add_definitions(-DOS_SOLARIS)
1675 -elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1676 +elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|MidnightBSD")
1677 add_definitions(-DOS_FREEBSD)
1678 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
1679 add_definitions(-DOS_NETBSD)
1682 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1683 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2023-05-05 11:04:52 UTC
1684 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1686 #include <jemalloc/jemalloc.h>
1690 +#define JEMALLOC_USABLE_SIZE_CONST const
1693 #ifndef JEMALLOC_CXX_THROW
1694 #define JEMALLOC_CXX_THROW
1698 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1699 --- storage/rocksdb/ut0counter.h.orig 2023-05-05 11:04:44 UTC
1700 +++ storage/rocksdb/ut0counter.h
1701 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1704 #define get_curr_thread_id() GetCurrentThreadId()
1705 +#elif defined __FreeBSD__
1706 +#include <pthread_np.h>
1707 +#define get_curr_thread_id() pthread_getthreadid_np()
1708 +#elif defined __DragonFly__
1709 +#include <sys/syscall.h>
1710 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1712 #define get_curr_thread_id() pthread_self()