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.6.5/source/
14 DISTFILE[1]= mariadb-10.6.5.tar.gz:main
16 SPKGS[standard]= complete
21 OPTIONS_AVAILABLE= none
22 OPTIONS_STANDARD= none
24 BUILD_DEPENDS= bison:primary:standard
25 BUILDRUN_DEPENDS= boost-libraries:rest:python_used
26 snappy:single:standard
27 msgpack:single:standard
31 pcre2:primary:standard
32 BR_DEPS[netbsd]= openpam:single:standard
36 USERGROUP_SPKG= server
38 USES= cmake zlib ssl readline ncurses shebangfix cpe
39 python:build perl:build pkgconfig iconv:translit
40 zstd lz4 lzo bz2 execinfo
41 GNOME_COMPONENTS= libxml2
43 DISTNAME= mariadb-10.6.5
46 LICENSE_TERMS= server:{{WRKDIR}}/TERMS
47 LICENSE_FILE= GPLv2:{{WRKSRC}}/COPYING
48 LICENSE_AWK= TERMS:"^\#include"
49 LICENSE_SOURCE= TERMS:{{WRKSRC}}/libmysqld/libmysqld.c
54 FPC_EQUIVALENT= databases/mariadb104-server
55 SHEBANG_FILES= scripts/*.sh
57 INSTALL_REQ_TOOLCHAIN= yes
58 PLIST_SUB= PORTNAME=mariadb106
59 AUTHSOCKET={{AUTHSOCKET}}
60 PAM={{PAM:U"@comment "}}
62 CMAKE_ARGS= -DCOMPILATION_COMMENT="Ravenports"
63 -DINSTALL_INCLUDEDIR=include/mysql
64 -DINSTALL_PLUGINDIR=lib/mysql/plugin
65 -DINSTALL_SHAREDIR=share
66 -DINSTALL_SUPPORTFILESDIR=share/mysql
67 -DINSTALL_MYSQLSHAREDIR=share/mysql
68 -DINSTALL_DOCREADMEDIR=share/doc/mariadb106
69 -DINSTALL_DOCDIR=share/doc/mariadb106
70 -DINSTALL_LIBDIR=lib/mysql
71 -DINSTALL_MANDIR=share/man
72 -DINSTALL_SCRIPTDIR=bin
73 -DINSTALL_MYSQLTESTDIR=
74 -DINSTALL_SQLBENCHDIR=
75 -DDEFAULT_CHARSET=utf8mb4
76 -DDEFAULT_COLLATION=utf8mb4_unicode_ci
77 -DDEFAULT_SYSCONFDIR="{{PREFIX}}/etc"
78 -DENABLED_LOCAL_INFILE=ON
82 -DWITH_EMBEDDED_SERVER=ON
83 -DWITH_EXTRA_CHARSETS=complex
88 -DWITH_READLINE=system
89 -DWITH_SSL="{{OPENSSLBASE}}"
93 VAR_OPSYS[freebsd]= CXXFLAGS=-DHAVE_POSIX_MEMALIGN=1
94 VAR_OPSYS[netbsd]= MAKEFILE_LINE=AUTHSOCKET="@comment "
98 ${CP} ${WRKSRC}/cmake/os/FreeBSD.cmake \
99 ${WRKSRC}/cmake/os/DragonFly.cmake
102 ${RM} ${STAGEDIR}${STD_DOCDIR}/COPYING
103 ${MV} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig/mariadb.pc \
104 ${STAGEDIR}${PREFIX}/lib/pkgconfig/
105 ${RMDIR} ${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
106 # strip plugins and libraries
107 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadb.so
108 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/libmariadbd.so
109 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/*/*.so
111 @flist=$$(${FIND} ${STAGEDIR}${PREFIX}/bin -type f -perm /111 -print) ;\
112 for f in $$flist; do \
113 (${FILE} $$f | ${GREP} -Fq ", not stripped")\
114 && ${ECHO_CMD} "Auto-stripping $$f"\
115 && ${STRIP_CMD} $$f || ${TRUE} ;\
117 # if pam config file exists, set it as a sample
118 # remove testsuite files too
119 if [ -f "${STAGEDIR}${PREFIX}/etc/mariadb/user_map.conf" ]; then \
120 (cd ${STAGEDIR}${PREFIX}/etc/mariadb && \
121 ${MV} user_map.conf user_map.conf.sample) ;\
122 ${RM} -r ${STAGEDIR}/suite ;\
126 ${REINPLACE_CMD} 's|/usr/bin/env python|${PYTHON_CMD}|' \
127 ${WRKSRC}/CMakeLists.txt
128 ${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' \
129 ${WRKSRC}/mysys/my_default.c
130 ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
131 ${WRKSRC}/scripts/mysql_config.sh \
132 ${WRKSRC}/scripts/CMakeLists.txt
135 ${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
136 -e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
137 ${BUILD_WRKSRC}/libmariadb/mariadb_config/mariadb_config.c
138 # Fix build failure in mbstream, see https://jira.mariadb.org/browse/MDEV-14072
139 ${REINPLACE_CMD} -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
140 -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
141 -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
142 -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
143 ${BUILD_WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt
145 [FILE:807:descriptions/desc.server]
146 MariaDB Server is one of the most popular database servers in the world.
147 It's made by the original developers of MySQL and guaranteed to stay open
148 source. Notable users include Wikipedia, WordPress.com and Google.
150 MariaDB turns data into structured information in a wide array of
151 applications, ranging from banking to websites. It is an enhanced, drop-in
152 replacement for MySQL. MariaDB is used because it is fast, scalable and
153 robust, with a rich ecosystem of storage engines, plugins and many other
154 tools make it very versatile for a wide variety of use cases.
156 MariaDB is developed as open source software and as a relational database
157 it provides an SQL interface for accessing data. The latest versions of
158 MariaDB also include GIS and JSON features.
160 This package contains the server and related files.
163 [FILE:267:descriptions/desc.client]
164 MariaDB Server is one of the most popular database servers in the world.
165 It's made by the original developers of MySQL and guaranteed to stay open
166 source. Notable users include Wikipedia, WordPress.com and Google.
168 This package contains the client and related files.
172 e0be040428d9a42a8bb4bd221b567ff2522cd6fa8906386273da4f03c5c20a8f 85061860 mariadb-10.6.5.tar.gz
175 [FILE:11808:manifests/plist.server]
176 %%PAM%%@sample etc/mariadb/user_map.conf.sample
177 %%PAM%%lib/mysql/plugin/
180 %%PAM%%lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
181 %%PAM%%lib/mysql/security/pam_user_map.so
193 mariadb-client-test-embedded
198 mariadb-fix-extensions
201 mariadb-secure-installation
203 mariadb-test-embedded
204 mariadb-tzinfo-to-sql
219 mysql_client_test_embedded
225 mysql_secure_installation
242 wsrep_sst_mariabackup
246 include/mysql/server/
249 byte_order_generic_x86.h
250 byte_order_generic_x86_64.h
292 include/mysql/server/mysql/
303 plugin_password_validation.h
307 service_encryption_scheme.h
309 service_kill_statement.h
313 service_my_print_error.h
314 service_my_snprintf.h
315 service_progress_report.h
319 service_thd_autoinc.h
320 service_thd_error_context.h
323 service_thd_specifics.h
324 service_thd_timezone.h
328 include/mysql/server/mysql/psi/
347 include/mysql/server/private/
371 event_db_repository.h
388 handle_connections_win.h
463 mysqld_default_groups.h
476 pfs_memory_provider.h
477 pfs_metadata_provider.h
478 pfs_socket_provider.h
480 pfs_statement_provider.h
482 pfs_thread_provider.h
483 pfs_transaction_provider.h
486 probes_mysql_nodtrace.h
513 semisync_master_ack_receiver.h
557 sql_expression_cache.h
558 sql_get_diagnostics.h
575 sql_partition_admin.h
626 threadpool_winsockets.h
635 welcome_copyright_notice.h
642 wsrep_client_service.h
644 wsrep_condition_variable.h
645 wsrep_high_priority_service.h
651 wsrep_server_service.h
654 wsrep_storage_service.h
656 wsrep_trans_observer.h
662 include/mysql/server/private/atomic/
677 auth_gssapi_client.so
679 caching_sha2_password.so
680 debug_key_management.so
682 example_key_management.so
683 file_key_management.so
696 ha_test_sql_discovery.so
700 metadata_lock_info.so
706 query_response_time.so
708 simple_password_check.so
715 share/aclocal/mysql.m4
719 share/groonga-normalizer-mysql/
729 galera_new_cluster.1.gz
734 mariadb-client-test-embedded.1.gz
735 mariadb-client-test.1.gz
737 mariadb-dumpslow.1.gz
738 mariadb-embedded.1.gz
739 mariadb-fix-extensions.1.gz
740 mariadb-install-db.1.gz
742 mariadb-secure-installation.1.gz
743 mariadb-service-convert.1.gz
744 mariadb-test-embedded.1.gz
746 mariadb-tzinfo-to-sql.1.gz
751 mariadbd-safe-helper.1.gz
754 my_print_defaults.1.gz
759 myrocks_hotbackup.1.gz
761 mysql_client_test.1.gz
762 mysql_client_test_embedded.1.gz
764 mysql_fix_extensions.1.gz
765 mysql_install_db.1.gz
767 mysql_secure_installation.1.gz
768 mysql_tzinfo_to_sql.1.gz
772 mysqld_safe_helper.1.gz
775 mysqltest_embedded.1.gz
778 resolve_stack_dump.1.gz
780 wsrep_sst_common.1.gz
781 wsrep_sst_mariabackup.1.gz
782 wsrep_sst_mysqldump.1.gz
784 wsrep_sst_rsync_wan.1.gz
794 maria_add_gis_sp_bootstrap.sql
797 mysql_performance_tables.sql
799 mysql_system_tables.sql
800 mysql_system_tables_data.sql
801 mysql_test_data_timezone.sql
806 share/mysql/charsets/
833 share/mysql/czech/errmsg.sys
834 share/mysql/danish/errmsg.sys
835 share/mysql/dutch/errmsg.sys
836 share/mysql/english/errmsg.sys
837 share/mysql/estonian/errmsg.sys
838 share/mysql/french/errmsg.sys
839 share/mysql/german/errmsg.sys
840 share/mysql/greek/errmsg.sys
841 share/mysql/hindi/errmsg.sys
842 share/mysql/hungarian/errmsg.sys
843 share/mysql/italian/errmsg.sys
844 share/mysql/japanese/errmsg.sys
845 share/mysql/korean/errmsg.sys
851 share/mysql/norwegian/errmsg.sys
852 share/mysql/norwegian-ny/errmsg.sys
853 share/mysql/policy/apparmor/
856 usr.sbin.mysqld.local
857 share/mysql/policy/selinux/
862 share/mysql/polish/errmsg.sys
863 share/mysql/portuguese/errmsg.sys
864 share/mysql/romanian/errmsg.sys
865 share/mysql/russian/errmsg.sys
866 share/mysql/serbian/errmsg.sys
867 share/mysql/slovak/errmsg.sys
868 share/mysql/spanish/errmsg.sys
869 share/mysql/swedish/errmsg.sys
870 share/mysql/ukrainian/errmsg.sys
873 [FILE:5012:manifests/plist.client]
880 mariadb-convert-table-format
886 mariadb-setpermission
893 mysql_convert_table_format
925 include/mysql/mariadb/ma_io.h
943 mysql_clear_password.so
953 mariadb-convert-table-format.1.gz
955 mariadb-find-rows.1.gz
959 mariadb-setpermission.1.gz
965 mysql-stress-test.pl.1.gz
966 mysql-test-run.pl.1.gz
969 mysql_convert_table_format.1.gz
972 mysql_setpermission.1.gz
986 mariadb_connection.3.gz
987 mariadb_dyncol_check.3.gz
988 mariadb_dyncol_column_cmp_named.3.gz
989 mariadb_dyncol_column_count.3.gz
990 mariadb_dyncol_create_many_named.3.gz
991 mariadb_dyncol_create_many_num.3.gz
992 mariadb_dyncol_exists_named.3.gz
993 mariadb_dyncol_exists_num.3.gz
994 mariadb_dyncol_free.3.gz
995 mariadb_dyncol_list_named.3.gz
996 mariadb_dyncol_list_num.3.gz
997 mariadb_dyncol_unpack.3.gz
998 mariadb_dyncol_update_many_named.3.gz
999 mariadb_dyncol_update_many_num.3.gz
1000 mariadb_get_infov.3.gz
1001 mariadb_reconnect.3.gz
1002 mariadb_rpl_close.3.gz
1003 mariadb_rpl_fetch.3.gz
1004 mariadb_rpl_get_optionsv.3.gz
1005 mariadb_rpl_open.3.gz
1006 mariadb_rpl_optionsv.3.gz
1007 mariadb_stmt_execute_direct.3.gz
1008 mariadb_stmt_fetch_fields.3.gz
1009 mysql_affected_rows.3.gz
1010 mysql_autocommit.3.gz
1011 mysql_change_user.3.gz
1014 mysql_data_seek.3.gz
1017 mysql_fetch_field.3.gz
1018 mysql_fetch_field_direct.3.gz
1019 mysql_fetch_fields.3.gz
1020 mysql_fetch_lengths.3.gz
1021 mysql_fetch_row.3.gz
1022 mysql_field_count.3.gz
1023 mysql_field_seek.3.gz
1024 mysql_field_tell.3.gz
1025 mysql_free_result.3.gz
1026 mysql_get_character_set_info.3.gz
1027 mysql_get_client_info.3.gz
1028 mysql_get_client_version.3.gz
1029 mysql_get_host_info.3.gz
1030 mysql_get_proto_info.3.gz
1031 mysql_get_server_info.3.gz
1032 mysql_get_server_version.3.gz
1033 mysql_get_socket.3.gz
1034 mysql_get_ssl_cipher.3.gz
1035 mysql_hex_string.3.gz
1039 mysql_more_results.3.gz
1040 mysql_next_result.3.gz
1041 mysql_num_fields.3.gz
1048 mysql_read_query_result.3.gz
1049 mysql_real_connect.3.gz
1050 mysql_real_escape_string.3.gz
1051 mysql_real_query.3.gz
1053 mysql_reset_connection.3.gz
1057 mysql_select_db.3.gz
1058 mysql_send_query.3.gz
1059 mysql_server_end.3.gz
1060 mysql_server_init.3.gz
1061 mysql_session_track_get_first.3.gz
1062 mysql_session_track_get_next.3.gz
1063 mysql_set_character_set.3.gz
1064 mysql_set_server_option.3.gz
1069 mysql_stmt_affected_rows.3.gz
1070 mysql_stmt_attr_get.3.gz
1071 mysql_stmt_attr_set.3.gz
1072 mysql_stmt_bind_param.3.gz
1073 mysql_stmt_bind_result.3.gz
1074 mysql_stmt_close.3.gz
1075 mysql_stmt_data_seek.3.gz
1076 mysql_stmt_errno.3.gz
1077 mysql_stmt_error.3.gz
1078 mysql_stmt_execute.3.gz
1079 mysql_stmt_fetch.3.gz
1080 mysql_stmt_fetch_column.3.gz
1081 mysql_stmt_field_count.3.gz
1082 mysql_stmt_free_result.3.gz
1083 mysql_stmt_init.3.gz
1084 mysql_stmt_insert_id.3.gz
1085 mysql_stmt_more_results.3.gz
1086 mysql_stmt_next_result.3.gz
1087 mysql_stmt_num_rows.3.gz
1088 mysql_stmt_param_count.3.gz
1089 mysql_stmt_param_metadata.3.gz
1090 mysql_stmt_prepare.3.gz
1091 mysql_stmt_reset.3.gz
1092 mysql_stmt_result_metadata.3.gz
1093 mysql_stmt_row_seek.3.gz
1094 mysql_stmt_row_tell.3.gz
1095 mysql_stmt_send_long_data.3.gz
1096 mysql_stmt_sqlstate.3.gz
1097 mysql_stmt_store_result.3.gz
1098 mysql_stmt_warning_count.3.gz
1099 mysql_store_result.3.gz
1100 mysql_thread_end.3.gz
1101 mysql_thread_id.3.gz
1102 mysql_thread_init.3.gz
1103 mysql_use_result.3.gz
1104 mysql_warning_count.3.gz
1107 [FILE:86:manifests/plist.docs]
1108 share/doc/%%PORTNAME%%/
1116 [FILE:572:patches/patch-client_mysql.cc]
1117 --- client/mysql.cc.orig 2021-11-05 20:03:29 UTC
1119 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1122 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1123 -#include <curses.h>
1125 +#include <ncurses/curses.h>
1126 +#include <ncurses/term.h>
1128 #if defined(HAVE_TERMIOS_H)
1129 #include <termios.h>
1130 @@ -82,7 +82,7 @@ extern "C" {
1132 #undef SYSV // hack to avoid syntax error
1135 +#include <ncurses/term.h>
1138 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1141 [FILE:500:patches/patch-cmake_install__layout.cmake]
1142 --- cmake/install_layout.cmake.orig 2021-11-05 20:03:29 UTC
1143 +++ cmake/install_layout.cmake
1144 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1145 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1147 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1148 -SET(INSTALL_PAMDIR_STANDALONE "share")
1149 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1150 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1151 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1157 [FILE:1966:patches/patch-cmake_readline.cmake]
1158 --- cmake/readline.cmake.orig 2021-11-05 20:03:29 UTC
1159 +++ cmake/readline.cmake
1160 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1164 + SET(CURSES_NEED_NCURSES True)
1165 FIND_PACKAGE(Curses REQUIRED)
1166 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1167 IF(NOT CURSES_FOUND)
1168 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1169 remove CMakeCache.txt and rerun cmake.")
1170 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1171 - SET(ERRORMSG ${ERRORMSG}
1172 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates "
1173 - "it is ncurses-devel.")
1175 MESSAGE(FATAL_ERROR ${ERRORMSG})
1178 - IF(CURSES_HAVE_CURSES_H)
1179 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1181 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1182 - # CMake uses full path to library /lib/libcurses.sl
1183 - # On Itanium, it results into architecture mismatch+
1184 - # the library is for PA-RISC
1185 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1187 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1189 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1190 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1191 - # Lower-level libcurses calls are exposed by libtinfo
1192 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1193 - IF(NOT HAVE_TPUTS_IN_CURSES)
1194 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1195 - IF(HAVE_TPUTS_IN_TINFO)
1196 - SET(CURSES_LIBRARY tinfo)
1200 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1201 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1203 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1204 SET(CMAKE_REQUIRED_LIBRARIES)
1205 SET(CMAKE_REQUIRED_INCLUDES)
1207 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1208 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1209 + SET(CMAKE_REQUIRED_INCLUDES)
1214 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1215 --- extra/readline/CMakeLists.txt.orig 2021-11-05 20:03:29 UTC
1216 +++ extra/readline/CMakeLists.txt
1217 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1219 # Declare dependency
1220 # so every executable that links with readline links with curses as well
1221 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1222 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1225 [FILE:1605:patches/patch-mysys_my__default.c]
1226 --- mysys/my_default.c.orig 2021-11-05 20:03:30 UTC
1227 +++ mysys/my_default.c
1228 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1231 if (!my_stat(name,&stat_info,MYF(0)))
1235 Ignore world-writable regular files.
1236 This is mainly done to protect us to not read a file created by
1237 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1238 add_option(ctx, name))
1241 + if (strstr(name, "/etc") == name)
1244 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1249 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1252 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1253 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1255 strxmov(end, conf_file, *ext, " ", NullS);
1256 - fputs(name, stdout);
1257 + if (strstr(name, "/etc") != name)
1258 + fputs(name, stdout);
1262 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1266 -#if defined(DEFAULT_SYSCONFDIR)
1267 - if (DEFAULT_SYSCONFDIR[0])
1268 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1270 errors += add_directory(alloc, "/etc/", dirs);
1271 errors += add_directory(alloc, "/etc/mysql/", dirs);
1272 -#endif /* DEFAULT_SYSCONFDIR */
1273 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1274 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1280 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1281 --- storage/oqgraph/oqgraph_judy.cc.orig 2021-11-05 20:03:31 UTC
1282 +++ storage/oqgraph/oqgraph_judy.cc
1285 Currently the only active code that can return error is:
1286 judy_bitset::reset()/J1U()
1287 - judy_bitset::setbit()/J1S()
1288 + judy_bitset::jsetbit()/J1S()
1290 In most cases errors are either about wrong parameters passed to Judy
1291 functions or internal structures corruption. These definitely deserve
1292 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1296 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1297 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1301 --- storage/oqgraph/oqgraph_judy.h.orig 2021-11-05 20:03:31 UTC
1302 +++ storage/oqgraph/oqgraph_judy.h
1303 @@ -63,7 +63,7 @@ namespace open_query
1308 + return jsetbit(n);
1311 judy_bitset& set(const judy_bitset& src);
1312 @@ -115,7 +115,7 @@ namespace open_query
1314 mutable void* array;
1316 - judy_bitset& setbit(size_type n);
1317 + judy_bitset& jsetbit(size_type n);
1323 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1324 --- scripts/CMakeLists.txt.orig 2021-11-05 20:03:30 UTC
1325 +++ scripts/CMakeLists.txt
1326 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1330 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1331 - SET (PERL_PATH "/usr/local/bin/perl")
1333 - SET (PERL_PATH "/usr/bin/perl")
1335 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1338 # FIND_PROC and CHECK_PID are used by mysqld_safe
1341 [FILE:403:patches/patch-scripts_mysql__config.sh]
1342 --- scripts/mysql_config.sh.orig 2021-11-05 20:03:30 UTC
1343 +++ scripts/mysql_config.sh
1344 @@ -87,7 +87,9 @@ fi
1347 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1348 +libs="$libs -L%%LOCALBASE%%/lib "
1349 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1350 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1352 include="-I$pkgincludedir"
1353 if [ "$basedir" != "/usr" ]; then
1356 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1357 --- scripts/mysqld_safe.sh.orig 2021-11-05 20:03:30 UTC
1358 +++ scripts/mysqld_safe.sh
1359 @@ -558,11 +558,11 @@ fi
1361 if test -z "$MYSQL_HOME"
1363 - if test -r "$DATADIR/my.cnf"
1364 + if test -r "$DATADIR/etc/my.cnf"
1366 log_error "WARNING: Found $DATADIR/my.cnf
1367 The data directory is not a valid location for my.cnf, please move it to
1368 -$MY_BASEDIR_VERSION/my.cnf"
1369 +$MY_BASEDIR_VERSION/etc/my.cnf"
1371 MYSQL_HOME=$MY_BASEDIR_VERSION
1375 [FILE:484:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1376 --- scripts/wsrep_sst_mariabackup.sh.orig 2021-11-05 20:03:30 UTC
1377 +++ scripts/wsrep_sst_mariabackup.sh
1378 @@ -739,7 +739,7 @@ recv_joiner()
1380 if [ $tmt -gt 0 ]; then
1381 if [ -n "$(command -v timeout)" ]; then
1382 - if timeout --help | grep -qw -- '-k'; then
1383 + if timeout --help 2>&1 | grep -qw -- '-k'; then
1384 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1386 ltcmd="timeout -s9 $tmt $tcmd"
1389 [FILE:250:patches/patch-sql_mysqld.cc]
1390 --- sql/mysqld.cc.orig 2021-11-05 20:03:30 UTC
1392 @@ -4564,8 +4564,9 @@ static void init_ssl()
1393 sql_print_warning("SSL error: %s",buf);
1398 ERR_remove_state(0);
1405 [FILE:495:patches/patch-storage_innobase_include_buf0types.h]
1406 --- storage/innobase/include/buf0types.h.orig 2021-11-05 20:03:31 UTC
1407 +++ storage/innobase/include/buf0types.h
1408 @@ -191,10 +191,8 @@ public:
1409 /** Acquire an exclusive lock */
1413 /** @return whether an exclusive lock is being held by any thread */
1414 bool is_write_locked() const { return rw_lock::is_write_locked(); }
1417 /** @return whether any lock is being held by any thread */
1418 bool is_locked() const { return rw_lock::is_locked(); }
1421 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1422 --- storage/innobase/lz4.cmake.orig 2021-11-05 20:03:31 UTC
1423 +++ storage/innobase/lz4.cmake
1424 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1426 MACRO (MYSQL_CHECK_LZ4)
1427 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1428 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1429 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1430 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1431 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1432 + find_library(LZ4_LIBRARY NAMES lz4)
1434 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1435 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1436 + IF (LZ4_INCLUDE_DIR)
1437 + SET(HAVE_LZ4_H YES)
1439 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1440 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1442 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1443 SET(HAVE_INNODB_LZ4 TRUE)
1444 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1445 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1446 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1448 - LINK_LIBRARIES(lz4)
1449 + LINK_LIBRARIES(${LZ4_LIBRARY})
1451 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1452 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1457 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1461 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1462 --- storage/innobase/lzo.cmake.orig 2021-11-05 20:03:31 UTC
1463 +++ storage/innobase/lzo.cmake
1464 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1466 MACRO (MYSQL_CHECK_LZO)
1467 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1468 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1469 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1471 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1472 + find_library(LZO_LIBRARY NAMES lzo2)
1473 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1477 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1478 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1479 SET(HAVE_INNODB_LZO TRUE)
1480 ADD_DEFINITIONS(-DHAVE_LZO=1)
1481 - LINK_LIBRARIES(lzo2)
1482 + LINK_LIBRARIES(${LZO_LIBRARY})
1484 IF (WITH_INNODB_LZO STREQUAL "ON")
1485 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1488 [FILE:1855:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1489 --- storage/rocksdb/ha_rocksdb.cc.orig 2021-11-05 20:03:31 UTC
1490 +++ storage/rocksdb/ha_rocksdb.cc
1491 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1492 Rdb_ddl_manager ddl_manager;
1493 Rdb_binlog_manager binlog_manager;
1495 -#if !defined(_WIN32) && !defined(__APPLE__)
1496 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1497 Rdb_io_watchdog *io_watchdog = nullptr;
1500 @@ -848,7 +848,7 @@ static void rocksdb_set_io_write_timeout
1501 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1502 DBUG_ASSERT(save != nullptr);
1503 DBUG_ASSERT(rdb != nullptr);
1504 -#if !defined(_WIN32) && !defined(__APPLE__)
1505 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1506 DBUG_ASSERT(io_watchdog != nullptr);
1509 @@ -857,7 +857,7 @@ static void rocksdb_set_io_write_timeout
1510 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1512 rocksdb_io_write_timeout_secs = new_val;
1513 -#if !defined(_WIN32) && !defined(__APPLE__)
1514 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1515 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1517 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1518 @@ -5771,7 +5771,7 @@ static int rocksdb_init_func(void *const
1519 directories.push_back(myrocks::rocksdb_wal_dir);
1522 -#if !defined(_WIN32) && !defined(__APPLE__)
1523 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1524 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1525 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1527 @@ -5878,7 +5878,7 @@ static int rocksdb_done_func(void *const
1528 delete commit_latency_stats;
1529 commit_latency_stats = nullptr;
1531 -#if !defined(_WIN32) && !defined(__APPLE__)
1532 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1534 io_watchdog = nullptr;
1538 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1539 --- storage/rocksdb/rdb_buff.h.orig 2021-11-05 20:03:31 UTC
1540 +++ storage/rocksdb/rdb_buff.h
1542 #define be16toh(x) OSSwapBigToHostInt16(x)
1545 +#include "port/port_posix.h"
1547 /* MySQL header files */
1548 #include "./my_global.h"
1552 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1553 If timer_t is an integer type, setting it to nullptr fails.
1555 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2021-11-05 20:03:31 UTC
1556 +++ storage/rocksdb/rdb_io_watchdog.cc
1557 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1558 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1562 + m_io_check_watchdog_timer = 0;
1564 m_io_check_watchdog_timer = nullptr;
1567 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1571 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1572 If timer_t is an integer type, setting it to nullptr fails.
1574 --- storage/rocksdb/rdb_io_watchdog.h.orig 2021-11-05 20:03:31 UTC
1575 +++ storage/rocksdb/rdb_io_watchdog.h
1577 /* MyRocks header files */
1578 #include "./rdb_utils.h"
1581 +#define NULLTIMER 0
1583 +#define NULLTIMER nullptr
1588 // Rdb_io_watchdog does not support Windows ATM.
1589 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1590 ret = timer_delete(m_io_check_watchdog_timer);
1593 - m_io_check_watchdog_timer = nullptr;
1594 + m_io_check_watchdog_timer = NULLTIMER;
1598 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1599 ret = timer_delete(m_io_check_timer);
1602 - m_io_check_timer = nullptr;
1603 + m_io_check_timer = NULLTIMER;
1607 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1610 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1611 - : m_io_check_timer(nullptr),
1612 - m_io_check_watchdog_timer(nullptr),
1613 + : m_io_check_timer(NULLTIMER),
1614 + m_io_check_watchdog_timer(NULLTIMER),
1615 m_io_in_progress(false),
1616 m_dirs_to_check(std::move(directories)),
1620 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1621 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2021-11-05 20:03:33 UTC
1622 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1624 #include <jemalloc/jemalloc.h>
1628 +#define JEMALLOC_USABLE_SIZE_CONST const
1631 #ifndef JEMALLOC_CXX_THROW
1632 #define JEMALLOC_CXX_THROW
1636 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1637 --- storage/rocksdb/ut0counter.h.orig 2021-11-05 20:03:31 UTC
1638 +++ storage/rocksdb/ut0counter.h
1639 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1642 #define get_curr_thread_id() GetCurrentThreadId()
1643 +#elif defined __FreeBSD__
1644 +#include <pthread_np.h>
1645 +#define get_curr_thread_id() pthread_getthreadid_np()
1646 +#elif defined __DragonFly__
1647 +#include <sys/syscall.h>
1648 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1650 #define get_curr_thread_id() pthread_self()