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.11/source/
14 DISTFILE[1]= mariadb-10.6.11.tar.gz:main
16 SPKGS[standard]= complete
21 OPTIONS_AVAILABLE= none
22 OPTIONS_STANDARD= none
24 BUILD_DEPENDS= bison:primary:standard
26 BUILDRUN_DEPENDS= boost-libraries:single:standard
27 snappy:single:standard
28 msgpack:single:standard
32 pcre2:primary:standard
33 BR_DEPS[netbsd]= openpam:single:standard
37 USERGROUP_SPKG= server
39 USES= cmake zlib readline ncurses shebangfix cpe
40 python:build perl:build pkgconfig iconv:translit
41 zstd lz4 lzo bz2 execinfo ssl:openssl30
42 GNOME_COMPONENTS= libxml2
44 DISTNAME= mariadb-10.6.11
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 5784ba4c5d8793badba58348576824d9849ec152e9cbee47a1765161d840c94a 94742041 mariadb-10.6.11.tar.gz
176 [FILE:12018: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
248 include/mysql/server/
251 byte_order_generic_x86.h
252 byte_order_generic_x86_64.h
294 include/mysql/server/mysql/
305 plugin_password_validation.h
309 service_encryption_scheme.h
311 service_kill_statement.h
315 service_my_print_error.h
316 service_my_snprintf.h
317 service_progress_report.h
321 service_thd_autoinc.h
322 service_thd_error_context.h
325 service_thd_specifics.h
326 service_thd_timezone.h
330 include/mysql/server/mysql/psi/
349 include/mysql/server/private/
374 event_db_repository.h
391 handle_connections_win.h
428 mariadb_capi_rename.h
467 mysqld_default_groups.h
480 pfs_memory_provider.h
481 pfs_metadata_provider.h
482 pfs_socket_provider.h
484 pfs_statement_provider.h
486 pfs_thread_provider.h
487 pfs_transaction_provider.h
490 probes_mysql_nodtrace.h
517 semisync_master_ack_receiver.h
562 sql_expression_cache.h
563 sql_get_diagnostics.h
580 sql_partition_admin.h
608 sql_type_fixedbin_storage.h
633 threadpool_winsockets.h
642 welcome_copyright_notice.h
649 wsrep_client_service.h
651 wsrep_condition_variable.h
652 wsrep_high_priority_service.h
659 wsrep_server_service.h
662 wsrep_storage_service.h
664 wsrep_trans_observer.h
670 include/mysql/server/private/atomic/
685 auth_gssapi_client.so
687 caching_sha2_password.so
688 debug_key_management.so
691 example_key_management.so
692 file_key_management.so
705 ha_test_sql_discovery.so
709 metadata_lock_info.so
715 query_response_time.so
717 simple_password_check.so
725 share/aclocal/mysql.m4
729 share/groonga-normalizer-mysql/
739 galera_new_cluster.1.gz
744 mariadb-client-test-embedded.1.gz
745 mariadb-client-test.1.gz
747 mariadb-dumpslow.1.gz
748 mariadb-embedded.1.gz
749 mariadb-fix-extensions.1.gz
750 mariadb-install-db.1.gz
752 mariadb-secure-installation.1.gz
753 mariadb-service-convert.1.gz
754 mariadb-test-embedded.1.gz
756 mariadb-tzinfo-to-sql.1.gz
761 mariadbd-safe-helper.1.gz
764 my_print_defaults.1.gz
769 myrocks_hotbackup.1.gz
771 mysql_client_test.1.gz
772 mysql_client_test_embedded.1.gz
774 mysql_fix_extensions.1.gz
775 mysql_install_db.1.gz
777 mysql_secure_installation.1.gz
778 mysql_tzinfo_to_sql.1.gz
782 mysqld_safe_helper.1.gz
785 mysqltest_embedded.1.gz
788 resolve_stack_dump.1.gz
790 wsrep_sst_common.1.gz
791 wsrep_sst_mariabackup.1.gz
792 wsrep_sst_mysqldump.1.gz
794 wsrep_sst_rsync_wan.1.gz
804 maria_add_gis_sp_bootstrap.sql
807 mysql_performance_tables.sql
809 mysql_system_tables.sql
810 mysql_system_tables_data.sql
811 mysql_test_data_timezone.sql
816 share/mysql/bulgarian/errmsg.sys
817 share/mysql/charsets/
844 share/mysql/chinese/errmsg.sys
845 share/mysql/czech/errmsg.sys
846 share/mysql/danish/errmsg.sys
847 share/mysql/dutch/errmsg.sys
848 share/mysql/english/errmsg.sys
849 share/mysql/estonian/errmsg.sys
850 share/mysql/french/errmsg.sys
851 share/mysql/german/errmsg.sys
852 share/mysql/greek/errmsg.sys
853 share/mysql/hindi/errmsg.sys
854 share/mysql/hungarian/errmsg.sys
855 share/mysql/italian/errmsg.sys
856 share/mysql/japanese/errmsg.sys
857 share/mysql/korean/errmsg.sys
863 share/mysql/norwegian/errmsg.sys
864 share/mysql/norwegian-ny/errmsg.sys
865 share/mysql/policy/apparmor/
868 usr.sbin.mysqld.local
869 share/mysql/policy/selinux/
874 share/mysql/polish/errmsg.sys
875 share/mysql/portuguese/errmsg.sys
876 share/mysql/romanian/errmsg.sys
877 share/mysql/russian/errmsg.sys
878 share/mysql/serbian/errmsg.sys
879 share/mysql/slovak/errmsg.sys
880 share/mysql/spanish/errmsg.sys
881 share/mysql/swedish/errmsg.sys
882 share/mysql/ukrainian/errmsg.sys
885 [FILE:5026:manifests/plist.client]
892 mariadb-convert-table-format
898 mariadb-setpermission
905 mysql_convert_table_format
937 include/mysql/mariadb/ma_io.h
956 mysql_clear_password.so
966 mariadb-convert-table-format.1.gz
968 mariadb-find-rows.1.gz
972 mariadb-setpermission.1.gz
978 mysql-stress-test.pl.1.gz
979 mysql-test-run.pl.1.gz
982 mysql_convert_table_format.1.gz
985 mysql_setpermission.1.gz
999 mariadb_connection.3.gz
1000 mariadb_dyncol_check.3.gz
1001 mariadb_dyncol_column_cmp_named.3.gz
1002 mariadb_dyncol_column_count.3.gz
1003 mariadb_dyncol_create_many_named.3.gz
1004 mariadb_dyncol_create_many_num.3.gz
1005 mariadb_dyncol_exists_named.3.gz
1006 mariadb_dyncol_exists_num.3.gz
1007 mariadb_dyncol_free.3.gz
1008 mariadb_dyncol_list_named.3.gz
1009 mariadb_dyncol_list_num.3.gz
1010 mariadb_dyncol_unpack.3.gz
1011 mariadb_dyncol_update_many_named.3.gz
1012 mariadb_dyncol_update_many_num.3.gz
1013 mariadb_get_infov.3.gz
1014 mariadb_reconnect.3.gz
1015 mariadb_rpl_close.3.gz
1016 mariadb_rpl_fetch.3.gz
1017 mariadb_rpl_get_optionsv.3.gz
1018 mariadb_rpl_open.3.gz
1019 mariadb_rpl_optionsv.3.gz
1020 mariadb_stmt_execute_direct.3.gz
1021 mariadb_stmt_fetch_fields.3.gz
1022 mysql_affected_rows.3.gz
1023 mysql_autocommit.3.gz
1024 mysql_change_user.3.gz
1027 mysql_data_seek.3.gz
1030 mysql_fetch_field.3.gz
1031 mysql_fetch_field_direct.3.gz
1032 mysql_fetch_fields.3.gz
1033 mysql_fetch_lengths.3.gz
1034 mysql_fetch_row.3.gz
1035 mysql_field_count.3.gz
1036 mysql_field_seek.3.gz
1037 mysql_field_tell.3.gz
1038 mysql_free_result.3.gz
1039 mysql_get_character_set_info.3.gz
1040 mysql_get_client_info.3.gz
1041 mysql_get_client_version.3.gz
1042 mysql_get_host_info.3.gz
1043 mysql_get_proto_info.3.gz
1044 mysql_get_server_info.3.gz
1045 mysql_get_server_version.3.gz
1046 mysql_get_socket.3.gz
1047 mysql_get_ssl_cipher.3.gz
1048 mysql_hex_string.3.gz
1052 mysql_more_results.3.gz
1053 mysql_next_result.3.gz
1054 mysql_num_fields.3.gz
1061 mysql_read_query_result.3.gz
1062 mysql_real_connect.3.gz
1063 mysql_real_escape_string.3.gz
1064 mysql_real_query.3.gz
1066 mysql_reset_connection.3.gz
1070 mysql_select_db.3.gz
1071 mysql_send_query.3.gz
1072 mysql_server_end.3.gz
1073 mysql_server_init.3.gz
1074 mysql_session_track_get_first.3.gz
1075 mysql_session_track_get_next.3.gz
1076 mysql_set_character_set.3.gz
1077 mysql_set_server_option.3.gz
1082 mysql_stmt_affected_rows.3.gz
1083 mysql_stmt_attr_get.3.gz
1084 mysql_stmt_attr_set.3.gz
1085 mysql_stmt_bind_param.3.gz
1086 mysql_stmt_bind_result.3.gz
1087 mysql_stmt_close.3.gz
1088 mysql_stmt_data_seek.3.gz
1089 mysql_stmt_errno.3.gz
1090 mysql_stmt_error.3.gz
1091 mysql_stmt_execute.3.gz
1092 mysql_stmt_fetch.3.gz
1093 mysql_stmt_fetch_column.3.gz
1094 mysql_stmt_field_count.3.gz
1095 mysql_stmt_free_result.3.gz
1096 mysql_stmt_init.3.gz
1097 mysql_stmt_insert_id.3.gz
1098 mysql_stmt_more_results.3.gz
1099 mysql_stmt_next_result.3.gz
1100 mysql_stmt_num_rows.3.gz
1101 mysql_stmt_param_count.3.gz
1102 mysql_stmt_param_metadata.3.gz
1103 mysql_stmt_prepare.3.gz
1104 mysql_stmt_reset.3.gz
1105 mysql_stmt_result_metadata.3.gz
1106 mysql_stmt_row_seek.3.gz
1107 mysql_stmt_row_tell.3.gz
1108 mysql_stmt_send_long_data.3.gz
1109 mysql_stmt_sqlstate.3.gz
1110 mysql_stmt_store_result.3.gz
1111 mysql_stmt_warning_count.3.gz
1112 mysql_store_result.3.gz
1113 mysql_thread_end.3.gz
1114 mysql_thread_id.3.gz
1115 mysql_thread_init.3.gz
1116 mysql_use_result.3.gz
1117 mysql_warning_count.3.gz
1120 [FILE:86:manifests/plist.docs]
1121 share/doc/%%PORTNAME%%/
1129 [FILE:572:patches/patch-client_mysql.cc]
1130 --- client/mysql.cc.orig 2022-11-03 10:07:23 UTC
1132 @@ -62,8 +62,8 @@ static char *server_version= NULL;
1135 #if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
1136 -#include <curses.h>
1138 +#include <ncurses/curses.h>
1139 +#include <ncurses/term.h>
1141 #if defined(HAVE_TERMIOS_H)
1142 #include <termios.h>
1143 @@ -82,7 +82,7 @@ extern "C" {
1145 #undef SYSV // hack to avoid syntax error
1148 +#include <ncurses/term.h>
1151 #endif /* defined(HAVE_CURSES_H) && defined(HAVE_TERM_H) */
1154 [FILE:312:patches/patch-client_mysqltest.cc]
1155 --- client/mysqltest.cc.orig 2022-11-03 10:44:27 UTC
1156 +++ client/mysqltest.cc
1159 #include <violite.h>
1160 #define PCRE2_STATIC 1 /* Important on Windows */
1162 #include "pcre2posix.h" /* pcreposix regex library */
1163 #ifdef HAVE_SYS_WAIT_H
1164 #include <sys/wait.h>
1167 [FILE:500:patches/patch-cmake_install__layout.cmake]
1168 --- cmake/install_layout.cmake.orig 2022-11-03 10:07:23 UTC
1169 +++ cmake/install_layout.cmake
1170 @@ -126,8 +126,8 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE
1171 SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
1173 SET(INSTALL_UNIX_ADDRDIR_STANDALONE "/tmp/mysql.sock")
1174 -SET(INSTALL_PAMDIR_STANDALONE "share")
1175 -SET(INSTALL_PAMDATADIR_STANDALONE "share")
1176 +SET(INSTALL_PAMDIR_STANDALONE "lib/mysql/security")
1177 +SET(INSTALL_PAMDATADIR_STANDALONE "etc/mariadb")
1183 [FILE:1968:patches/patch-cmake_readline.cmake]
1184 --- cmake/readline.cmake.orig 2022-11-03 10:07:23 UTC
1185 +++ cmake/readline.cmake
1186 @@ -52,40 +52,17 @@ MACRO (MYSQL_CHECK_MULTIBYTE)
1190 + SET(CURSES_NEED_NCURSES True)
1191 FIND_PACKAGE(Curses REQUIRED)
1192 MARK_AS_ADVANCED(CURSES_CURSES_H_PATH CURSES_FORM_LIBRARY CURSES_HAVE_CURSES_H)
1193 IF(NOT CURSES_FOUND)
1194 SET(ERRORMSG "Curses library not found. Please install appropriate package,
1195 remove CMakeCache.txt and rerun cmake.")
1196 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1197 - SET(ERRORMSG ${ERRORMSG}
1198 - "On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivatives "
1199 - "it is ncurses-devel.")
1201 MESSAGE(FATAL_ERROR ${ERRORMSG})
1204 - IF(CURSES_HAVE_CURSES_H)
1205 - SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1207 - IF(CMAKE_SYSTEM_NAME MATCHES "HP")
1208 - # CMake uses full path to library /lib/libcurses.sl
1209 - # On Itanium, it results into architecture mismatch+
1210 - # the library is for PA-RISC
1211 - SET(CURSES_LIBRARY "curses" CACHE INTERNAL "" FORCE)
1213 + SET(HAVE_CURSES_H 1 CACHE INTERNAL "")
1215 - IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
1216 - # -Wl,--as-needed breaks linking with -lcurses, e.g on Fedora
1217 - # Lower-level libcurses calls are exposed by libtinfo
1218 - CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} tputs "" HAVE_TPUTS_IN_CURSES)
1219 - IF(NOT HAVE_TPUTS_IN_CURSES)
1220 - CHECK_LIBRARY_EXISTS(tinfo tputs "" HAVE_TPUTS_IN_TINFO)
1221 - IF(HAVE_TPUTS_IN_TINFO)
1222 - SET(CURSES_LIBRARY tinfo)
1226 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} setupterm "" HAVE_SETUPTERM)
1227 CHECK_LIBRARY_EXISTS(${CURSES_LIBRARY} vidattr "" HAVE_VIDATTR)
1229 @@ -220,6 +197,8 @@ MACRO (MYSQL_CHECK_READLINE)
1230 SET(CMAKE_REQUIRED_LIBRARIES)
1231 SET(CMAKE_REQUIRED_INCLUDES)
1233 + SET(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIR}/ncurses)
1234 CHECK_INCLUDE_FILES ("curses.h;term.h" HAVE_TERM_H)
1235 + SET(CMAKE_REQUIRED_INCLUDES)
1240 [FILE:349:patches/patch-extra_readline_CMakeLists.txt]
1241 --- extra/readline/CMakeLists.txt.orig 2022-11-03 10:07:23 UTC
1242 +++ extra/readline/CMakeLists.txt
1243 @@ -56,4 +56,4 @@ ADD_LIBRARY(readline STATIC
1245 # Declare dependency
1246 # so every executable that links with readline links with curses as well
1247 -TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY})
1248 +TARGET_LINK_LIBRARIES(readline ${CURSES_LIBRARY} tinfo)
1251 [FILE:1605:patches/patch-mysys_my__default.c]
1252 --- mysys/my_default.c.orig 2022-11-03 10:07:24 UTC
1253 +++ mysys/my_default.c
1254 @@ -624,7 +624,7 @@ static int search_default_file_with_ext(
1257 if (!my_stat(name,&stat_info,MYF(0)))
1261 Ignore world-writable regular files.
1262 This is mainly done to protect us to not read a file created by
1263 @@ -647,6 +647,14 @@ static int search_default_file_with_ext(
1264 add_option(ctx, name))
1267 + if (strstr(name, "/etc") == name)
1270 + "error: Config file %s in invalid location, please move to or merge with %%PREFIX%%%s\n",
1275 while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
1278 @@ -914,7 +922,8 @@ void my_print_default_files(const char *
1279 if (name[0] == FN_HOMELIB) /* Add . to filenames in home */
1281 strxmov(end, conf_file, *ext, " ", NullS);
1282 - fputs(name, stdout);
1283 + if (strstr(name, "/etc") != name)
1284 + fputs(name, stdout);
1288 @@ -1041,13 +1050,10 @@ static const char **init_default_directo
1292 -#if defined(DEFAULT_SYSCONFDIR)
1293 - if (DEFAULT_SYSCONFDIR[0])
1294 - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
1296 errors += add_directory(alloc, "/etc/", dirs);
1297 errors += add_directory(alloc, "/etc/mysql/", dirs);
1298 -#endif /* DEFAULT_SYSCONFDIR */
1299 + errors += add_directory(alloc, "%%PREFIX%%/etc/", dirs);
1300 + errors += add_directory(alloc, "%%PREFIX%%/etc/mysql/", dirs);
1306 [FILE:1167:patches/patch-oqgraph-MDEV-15291]
1307 --- storage/oqgraph/oqgraph_judy.cc.orig 2022-11-03 10:07:24 UTC
1308 +++ storage/oqgraph/oqgraph_judy.cc
1311 Currently the only active code that can return error is:
1312 judy_bitset::reset()/J1U()
1313 - judy_bitset::setbit()/J1S()
1314 + judy_bitset::jsetbit()/J1S()
1316 In most cases errors are either about wrong parameters passed to Judy
1317 functions or internal structures corruption. These definitely deserve
1318 @@ -60,7 +60,7 @@ bool open_query::judy_bitset::test(size_
1322 -open_query::judy_bitset& open_query::judy_bitset::setbit(size_type n)
1323 +open_query::judy_bitset& open_query::judy_bitset::jsetbit(size_type n)
1327 --- storage/oqgraph/oqgraph_judy.h.orig 2022-11-03 10:07:24 UTC
1328 +++ storage/oqgraph/oqgraph_judy.h
1329 @@ -63,7 +63,7 @@ namespace open_query
1334 + return jsetbit(n);
1337 judy_bitset& set(const judy_bitset& src);
1338 @@ -115,7 +115,7 @@ namespace open_query
1340 mutable void* array;
1342 - judy_bitset& setbit(size_type n);
1343 + judy_bitset& jsetbit(size_type n);
1349 [FILE:413:patches/patch-scripts_CMakeLists.txt]
1350 --- scripts/CMakeLists.txt.orig 2022-11-03 10:07:24 UTC
1351 +++ scripts/CMakeLists.txt
1352 @@ -136,11 +136,7 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles|Ni
1356 -IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
1357 - SET (PERL_PATH "/usr/local/bin/perl")
1359 - SET (PERL_PATH "/usr/bin/perl")
1361 +SET (PERL_PATH "%%LOCALBASE%%/bin/perl")
1364 # FIND_PROC and CHECK_PID are used by mysqld_safe
1367 [FILE:403:patches/patch-scripts_mysql__config.sh]
1368 --- scripts/mysql_config.sh.orig 2022-11-03 10:07:24 UTC
1369 +++ scripts/mysql_config.sh
1370 @@ -87,7 +87,9 @@ fi
1373 libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
1374 +libs="$libs -L%%LOCALBASE%%/lib "
1375 embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
1376 +embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib "
1378 include="-I$pkgincludedir"
1379 if [ "$basedir" != "/usr" ]; then
1382 [FILE:445:patches/patch-scripts_mysqld__safe.sh]
1383 --- scripts/mysqld_safe.sh.orig 2022-11-03 10:07:24 UTC
1384 +++ scripts/mysqld_safe.sh
1385 @@ -560,11 +560,11 @@ fi
1387 if test -z "$MYSQL_HOME"
1389 - if test -r "$DATADIR/my.cnf"
1390 + if test -r "$DATADIR/etc/my.cnf"
1392 log_error "WARNING: Found $DATADIR/my.cnf
1393 The data directory is not a valid location for my.cnf, please move it to
1394 -$MY_BASEDIR_VERSION/my.cnf"
1395 +$MY_BASEDIR_VERSION/etc/my.cnf"
1397 MYSQL_HOME=$MY_BASEDIR_VERSION
1401 [FILE:489:patches/patch-scripts_wsrep__sst__mariabackup.sh]
1402 --- scripts/wsrep_sst_mariabackup.sh.orig 2022-11-03 10:07:24 UTC
1403 +++ scripts/wsrep_sst_mariabackup.sh
1404 @@ -793,7 +793,7 @@ recv_joiner()
1406 if [ $tmt -gt 0 ]; then
1407 if [ -n "$(commandex timeout)" ]; then
1408 - if timeout --help | grep -qw -F -- '-k'; then
1409 + if timeout --help 2>&1 | grep -qw -F -- '-k'; then
1410 ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd"
1412 ltcmd="timeout -s9 $tmt $tcmd"
1415 [FILE:250:patches/patch-sql_mysqld.cc]
1416 --- sql/mysqld.cc.orig 2022-11-03 10:07:24 UTC
1418 @@ -4630,8 +4630,9 @@ static void init_ssl()
1419 sql_print_warning("SSL error: %s",buf);
1424 ERR_remove_state(0);
1431 [FILE:1559:patches/patch-storage_innobase_lz4.cmake]
1432 --- storage/innobase/lz4.cmake.orig 2022-11-03 10:07:24 UTC
1433 +++ storage/innobase/lz4.cmake
1434 @@ -17,9 +17,16 @@ SET(WITH_INNODB_LZ4 AUTO CACHE STRING
1436 MACRO (MYSQL_CHECK_LZ4)
1437 IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO")
1438 - CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H)
1439 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB)
1440 - CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT)
1441 + find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
1442 + find_library(LZ4_LIBRARY NAMES lz4)
1444 + get_filename_component(LZ4_LIBDIR ${LZ4_LIBRARY} DIRECTORY)
1445 +#MESSAGE(STATUS "LZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} LZ4_LIBRARY=${LZ4_LIBRARY} LZ4_LIBDIR=${LZ4_LIBDIR}")
1446 + IF (LZ4_INCLUDE_DIR)
1447 + SET(HAVE_LZ4_H YES)
1449 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput ${LZ4_LIBDIR} HAVE_LZ4_SHARED_LIB)
1450 + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default ${LZ4_LIBDIR} HAVE_LZ4_COMPRESS_DEFAULT)
1452 IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H)
1453 SET(HAVE_INNODB_LZ4 TRUE)
1454 @@ -27,12 +34,13 @@ MACRO (MYSQL_CHECK_LZ4)
1455 IF (HAVE_LZ4_COMPRESS_DEFAULT)
1456 ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1)
1458 - LINK_LIBRARIES(lz4)
1459 + LINK_LIBRARIES(${LZ4_LIBRARY})
1461 IF (WITH_INNODB_LZ4 STREQUAL "ON")
1462 MESSAGE(FATAL_ERROR "Required lz4 library is not found")
1467 ADD_FEATURE_INFO(INNODB_LZ4 HAVE_INNODB_LZ4 "LZ4 compression in the InnoDB storage engine")
1471 [FILE:968:patches/patch-storage_innobase_lzo.cmake]
1472 --- storage/innobase/lzo.cmake.orig 2022-11-03 10:07:24 UTC
1473 +++ storage/innobase/lzo.cmake
1474 @@ -17,13 +17,17 @@ SET(WITH_INNODB_LZO AUTO CACHE STRING
1476 MACRO (MYSQL_CHECK_LZO)
1477 IF (WITH_INNODB_LZO STREQUAL "ON" OR WITH_INNODB_LZO STREQUAL "AUTO")
1478 - CHECK_INCLUDE_FILES(lzo/lzo1x.h HAVE_LZO_H)
1479 - CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress "" HAVE_LZO_SHARED_LIB)
1481 + find_path(LZO_INCLUDE NAMES lzo/lzo1x.h)
1482 + find_library(LZO_LIBRARY NAMES lzo2)
1483 + get_filename_component(LZO_LIBDIR ${LZO_LIBRARY} DIRECTORY)
1487 + CHECK_LIBRARY_EXISTS(lzo2 lzo1x_1_compress ${LZO_LIBDIR} HAVE_LZO_SHARED_LIB)
1488 IF(HAVE_LZO_SHARED_LIB AND HAVE_LZO_H)
1489 SET(HAVE_INNODB_LZO TRUE)
1490 ADD_DEFINITIONS(-DHAVE_LZO=1)
1491 - LINK_LIBRARIES(lzo2)
1492 + LINK_LIBRARIES(${LZO_LIBRARY})
1494 IF (WITH_INNODB_LZO STREQUAL "ON")
1495 MESSAGE(FATAL_ERROR "Required lzo library is not found")
1498 [FILE:2105:patches/patch-storage_rocksdb_ha__rocksdb.cc]
1499 --- storage/rocksdb/ha_rocksdb.cc.orig 2022-11-03 10:07:24 UTC
1500 +++ storage/rocksdb/ha_rocksdb.cc
1501 @@ -266,7 +266,7 @@ Rdb_cf_manager cf_manager;
1502 Rdb_ddl_manager ddl_manager;
1503 Rdb_binlog_manager binlog_manager;
1505 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1506 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1507 Rdb_io_watchdog *io_watchdog = nullptr;
1510 @@ -850,7 +850,7 @@ static void rocksdb_set_io_write_timeout
1511 void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) {
1512 DBUG_ASSERT(save != nullptr);
1513 DBUG_ASSERT(rdb != nullptr);
1514 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1515 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1516 DBUG_ASSERT(io_watchdog != nullptr);
1519 @@ -859,7 +859,7 @@ static void rocksdb_set_io_write_timeout
1520 const uint32_t new_val = *static_cast<const uint32_t *>(save);
1522 rocksdb_io_write_timeout_secs = new_val;
1523 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1524 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1525 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1527 RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
1528 @@ -5798,7 +5798,7 @@ static int rocksdb_init_func(void *const
1529 directories.push_back(myrocks::rocksdb_wal_dir);
1532 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1533 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1534 io_watchdog = new Rdb_io_watchdog(std::move(directories));
1535 io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
1537 @@ -5905,7 +5905,7 @@ static int rocksdb_done_func(void *const
1538 delete commit_latency_stats;
1539 commit_latency_stats = nullptr;
1541 -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1542 +#if defined(HAVE_TIMER_DELETE) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
1544 io_watchdog = nullptr;
1548 [FILE:249:patches/patch-storage_rocksdb_rdb__buff.h]
1549 --- storage/rocksdb/rdb_buff.h.orig 2022-11-03 10:07:25 UTC
1550 +++ storage/rocksdb/rdb_buff.h
1552 #define be16toh(x) OSSwapBigToHostInt16(x)
1555 +#include "port/port_posix.h"
1557 /* MySQL header files */
1558 #include "./my_global.h"
1562 [FILE:474:patches/patch-storage_rocksdb_rdb__io__watchdog.cc]
1563 If timer_t is an integer type, setting it to nullptr fails.
1565 --- storage/rocksdb/rdb_io_watchdog.cc.orig 2022-11-03 10:07:25 UTC
1566 +++ storage/rocksdb/rdb_io_watchdog.cc
1567 @@ -111,7 +111,11 @@ void Rdb_io_watchdog::io_check_callback(
1568 sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno);
1572 + m_io_check_watchdog_timer = 0;
1574 m_io_check_watchdog_timer = nullptr;
1577 RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex);
1581 [FILE:1227:patches/patch-storage_rocksdb_rdb__io__watchdog.h]
1582 If timer_t is an integer type, setting it to nullptr fails.
1584 --- storage/rocksdb/rdb_io_watchdog.h.orig 2022-11-03 10:07:25 UTC
1585 +++ storage/rocksdb/rdb_io_watchdog.h
1587 /* MyRocks header files */
1588 #include "./rdb_utils.h"
1591 +#define NULLTIMER 0
1593 +#define NULLTIMER nullptr
1598 // Rdb_io_watchdog does not support Windows ATM.
1599 @@ -60,7 +66,7 @@ class Rdb_io_watchdog {
1600 ret = timer_delete(m_io_check_watchdog_timer);
1603 - m_io_check_watchdog_timer = nullptr;
1604 + m_io_check_watchdog_timer = NULLTIMER;
1608 @@ -68,7 +74,7 @@ class Rdb_io_watchdog {
1609 ret = timer_delete(m_io_check_timer);
1612 - m_io_check_timer = nullptr;
1613 + m_io_check_timer = NULLTIMER;
1617 @@ -93,8 +99,8 @@ class Rdb_io_watchdog {
1620 explicit Rdb_io_watchdog(std::vector<std::string> &&directories)
1621 - : m_io_check_timer(nullptr),
1622 - m_io_check_watchdog_timer(nullptr),
1623 + : m_io_check_timer(NULLTIMER),
1624 + m_io_check_watchdog_timer(NULLTIMER),
1625 m_io_in_progress(false),
1626 m_dirs_to_check(std::move(directories)),
1630 [FILE:328:patches/patch-storage_rocksdb_rocksdb_port_jemalloc__helper.h]
1631 --- storage/rocksdb/rocksdb/port/jemalloc_helper.h.orig 2022-11-03 10:07:26 UTC
1632 +++ storage/rocksdb/rocksdb/port/jemalloc_helper.h
1634 #include <jemalloc/jemalloc.h>
1638 +#define JEMALLOC_USABLE_SIZE_CONST const
1641 #ifndef JEMALLOC_CXX_THROW
1642 #define JEMALLOC_CXX_THROW
1646 [FILE:492:patches/patch-storage_rocksdb_ut0counter.h]
1647 --- storage/rocksdb/ut0counter.h.orig 2022-11-03 10:07:25 UTC
1648 +++ storage/rocksdb/ut0counter.h
1649 @@ -30,6 +30,12 @@ Created 2012/04/12 by Sunny Bains
1652 #define get_curr_thread_id() GetCurrentThreadId()
1653 +#elif defined __FreeBSD__
1654 +#include <pthread_np.h>
1655 +#define get_curr_thread_id() pthread_getthreadid_np()
1656 +#elif defined __DragonFly__
1657 +#include <sys/syscall.h>
1658 +#define get_curr_thread_id() syscall(SYS_lwp_gettid)
1660 #define get_curr_thread_id() pthread_self()