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.7/source/
14 DISTFILE[1]= mariadb-10.6.7.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.7
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 75ee0f1f865a765fc461ab165419417a719e308faba784b2c97ecbe9e4b4b2c5 85882896 mariadb-10.6.7.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:5026:manifests/plist.client]
880 mariadb-convert-table-format
886 mariadb-setpermission
893 mysql_convert_table_format
925 include/mysql/mariadb/ma_io.h
944 mysql_clear_password.so
954 mariadb-convert-table-format.1.gz
956 mariadb-find-rows.1.gz
960 mariadb-setpermission.1.gz
966 mysql-stress-test.pl.1.gz
967 mysql-test-run.pl.1.gz
970 mysql_convert_table_format.1.gz
973 mysql_setpermission.1.gz
987 mariadb_connection.3.gz
988 mariadb_dyncol_check.3.gz
989 mariadb_dyncol_column_cmp_named.3.gz
990 mariadb_dyncol_column_count.3.gz
991 mariadb_dyncol_create_many_named.3.gz
992 mariadb_dyncol_create_many_num.3.gz
993 mariadb_dyncol_exists_named.3.gz
994 mariadb_dyncol_exists_num.3.gz
995 mariadb_dyncol_free.3.gz
996 mariadb_dyncol_list_named.3.gz
997 mariadb_dyncol_list_num.3.gz
998 mariadb_dyncol_unpack.3.gz
999 mariadb_dyncol_update_many_named.3.gz
1000 mariadb_dyncol_update_many_num.3.gz
1001 mariadb_get_infov.3.gz
1002 mariadb_reconnect.3.gz
1003 mariadb_rpl_close.3.gz
1004 mariadb_rpl_fetch.3.gz
1005 mariadb_rpl_get_optionsv.3.gz
1006 mariadb_rpl_open.3.gz
1007 mariadb_rpl_optionsv.3.gz
1008 mariadb_stmt_execute_direct.3.gz
1009 mariadb_stmt_fetch_fields.3.gz
1010 mysql_affected_rows.3.gz
1011 mysql_autocommit.3.gz
1012 mysql_change_user.3.gz
1015 mysql_data_seek.3.gz
1018 mysql_fetch_field.3.gz
1019 mysql_fetch_field_direct.3.gz
1020 mysql_fetch_fields.3.gz
1021 mysql_fetch_lengths.3.gz
1022 mysql_fetch_row.3.gz
1023 mysql_field_count.3.gz
1024 mysql_field_seek.3.gz
1025 mysql_field_tell.3.gz
1026 mysql_free_result.3.gz
1027 mysql_get_character_set_info.3.gz
1028 mysql_get_client_info.3.gz
1029 mysql_get_client_version.3.gz
1030 mysql_get_host_info.3.gz
1031 mysql_get_proto_info.3.gz
1032 mysql_get_server_info.3.gz
1033 mysql_get_server_version.3.gz
1034 mysql_get_socket.3.gz
1035 mysql_get_ssl_cipher.3.gz
1036 mysql_hex_string.3.gz
1040 mysql_more_results.3.gz
1041 mysql_next_result.3.gz
1042 mysql_num_fields.3.gz
1049 mysql_read_query_result.3.gz
1050 mysql_real_connect.3.gz
1051 mysql_real_escape_string.3.gz
1052 mysql_real_query.3.gz
1054 mysql_reset_connection.3.gz
1058 mysql_select_db.3.gz
1059 mysql_send_query.3.gz
1060 mysql_server_end.3.gz
1061 mysql_server_init.3.gz
1062 mysql_session_track_get_first.3.gz
1063 mysql_session_track_get_next.3.gz
1064 mysql_set_character_set.3.gz
1065 mysql_set_server_option.3.gz
1070 mysql_stmt_affected_rows.3.gz
1071 mysql_stmt_attr_get.3.gz
1072 mysql_stmt_attr_set.3.gz
1073 mysql_stmt_bind_param.3.gz
1074 mysql_stmt_bind_result.3.gz
1075 mysql_stmt_close.3.gz
1076 mysql_stmt_data_seek.3.gz
1077 mysql_stmt_errno.3.gz
1078 mysql_stmt_error.3.gz
1079 mysql_stmt_execute.3.gz
1080 mysql_stmt_fetch.3.gz
1081 mysql_stmt_fetch_column.3.gz
1082 mysql_stmt_field_count.3.gz
1083 mysql_stmt_free_result.3.gz
1084 mysql_stmt_init.3.gz
1085 mysql_stmt_insert_id.3.gz
1086 mysql_stmt_more_results.3.gz
1087 mysql_stmt_next_result.3.gz
1088 mysql_stmt_num_rows.3.gz
1089 mysql_stmt_param_count.3.gz
1090 mysql_stmt_param_metadata.3.gz
1091 mysql_stmt_prepare.3.gz
1092 mysql_stmt_reset.3.gz
1093 mysql_stmt_result_metadata.3.gz
1094 mysql_stmt_row_seek.3.gz
1095 mysql_stmt_row_tell.3.gz
1096 mysql_stmt_send_long_data.3.gz
1097 mysql_stmt_sqlstate.3.gz
1098 mysql_stmt_store_result.3.gz
1099 mysql_stmt_warning_count.3.gz
1100 mysql_store_result.3.gz
1101 mysql_thread_end.3.gz
1102 mysql_thread_id.3.gz
1103 mysql_thread_init.3.gz
1104 mysql_use_result.3.gz
1105 mysql_warning_count.3.gz
1108 [FILE:86:manifests/plist.docs]
1109 share/doc/%%PORTNAME%%/
1117 [FILE:572:patches/patch-client_mysql.cc]
1118 --- client/mysql.cc.orig 2022-02-10 20:17:07 UTC
1120 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1123 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1124 -#include <curses.h>
1126 +#include <ncurses/curses.h>
1127 +#include <ncurses/term.h>
1129 #if defined(HAVE_TERMIOS_H)
1130 #include <termios.h>
1131 @@ -82,7 +82,7 @@ extern "C" {
1133 #undef SYSV // hack to avoid syntax error
1136 +#include <ncurses/term.h>
1139 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1142 [FILE:500:patches/patch-cmake_install__layout.cmake]
1143 --- cmake/install_layout.cmake.orig 2022-02-10 20:17:07 UTC
1144 +++ cmake/install_layout.cmake
1145 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1146 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1148 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1149 -SET(INSTALL_PAMDIR_STANDALONE "share")
1150 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1151 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1152 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1158 [FILE:1966:patches/patch-cmake_readline.cmake]
1159 --- cmake/readline.cmake.orig 2022-02-10 20:17:07 UTC
1160 +++ cmake/readline.cmake
1161 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1165 + SET(CURSES_NEED_NCURSES True)
1166 FIND_PACKAGE(Curses REQUIRED)
1167 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1168 IF(NOT CURSES_FOUND)
1169 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1170 remove CMakeCache.txt and rerun cmake.")
1171 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1172 - SET(ERRORMSG ${ERRORMSG}
1173 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates "
1174 - "it is ncurses-devel.")
1176 MESSAGE(FATAL_ERROR ${ERRORMSG})
1179 - IF(CURSES_HAVE_CURSES_H)
1180 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1182 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1183 - # CMake uses full path to library /lib/libcurses.sl
1184 - # On Itanium, it results into architecture mismatch+
1185 - # the library is for PA-RISC
1186 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1188 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1190 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1191 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1192 - # Lower-level libcurses calls are exposed by libtinfo
1193 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1194 - IF(NOT HAVE_TPUTS_IN_CURSES)
1195 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1196 - IF(HAVE_TPUTS_IN_TINFO)
1197 - SET(CURSES_LIBRARY tinfo)
1201 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1202 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1204 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1205 SET(CMAKE_REQUIRED_LIBRARIES)
1206 SET(CMAKE_REQUIRED_INCLUDES)
1208 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1209 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1210 + SET(CMAKE_REQUIRED_INCLUDES)
1215 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1216 --- extra/readline/CMakeLists.txt.orig 2022-02-10 20:17:08 UTC
1217 +++ extra/readline/CMakeLists.txt
1218 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1220 # Declare dependency
1221 # so every executable that links with readline links with curses as well
1222 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1223 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1226 [FILE:1605:patches/patch-mysys_my__default.c]
1227 --- mysys/my_default.c.orig 2022-02-10 20:17:09 UTC
1228 +++ mysys/my_default.c
1229 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1232 if (!my_stat(name,&stat_info,MYF(0)))
1236 Ignore world-writable regular files.
1237 This is mainly done to protect us to not read a file created by
1238 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1239 add_option(ctx, name))
1242 + if (strstr(name, "/etc") == name)
1245 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1250 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1253 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1254 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1256 strxmov(end, conf_file, *ext, " ", NullS);
1257 - fputs(name, stdout);
1258 + if (strstr(name, "/etc") != name)
1259 + fputs(name, stdout);
1263 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1267 -#if defined(DEFAULT_SYSCONFDIR)
1268 - if (DEFAULT_SYSCONFDIR[0])
1269 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1271 errors += add_directory(alloc, "/etc/", dirs);
1272 errors += add_directory(alloc, "/etc/mysql/", dirs);
1273 -#endif /* DEFAULT_SYSCONFDIR */
1274 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1275 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1281 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1282 --- storage/oqgraph/oqgraph_judy.cc.orig 2022-02-10 20:17:09 UTC
1283 +++ storage/oqgraph/oqgraph_judy.cc
1286 Currently the only active code that can return error is:
1287 judy_bitset::reset()/J1U()
1288 - judy_bitset::setbit()/J1S()
1289 + judy_bitset::jsetbit()/J1S()
1291 In most cases errors are either about wrong parameters passed to Judy
1292 functions or internal structures corruption. These definitely deserve
1293 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1297 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1298 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1302 --- storage/oqgraph/oqgraph_judy.h.orig 2022-02-10 20:17:09 UTC
1303 +++ storage/oqgraph/oqgraph_judy.h
1304 @@ -63,7 +63,7 @@ namespace open_query
1309 + return jsetbit(n);
1312 judy_bitset& set(const judy_bitset& src);
1313 @@ -115,7 +115,7 @@ namespace open_query
1315 mutable void* array;
1317 - judy_bitset& setbit(size_type n);
1318 + judy_bitset& jsetbit(size_type n);
1324 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1325 --- scripts/CMakeLists.txt.orig 2022-02-10 20:17:09 UTC
1326 +++ scripts/CMakeLists.txt
1327 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1331 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1332 - SET (PERL_PATH "/usr/local/bin/perl")
1334 - SET (PERL_PATH "/usr/bin/perl")
1336 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1339 # FIND_PROC and CHECK_PID are used by mysqld_safe
1342 [FILE:403:patches/patch-scripts_mysql__config.sh]
1343 --- scripts/mysql_config.sh.orig 2022-02-10 20:17:09 UTC
1344 +++ scripts/mysql_config.sh
1345 @@ -87,7 +87,9 @@ fi
1348 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1349 +libs="$libs -L%%LOCALBASE%%/lib "
1350 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1351 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1353 include="-I$pkgincludedir"
1354 if [ "$basedir" != "/usr" ]; then
1357 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1358 --- scripts/mysqld_safe.sh.orig 2022-02-10 20:17:09 UTC
1359 +++ scripts/mysqld_safe.sh
1360 @@ -560,11 +560,11 @@ fi
1362 if test -z "$MYSQL_HOME"
1364 - if test -r "$DATADIR/my.cnf"
1365 + if test -r "$DATADIR/etc/my.cnf"
1367 log_error "WARNING: Found $DATADIR/my.cnf
1368 The data directory is not a valid location for my.cnf, please move it to
1369 -$MY_BASEDIR_VERSION/my.cnf"
1370 +$MY_BASEDIR_VERSION/etc/my.cnf"
1372 MYSQL_HOME=$MY_BASEDIR_VERSION
1376 [FILE:483:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1377 --- scripts/wsrep_sst_mariabackup.sh.orig 2022-02-10 20:17:09 UTC
1378 +++ scripts/wsrep_sst_mariabackup.sh
1379 @@ -715,7 +715,7 @@ recv_joiner()
1381 if [ $tmt -gt 0 ]; then
1382 if [ -n "$(commandex timeout)" ]; then
1383 - if timeout --help | grep -qw -- '-k'; then
1384 + if timeout --help 2>&1 | grep -qw -- '-k'; then
1385 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1387 ltcmd="timeout -s9 $tmt $tcmd"
1390 [FILE:250:patches/patch-sql_mysqld.cc]
1391 --- sql/mysqld.cc.orig 2022-02-10 20:17:09 UTC
1393 @@ -4567,8 +4567,9 @@ static void init_ssl()
1394 sql_print_warning("SSL error: %s",buf);
1399 ERR_remove_state(0);
1406 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1407 --- storage/innobase/lz4.cmake.orig 2022-02-10 20:17:09 UTC
1408 +++ storage/innobase/lz4.cmake
1409 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1411 MACRO (MYSQL_CHECK_LZ4)
1412 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1413 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1414 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1415 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1416 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1417 + find_library(LZ4_LIBRARY NAMES lz4)
1419 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1420 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1421 + IF (LZ4_INCLUDE_DIR)
1422 + SET(HAVE_LZ4_H YES)
1424 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1425 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1427 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1428 SET(HAVE_INNODB_LZ4 TRUE)
1429 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1430 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1431 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1433 - LINK_LIBRARIES(lz4)
1434 + LINK_LIBRARIES(${LZ4_LIBRARY})
1436 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1437 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1442 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1446 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1447 --- storage/innobase/lzo.cmake.orig 2022-02-10 20:17:09 UTC
1448 +++ storage/innobase/lzo.cmake
1449 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1451 MACRO (MYSQL_CHECK_LZO)
1452 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1453 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1454 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1456 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1457 + find_library(LZO_LIBRARY NAMES lzo2)
1458 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1462 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1463 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1464 SET(HAVE_INNODB_LZO TRUE)
1465 ADD_DEFINITIONS(-DHAVE_LZO=1)
1466 - LINK_LIBRARIES(lzo2)
1467 + LINK_LIBRARIES(${LZO_LIBRARY})
1469 IF (WITH_INNODB_LZO STREQUAL "ON")
1470 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1473 [FILE:1855:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1474 --- storage/rocksdb/ha_rocksdb.cc.orig 2022-02-10 20:17:09 UTC
1475 +++ storage/rocksdb/ha_rocksdb.cc
1476 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1477 Rdb_ddl_manager ddl_manager;
1478 Rdb_binlog_manager binlog_manager;
1480 -#if !defined(_WIN32) && !defined(__APPLE__)
1481 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1482 Rdb_io_watchdog *io_watchdog = nullptr;
1485 @@ -850,7 +850,7 @@ static void rocksdb_set_io_write_timeout
1486 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1487 DBUG_ASSERT(save != nullptr);
1488 DBUG_ASSERT(rdb != nullptr);
1489 -#if !defined(_WIN32) && !defined(__APPLE__)
1490 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1491 DBUG_ASSERT(io_watchdog != nullptr);
1494 @@ -859,7 +859,7 @@ static void rocksdb_set_io_write_timeout
1495 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1497 rocksdb_io_write_timeout_secs = new_val;
1498 -#if !defined(_WIN32) && !defined(__APPLE__)
1499 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1500 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1502 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1503 @@ -5798,7 +5798,7 @@ static int rocksdb_init_func(void *const
1504 directories.push_back(myrocks::rocksdb_wal_dir);
1507 -#if !defined(_WIN32) && !defined(__APPLE__)
1508 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1509 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1510 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1512 @@ -5905,7 +5905,7 @@ static int rocksdb_done_func(void *const
1513 delete commit_latency_stats;
1514 commit_latency_stats = nullptr;
1516 -#if !defined(_WIN32) && !defined(__APPLE__)
1517 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__)
1519 io_watchdog = nullptr;
1523 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1524 --- storage/rocksdb/rdb_buff.h.orig 2022-02-10 20:17:09 UTC
1525 +++ storage/rocksdb/rdb_buff.h
1527 #define be16toh(x) OSSwapBigToHostInt16(x)
1530 +#include "port/port_posix.h"
1532 /* MySQL header files */
1533 #include "./my_global.h"
1537 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1538 If timer_t is an integer type, setting it to nullptr fails.
1540 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2022-02-10 20:17:09 UTC
1541 +++ storage/rocksdb/rdb_io_watchdog.cc
1542 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1543 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1547 + m_io_check_watchdog_timer = 0;
1549 m_io_check_watchdog_timer = nullptr;
1552 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1556 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1557 If timer_t is an integer type, setting it to nullptr fails.
1559 --- storage/rocksdb/rdb_io_watchdog.h.orig 2022-02-10 20:17:09 UTC
1560 +++ storage/rocksdb/rdb_io_watchdog.h
1562 /* MyRocks header files */
1563 #include "./rdb_utils.h"
1566 +#define NULLTIMER 0
1568 +#define NULLTIMER nullptr
1573 // Rdb_io_watchdog does not support Windows ATM.
1574 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1575 ret = timer_delete(m_io_check_watchdog_timer);
1578 - m_io_check_watchdog_timer = nullptr;
1579 + m_io_check_watchdog_timer = NULLTIMER;
1583 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1584 ret = timer_delete(m_io_check_timer);
1587 - m_io_check_timer = nullptr;
1588 + m_io_check_timer = NULLTIMER;
1592 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1595 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1596 - : m_io_check_timer(nullptr),
1597 - m_io_check_watchdog_timer(nullptr),
1598 + : m_io_check_timer(NULLTIMER),
1599 + m_io_check_watchdog_timer(NULLTIMER),
1600 m_io_in_progress(false),
1601 m_dirs_to_check(std::move(directories)),
1605 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1606 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2022-02-10 20:17:11 UTC
1607 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1609 #include <jemalloc/jemalloc.h>
1613 +#define JEMALLOC_USABLE_SIZE_CONST const
1616 #ifndef JEMALLOC_CXX_THROW
1617 #define JEMALLOC_CXX_THROW
1621 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1622 --- storage/rocksdb/ut0counter.h.orig 2022-02-10 20:17:09 UTC
1623 +++ storage/rocksdb/ut0counter.h
1624 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1627 #define get_curr_thread_id() GetCurrentThreadId()
1628 +#elif defined __FreeBSD__
1629 +#include <pthread_np.h>
1630 +#define get_curr_thread_id() pthread_getthreadid_np()
1631 +#elif defined __DragonFly__
1632 +#include <sys/syscall.h>
1633 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1635 #define get_curr_thread_id() pthread_self()