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.12/source/
13 DISTFILE[1]= mariadb-10.6.12.tar.gz:main
15 SPKGS[standard]= complete
22 OPTIONS_AVAILABLE= none
23 OPTIONS_STANDARD= none
25 BUILD_DEPENDS= bison:primary:standard
28 BUILDRUN_DEPENDS= boost-libraries:single:standard
29 snappy:primary:standard
30 msgpack:primary:standard
33 BR_DEPS[netbsd]= openpam:single:standard
37 USERGROUP_SPKG= server
39 USES= cmake zlib readline ncurses pcre2 shebangfix cpe
40 python:build perl:build pkgconfig iconv:translit
41 curl zstd lz4 lzo bz2 execinfo ssl:openssl30
42 GNOME_COMPONENTS= libxml2
44 DISTNAME= mariadb-10.6.12
47 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
48 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
49 LICENSE_AWK= TERMS:"^\#include"
50 LICENSE_SOURCE= TERMS:{{WRKSRC}}/libmysqld/libmysqld.c
55 FPC_EQUIVALENT= databases/mariadb104-server
56 SHEBANG_FILES= scripts/*.sh
58 INSTALL_REQ_TOOLCHAIN= yes
59 PLIST_SUB= PORTNAME=mariadb106
60 AUTHSOCKET={{AUTHSOCKET}}
61 PAM={{PAM:U"@comment "}}
63 CMAKE_ARGS= -DCOMPILATION_COMMENT="Ravenports"
64 -DINSTALL_INCLUDEDIR=include/mysql
65 -DINSTALL_PLUGINDIR=lib/mysql/plugin
66 -DINSTALL_SHAREDIR=share
67 -DINSTALL_SUPPORTFILESDIR=share/mysql
68 -DINSTALL_MYSQLSHAREDIR=share/mysql
69 -DINSTALL_DOCREADMEDIR=share/doc/mariadb106
70 -DINSTALL_DOCDIR=share/doc/mariadb106
71 -DINSTALL_LIBDIR=lib/mysql
72 -DINSTALL_MANDIR=share/man
73 -DINSTALL_SCRIPTDIR=bin
74 -DINSTALL_MYSQLTESTDIR=
75 -DINSTALL_SQLBENCHDIR=
76 -DDEFAULT_CHARSET=utf8mb4
77 -DDEFAULT_COLLATION=utf8mb4_unicode_ci
78 -DDEFAULT_SYSCONFDIR="{{PREFIX}}/etc"
79 -DENABLED_LOCAL_INFILE=ON
83 -DWITH_EMBEDDED_SERVER=ON
84 -DWITH_EXTRA_CHARSETS=complex
89 -DWITH_READLINE=system
90 -DWITH_SSL="{{OPENSSLBASE}}"
94 VAR_OPSYS[freebsd]= CXXFLAGS=-DHAVE_POSIX_MEMALIGN=1
95 VAR_OPSYS[netbsd]= MAKEFILE_LINE=AUTHSOCKET="@comment "
99 ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
100 ${WRKSRC}/cmake/os/DragonFly.cmake
103 ${RM} ${STAGEDIR}${STD_DOCDIR}/COPYING
104 ${MV} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig/mariadb.pc \
105 ${STAGEDIR}${PREFIX}/lib/pkgconfig/
106 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
107 # strip plugins and libraries
108 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadb.so
109 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadbd.so
110 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/*/*.so
112 @flist=$$(${FIND} ${STAGEDIR}${PREFIX}/bin -type f -perm /111 -print) ;\
113 for f in $$flist; do \
114 (${FILE} $$f | ${GREP} -Fq ", not stripped")\
115 && ${ECHO_CMD} "Auto-stripping $$f"\
116 && ${STRIP_CMD} $$f || ${TRUE} ;\
118 # if pam config file exists, set it as a sample
119 # remove testsuite files too
120 if [ -f "${STAGEDIR}${PREFIX}/etc/mariadb/user_map.conf" ]; then \
121 (cd ${STAGEDIR}${PREFIX}/etc/mariadb && \
122 ${MV} user_map.conf user_map.conf.sample) ;\
123 ${RM} -r ${STAGEDIR}/suite ;\
127 ${REINPLACE_CMD} 's|/usr/bin/env python|${PYTHON_CMD}|' \
128 ${WRKSRC}/CMakeLists.txt
129 ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' \
130 ${WRKSRC}/mysys/my_default.c
131 ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
132 ${WRKSRC}/scripts/mysql_config.sh \
133 ${WRKSRC}/scripts/CMakeLists.txt
136 ${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
137 -e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
138 ${BUILD_WRKSRC}/libmariadb/mariadb_config/mariadb_config.c
139 # Fix build failure in mbstream, see https://jira.mariadb.org/browse/MDEV-14072
140 ${REINPLACE_CMD} -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
141 -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
142 -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
143 -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
144 ${BUILD_WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt
146 [FILE:807:descriptions/desc.server]
147 MariaDB Server is one of the most popular database servers in the world.
148 It's made by the original developers of MySQL and guaranteed to stay open
149 source. Notable users include Wikipedia, WordPress.com and Google.
151 MariaDB turns data into structured information in a wide array of
152 applications, ranging from banking to websites. It is an enhanced, drop-in
153 replacement for MySQL. MariaDB is used because it is fast, scalable and
154 robust, with a rich ecosystem of storage engines, plugins and many other
155 tools make it very versatile for a wide variety of use cases.
157 MariaDB is developed as open source software and as a relational database
158 it provides an SQL interface for accessing data. The latest versions of
159 MariaDB also include GIS and JSON features.
161 This package contains the server and related files.
164 [FILE:267:descriptions/desc.client]
165 MariaDB Server is one of the most popular database servers in the world.
166 It's made by the original developers of MySQL and guaranteed to stay open
167 source. Notable users include Wikipedia, WordPress.com and Google.
169 This package contains the client and related files.
173 3ed2eb7429c2fae5423ca55c661742d107e35246f1ab0c107096f0c4b839463a 95085449 mariadb-10.6.12.tar.gz
176 [FILE:3947:manifests/plist.server]
177 %%PAM%%@sample etc/mariadb/user_map.conf.sample
178 %%PAM%%lib/mysql/plugin/
181 %%PAM%%lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
182 %%PAM%%lib/mysql/security/pam_user_map.so
194 mariadb-client-test-embedded
199 mariadb-fix-extensions
202 mariadb-secure-installation
204 mariadb-test-embedded
205 mariadb-tzinfo-to-sql
220 mysql_client_test_embedded
226 mysql_secure_installation
244 wsrep_sst_mariabackup
256 auth_gssapi_client.so
258 caching_sha2_password.so
259 debug_key_management.so
262 example_key_management.so
263 file_key_management.so
276 ha_test_sql_discovery.so
280 metadata_lock_info.so
286 query_response_time.so
288 simple_password_check.so
299 share/groonga-normalizer-mysql/
308 maria_add_gis_sp_bootstrap.sql
311 mysql_performance_tables.sql
313 mysql_system_tables.sql
314 mysql_system_tables_data.sql
315 mysql_test_data_timezone.sql
320 share/mysql/bulgarian/errmsg.sys
321 share/mysql/charsets/
348 share/mysql/chinese/errmsg.sys
349 share/mysql/czech/errmsg.sys
350 share/mysql/danish/errmsg.sys
351 share/mysql/dutch/errmsg.sys
352 share/mysql/english/errmsg.sys
353 share/mysql/estonian/errmsg.sys
354 share/mysql/french/errmsg.sys
355 share/mysql/german/errmsg.sys
356 share/mysql/greek/errmsg.sys
357 share/mysql/hindi/errmsg.sys
358 share/mysql/hungarian/errmsg.sys
359 share/mysql/italian/errmsg.sys
360 share/mysql/japanese/errmsg.sys
361 share/mysql/korean/errmsg.sys
367 share/mysql/norwegian/errmsg.sys
368 share/mysql/norwegian-ny/errmsg.sys
369 share/mysql/policy/apparmor/
372 usr.sbin.mysqld.local
373 share/mysql/policy/selinux/
378 share/mysql/polish/errmsg.sys
379 share/mysql/portuguese/errmsg.sys
380 share/mysql/romanian/errmsg.sys
381 share/mysql/russian/errmsg.sys
382 share/mysql/serbian/errmsg.sys
383 share/mysql/slovak/errmsg.sys
384 share/mysql/spanish/errmsg.sys
385 share/mysql/swedish/errmsg.sys
386 share/mysql/ukrainian/errmsg.sys
389 [FILE:661:manifests/plist.client]
396 mariadb-convert-table-format
402 mariadb-setpermission
409 mysql_convert_table_format
431 mysql_clear_password.so
435 [FILE:7154:manifests/plist.dev]
454 include/mysql/mariadb/ma_io.h
459 include/mysql/server/
462 byte_order_generic_x86.h
463 byte_order_generic_x86_64.h
474 mariadb_capi_rename.h
506 include/mysql/server/mysql/
517 plugin_password_validation.h
521 service_encryption_scheme.h
523 service_kill_statement.h
527 service_my_print_error.h
528 service_my_snprintf.h
529 service_progress_report.h
533 service_thd_autoinc.h
534 service_thd_error_context.h
537 service_thd_specifics.h
538 service_thd_timezone.h
542 include/mysql/server/mysql/psi/
561 include/mysql/server/private/
586 event_db_repository.h
603 handle_connections_win.h
678 mysqld_default_groups.h
691 pfs_memory_provider.h
692 pfs_metadata_provider.h
693 pfs_socket_provider.h
695 pfs_statement_provider.h
697 pfs_thread_provider.h
698 pfs_transaction_provider.h
701 probes_mysql_nodtrace.h
728 semisync_master_ack_receiver.h
773 sql_expression_cache.h
774 sql_get_diagnostics.h
791 sql_partition_admin.h
819 sql_type_fixedbin_storage.h
844 threadpool_winsockets.h
853 welcome_copyright_notice.h
860 wsrep_client_service.h
862 wsrep_condition_variable.h
863 wsrep_high_priority_service.h
870 wsrep_server_service.h
873 wsrep_storage_service.h
875 wsrep_trans_observer.h
881 include/mysql/server/private/atomic/
898 share/aclocal/mysql.m4
901 [FILE:5277:manifests/plist.man]
909 galera_new_cluster.1.gz
918 mariadb-client-test-embedded.1.gz
919 mariadb-client-test.1.gz
921 mariadb-convert-table-format.1.gz
923 mariadb-dumpslow.1.gz
924 mariadb-embedded.1.gz
925 mariadb-find-rows.1.gz
926 mariadb-fix-extensions.1.gz
929 mariadb-install-db.1.gz
932 mariadb-secure-installation.1.gz
933 mariadb-service-convert.1.gz
934 mariadb-setpermission.1.gz
937 mariadb-test-embedded.1.gz
939 mariadb-tzinfo-to-sql.1.gz
945 mariadbd-safe-helper.1.gz
949 my_print_defaults.1.gz
955 myrocks_hotbackup.1.gz
956 mysql-stress-test.pl.1.gz
957 mysql-test-run.pl.1.gz
960 mysql_client_test.1.gz
961 mysql_client_test_embedded.1.gz
963 mysql_convert_table_format.1.gz
966 mysql_fix_extensions.1.gz
967 mysql_install_db.1.gz
970 mysql_secure_installation.1.gz
971 mysql_setpermission.1.gz
972 mysql_tzinfo_to_sql.1.gz
981 mysqld_safe_helper.1.gz
989 mysqltest_embedded.1.gz
993 resolve_stack_dump.1.gz
995 wsrep_sst_common.1.gz
996 wsrep_sst_mariabackup.1.gz
997 wsrep_sst_mysqldump.1.gz
999 wsrep_sst_rsync_wan.1.gz
1002 mariadb_connection.3.gz
1003 mariadb_dyncol_check.3.gz
1004 mariadb_dyncol_column_cmp_named.3.gz
1005 mariadb_dyncol_column_count.3.gz
1006 mariadb_dyncol_create_many_named.3.gz
1007 mariadb_dyncol_create_many_num.3.gz
1008 mariadb_dyncol_exists_named.3.gz
1009 mariadb_dyncol_exists_num.3.gz
1010 mariadb_dyncol_free.3.gz
1011 mariadb_dyncol_list_named.3.gz
1012 mariadb_dyncol_list_num.3.gz
1013 mariadb_dyncol_unpack.3.gz
1014 mariadb_dyncol_update_many_named.3.gz
1015 mariadb_dyncol_update_many_num.3.gz
1016 mariadb_get_infov.3.gz
1017 mariadb_reconnect.3.gz
1018 mariadb_rpl_close.3.gz
1019 mariadb_rpl_fetch.3.gz
1020 mariadb_rpl_get_optionsv.3.gz
1021 mariadb_rpl_open.3.gz
1022 mariadb_rpl_optionsv.3.gz
1023 mariadb_stmt_execute_direct.3.gz
1024 mariadb_stmt_fetch_fields.3.gz
1025 mysql_affected_rows.3.gz
1026 mysql_autocommit.3.gz
1027 mysql_change_user.3.gz
1030 mysql_data_seek.3.gz
1033 mysql_fetch_field.3.gz
1034 mysql_fetch_field_direct.3.gz
1035 mysql_fetch_fields.3.gz
1036 mysql_fetch_lengths.3.gz
1037 mysql_fetch_row.3.gz
1038 mysql_field_count.3.gz
1039 mysql_field_seek.3.gz
1040 mysql_field_tell.3.gz
1041 mysql_free_result.3.gz
1042 mysql_get_character_set_info.3.gz
1043 mysql_get_client_info.3.gz
1044 mysql_get_client_version.3.gz
1045 mysql_get_host_info.3.gz
1046 mysql_get_proto_info.3.gz
1047 mysql_get_server_info.3.gz
1048 mysql_get_server_version.3.gz
1049 mysql_get_socket.3.gz
1050 mysql_get_ssl_cipher.3.gz
1051 mysql_hex_string.3.gz
1055 mysql_more_results.3.gz
1056 mysql_next_result.3.gz
1057 mysql_num_fields.3.gz
1064 mysql_read_query_result.3.gz
1065 mysql_real_connect.3.gz
1066 mysql_real_escape_string.3.gz
1067 mysql_real_query.3.gz
1069 mysql_reset_connection.3.gz
1073 mysql_select_db.3.gz
1074 mysql_send_query.3.gz
1075 mysql_server_end.3.gz
1076 mysql_server_init.3.gz
1077 mysql_session_track_get_first.3.gz
1078 mysql_session_track_get_next.3.gz
1079 mysql_set_character_set.3.gz
1080 mysql_set_server_option.3.gz
1085 mysql_stmt_affected_rows.3.gz
1086 mysql_stmt_attr_get.3.gz
1087 mysql_stmt_attr_set.3.gz
1088 mysql_stmt_bind_param.3.gz
1089 mysql_stmt_bind_result.3.gz
1090 mysql_stmt_close.3.gz
1091 mysql_stmt_data_seek.3.gz
1092 mysql_stmt_errno.3.gz
1093 mysql_stmt_error.3.gz
1094 mysql_stmt_execute.3.gz
1095 mysql_stmt_fetch.3.gz
1096 mysql_stmt_fetch_column.3.gz
1097 mysql_stmt_field_count.3.gz
1098 mysql_stmt_free_result.3.gz
1099 mysql_stmt_init.3.gz
1100 mysql_stmt_insert_id.3.gz
1101 mysql_stmt_more_results.3.gz
1102 mysql_stmt_next_result.3.gz
1103 mysql_stmt_num_rows.3.gz
1104 mysql_stmt_param_count.3.gz
1105 mysql_stmt_param_metadata.3.gz
1106 mysql_stmt_prepare.3.gz
1107 mysql_stmt_reset.3.gz
1108 mysql_stmt_result_metadata.3.gz
1109 mysql_stmt_row_seek.3.gz
1110 mysql_stmt_row_tell.3.gz
1111 mysql_stmt_send_long_data.3.gz
1112 mysql_stmt_sqlstate.3.gz
1113 mysql_stmt_store_result.3.gz
1114 mysql_stmt_warning_count.3.gz
1115 mysql_store_result.3.gz
1116 mysql_thread_end.3.gz
1117 mysql_thread_id.3.gz
1118 mysql_thread_init.3.gz
1119 mysql_use_result.3.gz
1120 mysql_warning_count.3.gz
1126 [FILE:86:manifests/plist.docs]
1127 share/doc/%%PORTNAME%%/
1135 [FILE:572:patches/patch-client_mysql.cc]
1136 --- client/mysql.cc.orig 2023-02-01 15:03:28 UTC
1138 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1141 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1142 -#include <curses.h>
1144 +#include <ncurses/curses.h>
1145 +#include <ncurses/term.h>
1147 #if defined(HAVE_TERMIOS_H)
1148 #include <termios.h>
1149 @@ -82,7 +82,7 @@ extern "C" {
1151 #undef SYSV // hack to avoid syntax error
1154 +#include <ncurses/term.h>
1157 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1160 [FILE:312:patches/patch-client_mysqltest.cc]
1161 --- client/mysqltest.cc.orig 2023-02-01 15:03:28 UTC
1162 +++ client/mysqltest.cc
1165 #include <violite.h>
1166 #define PCRE2_STATIC 1 /* Important on Windows */
1168 #include "pcre2posix.h" /* pcreposix regex library */
1169 #ifdef HAVE_SYS_WAIT_H
1170 #include <sys/wait.h>
1173 [FILE:500:patches/patch-cmake_install__layout.cmake]
1174 --- cmake/install_layout.cmake.orig 2023-02-01 15:03:28 UTC
1175 +++ cmake/install_layout.cmake
1176 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1177 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1179 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1180 -SET(INSTALL_PAMDIR_STANDALONE "share")
1181 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1182 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1183 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1189 [FILE:1968:patches/patch-cmake_readline.cmake]
1190 --- cmake/readline.cmake.orig 2023-02-01 15:03:28 UTC
1191 +++ cmake/readline.cmake
1192 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1196 + SET(CURSES_NEED_NCURSES True)
1197 FIND_PACKAGE(Curses REQUIRED)
1198 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1199 IF(NOT CURSES_FOUND)
1200 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1201 remove CMakeCache.txt and rerun cmake.")
1202 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1203 - SET(ERRORMSG ${ERRORMSG}
1204 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivatives "
1205 - "it is ncurses-devel.")
1207 MESSAGE(FATAL_ERROR ${ERRORMSG})
1210 - IF(CURSES_HAVE_CURSES_H)
1211 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1213 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1214 - # CMake uses full path to library /lib/libcurses.sl
1215 - # On Itanium, it results into architecture mismatch+
1216 - # the library is for PA-RISC
1217 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1219 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1221 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1222 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1223 - # Lower-level libcurses calls are exposed by libtinfo
1224 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1225 - IF(NOT HAVE_TPUTS_IN_CURSES)
1226 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1227 - IF(HAVE_TPUTS_IN_TINFO)
1228 - SET(CURSES_LIBRARY tinfo)
1232 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1233 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1235 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1236 SET(CMAKE_REQUIRED_LIBRARIES)
1237 SET(CMAKE_REQUIRED_INCLUDES)
1239 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1240 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1241 + SET(CMAKE_REQUIRED_INCLUDES)
1246 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1247 --- extra/readline/CMakeLists.txt.orig 2023-02-01 15:03:28 UTC
1248 +++ extra/readline/CMakeLists.txt
1249 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1251 # Declare dependency
1252 # so every executable that links with readline links with curses as well
1253 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1254 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1257 [FILE:1605:patches/patch-mysys_my__default.c]
1258 --- mysys/my_default.c.orig 2023-02-01 15:03:30 UTC
1259 +++ mysys/my_default.c
1260 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1263 if (!my_stat(name,&stat_info,MYF(0)))
1267 Ignore world-writable regular files.
1268 This is mainly done to protect us to not read a file created by
1269 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1270 add_option(ctx, name))
1273 + if (strstr(name, "/etc") == name)
1276 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1281 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1284 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1285 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1287 strxmov(end, conf_file, *ext, " ", NullS);
1288 - fputs(name, stdout);
1289 + if (strstr(name, "/etc") != name)
1290 + fputs(name, stdout);
1294 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1298 -#if defined(DEFAULT_SYSCONFDIR)
1299 - if (DEFAULT_SYSCONFDIR[0])
1300 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1302 errors += add_directory(alloc, "/etc/", dirs);
1303 errors += add_directory(alloc, "/etc/mysql/", dirs);
1304 -#endif /* DEFAULT_SYSCONFDIR */
1305 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1306 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1312 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1313 --- storage/oqgraph/oqgraph_judy.cc.orig 2023-02-01 15:03:32 UTC
1314 +++ storage/oqgraph/oqgraph_judy.cc
1317 Currently the only active code that can return error is:
1318 judy_bitset::reset()/J1U()
1319 - judy_bitset::setbit()/J1S()
1320 + judy_bitset::jsetbit()/J1S()
1322 In most cases errors are either about wrong parameters passed to Judy
1323 functions or internal structures corruption. These definitely deserve
1324 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1328 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1329 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1333 --- storage/oqgraph/oqgraph_judy.h.orig 2023-02-01 15:03:32 UTC
1334 +++ storage/oqgraph/oqgraph_judy.h
1335 @@ -63,7 +63,7 @@ namespace open_query
1340 + return jsetbit(n);
1343 judy_bitset& set(const judy_bitset& src);
1344 @@ -115,7 +115,7 @@ namespace open_query
1346 mutable void* array;
1348 - judy_bitset& setbit(size_type n);
1349 + judy_bitset& jsetbit(size_type n);
1355 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1356 --- scripts/CMakeLists.txt.orig 2023-02-01 15:03:30 UTC
1357 +++ scripts/CMakeLists.txt
1358 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1362 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1363 - SET (PERL_PATH "/usr/local/bin/perl")
1365 - SET (PERL_PATH "/usr/bin/perl")
1367 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1370 # FIND_PROC and CHECK_PID are used by mysqld_safe
1373 [FILE:403:patches/patch-scripts_mysql__config.sh]
1374 --- scripts/mysql_config.sh.orig 2023-02-01 15:03:30 UTC
1375 +++ scripts/mysql_config.sh
1376 @@ -87,7 +87,9 @@ fi
1379 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1380 +libs="$libs -L%%LOCALBASE%%/lib "
1381 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1382 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1384 include="-I$pkgincludedir"
1385 if [ "$basedir" != "/usr" ]; then
1388 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1389 --- scripts/mysqld_safe.sh.orig 2023-02-01 15:03:30 UTC
1390 +++ scripts/mysqld_safe.sh
1391 @@ -560,11 +560,11 @@ fi
1393 if test -z "$MYSQL_HOME"
1395 - if test -r "$DATADIR/my.cnf"
1396 + if test -r "$DATADIR/etc/my.cnf"
1398 log_error "WARNING: Found $DATADIR/my.cnf
1399 The data directory is not a valid location for my.cnf, please move it to
1400 -$MY_BASEDIR_VERSION/my.cnf"
1401 +$MY_BASEDIR_VERSION/etc/my.cnf"
1403 MYSQL_HOME=$MY_BASEDIR_VERSION
1407 [FILE:489:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1408 --- scripts/wsrep_sst_mariabackup.sh.orig 2023-02-01 15:03:30 UTC
1409 +++ scripts/wsrep_sst_mariabackup.sh
1410 @@ -795,7 +795,7 @@ recv_joiner()
1412 if [ $tmt -gt 0 ]; then
1413 if [ -n "$(commandex timeout)" ]; then
1414 - if timeout --help | grep -qw -F -- '-k'; then
1415 + if timeout --help 2>&1 | grep -qw -F -- '-k'; then
1416 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1418 ltcmd="timeout -s9 $tmt $tcmd"
1421 [FILE:250:patches/patch-sql_mysqld.cc]
1422 --- sql/mysqld.cc.orig 2023-02-01 15:03:31 UTC
1424 @@ -4617,8 +4617,9 @@ static void init_ssl()
1425 sql_print_warning("SSL error: %s",buf);
1430 ERR_remove_state(0);
1437 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1438 --- storage/innobase/lz4.cmake.orig 2023-02-01 15:03:31 UTC
1439 +++ storage/innobase/lz4.cmake
1440 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1442 MACRO (MYSQL_CHECK_LZ4)
1443 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1444 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1445 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1446 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1447 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1448 + find_library(LZ4_LIBRARY NAMES lz4)
1450 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1451 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1452 + IF (LZ4_INCLUDE_DIR)
1453 + SET(HAVE_LZ4_H YES)
1455 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1456 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1458 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1459 SET(HAVE_INNODB_LZ4 TRUE)
1460 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1461 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1462 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1464 - LINK_LIBRARIES(lz4)
1465 + LINK_LIBRARIES(${LZ4_LIBRARY})
1467 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1468 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1473 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1477 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1478 --- storage/innobase/lzo.cmake.orig 2023-02-01 15:03:31 UTC
1479 +++ storage/innobase/lzo.cmake
1480 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1482 MACRO (MYSQL_CHECK_LZO)
1483 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1484 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1485 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1487 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1488 + find_library(LZO_LIBRARY NAMES lzo2)
1489 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1493 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1494 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1495 SET(HAVE_INNODB_LZO TRUE)
1496 ADD_DEFINITIONS(-DHAVE_LZO=1)
1497 - LINK_LIBRARIES(lzo2)
1498 + LINK_LIBRARIES(${LZO_LIBRARY})
1500 IF (WITH_INNODB_LZO STREQUAL "ON")
1501 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1504 [FILE:2105:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1505 --- storage/rocksdb/ha_rocksdb.cc.orig 2023-02-01 15:03:32 UTC
1506 +++ storage/rocksdb/ha_rocksdb.cc
1507 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1508 Rdb_ddl_manager ddl_manager;
1509 Rdb_binlog_manager binlog_manager;
1511 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1512 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1513 Rdb_io_watchdog *io_watchdog = nullptr;
1516 @@ -850,7 +850,7 @@ static void rocksdb_set_io_write_timeout
1517 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1518 DBUG_ASSERT(save != nullptr);
1519 DBUG_ASSERT(rdb != nullptr);
1520 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1521 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1522 DBUG_ASSERT(io_watchdog != nullptr);
1525 @@ -859,7 +859,7 @@ static void rocksdb_set_io_write_timeout
1526 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1528 rocksdb_io_write_timeout_secs = new_val;
1529 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1530 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1531 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1533 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1534 @@ -5798,7 +5798,7 @@ static int rocksdb_init_func(void *const
1535 directories.push_back(myrocks::rocksdb_wal_dir);
1538 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1539 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1540 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1541 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1543 @@ -5905,7 +5905,7 @@ static int rocksdb_done_func(void *const
1544 delete commit_latency_stats;
1545 commit_latency_stats = nullptr;
1547 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1548 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1550 io_watchdog = nullptr;
1554 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1555 --- storage/rocksdb/rdb_buff.h.orig 2023-02-01 15:03:32 UTC
1556 +++ storage/rocksdb/rdb_buff.h
1558 #define be16toh(x) OSSwapBigToHostInt16(x)
1561 +#include "port/port_posix.h"
1563 /* MySQL header files */
1564 #include "./my_global.h"
1568 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1569 If timer_t is an integer type, setting it to nullptr fails.
1571 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2023-02-01 15:03:32 UTC
1572 +++ storage/rocksdb/rdb_io_watchdog.cc
1573 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1574 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1578 + m_io_check_watchdog_timer = 0;
1580 m_io_check_watchdog_timer = nullptr;
1583 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1587 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1588 If timer_t is an integer type, setting it to nullptr fails.
1590 --- storage/rocksdb/rdb_io_watchdog.h.orig 2023-02-01 15:03:32 UTC
1591 +++ storage/rocksdb/rdb_io_watchdog.h
1593 /* MyRocks header files */
1594 #include "./rdb_utils.h"
1597 +#define NULLTIMER 0
1599 +#define NULLTIMER nullptr
1604 // Rdb_io_watchdog does not support Windows ATM.
1605 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1606 ret = timer_delete(m_io_check_watchdog_timer);
1609 - m_io_check_watchdog_timer = nullptr;
1610 + m_io_check_watchdog_timer = NULLTIMER;
1614 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1615 ret = timer_delete(m_io_check_timer);
1618 - m_io_check_timer = nullptr;
1619 + m_io_check_timer = NULLTIMER;
1623 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1626 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1627 - : m_io_check_timer(nullptr),
1628 - m_io_check_watchdog_timer(nullptr),
1629 + : m_io_check_timer(NULLTIMER),
1630 + m_io_check_watchdog_timer(NULLTIMER),
1631 m_io_in_progress(false),
1632 m_dirs_to_check(std::move(directories)),
1636 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1637 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2023-02-01 15:03:34 UTC
1638 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1640 #include <jemalloc/jemalloc.h>
1644 +#define JEMALLOC_USABLE_SIZE_CONST const
1647 #ifndef JEMALLOC_CXX_THROW
1648 #define JEMALLOC_CXX_THROW
1652 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1653 --- storage/rocksdb/ut0counter.h.orig 2023-02-01 15:03:32 UTC
1654 +++ storage/rocksdb/ut0counter.h
1655 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1658 #define get_curr_thread_id() GetCurrentThreadId()
1659 +#elif defined __FreeBSD__
1660 +#include <pthread_np.h>
1661 +#define get_curr_thread_id() pthread_getthreadid_np()
1662 +#elif defined __DragonFly__
1663 +#include <sys/syscall.h>
1664 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1666 #define get_curr_thread_id() pthread_self()