databases/mysql80-{client, server}: Update to latest release 8.0.17

This update includes security fixes on issues that are
mentioned on upstream critical patch report.
Further info:
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html#AppendixMSQL

Delete upstream-merged patches
Change other local-patches according upstream changes

PR:		239272
Reported by:	Markus Kohlmeyer <rootservice@gmail.com>
Sponsored by:	EuroBSDCon 2019 DevSummit
This commit is contained in:
Mahdi Mokhtari
2019-09-19 12:33:40 +00:00
parent 4de0a109b6
commit aefc391f38
20 changed files with 94 additions and 108 deletions

View File

@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= mysql
PORTREVISION= 2
PORTREVISION= 0
PKGNAMESUFFIX= 80-client
COMMENT= Multithreaded SQL database (client)

View File

@@ -13,17 +13,18 @@
SET(MYSQLTEST_SRC
mysqltest/error_names.cc
@@ -48,9 +50,11 @@
@@ -49,10 +51,12 @@
mysqltest/utils.cc
)
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc ${MYSQLTEST_SRC} COMPONENT Test)
SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE)
TARGET_LINK_LIBRARIES(mysqltest mysqlclient)
ADD_DEPENDENCIES(mysqltest GenError GenClientError)
+ENDIF()
ADD_CONVENIENCE_LIBRARY(mysqlcheck_core check/mysqlcheck_core.cc)
ADD_LIBRARY(mysqlcheck_core STATIC check/mysqlcheck_core.cc)
TARGET_LINK_LIBRARIES(mysqlcheck_core mysqlclient)
@@ -108,8 +112,10 @@
MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)

View File

@@ -1,8 +1,8 @@
--- cmake/os/FreeBSD.cmake.orig 2018-10-04 05:48:22 UTC
--- cmake/os/FreeBSD.cmake.orig 2019-06-25 10:23:30 UTC
+++ cmake/os/FreeBSD.cmake
@@ -30,12 +30,26 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
@@ -45,8 +45,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
MESSAGE(FATAL_ERROR
"GCC 5.3 or newer is required (-dumpversion says ${GCC_VERSION})")
ENDIF()
- ELSE()
- MESSAGE(FATAL_ERROR "Unsupported compiler!")
@@ -22,11 +22,4 @@
+ ENDIF()
ENDIF()
ENDIF()
# Should not be needed any more, but kept for easy resurrection if needed
# #Legacy option, maybe not needed anymore , taken as is from autotools build
# ADD_DEFINITIONS(-DNET_RETRY_COUNT=1000000)
-
+# For GCC maybe it's also good idea to use
+# ADD_DEFINITIONS(-D_GNU_SOURCE)
+

View File

@@ -16,8 +16,8 @@
COMPONENT SharedLibraries)
IF(UNIX)
# libtool compatability
- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
+ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly" OR APPLE)
- IF(FREEBSD OR APPLE)
+ IF(FREEBSD OR APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
ELSE()
SET(OS_SHARED_LIB_VERSION

View File

@@ -1,10 +1,11 @@
--- man/CMakeLists.txt.orig 2018-12-20 20:14:03 UTC
--- man/CMakeLists.txt.orig 2019-06-25 10:23:30 UTC
+++ man/CMakeLists.txt
@@ -22,9 +22,6 @@
@@ -22,10 +22,6 @@
# Copy man pages
FILE(GLOB MAN1 *.1)
-FILE(GLOB MAN1_NDB ndb*.1)
-FILE(GLOB MAN1_ROUTER mysqlrouter*.1)
-FILE(GLOB MAN8 *.8)
-FILE(GLOB MAN8_NDB ndb*.8)
IF(MAN1_NDB AND NOT WITH_NDBCLUSTER)

View File

@@ -1,5 +1,5 @@
--- mysys_ssl/my_default.cc.orig 2016-08-25 11:52:06 UTC
+++ mysys_ssl/my_default.cc
--- mysys/my_default.cc.orig 2016-08-25 11:52:06 UTC
+++ mysys/my_default.cc
@@ -114,7 +114,7 @@ static my_bool defaults_already_read= FA
/* Which directories are searched for options (and in which order) */

View File

@@ -1,5 +1,5 @@
--- mysys_ssl/my_md5.cc.orig 2018-04-08 06:44:49 UTC
+++ mysys_ssl/my_md5.cc
--- mysys/my_md5.cc.orig 2018-04-08 06:44:49 UTC
+++ mysys/my_md5.cc
@@ -56,7 +56,7 @@ static void my_md5_hash(unsigned char *d
int compute_md5_hash(char *digest, const char *buf, int len) {
int retval = 0;

View File

@@ -1,23 +1,27 @@
--- support-files/CMakeLists.txt.orig 2017-06-27 11:44:29 UTC
+++ support-files/CMakeLists.txt
@@ -46,6 +46,7 @@ IF(UNIX)
ELSE()
SET (PIDOF "pgrep -d' ' -f")
ENDIF()
+IF (FALSE)
SET(prefix ${CMAKE_INSTALL_PREFIX})
FOREACH(script mysqld_multi.server mysql-log-rotate)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh
@@ -63,9 +64,12 @@
DESTINATION ${inst_location} COMPONENT ${comp}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
ENDFOREACH()
+ENDIF()
@@ -29,9 +29,11 @@
SET(localstatedir "${MYSQL_DATADIR}")
+IF(FALSE)
SET(prefix "${CMAKE_INSTALL_PREFIX}")
SET(bindir ${prefix}/${INSTALL_BINDIR})
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
+ENDIF()
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
+IF (FALSE)
SET(bindir ${prefix}/${INSTALL_BINDIR})
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
IF(LINUX)
SET (PIDOF "pidof")
@@ -39,6 +41,7 @@
SET (PIDOF "pgrep -d' ' -f")
ENDIF()
+IF(FALSE)
FOREACH(script
mysql.server
mysqld_multi.server
@@ -54,3 +57,4 @@
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
ENDFOREACH()
+ENDIF()

View File

@@ -16,11 +16,9 @@
MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.cc)
TARGET_LINK_LIBRARIES(my_print_defaults mysys mysys_ssl)
SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
@@ -169,6 +171,7 @@ IF(WITH_INNOBASE_STORAGE_ENGINE)
@@ -168,4 +170,5 @@ IF(WITH_INNOBASE_STORAGE_ENGINE)
mysys innodb_zipdecompress ${LZ4_LIBRARY})
ADD_DEPENDENCIES(ibd2sdi GenError)
ENDIF()
+ENDIF()
# In published release builds on Solaris, we need to bundle gcc source.
# PB2 will take care of putting it in extra/ when needed
ENDIF()

View File

@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME?= mysql
PORTVERSION= 8.0.16
PORTREVISION?= 4
PORTVERSION= 8.0.17
PORTREVISION?= 0
CATEGORIES= databases ipv6
MASTER_SITES= MYSQL/MySQL-8.0
PKGNAMESUFFIX?= 80-server
@@ -18,7 +18,7 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX}
SLAVEDIRS= databases/mysql80-client
USES= bison:build cmake:noninja compiler:c++14-lang cpe \
libedit localbase perl5 shebangfix ssl
libedit localbase perl5 pkgconfig shebangfix ssl
USE_PERL5= run
@@ -30,7 +30,11 @@ LIB_DEPENDS+= libevent.so:devel/libevent \
libicutu.so:devel/icu \
liblz4.so:archivers/liblz4 \
libre2.so:devel/re2 \
libprotobuf.so:devel/protobuf
libprotobuf.so:devel/protobuf \
libunwind.so:devel/libunwind
BUILD_DEPENDS= liblz4>0:archivers/liblz4 \
libunwind>0:devel/libunwind
CMAKE_BUILD_TYPE= Release
CFLAGS+= -fPIC
@@ -56,14 +60,15 @@ CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
-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_ZLIB=system \
-DWITH_ICU=system \
-DWITH_RE2=system \
-DWITH_PROTOBUF=system \
-DBUILD_BUNDLED_ZLIB=0 \
-DBUILD_BUNDLED_LZ4=0 \
-DINSTALL_MYSQLTESTDIR=0
SHEBANG_FILES= scripts/*.pl* scripts/*.sh

View File

@@ -1,3 +1,3 @@
TIMESTAMP = 1556566256
SHA256 (mysql-boost-8.0.16.tar.gz) = 7c936aa7bc9f4c462b24bade2e9abe1b3a6869ea19c46e78ec0a9b2a87a3d17f
SIZE (mysql-boost-8.0.16.tar.gz) = 145939027
TIMESTAMP = 1565048626
SHA256 (mysql-boost-8.0.17.tar.gz) = d44231316ce30a1d1189125ceed86d3388409778e17d0e3b9a060f532463e29a
SIZE (mysql-boost-8.0.17.tar.gz) = 189322239

View File

@@ -46,7 +46,7 @@
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys)
+ENDIF()
# "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".

View File

@@ -1,31 +0,0 @@
--- cmake/os/FreeBSD.cmake.orig 2018-10-04 05:48:22 UTC
+++ cmake/os/FreeBSD.cmake
@@ -30,6 +30,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!")
ENDIF()
+ CHECK_C_SOURCE_RUNS("
+ int main()
+ {
+ return (__clang_major__ >= 4);
+ }" I386_ATOMIC_BUILTINS)
+ IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS))
+ SET(HAVE_GCC_ATOMIC_BUILTINS CACHE INTERNAL "")
+ ENDIF()
+ ELSEIF(CMAKE_COMPILER_IS_GNUCC)
+ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
+ OUTPUT_VARIABLE GCC_VERSION)
+ IF(GCC_VERSION VERSION_LESS 4.4)
+ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!")
+ ENDIF()
ELSE()
MESSAGE(FATAL_ERROR "Unsupported compiler!")
ENDIF()
@@ -38,4 +52,6 @@ ENDIF()
# Should not be needed any more, but kept for easy resurrection if needed
# #Legacy option, maybe not needed anymore , taken as is from autotools build
# ADD_DEFINITIONS(-DNET_RETRY_COUNT=1000000)
-
+# For GCC maybe it's also good idea to use
+# ADD_DEFINITIONS(-D_GNU_SOURCE)
+

View File

@@ -12,7 +12,7 @@
@@ -280,9 +280,10 @@ IF(NOT DISABLE_SHARED)
# and link them together into shared library.
MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} ${CLIENT_API_NONBLOCKING_FUNCTIONS}
- COMPONENT SharedLibraries)
+ COMPONENT SharedLibraries SKIP_INSTALL)
TARGET_LINK_LIBRARIES(libmysql PRIVATE ${LIBS_TO_LINK})

View File

@@ -1,9 +1,13 @@
--- libservices/CMakeLists.txt.orig 2016-03-28 18:06:12 UTC
--- libservices/CMakeLists.txt.orig 2019-06-25 10:23:30 UTC
+++ libservices/CMakeLists.txt
@@ -35,4 +35,6 @@ SET(MYSQLSERVICES_SOURCES
mysql_keyring_service.c)
@@ -45,7 +45,9 @@ SET(MYSQLSERVICES_SOURCES
plugin_registry_service.c)
ADD_CONVENIENCE_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
ADD_LIBRARY(mysqlservices STATIC ${MYSQLSERVICES_SOURCES})
+IF(FALSE)
INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
IF(INSTALL_STATIC_LIBRARIES)
INSTALL(TARGETS mysqlservices
DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
+ENDIF()
ENDIF()

View File

@@ -1,10 +1,14 @@
--- man/CMakeLists.txt.orig 2018-12-20 20:14:03 UTC
--- man/CMakeLists.txt.orig 2019-06-25 10:23:30 UTC
+++ man/CMakeLists.txt
@@ -22,7 +22,6 @@
@@ -21,9 +21,8 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Copy man pages
FILE(GLOB MAN1 *.1)
-FILE(GLOB MAN1 *.1)
-FILE(GLOB MAN1_NDB ndb*.1)
-FILE(GLOB MAN1_ROUTER mysqlrouter*.1)
+FILE(GLOB MAN1 *.1)
+FILE(GLOB MAN1_ROUTER mysqlroutermy_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1)
FILE(GLOB MAN8 *.8)
FILE(GLOB MAN8_NDB ndb*.8)
IF(MAN1_NDB AND NOT WITH_NDBCLUSTER)

View File

@@ -1,5 +1,5 @@
--- mysys_ssl/my_default.cc.orig 2016-08-25 11:52:06 UTC
+++ mysys_ssl/my_default.cc
--- mysys/my_default.cc.orig 2016-08-25 11:52:06 UTC
+++ mysys/my_default.cc
@@ -114,7 +114,7 @@ static my_bool defaults_already_read= FA
/* Which directories are searched for options (and in which order) */

View File

@@ -1,5 +1,5 @@
--- mysys_ssl/my_md5.cc.orig 2018-04-08 06:44:49 UTC
+++ mysys_ssl/my_md5.cc
--- mysys/my_md5.cc.orig 2018-04-08 06:44:49 UTC
+++ mysys/my_md5.cc
@@ -56,7 +56,7 @@ static void my_md5_hash(unsigned char *d
int compute_md5_hash(char *digest, const char *buf, int len) {
int retval = 0;

View File

@@ -1,12 +1,13 @@
--- support-files/CMakeLists.txt.orig 2016-03-28 18:06:12 UTC
--- support-files/CMakeLists.txt.orig 2019-06-25 10:23:30 UTC
+++ support-files/CMakeLists.txt
@@ -69,7 +69,9 @@ IF(UNIX)
INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
ENDIF()
@@ -24,8 +24,10 @@ IF(NOT UNIX)
RETURN()
ENDIF()
+IF(FALSE)
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
INSTALL(FILES mysql.m4
DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
+ENDIF()
SET(bindir ${prefix}/${INSTALL_BINDIR})
SET(sbindir ${prefix}/${INSTALL_SBINDIR})
SET(localstatedir "${MYSQL_DATADIR}")

View File

@@ -33,6 +33,10 @@ lib/mysql/mysqlrouter/http_server.so
lib/mysql/mysqlrouter/keepalive.so
lib/mysql/mysqlrouter/metadata_cache.so
lib/mysql/mysqlrouter/mysql_protocol.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/routing.so
lib/mysql/plugin/adt_null.so
lib/mysql/plugin/auth.so
@@ -51,6 +55,7 @@ lib/mysql/plugin/component_pfs_example_component_population.so
lib/mysql/plugin/component_test_audit_api_message.so
lib/mysql/plugin/component_test_backup_lock_service.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_pfs_notification.so
lib/mysql/plugin/component_test_pfs_resource_group.so
@@ -112,6 +117,7 @@ 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