diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile index c9b0f181711a..ea791e8ca54a 100644 --- a/databases/mysql80-client/Makefile +++ b/databases/mysql80-client/Makefile @@ -1,48 +1,54 @@ # Created by: "Mahdi Mokhtari " PORTNAME= mysql -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= 80-client COMMENT= Multithreaded SQL database (client) LICENSE+= LGPL21 MASTERDIR= ${.CURDIR}/../mysql80-server PKGMESSAGE= ${.CURDIR}/pkg-message PATCHDIR= ${MASTERDIR}/files PLIST= ${.CURDIR}/pkg-plist CONFLICTS_INSTALL= mysql8[1-9]-client-* \ mysql[0-79][0-9]-client-* \ mariadb[0-9][0-9]-client-* \ percona[0-9][0-9]-client-* -CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 +CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 -DWITH_AUTHENTICATION_FIDO=ON USE_LDCONFIG+= ${PREFIX}/lib/mysql MMAN1= comp_err.1 lz4_decompress.1 mysql.1 mysql_config.1 mysql_config_editor.1 \ mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlman.1 \ mysqlpump.1 mysqlshow.1 mysqlslap.1 perror.1 zlib_decompress.1 CLIENT_ONLY= yes OPTIONS_GROUP+= PLUGINS PLUGINS_DESC= Default Client Plugins -OPTIONS_GROUP_PLUGINS= SASLCLIENT +OPTIONS_GROUP_PLUGINS= SASLCLIENT FIDO SASLCLIENT_DESC= SASL client plugin module SASLCLIENT_CMAKE_BOOL= WITH_AUTHENTICATION_LDAP SASLCLIENT_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASLCLIENT_USE= OPENLDAP=yes + +FIDO_DESC= FIDO/U2F support (security/libfido2) +FIDO_LIB_DEPENDS= libfido2.so:security/libfido2 \ + libhidapi.so:comms/hidapi +FIDO_CMAKE_BOOL= WITH_AUTHENTICATION_FIDO + OPTIONS_DEFAULT+= SASLCLIENT OPTIONS_SUB= yes # issue 166367: adding symlinks for back-compatibility with ${lib}_r post-install: @${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a @${LN} -s libmysqlclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so @${LN} -s libmysqlclient.so.21 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.21 .include "${MASTERDIR}/Makefile" diff --git a/databases/mysql80-client/pkg-plist b/databases/mysql80-client/pkg-plist index 1d2f6cfb9268..6766faf79190 100644 --- a/databases/mysql80-client/pkg-plist +++ b/databases/mysql80-client/pkg-plist @@ -1,209 +1,226 @@ bin/comp_err bin/my_print_defaults bin/mysql bin/mysql_config bin/mysql_config_editor bin/mysql_migrate_keyring bin/mysqladmin bin/mysqlbinlog bin/mysqlcheck bin/mysqldump bin/mysqlimport bin/mysqlpump bin/mysqlshow bin/mysqlslap bin/perror @comment bin/zlib_decompress +include/mysql/add_with_saturate.h +include/mysql/caching_sha2_passwordopt-longopts.h +include/mysql/caching_sha2_passwordopt-vars.h +include/mysql/compression.h +include/mysql/keyring_operations_helper.h +include/mysql/manifest.h +include/mysql/mem_root_deque.h +include/mysql/memory_debugging.h +include/mysql/my_basename.h +include/mysql/my_checksum.h +include/mysql/my_getpwnam.h +include/mysql/my_hostname.h +include/mysql/my_rcu_lock.h +include/mysql/mysql_async.h +include/mysql/pfs_data_lock_provider.h +include/mysql/pfs_system_provider.h +include/mysql/pfs_tls_channel_provider.h +include/mysql/unhex.h +include/mysql/unsafe_string_append.h include/mysql/base64.h include/mysql/big_endian.h include/mysql/c_string_less.h include/mysql/crypt_genhash_impl.h include/mysql/decimal.h include/mysql/depth_first_search.h include/mysql/dur_prop.h include/mysql/errmsg.h include/mysql/field_types.h include/mysql/ft_global.h -include/mysql/guard.h include/mysql/heap.h include/mysql/integer_digits.h include/mysql/keycache.h include/mysql/lex_string.h include/mysql/lf.h include/mysql/little_endian.h include/mysql/m_ctype.h include/mysql/m_string.h include/mysql/map_helpers.h include/mysql/mf_wcomp.h include/mysql/mutex_lock.h include/mysql/my_aes.h include/mysql/my_alloc.h include/mysql/my_atomic.h include/mysql/my_base.h include/mysql/my_bit.h include/mysql/my_bitmap.h include/mysql/my_byteorder.h include/mysql/my_check_opt.h include/mysql/my_command.h include/mysql/my_compare.h include/mysql/my_compiler.h include/mysql/my_compress.h include/mysql/my_dbug.h include/mysql/my_default.h include/mysql/my_dir.h include/mysql/my_double2ulonglong.h include/mysql/my_getopt.h include/mysql/my_hash_combine.h include/mysql/my_icp.h include/mysql/my_inttypes.h include/mysql/my_io.h include/mysql/my_list.h include/mysql/my_loglevel.h include/mysql/my_macros.h include/mysql/my_md5.h include/mysql/my_md5_size.h include/mysql/my_murmur3.h include/mysql/my_pointer_arithmetic.h include/mysql/my_psi_config.h include/mysql/my_rapidjson_size_t.h include/mysql/my_rdtsc.h include/mysql/my_rnd.h include/mysql/my_sharedlib.h include/mysql/my_shm_defaults.h include/mysql/my_sqlcommand.h include/mysql/my_stacktrace.h include/mysql/my_sys.h include/mysql/my_systime.h include/mysql/my_table_map.h include/mysql/my_thread.h include/mysql/my_thread_local.h include/mysql/my_thread_os_id.h include/mysql/my_time.h include/mysql/my_timer.h include/mysql/my_tree.h include/mysql/my_uctype.h include/mysql/my_user.h include/mysql/my_xml.h include/mysql/myisam.h include/mysql/myisammrg.h include/mysql/myisampack.h include/mysql/mysql.h -include/mysql/mysql.h.pp include/mysql/mysql/client_authentication.h include/mysql/mysql/client_plugin.h include/mysql/mysql/client_plugin.h.pp include/mysql/mysql/com_data.h include/mysql/mysql/group_replication_priv.h include/mysql/mysql/innodb_priv.h include/mysql/mysql/mysql_lex_string.h include/mysql/mysql/plugin.h include/mysql/mysql/plugin_audit.h include/mysql/mysql/plugin_audit.h.pp include/mysql/mysql/plugin_auth.h include/mysql/mysql/plugin_auth.h.pp include/mysql/mysql/plugin_auth_common.h include/mysql/mysql/plugin_ftparser.h include/mysql/mysql/plugin_ftparser.h.pp include/mysql/mysql/plugin_group_replication.h include/mysql/mysql/plugin_keyring.h include/mysql/mysql/plugin_keyring.h.pp include/mysql/mysql/plugin_query_rewrite.h include/mysql/mysql/plugin_trace.h include/mysql/mysql/plugin_validate_password.h include/mysql/mysql/service_command.h include/mysql/mysql/service_locking.h include/mysql/mysql/service_my_plugin_log.h include/mysql/mysql/service_mysql_alloc.h include/mysql/mysql/service_mysql_keyring.h include/mysql/mysql/service_mysql_password_policy.h include/mysql/mysql/service_mysql_string.h include/mysql/mysql/service_parser.h include/mysql/mysql/service_plugin_registry.h include/mysql/mysql/service_rpl_transaction_ctx.h include/mysql/mysql/service_rpl_transaction_write_set.h include/mysql/mysql/service_rules_table.h include/mysql/mysql/service_security_context.h include/mysql/mysql/service_srv_session.h include/mysql/mysql/service_srv_session_info.h include/mysql/mysql/service_ssl_wrapper.h include/mysql/mysql/service_thd_alloc.h include/mysql/mysql/service_thd_engine_lock.h include/mysql/mysql/service_thd_wait.h include/mysql/mysql/service_thread_scheduler.h include/mysql/mysql/services.h include/mysql/mysql/services.h.pp include/mysql/mysql/thread_pool_priv.h include/mysql/mysql/thread_type.h include/mysql/mysql/udf_registration_types.h include/mysql/mysql_com.h include/mysql/mysql_com_server.h include/mysql/mysql_time.h include/mysql/mysql_version.h -include/mysql/mysql_version.h.in include/mysql/mysqld_error.h include/mysql/mysys_err.h -include/mysql/nullable.h include/mysql/password.h include/mysql/pfs_cond_provider.h include/mysql/pfs_error_provider.h include/mysql/pfs_file_provider.h include/mysql/pfs_idle_provider.h include/mysql/pfs_memory_provider.h include/mysql/pfs_metadata_provider.h include/mysql/pfs_mutex_provider.h include/mysql/pfs_rwlock_provider.h include/mysql/pfs_socket_provider.h include/mysql/pfs_stage_provider.h include/mysql/pfs_statement_provider.h include/mysql/pfs_table_provider.h include/mysql/pfs_thread_provider.h include/mysql/pfs_transaction_provider.h include/mysql/prealloced_array.h include/mysql/print_version.h include/mysql/priority_queue.h include/mysql/rwlock_scoped_lock.h include/mysql/scope_guard.h include/mysql/service_versions.h include/mysql/sha1.h include/mysql/sha2.h include/mysql/sql_chars.h include/mysql/sql_common.h include/mysql/sql_string.h include/mysql/sslopt-case.h include/mysql/sslopt-longopts.h include/mysql/sslopt-vars.h include/mysql/tables_contained_in.h include/mysql/template_utils.h include/mysql/thr_cond.h include/mysql/thr_lock.h include/mysql/thr_mutex.h include/mysql/thr_rwlock.h include/mysql/typelib.h include/mysql/varlen_sort.h include/mysql/violite.h include/mysql/welcome_copyright_notice.h lib/mysql/libmysqlclient.a lib/mysql/libmysqlclient.so lib/mysql/libmysqlclient.so.21 lib/mysql/libmysqlclient_r.a lib/mysql/libmysqlclient_r.so lib/mysql/libmysqlclient_r.so.21 %%SASLCLIENT%%lib/mysql/plugin/authentication_ldap_sasl_client.so +%%FIDO%%lib/mysql/plugin/authentication_fido_client.so +lib/mysql/plugin/authentication_oci_client.so libdata/pkgconfig/mysqlclient.pc man/man1/comp_err.1.gz man/man1/lz4_decompress.1.gz man/man1/mysql.1.gz man/man1/mysql_config.1.gz man/man1/mysql_config_editor.1.gz man/man1/mysqladmin.1.gz man/man1/mysqlbinlog.1.gz man/man1/mysqlcheck.1.gz man/man1/mysqldump.1.gz man/man1/mysqlimport.1.gz man/man1/mysqlman.1.gz man/man1/mysqlpump.1.gz man/man1/mysqlshow.1.gz man/man1/mysqlslap.1.gz man/man1/perror.1.gz man/man1/zlib_decompress.1.gz share/aclocal/mysql.m4 diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile index c525a921bee0..53a99ba306a9 100644 --- a/databases/mysql80-server/Makefile +++ b/databases/mysql80-server/Makefile @@ -1,195 +1,195 @@ # Created by: Mahdi Mokhtari PORTNAME?= mysql -PORTVERSION= 8.0.26 -PORTREVISION?= 1 +PORTVERSION= 8.0.27 +PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-8.0 PKGNAMESUFFIX?= 80-server DISTNAME= ${PORTNAME}-boost-${PORTVERSION}${DISTVERSIONSUFFIX} MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX} SLAVEDIRS= databases/mysql80-client USES= bison:build cmake:noninja compiler:c++17-lang cpe \ groff:run libedit localbase ncurses perl5 pkgconfig shebangfix ssl CPE_VENDOR= oracle -USE_CXXSTD= c++14 +USE_CXXSTD= c++17 USE_PERL5= run MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir LIB_DEPENDS+= libcurl.so:ftp/curl \ libevent.so:devel/libevent \ libicutu.so:devel/icu \ liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libprotobuf.so:devel/protobuf \ ${LIB_DEPENDS_${ARCH}} LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind LIB_DEPENDS_amd64= libunwind.so:devel/libunwind LIB_DEPENDS_armv7= libunwind.so:devel/libunwind LIB_DEPENDS_i386= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind BUILD_DEPENDS= liblz4>0:archivers/liblz4 \ ${BUILD_DEPENDS_${ARCH}} BUILD_DEPENDS_aarch64= libunwind>0:devel/libunwind BUILD_DEPENDS_amd64= libunwind>0:devel/libunwind BUILD_DEPENDS_armv7= libunwind>0:devel/libunwind BUILD_DEPENDS_i386= libunwind>0:devel/libunwind BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind CMAKE_BUILD_TYPE= Release CFLAGS+= -fPIC -DNDEBUG -malign-double CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_SYSTEM_LIBS=1 \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_ICU=system \ -DWITH_CURL=system \ -DWITH_ZLIB=system \ -DWITH_ZSTD=system \ -DWITH_PROTOBUF=system \ - -DWITH_SSL=${OPENSSLBASE} \ + -DWITH_SSL=system \ -DBUILD_BUNDLED_ZLIB=0 \ -DBUILD_BUNDLED_LZ4=0 # The Mroonga, RocksDB, and TokuDB storage engines are disabled. # Mroonga is only buildable on little endian archs. # RocksDB is only buildable on little endian archs and requires POSIX timers. # TokuDB is only buildable on 64-bit little endian archs. CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \ -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 SHEBANG_FILES= scripts/*.pl* scripts/*.sh .ifdef USE_MYSQL IGNORE= You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif SUB_LIST= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} \ MYSQL80_LIBVER=${MYSQL80_LIBVER} # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:80 CONFLICTS_INSTALL= mysql8[1-9]-server-* \ mysql[0-79][0-9]-server-* \ mysqlwsrep* \ mariadb[0-9][0-9]-server-* \ percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server SUB_FILES= my.cnf.sample pkg-message USERS= mysql GROUPS= mysql USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MMAN1= ibd2sdi.1 innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 \ myisamlog.1 myisampack.1 mysql_secure_installation.1 mysql_ssl_rsa_setup.1 \ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql.server.1 mysqldumpslow.1 mysqld_multi.1 \ mysqld_safe.1 mysqlrouter_passwd.1 mysqlrouter_plugin_info.1 mysqlrouter.1 MMAN8= mysqld.8 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" CMAKE_ARGS+= -DWITHOUT_CLIENTLIBS="ON" OPTIONS_GROUP= STORAGE OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA OPTIONS_SUB= YES STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) ARCHIVE_DESC= Compile "Archive Storage" statically in server BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server EXAMPLE_DESC= Compile "Example Storage" statically in server FEDERATED_DESC= Compile "Federated Storage" statically in server INNOBASE_DESC= Compile "InnoDB Storage" statically in server PARTITION_DESC= Compile "Partitioning support Storage" statically in server PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 OPTIONS_GROUP+= FEATURES OPTIONS_GROUP_FEATURES= PERFSCHM FEATURES_DESC= Default features knobs PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) OPTIONS_DEFAULT+= PERFSCHM PERFSCHM_SUB_LIST+= PERFSCHEMRC="" PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" .endif .include # Since 8.0.20 release innodb engine uses new memory alligned allocator # which is broken on i386 due to different size of types and caused a # 'static_assert(alignof(T) <= alignof(std::max_align_t))' error .if ${ARCH} == i386 CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1 .endif post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif .include diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo index 6b639dd456da..55029d0a7a90 100644 --- a/databases/mysql80-server/distinfo +++ b/databases/mysql80-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1628702352 -SHA256 (mysql-boost-8.0.26.tar.gz) = 209442c1001c37bcbc001845e1dc623d654cefb555b47b528742a53bf21c0b4d -SIZE (mysql-boost-8.0.26.tar.gz) = 291285918 +TIMESTAMP = 1635786797 +SHA256 (mysql-boost-8.0.27.tar.gz) = 74b5bc6ff88fe225560174a24b7d5ff139f4c17271c43000dbcf3dcc9507b3f9 +SIZE (mysql-boost-8.0.27.tar.gz) = 292184025 diff --git a/databases/mysql80-server/files/patch-CMakeLists.txt b/databases/mysql80-server/files/patch-CMakeLists.txt index 1838577bde1c..0b4f88bfd853 100644 --- a/databases/mysql80-server/files/patch-CMakeLists.txt +++ b/databases/mysql80-server/files/patch-CMakeLists.txt @@ -1,76 +1,85 @@ ---- CMakeLists.txt.orig 2020-09-23 12:37:48 UTC +--- CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +++ CMakeLists.txt -@@ -1417,10 +1417,10 @@ IF(WITH_AUTHENTICATION_LDAP) +@@ -1647,7 +1647,7 @@ IF(LINUX AND KNOWN_CUSTOM_LIBRARIES) + ENDIF() + + IF(WITH_AUTHENTICATION_LDAP) +- IF(LINUX AND KNOWN_CUSTOM_LIBRARIES) ++ IF(LINUX OR FREEBSD AND KNOWN_CUSTOM_LIBRARIES) + # LDAP / SASL / KERBEROS / SSL must all be "system" or "custom", not a mix. + IF(WITH_LDAP STREQUAL "system" OR + WITH_SASL STREQUAL "system" OR +@@ -1696,10 +1696,10 @@ IF(WITH_AUTHENTICATION_KERBEROS) ENDIF() ENDIF() -# Add system/bundled editline. -MYSQL_CHECK_EDITLINE() # Add libevent -MYSQL_CHECK_LIBEVENT() +IF(NOT WITHOUT_SERVER) + MYSQL_CHECK_LIBEVENT() +ENDIF() # Add lz4 library MYSQL_CHECK_LZ4() # Add icu library -@@ -1520,7 +1520,9 @@ IF(WITH_UNIT_TESTS) - INCLUDE(googletest) - ENDIF() +@@ -1869,7 +1869,9 @@ OPTION(WITH_HYPERGRAPH_OPTIMIZER + ${WITH_HYPERGRAPH_OPTIMIZER_DEFAULT} + ) -ADD_SUBDIRECTORY(include) +IF(NOT WITHOUT_CLIENTLIBS) + ADD_SUBDIRECTORY(include) +ENDIF(NOT WITHOUT_CLIENTLIBS) ADD_SUBDIRECTORY(strings) ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(mysys) -@@ -1562,12 +1564,17 @@ IF(WITH_UNIT_TESTS) +@@ -1913,12 +1915,17 @@ IF(WITH_UNIT_TESTS) ADD_SUBDIRECTORY(unittest/mytap/t) ENDIF() -ADD_SUBDIRECTORY(client) +IF(NOT WITHOUT_TOOLS) + # Add system/bundled editline + MYSQL_CHECK_EDITLINE() + ADD_SUBDIRECTORY(client) +ENDIF(NOT WITHOUT_TOOLS) + ADD_SUBDIRECTORY(utilities) -ADD_SUBDIRECTORY(share) ADD_SUBDIRECTORY(libservices) IF(NOT WITHOUT_SERVER) + ADD_SUBDIRECTORY(share) ADD_SUBDIRECTORY(testclients) ADD_SUBDIRECTORY(sql) ENDIF() -@@ -1590,11 +1597,11 @@ ENDIF() +@@ -1971,11 +1978,11 @@ ENDIF() # scripts/mysql_config depends on client and server targets loaded above. # It is referenced by some of the directories below, so we insert it here. ADD_SUBDIRECTORY(scripts) +ADD_SUBDIRECTORY(support-files) IF(NOT WITHOUT_SERVER) ADD_SUBDIRECTORY(mysql-test) ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess) - ADD_SUBDIRECTORY(support-files) IF(WITH_INTERNAL) ADD_SUBDIRECTORY(internal) ENDIF() -@@ -1703,6 +1710,7 @@ IF(PACK_SEPARATE_COMPONENTS) +@@ -2084,6 +2091,7 @@ IF(PACK_SEPARATE_COMPONENTS) SET(CPACK_COMPONENTS_GROUPING IGNORE) ENDIF() +IF(FALSE) IF(UNIX) INSTALL(FILES Docs/mysql.info -@@ -1737,6 +1745,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") +@@ -2118,6 +2126,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") PATTERN "sp-imp-spec.txt" EXCLUDE PATTERN "README.build" EXCLUDE ) +ENDIF() ENDIF() # Now that we're done with all ADD_SUBDIRECTORY and thus all feature tests, diff --git a/databases/mysql80-server/files/patch-client_CMakeLists.txt b/databases/mysql80-server/files/patch-client_CMakeLists.txt index bbfb4249c799..41b4925911bc 100644 --- a/databases/mysql80-server/files/patch-client_CMakeLists.txt +++ b/databases/mysql80-server/files/patch-client_CMakeLists.txt @@ -1,70 +1,70 @@ ---- client/CMakeLists.txt.orig 2021-03-22 08:44:50 UTC +--- client/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +++ client/CMakeLists.txt @@ -28,10 +28,13 @@ DISABLE_MISSING_PROFILE_WARNING() ## Subdirectory with common client code. ADD_SUBDIRECTORY(base) ## Subdirectory for mysqlpump code. +IF(WITHOUT_SERVER) ADD_SUBDIRECTORY(dump) ## Subdirectory for mysql_migrate_keyring code. ADD_SUBDIRECTORY(migrate_keyring) +ENDIF() +IF(NOT WITHOUT_CLIENTLIBS) - MYSQL_ADD_EXECUTABLE(mysql - ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc - completion_hash.cc -@@ -41,6 +44,7 @@ MYSQL_ADD_EXECUTABLE(mysql - client_query_attributes.cc + INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR}/include + ) +@@ -47,6 +50,7 @@ MYSQL_ADD_EXECUTABLE(mysql + ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY} ) +ENDIF() IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_upgrade -@@ -57,6 +61,7 @@ IF(SOLARIS_SPARC AND MY_COMPILER_IS_SUNPRO AND +@@ -55,6 +59,7 @@ IF(NOT WITHOUT_SERVER) ) ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc mysqltest/error_names.cc -@@ -73,6 +78,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest +@@ -71,6 +76,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest ENABLE_EXPORTS LINK_LIBRARIES mysqlclient ) +ENDIF() + +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc check/mysqlcheck_core.cc -@@ -248,7 +256,9 @@ ENDIF() +@@ -250,7 +258,9 @@ ENDIF() TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX) TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) +ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc - LINK_LIBRARIES mysqlclient -@@ -261,6 +271,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor + multi_factor_passwordopt-vars.cc +@@ -265,6 +275,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc LINK_LIBRARIES mysqlclient ) +ENDIF() + -+IF(NOT WITHOUT_SERVER) ++IF(NOT_WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_secure_installation mysql_secure_installation.cc LINK_LIBRARIES mysqlclient -@@ -271,6 +284,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup +@@ -275,6 +288,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup path.cc LINK_LIBRARIES mysys ) +ENDIF() # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". IF(WIN32) diff --git a/databases/mysql80-server/files/patch-include_CMakeLists.txt b/databases/mysql80-server/files/patch-include_CMakeLists.txt index 11fed601d4f4..96f88d8593aa 100644 --- a/databases/mysql80-server/files/patch-include_CMakeLists.txt +++ b/databases/mysql80-server/files/patch-include_CMakeLists.txt @@ -1,176 +1,185 @@ ---- include/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC +--- include/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +++ include/CMakeLists.txt -@@ -37,10 +37,173 @@ SET(HEADERS +@@ -37,10 +37,182 @@ SET(HEADERS ${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h ${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h field_types.h ++ add_with_saturate.h + base64.h + big_endian.h + c_string_less.h ++ caching_sha2_passwordopt-longopts.h ++ caching_sha2_passwordopt-vars.h ++ compression.h + crypt_genhash_impl.h + decimal.h + depth_first_search.h + dur_prop.h -+ errmsg.h + ft_global.h -+ guard.h + heap.h + integer_digits.h + keycache.h ++ keyring_operations_helper.h + lex_string.h + lf.h + little_endian.h + m_ctype.h + m_string.h ++ manifest.h + map_helpers.h ++ mem_root_deque.h ++ memory_debugging.h + mf_wcomp.h + mutex_lock.h + my_aes.h + my_alloc.h + my_atomic.h + my_base.h ++ my_basename.h + my_bit.h + my_bitmap.h + my_byteorder.h + my_check_opt.h -+ my_command.h ++ my_checksum.h + my_compare.h + my_compiler.h + my_dbug.h + my_default.h + my_dir.h + my_double2ulonglong.h + my_getopt.h ++ my_getpwnam.h + my_hash_combine.h ++ my_hostname.h + my_icp.h + my_inttypes.h + my_io.h -+ my_list.h + my_loglevel.h + my_macros.h -+ my_md5.h + my_md5_size.h ++ my_md5.h + my_murmur3.h + my_pointer_arithmetic.h + my_psi_config.h + my_rapidjson_size_t.h ++ my_rcu_lock.h + my_rdtsc.h + my_rnd.h + my_sharedlib.h + my_shm_defaults.h + my_sqlcommand.h + my_stacktrace.h + my_sys.h + my_systime.h + my_table_map.h -+ my_thread.h + my_thread_local.h + my_thread_os_id.h ++ my_thread.h + my_time.h + my_timer.h + my_tree.h + my_uctype.h + my_user.h + my_xml.h + myisam.h + myisammrg.h + myisampack.h -+ mysql.h -+ mysql.h.pp -+ mysql_com.h ++ mysql_async.h + mysql_com_server.h -+ mysql_time.h -+ mysql_version.h.in + mysys_err.h -+ nullable.h + password.h + pfs_cond_provider.h ++ pfs_data_lock_provider.h + pfs_error_provider.h + pfs_file_provider.h + pfs_idle_provider.h + pfs_memory_provider.h + pfs_metadata_provider.h + pfs_mutex_provider.h + pfs_rwlock_provider.h + pfs_socket_provider.h + pfs_stage_provider.h + pfs_statement_provider.h ++ pfs_system_provider.h + pfs_table_provider.h + pfs_thread_provider.h ++ pfs_tls_channel_provider.h + pfs_transaction_provider.h + prealloced_array.h + print_version.h + priority_queue.h + rwlock_scoped_lock.h + scope_guard.h + service_versions.h + sha1.h + sha2.h + sql_chars.h + sql_common.h + sql_string.h + sslopt-case.h + sslopt-longopts.h + sslopt-vars.h + tables_contained_in.h + template_utils.h + thr_cond.h + thr_lock.h + thr_mutex.h + thr_rwlock.h + typelib.h ++ unhex.h ++ unsafe_string_append.h + varlen_sort.h + violite.h + welcome_copyright_notice.h ) SET(HEADERS_MYSQL_DIR mysql/client_plugin.h mysql/plugin_auth_common.h + mysql/udf_registration_types.h + mysql/client_authentication.h + mysql/client_plugin.h.pp + mysql/com_data.h + mysql/group_replication_priv.h + mysql/innodb_priv.h + mysql/mysql_lex_string.h + mysql/plugin.h + mysql/plugin_audit.h + mysql/plugin_audit.h.pp + mysql/plugin_auth.h + mysql/plugin_auth.h.pp + mysql/plugin_auth_common.h + mysql/plugin_ftparser.h + mysql/plugin_ftparser.h.pp + mysql/plugin_group_replication.h + mysql/plugin_keyring.h + mysql/plugin_keyring.h.pp + mysql/plugin_query_rewrite.h + mysql/plugin_trace.h + mysql/plugin_validate_password.h + mysql/service_command.h + mysql/service_locking.h + mysql/service_my_plugin_log.h + mysql/service_mysql_alloc.h + mysql/service_mysql_keyring.h + mysql/service_mysql_password_policy.h + mysql/service_mysql_string.h + mysql/service_parser.h + mysql/service_plugin_registry.h + mysql/service_rpl_transaction_ctx.h + mysql/service_rpl_transaction_write_set.h + mysql/service_rules_table.h + mysql/service_security_context.h + mysql/service_srv_session.h + mysql/service_srv_session_info.h + mysql/service_ssl_wrapper.h + mysql/service_thd_alloc.h + mysql/service_thd_engine_lock.h + mysql/service_thd_wait.h + mysql/service_thread_scheduler.h + mysql/services.h + mysql/services.h.pp + mysql/thread_pool_priv.h + mysql/thread_type.h mysql/udf_registration_types.h ) diff --git a/databases/mysql80-server/files/patch-mysys_my__default.cc b/databases/mysql80-server/files/patch-mysys_my__default.cc index 6a8cb5ebbaf2..6e479597e24a 100644 --- a/databases/mysql80-server/files/patch-mysys_my__default.cc +++ b/databases/mysql80-server/files/patch-mysys_my__default.cc @@ -1,62 +1,62 @@ ---- mysys/my_default.cc.orig 2021-04-23 15:06:40 UTC -+++ mysys/my_default.cc +--- mysys/my_default.cc.orig 2021-11-02 20:29:18.337621000 +0100 ++++ mysys/my_default.cc 2021-11-02 20:57:11.624299000 +0100 @@ -204,7 +204,7 @@ bool no_defaults = false; /* Which directories are searched for options (and in which order) */ -#define MAX_DEFAULT_DIRS 6 +#define MAX_DEFAULT_DIRS 7 #define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */ static const char **default_directories = nullptr; -@@ -915,6 +915,14 @@ static int search_default_file_with_ext(Process_option +@@ -922,6 +922,14 @@ static int search_default_file_with_ext(Process_option return 1; /* Ignore wrong files */ } + if (strstr(name, "/etc") == name) + { + fprintf(stderr, + "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n", -+ name,name); ++ name,name); + goto err; + } + while (true) { auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file); char *linebuff = fileline.get(); -@@ -1300,7 +1308,8 @@ void my_print_default_files(const char *conf_file) { +@@ -1315,7 +1323,8 @@ void my_print_default_files(const char *conf_file) { end[(strlen(end) - 1)] = ' '; else strxmov(end, conf_file, *ext, " ", NullS); - fputs(name, stdout); -+ if (strstr(name, "/etc") != name) -+ fputs(name, stdout); ++ if (strstr(name, "/etc") != name) ++ fputs(name, stdout); } } } -@@ -1640,14 +1649,9 @@ static const char **init_default_directories(MEM_ROOT +@@ -1655,14 +1664,9 @@ static const char **init_default_directories(MEM_ROOT #else - errors += add_directory(alloc, "/etc/", dirs); - errors += add_directory(alloc, "/etc/mysql/", dirs); + errors += add_directory(alloc, "/usr/local/etc/", dirs); + errors += add_directory(alloc, "/usr/local/etc/mysql/", dirs); -#if defined(DEFAULT_SYSCONFDIR) - if (DEFAULT_SYSCONFDIR[0]) - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); -#endif /* DEFAULT_SYSCONFDIR */ - #endif if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs); -@@ -1710,7 +1714,7 @@ int check_file_permissions(const char *file_name, bool +@@ -1727,7 +1731,7 @@ int check_file_permissions(const char *file_name, bool #if !defined(_WIN32) MY_STAT stat_info; -- if (!my_stat(file_name, &stat_info, MYF(0))) return 1; -+ if (!my_stat(file_name, &stat_info, MYF(0))) return 0; +- if (!my_stat(file_name, &stat_info, flags)) return 1; ++ if (!my_stat(file_name, &stat_info, flags)) return 0; /* Ignore .mylogin.cnf file if not exclusively readable/writable by current user. diff --git a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c b/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c deleted file mode 100644 index 9dcdca8bd775..000000000000 --- a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c +++ /dev/null @@ -1,94 +0,0 @@ ---- plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc.orig 2019-09-20 08:30:51 UTC -+++ plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc -@@ -175,7 +175,7 @@ SSL_CTX *client_ctx = NULL; - static long process_tls_version(const char *tls_version) { - const char *separator = ", "; - char *token = NULL; --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2", - "TLSv1.3"}; - #else -@@ -184,7 +184,7 @@ static long process_tls_version(const char *tls_versio - #define TLS_VERSIONS_COUNTS \ - (sizeof(tls_version_name_list) / sizeof(*tls_version_name_list)) - unsigned int tls_versions_count = TLS_VERSIONS_COUNTS; --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - const long tls_ctx_list[TLS_VERSIONS_COUNTS] = { - SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3}; - const char *ctx_flag_default = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"; -@@ -240,7 +240,7 @@ static int configure_ssl_algorithms( - long ssl_ctx_options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3; - char cipher_list[SSL_CIPHER_LIST_SIZE] = {0}; - long ssl_ctx_flags = -1; --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - int tlsv1_3_enabled = 0; - #endif /* HAVE_TLSv13 */ - -@@ -253,7 +253,7 @@ static int configure_ssl_algorithms( - goto error; - } - --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) & - (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | - SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3); -@@ -265,7 +265,7 @@ static int configure_ssl_algorithms( - - SSL_CTX_set_options(ssl_ctx, ssl_ctx_options); - --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - tlsv1_3_enabled = ((ssl_ctx_options & SSL_OP_NO_TLSv1_3) == 0); - if (tlsv1_3_enabled) { - /* Set OpenSSL TLS v1.3 ciphersuites. -@@ -325,6 +325,7 @@ error: - return 1; - } - -+#ifndef LIBRESSL_VERSION_NUMBER - #define OPENSSL_ERROR_LENGTH 512 - static int configure_ssl_fips_mode(const uint fips_mode) { - int rc = -1; -@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mod - EXIT: - return rc; - } -+#endif - - static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file, - const char *ca_path) { -@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const c - int verify_server = SSL_VERIFY_NONE; - int verify_client = SSL_VERIFY_NONE; - -+#ifndef LIBRESSL_VERSION_NUMBER - if (configure_ssl_fips_mode(ssl_fips_mode) != 1) { - G_ERROR("Error setting the ssl fips mode"); - goto error; - } -+#endif - - SSL_library_init(); - SSL_load_error_strings(); -@@ -563,7 +567,7 @@ int xcom_init_ssl(const char *server_key_file, const c - } - - G_DEBUG("Configuring SSL for the server") --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - server_ctx = SSL_CTX_new(TLS_server_method()); - #else - server_ctx = SSL_CTX_new(SSLv23_server_method()); -@@ -582,7 +586,7 @@ int xcom_init_ssl(const char *server_key_file, const c - SSL_CTX_set_verify(server_ctx, verify_server, NULL); - - G_DEBUG("Configuring SSL for the client") --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - client_ctx = SSL_CTX_new(TLS_client_method()); - #else - client_ctx = SSL_CTX_new(SSLv23_client_method()); diff --git a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc index 9b53b3aae974..2d5ba1470260 100644 --- a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc +++ b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc @@ -1,44 +1,44 @@ ---- router/src/harness/src/tls_context.cc.orig 2019-09-20 08:30:51 UTC -+++ router/src/harness/src/tls_context.cc -@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version) +--- router/src/harness/src/tls_context.cc.orig 2021-11-04 17:14:44.779135000 +0100 ++++ router/src/harness/src/tls_context.cc 2021-11-04 17:35:31.121070000 +0100 +@@ -241,7 +241,7 @@ static int o11x_version(TlsVersion version) { return TLS1_1_VERSION; case TlsVersion::TLS_1_2: return TLS1_2_VERSION; -#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) +#ifdef TLS1_3_VERSION case TlsVersion::TLS_1_3: return TLS1_3_VERSION; #endif -@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version, +@@ -272,9 +272,11 @@ stdx::expected TlsContext::vers default: // unknown, leave all disabled - // fallthrough + [[fallthrough]]; +#ifdef TLS1_3_VERSION case TlsVersion::TLS_1_3: opts |= SSL_OP_NO_TLSv1_2; - // fallthrough + [[fallthrough]]; +#endif case TlsVersion::TLS_1_2: opts |= SSL_OP_NO_TLSv1_1; - // fallthrough -@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const { + [[fallthrough]]; +@@ -322,8 +324,10 @@ TlsVersion TlsContext::min_version() const { return TlsVersion::TLS_1_1; case TLS1_2_VERSION: return TlsVersion::TLS_1_2; +#ifdef TLS1_3_VERSION case TLS1_3_VERSION: return TlsVersion::TLS_1_3; +#endif case 0: return TlsVersion::AUTO; default: -@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c +@@ -382,7 +386,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c } int TlsContext::security_level() const { -#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) +#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ + !defined(LIBRESSL_VERSION_NUMBER) return SSL_CTX_get_security_level(ssl_ctx_.get()); #else return 0; diff --git a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt index 19e53914846e..976c2397e16d 100644 --- a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt +++ b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt @@ -1,61 +1,52 @@ ---- scripts/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC -+++ scripts/CMakeLists.txt -@@ -330,7 +330,7 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) - LIST(REMOVE_DUPLICATES ${target}_LIB_DEPENDS) - FOREACH(lib ${${target}_LIB_DEPENDS}) - # Filter out "general", it is not a library, just CMake hint -- IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} ") -+ IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} " AND NOT lib STREQUAL "imported_openssl" AND NOT lib STREQUAL "imported_crypto") - IF (lib MATCHES "^\\-l") - SET(${var} "${${var}} ${lib} ") - ELSEIF (lib MATCHES "^\\-L") -@@ -340,6 +340,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) - GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) - STRING(REGEX REPLACE "^lib" "" lib "${lib}") - SET(${var} "${${var}}-l${lib} " ) +--- scripts/CMakeLists.txt.orig 2021-11-04 17:42:29.686664000 +0100 ++++ scripts/CMakeLists.txt 2021-11-04 17:57:49.957200000 +0100 +@@ -323,6 +323,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) + GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) + STRING(REGEX REPLACE "^lib" "" lib "${lib}") + SET(${var} "${${var}}-l${lib} " ) + ELSEIF(lib STREQUAL "-pthread") + SET(${var} "${${var}}-pthread " ) - ELSE() - SET(${var} "${${var}}-l${lib} " ) - ENDIF() -@@ -414,7 +416,7 @@ ELSE() + ELSE() + SET(${var} "${${var}}-l${lib} " ) + ENDIF() +@@ -396,7 +398,7 @@ ELSE() ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE} ESCAPE_QUOTES @ONLY) - IF(INSTALL_PKGCONFIGDIR) + IF(INSTALL_PKGCONFIGDIR AND NOT WITHOUT_CLIENTLIBS) MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}") INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE} -@@ -427,23 +429,28 @@ ELSE() +@@ -409,23 +411,28 @@ ELSE() # mysqld_safe used in mtr even for systemd platforms IF(WITH_SYSTEMD) SET(BIN_SCRIPTS - mysql_config mysqldumpslow mysqld_safe ) ELSE() SET(BIN_SCRIPTS - mysql_config mysqldumpslow mysqld_multi mysqld_safe ) ENDIF() + IF(NOT WITHOUT_CLIENTLIBS) + SET(BIN_SCRIPTS + ${BIN_SCRIPTS} + mysql_config + ) + ENDIF(NOT WITHOUT_CLIENTLIBS) + FOREACH(file ${BIN_SCRIPTS}) IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh - ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY + ${CMAKE_CURRENT_BINARY_DIR}/${file} @ONLY ) ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.pl.in diff --git a/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h new file mode 100644 index 000000000000..5297a5023741 --- /dev/null +++ b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h @@ -0,0 +1,11 @@ +--- storage/innobase/include/detail/ut/large_page_alloc-linux.h.orig 2021-09-28 11:46:34 UTC ++++ storage/innobase/include/detail/ut/large_page_alloc-linux.h +@@ -50,7 +50,7 @@ inline void *large_page_aligned_alloc(size_t n_bytes) + // mmap will internally round n_bytes to the multiple of huge-page size if it + // is not already + void *ptr = mmap(nullptr, n_bytes, PROT_READ | PROT_WRITE, +- MAP_PRIVATE | MAP_ANON | MAP_HUGETLB, -1, 0); ++ MAP_PRIVATE | MAP_ANON, -1, 0); + return (ptr != (void *)-1) ? ptr : nullptr; + } + diff --git a/databases/mysql80-server/files/patch-vio_viosslfactories.cc b/databases/mysql80-server/files/patch-vio_viosslfactories.cc index 6c0f821e8911..8c88903163ee 100644 --- a/databases/mysql80-server/files/patch-vio_viosslfactories.cc +++ b/databases/mysql80-server/files/patch-vio_viosslfactories.cc @@ -1,60 +1,62 @@ ---- vio/viosslfactories.cc.orig 2019-09-20 08:30:51 UTC -+++ vio/viosslfactories.cc +--- vio/viosslfactories.cc.orig 2021-11-04 18:02:40.921064000 +0100 ++++ vio/viosslfactories.cc 2021-11-04 18:15:24.992676000 +0100 @@ -40,6 +40,7 @@ #include "vio/vio_priv.h" #include +#include #if OPENSSL_VERSION_NUMBER < 0x10002000L #include @@ -472,6 +473,7 @@ void ssl_start() { } } +#ifndef LIBRESSL_VERSION_NUMBER /** Set fips mode in openssl library, When we set fips mode ON/STRICT, it will perform following operations: -@@ -525,12 +527,13 @@ EXIT: +@@ -525,6 +527,7 @@ EXIT: @returns openssl current fips mode */ uint get_fips_mode() { return FIPS_mode(); } +#endif - long process_tls_version(const char *tls_version) { + /** + Toggle FIPS mode, to see whether it is available with the current SSL library. +@@ -545,7 +548,7 @@ long process_tls_version(const char *tls_version) { const char *separator = ","; char *token, *lasts = nullptr; -#ifdef HAVE_TLSv13 +#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"}; const char ctx_flag_default[] = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"; -@@ -609,7 +612,7 @@ static struct st_VioSSLFd *new_VioSSLFd( +@@ -624,7 +627,7 @@ static struct st_VioSSLFd *new_VioSSLFd( ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) & (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 -#ifdef HAVE_TLSv13 +#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) | SSL_OP_NO_TLSv1_3 #endif /* HAVE_TLSv13 */ | SSL_OP_NO_TICKET); -@@ -618,7 +621,7 @@ static struct st_VioSSLFd *new_VioSSLFd( +@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd( return nullptr; if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ? -#ifdef HAVE_TLSv13 +#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) TLS_client_method() : TLS_server_method() #else /* HAVE_TLSv13 */ -@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd( +@@ -648,7 +651,7 @@ static struct st_VioSSLFd *new_VioSSLFd( return nullptr; } -#ifdef HAVE_TLSv13 +#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) /* Set OpenSSL TLS v1.3 ciphersuites. Note that an empty list is permissible. diff --git a/databases/mysql80-server/pkg-plist b/databases/mysql80-server/pkg-plist index 880259841bf0..3410b5358397 100644 --- a/databases/mysql80-server/pkg-plist +++ b/databases/mysql80-server/pkg-plist @@ -1,249 +1,247 @@ LICENSE.router README.router bin/ibd2sdi bin/innochecksum bin/myisam_ftdump bin/myisamchk bin/myisamlog bin/myisampack bin/mysqldumpslow bin/mysql_client_test bin/mysql_keyring_encryption_test -bin/mysql_secure_installation -bin/mysql_ssl_rsa_setup bin/mysql_tzinfo_to_sql bin/mysql_upgrade bin/mysqld_multi bin/mysqld_safe bin/mysqlrouter bin/mysqlrouter_keyring bin/mysqlrouter_passwd bin/mysqlrouter_plugin_info bin/mysqltest bin/mysqltest_safe_process bin/mysqlxtest etc/logrotate.d/mysqlrouter lib/mysql/libmysqlharness.so lib/mysql/libmysqlharness.so.1 lib/mysql/libmysqlharness_stdx.so lib/mysql/libmysqlharness_stdx.so.1 lib/mysql/libmysqlharness_tls.so lib/mysql/libmysqlharness_tls.so.1 lib/mysql/libmysqlrouter.so lib/mysql/libmysqlrouter.so.1 lib/mysql/libmysqlrouter_http.so lib/mysql/libmysqlrouter_http.so.1 lib/mysql/libmysqlrouter_http_auth_backend.so lib/mysql/libmysqlrouter_http_auth_backend.so.1 lib/mysql/libmysqlrouter_http_auth_realm.so lib/mysql/libmysqlrouter_http_auth_realm.so.1 lib/mysql/libmysqlrouter_io_component.so lib/mysql/libmysqlrouter_io_component.so.1 lib/mysql/mysqlrouter/http_auth_backend.so lib/mysql/mysqlrouter/http_auth_realm.so lib/mysql/mysqlrouter/http_server.so lib/mysql/mysqlrouter/io.so lib/mysql/mysqlrouter/keepalive.so lib/mysql/mysqlrouter/metadata_cache.so lib/mysql/mysqlrouter/rest_api.so lib/mysql/mysqlrouter/rest_metadata_cache.so lib/mysql/mysqlrouter/rest_router.so lib/mysql/mysqlrouter/rest_routing.so lib/mysql/mysqlrouter/router_protobuf.so lib/mysql/mysqlrouter/router_openssl.so lib/mysql/mysqlrouter/routing.so lib/mysql/plugin/adt_null.so lib/mysql/plugin/auth.so lib/mysql/plugin/auth_test_plugin.so lib/mysql/plugin/component_audit_api_message_emit.so lib/mysql/plugin/component_example_component1.so lib/mysql/plugin/component_example_component2.so lib/mysql/plugin/component_example_component3.so lib/mysql/plugin/component_keyring_file.so lib/mysql/plugin/component_log_filter_dragnet.so lib/mysql/plugin/component_log_sink_json.so lib/mysql/plugin/component_log_sink_syseventlog.so lib/mysql/plugin/component_log_sink_test.so lib/mysql/plugin/component_mysqlbackup.so lib/mysql/plugin/component_mysqlx_global_reset.so lib/mysql/plugin/component_pfs_example.so lib/mysql/plugin/component_pfs_example_component_population.so lib/mysql/plugin/component_query_attributes.so lib/mysql/plugin/component_reference_cache.so lib/mysql/plugin/component_test_audit_api_message.so lib/mysql/plugin/component_test_backup_lock_service.so lib/mysql/plugin/component_test_component_deinit.so lib/mysql/plugin/component_test_host_application_signal.so lib/mysql/plugin/component_test_mysql_current_thread_reader.so lib/mysql/plugin/component_test_mysql_runtime_error.so lib/mysql/plugin/component_test_mysql_system_variable_set.so lib/mysql/plugin/component_test_pfs_notification.so lib/mysql/plugin/component_test_pfs_resource_group.so lib/mysql/plugin/component_test_status_var_service.so lib/mysql/plugin/component_test_status_var_service_int.so lib/mysql/plugin/component_test_status_var_service_reg_only.so lib/mysql/plugin/component_test_status_var_service_str.so lib/mysql/plugin/component_test_status_var_service_unreg_only.so lib/mysql/plugin/component_test_string_service.so lib/mysql/plugin/component_test_string_service_charset.so lib/mysql/plugin/component_test_string_service_long.so lib/mysql/plugin/component_test_sys_var_service.so lib/mysql/plugin/component_test_sys_var_service_int.so lib/mysql/plugin/component_test_sys_var_service_same.so lib/mysql/plugin/component_test_sys_var_service_str.so lib/mysql/plugin/component_test_system_variable_source.so lib/mysql/plugin/component_test_table_access.so lib/mysql/plugin/component_test_udf_registration.so @comment lib/mysql/plugin/component_test_udf_services.so lib/mysql/plugin/component_udf_reg_3_func.so lib/mysql/plugin/component_udf_reg_avg_func.so lib/mysql/plugin/component_udf_reg_int_func.so lib/mysql/plugin/component_udf_reg_int_same_func.so lib/mysql/plugin/component_udf_reg_only_3_func.so lib/mysql/plugin/component_udf_reg_real_func.so lib/mysql/plugin/component_udf_unreg_3_func.so lib/mysql/plugin/component_udf_unreg_int_func.so lib/mysql/plugin/component_udf_unreg_real_func.so lib/mysql/plugin/component_validate_password.so lib/mysql/plugin/connection_control.so lib/mysql/plugin/daemon_example.ini lib/mysql/plugin/ddl_rewriter.so lib/mysql/plugin/group_replication.so %%NO_EXAMPLE%%lib/mysql/plugin/ha_example.so lib/mysql/plugin/ha_mock.so lib/mysql/plugin/component_test_udf_services.so lib/mysql/plugin/keyring_file.so lib/mysql/plugin/libdaemon_example.so lib/mysql/plugin/libtest_framework.so lib/mysql/plugin/libtest_services.so lib/mysql/plugin/libtest_services_threaded.so lib/mysql/plugin/libtest_session_attach.so lib/mysql/plugin/libtest_session_detach.so lib/mysql/plugin/libtest_session_in_thd.so lib/mysql/plugin/libtest_session_info.so lib/mysql/plugin/libtest_sql_2_sessions.so lib/mysql/plugin/libtest_sql_all_col_types.so lib/mysql/plugin/libtest_sql_cmds_1.so lib/mysql/plugin/libtest_sql_commit.so lib/mysql/plugin/libtest_sql_complex.so lib/mysql/plugin/libtest_sql_errors.so lib/mysql/plugin/libtest_sql_lock.so lib/mysql/plugin/libtest_sql_processlist.so lib/mysql/plugin/libtest_sql_replication.so lib/mysql/plugin/libtest_sql_reset_connection.so lib/mysql/plugin/libtest_sql_shutdown.so lib/mysql/plugin/libtest_sql_sleep_is_connected.so lib/mysql/plugin/libtest_sql_sqlmode.so lib/mysql/plugin/libtest_sql_stmt.so lib/mysql/plugin/libtest_sql_stored_procedures_functions.so lib/mysql/plugin/libtest_sql_views_triggers.so lib/mysql/plugin/libtest_x_sessions_deinit.so lib/mysql/plugin/libtest_x_sessions_init.so lib/mysql/plugin/locking_service.so lib/mysql/plugin/mypluglib.so lib/mysql/plugin/mysql_clone.so lib/mysql/plugin/mysql_no_login.so lib/mysql/plugin/pfs_example_plugin_employee.so lib/mysql/plugin/qa_auth_client.so lib/mysql/plugin/qa_auth_interface.so lib/mysql/plugin/qa_auth_server.so lib/mysql/plugin/replication_observers_example_plugin.so lib/mysql/plugin/rewrite_example.so lib/mysql/plugin/rewriter.so lib/mysql/plugin/semisync_master.so lib/mysql/plugin/semisync_replica.so lib/mysql/plugin/semisync_slave.so lib/mysql/plugin/semisync_source.so lib/mysql/plugin/test_security_context.so lib/mysql/plugin/test_services_host_application_signal.so lib/mysql/plugin/test_services_plugin_registry.so lib/mysql/plugin/udf_example.so lib/mysql/plugin/keyring_udf.so lib/mysql/plugin/test_udf_services.so lib/mysql/plugin/validate_password.so lib/mysql/plugin/version_token.so libexec/mysqld man/man1/ibd2sdi.1.gz man/man1/innochecksum.1.gz man/man1/my_print_defaults.1.gz man/man1/myisam_ftdump.1.gz man/man1/myisamchk.1.gz man/man1/myisamlog.1.gz man/man1/myisampack.1.gz man/man1/mysql_secure_installation.1.gz man/man1/mysql_ssl_rsa_setup.1.gz man/man1/mysql_tzinfo_to_sql.1.gz man/man1/mysql_upgrade.1.gz man/man1/mysql.server.1.gz man/man1/mysqld_multi.1.gz man/man1/mysqld_safe.1.gz man/man1/mysqldumpslow.1.gz man/man1/mysqlrouter_passwd.1.gz man/man1/mysqlrouter_plugin_info.1.gz man/man1/mysqlrouter.1.gz man/man8/mysqld.8.gz %%DATADIR%%/bulgarian/errmsg.sys %%DATADIR%%/charsets/Index.xml %%DATADIR%%/charsets/README %%DATADIR%%/charsets/armscii8.xml %%DATADIR%%/charsets/ascii.xml %%DATADIR%%/charsets/cp1250.xml %%DATADIR%%/charsets/cp1251.xml %%DATADIR%%/charsets/cp1256.xml %%DATADIR%%/charsets/cp1257.xml %%DATADIR%%/charsets/cp850.xml %%DATADIR%%/charsets/cp852.xml %%DATADIR%%/charsets/cp866.xml %%DATADIR%%/charsets/dec8.xml %%DATADIR%%/charsets/geostd8.xml %%DATADIR%%/charsets/greek.xml %%DATADIR%%/charsets/hebrew.xml %%DATADIR%%/charsets/hp8.xml %%DATADIR%%/charsets/keybcs2.xml %%DATADIR%%/charsets/koi8r.xml %%DATADIR%%/charsets/koi8u.xml %%DATADIR%%/charsets/latin1.xml %%DATADIR%%/charsets/latin2.xml %%DATADIR%%/charsets/latin5.xml %%DATADIR%%/charsets/latin7.xml %%DATADIR%%/charsets/macce.xml %%DATADIR%%/charsets/macroman.xml %%DATADIR%%/charsets/swe7.xml %%DATADIR%%/czech/errmsg.sys %%DATADIR%%/danish/errmsg.sys %%DATADIR%%/dictionary.txt %%DATADIR%%/dutch/errmsg.sys %%DATADIR%%/english/errmsg.sys %%DATADIR%%/estonian/errmsg.sys %%DATADIR%%/french/errmsg.sys %%DATADIR%%/german/errmsg.sys %%DATADIR%%/greek/errmsg.sys %%DATADIR%%/hungarian/errmsg.sys %%DATADIR%%/install_rewriter.sql %%DATADIR%%/italian/errmsg.sys %%DATADIR%%/japanese/errmsg.sys %%DATADIR%%/korean/errmsg.sys %%DATADIR%%/messages_to_clients.txt %%DATADIR%%/messages_to_error_log.txt %%DATADIR%%/mysql-log-rotate %%DATADIR%%/mysql.server %%DATADIR%%/mysqld_multi.server %%DATADIR%%/norwegian-ny/errmsg.sys %%DATADIR%%/norwegian/errmsg.sys %%DATADIR%%/polish/errmsg.sys %%DATADIR%%/portuguese/errmsg.sys %%DATADIR%%/romanian/errmsg.sys %%DATADIR%%/russian/errmsg.sys %%DATADIR%%/serbian/errmsg.sys %%DATADIR%%/slovak/errmsg.sys %%DATADIR%%/spanish/errmsg.sys %%DATADIR%%/swedish/errmsg.sys %%DATADIR%%/ukrainian/errmsg.sys %%DATADIR%%/uninstall_rewriter.sql %%DATADIR%%router/docs/sample_mysqlrouter.conf @dir lib/mysql/plugin/debug @dir %%DATADIR%%router/docs @sample(root,wheel,0644) %%ETCDIR%%/my.cnf.sample @dir(mysql,mysql,0750) %%ETCDIR%%/keyring @dir(mysql,mysql,0750) %%MY_SECDIR%% @dir(mysql,mysql,0750) %%MY_TMPDIR%%