MFH: r501255

databases/mariadb102-server: Security update to 10.2.24

 - CMake OPTIONS refactoring
 - Move everything to master port

Security:	4e1997e8-5de0-11e9-b95c-b499baebfeaf

Approved by:	ports-secteam (joneum)
This commit is contained in:
Bernard Spil 2019-05-11 13:19:12 +00:00
parent ffa8e6e225
commit c8996a20f8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2019Q2/; revision=501256
5 changed files with 81 additions and 153 deletions

View File

@ -11,31 +11,4 @@ FILESDIR= ${.CURDIR}/files
PATCHDIR= ${.CURDIR}/files
PLIST= ${.CURDIR}/pkg-plist
CMAKE_ARGS+= -DWITHOUT_SERVER=1 \
-DCONC_WITH_UNITTEST=0 \
-DCONC_WITH_MYSQLCOMPAT=1 \
-DWITH_WSREP=0
USE_LDCONFIG= ${PREFIX}/lib/mysql
CLIENT_ONLY= yes
post-configure:
${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
-e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
${WRKDIR}/.build/libmariadb/mariadb_config/mariadb_config.c
post-install:
${RM} ${STAGEDIR}${PREFIX}/share/aclocal/mysql.m4 \
${STAGEDIR}${PREFIX}/man/man1/aria* \
${STAGEDIR}${PREFIX}/man/man1/myisam*
${RM} -r ${STAGEDIR}${PREFIX}/share/pkgconfig \
${STAGEDIR}${DATADIR}/policy \
${STAGEDIR}${PREFIX}/include/mysql/server
# Fix https://mariadb.atlassian.net/browse/MDEV-9388
@${REINPLACE_CMD} 's/-l-pthread/-pthread/' ${STAGEDIR}${PREFIX}/bin/mysql_config
post-install-GSSAPI_NONE:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/auth_gssapi_client.so
.include "${MASTERDIR}/Makefile"

View File

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME?= mariadb
PORTVERSION= 10.2.22
PORTVERSION= 10.2.24
PORTREVISION?= 0
CATEGORIES= databases ipv6
MASTER_SITES= http://mirrors.supportex.net/${SITESDIR}/ \
@ -35,7 +35,7 @@ OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_DEFAULT= GSSAPI_BASE
.if !defined(CLIENT_ONLY)
.if ${PKGNAMESUFFIX:M*-server}
# MySQL-Server options
OPTIONS_DEFAULT+= CONNECT_EXTRA INNOBASE SPHINX SPIDER
OPTIONS_GROUP= COMPRESSION ENGINES GROONGA
@ -82,11 +82,7 @@ CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \
-DINSTALL_SQLBENCHDIR= \
-DINSTALL_SUPPORTFILESDIR="share/mysql" \
-DDEFAULT_SYSCONFDIR="${PREFIX}/etc" \
-DWITH_JEMALLOC="system" \
-DWITH_LIBWRAP=1 \
-DWITH_SSL="${OPENSSLBASE}" \
-DWITH_UNIT_TESTS=0 \
-DWITHOUT_DOCS=1 \
-DCURSES_CURSES_LIBRARY="/usr/lib/libcurses.so" \
-DCURSES_FORM_LIBRARY="/usr/lib/libform.so" \
-DCURSES_CURSES_LIBRARY="/usr/lib/libncurses.so" \
@ -99,6 +95,8 @@ CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" \
-DREMOTEIO_PLUGIN_TYPE="NO" \
-DCOMPILATION_COMMENT="FreeBSD Ports" \
-DCMAKE_PREFIX_PATH=${PREFIX}
CMAKE_ON+= WITH_LIBWRAP WITH_JEMALLOC WITHOUT_DOCS
CMAKE_OFF+= WITH_UNIT_TESTS
DATADIR= ${PREFIX}/share/mysql
@ -112,13 +110,16 @@ CONFLICTS_INSTALL= mariadb5*-${PKGNAMESUFFIX:C/^[0-9]*-//}-* \
mysqlwsrep* \
percona[0-9]*-${PKGNAMESUFFIX:C/^[0-9]*-//}-*
FASTMTX_CMAKE_ON= -DWITH_FAST_MUTEXES=1
FASTMTX_CMAKE_BOOL= WITH_FAST_MUTEXES
GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
OPTIONS_SUB= yes
.if defined(CLIENT_ONLY)
.if ${PKGNAMESUFFIX:M*-client}
# MySQL-Client part
USE_LDCONFIG= ${PREFIX}/lib/mysql
USES+= readline
GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
CMAKE_ON+= WITHOUT_SERVER CONC_WITH_MYSQLCOMPAT
CMAKE_OFF+= WITH_WSREP
.else
# MySQL-Server part
USES+= mysql:102m
@ -126,11 +127,7 @@ USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin
USE_RC_SUBR= mysql-server
USERS= mysql
GROUPS= mysql
CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" \
-DPLUGIN_AUTH_GSSAPI_CLIENT=NO \
-DCMAKE_SKIP_BUILD_RPATH:BOOL=YES \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_CLIENT=1
CMAKE_ON+= CMAKE_SKIP_BUILD_RPATH WITH_EMBEDDED_SERVER WITHOUT_EXAMPLE_STORAGE_ENGINE
.for ENGINE in ${OPTIONS_GROUP_ENGINES:NINNOBASE}
${ENGINE}_CMAKE_OFF= -DPLUGIN_${ENGINE}=NO \
@ -142,51 +139,25 @@ INNOBASE_CMAKE_OFF= -DPLUGIN_INNOBASE=NO -DWITHOUT_INNOBASE=1
CONNECT_EXTRA_LIB_DEPENDS= libodbc.so:databases/unixODBC
CONNECT_EXTRA_USES= gnome
CONNECT_EXTRA_USE= gnome=libxml2
GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI=NO -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
LZ4_CMAKE_OFF= -DGRN_WITH_LZ4=OFF -DWITH_INNODB_LZ4=OFF -DWITH_ROCKSDB_LZ4=OFF
LZ4_CMAKE_ON= -DGRN_WITH_LZ4=ON -DWITH_INNODB_LZ4=ON -DWITH_ROCKSDB_LZ4=ON
GSSAPI_NONE_CMAKE_ON+= -DPLUGIN_AUTH_GSSAPI=NO
LZ4_CMAKE_BOOL= GRN_WITH_LZ4 WITH_INNODB_LZ4 WITH_ROCKSDB_LZ4
LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4
LZO_CMAKE_OFF= -DWITH_INNODB_LZO=OFF
LZO_CMAKE_ON= -DWITH_INNODB_LZO=ON
LZO_CMAKE_BOOL= WITH_INNODB_LZO
LZO_LIB_DEPENDS= liblzo2.so:archivers/lzo2
MROONGA_IMPLIES= LZ4
MSGPACK_LIB_DEPENDS= libmsgpackc.so:devel/msgpack
OQGRAPH_LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libJudy.so:devel/judy
ROCKSDB_USES= python
SNAPPY_CMAKE_OFF= -DWITH_INNODB_SNAPPY=OFF -DWITH_ROCKSDB_snappy=OFF
SNAPPY_CMAKE_ON= -DWITH_INNODB_SNAPPY=ON -DWITH_ROCKSDB_snappy=ON
SNAPPY_CMAKE_BOOL= WITH_INNODB_SNAPPY WITH_ROCKSDB_snappy
SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy
TOKUDB_IMPLIES= SNAPPY
TOKUDB_PORTDOCS= README.md
TOKUDB_VARS= LICENSE+=PerconaFT LICENSE_COMB=multi
ZMQ_LIB_DEPENDS= libzmq.so:net/libzmq4
ZSTD_CMAKE_ON= -DWITH_ROCKSDB_ZSTD=ON
ZSTD_CMAKE_BOOL= WITH_ROCKSDB_ZSTD
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
#NOT_FOR_ARCHS= i386
#NOT_FOR_ARCHS_REASON= currently does not compile on i386, see \
# https://jira.mariadb.org/browse/MDEV-9627
post-install:
# Remove programs to avoid conflict with mariadb102-client
# These are "client" components, so there should be a switch that
# prevents them from being installed but it's unknown right now
${RM} ${STAGEDIR}${PREFIX}/bin/msql2mysql \
${STAGEDIR}${PREFIX}/bin/mysql_config \
${STAGEDIR}${PREFIX}/bin/mysql_find_rows \
${STAGEDIR}${PREFIX}/bin/mysqlaccess
${RM} -r ${STAGEDIR}/${PREFIX}/share/mysql/policy \
${STAGEDIR}/${PREFIX}/share/pkgconfig
${RM} ${STAGEDIR}${LOCALBASE}/lib/mysql/libmysqlclient*
${RM} ${STAGEDIR}${LOCALBASE}/share/doc/mysql/COPYING \
${STAGEDIR}${LOCALBASE}/share/doc/mysql/COPYING.thirdparty \
${STAGEDIR}${LOCALBASE}/share/groonga-normalizer-mysql/lgpl-2.0.txt \
${STAGEDIR}${LOCALBASE}/share/groonga/COPYING \
${STAGEDIR}${LOCALBASE}/storage/groonga/COPYING \
${STAGEDIR}${LOCALBASE}/share/mysql/mroonga/COPYING
${RM} ${STAGEDIR}${PREFIX}/include/mysql/*.h
.endif # defined(CLIENT_ONLY)
.endif # ${PKGNAMESUFFIX:M*-client}
.include <bsd.port.options.mk>
@ -216,4 +187,47 @@ post-patch:
${WRKSRC}/cmake/os/DragonFly.cmake
.endif
post-configure:
${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
-e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
${WRKDIR}/.build/libmariadb/mariadb_config/mariadb_config.c
.if ${PKGNAMESUFFIX:M*-client} # targets for -client
post-install:
${RM} ${STAGEDIR}${PREFIX}/share/aclocal/mysql.m4 \
${STAGEDIR}${PREFIX}/man/man1/aria* \
${STAGEDIR}${PREFIX}/man/man1/myisam*
${RM} -r ${STAGEDIR}${PREFIX}/share/pkgconfig \
${STAGEDIR}${DATADIR}/policy \
${STAGEDIR}${PREFIX}/include/mysql/server
# Fix https://mariadb.atlassian.net/browse/MDEV-9388
@${REINPLACE_CMD} 's/-l-pthread/-pthread/' ${STAGEDIR}${PREFIX}/bin/mysql_config
post-install-GSSAPI_NONE:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/auth_gssapi_client.so
.else # targets for -server
post-install:
# Remove programs to avoid conflict with mariadb102-client
# These are "client" components, so there should be a switch that
# prevents them from being installed but it's unknown right now
${RM} ${STAGEDIR}${PREFIX}/bin/msql2mysql \
${STAGEDIR}${PREFIX}/bin/mysql_config \
${STAGEDIR}${PREFIX}/bin/mysql_find_rows \
${STAGEDIR}${PREFIX}/bin/mysqlaccess
${RM} -r ${STAGEDIR}/${PREFIX}/share/mysql/policy \
${STAGEDIR}/${PREFIX}/share/pkgconfig \
${STAGEDIR}${DATADIR}/charsets
${RM} ${STAGEDIR}${LOCALBASE}/lib/mysql/libmysqlclient*
${RM} ${STAGEDIR}${LOCALBASE}/share/doc/mysql/COPYING \
${STAGEDIR}${LOCALBASE}/share/doc/mysql/COPYING.thirdparty \
${STAGEDIR}${LOCALBASE}/share/groonga-normalizer-mysql/lgpl-2.0.txt \
${STAGEDIR}${LOCALBASE}/share/groonga/COPYING \
${STAGEDIR}${LOCALBASE}/storage/groonga/COPYING \
${STAGEDIR}${LOCALBASE}/share/mysql/mroonga/COPYING
${RM} ${STAGEDIR}${PREFIX}/include/mysql/*.h
.endif # targets for -server
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1549889973
SHA256 (mariadb-10.2.22.tar.gz) = 42f4c54c29b7c196bd105bbf4d2ea721f869b14cb7ba436c3566e6dd2760614c
SIZE (mariadb-10.2.22.tar.gz) = 71907765
TIMESTAMP = 1557489019
SHA256 (mariadb-10.2.24.tar.gz) = 97f4d924e69f77abb2f650116785c2f5ef356230442534ebcbaadb51d9bb8bc4
SIZE (mariadb-10.2.24.tar.gz) = 71965656

View File

@ -1,77 +0,0 @@
--- client/CMakeLists.txt.orig 2019-02-09 23:24:08 UTC
+++ client/CMakeLists.txt
@@ -36,6 +36,8 @@ COPY_OPENSSL_DLLS(copy_openssl_client)
SET(CLIENT_LIB mariadbclient mysys)
ADD_DEFINITIONS(${SSL_DEFINES})
+
+IF(NOT WITHOUT_CLIENT)
MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc
${CMAKE_SOURCE_DIR}/sql/sql_string.cc)
TARGET_LINK_LIBRARIES(mysql ${CLIENT_LIB})
@@ -44,12 +46,6 @@ IF(UNIX)
SET_TARGET_PROPERTIES(mysql PROPERTIES ENABLE_EXPORTS TRUE)
ENDIF(UNIX)
-MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
-SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS")
-TARGET_LINK_LIBRARIES(mysqltest ${CLIENT_LIB} pcreposix pcre)
-SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE)
-
-
MYSQL_ADD_EXECUTABLE(mysqlcheck mysqlcheck.c)
TARGET_LINK_LIBRARIES(mysqlcheck ${CLIENT_LIB})
@@ -61,16 +57,6 @@ MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c)
SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS")
TARGET_LINK_LIBRARIES(mysqlimport ${CLIENT_LIB})
-MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server)
-TARGET_LINK_LIBRARIES(mysql_upgrade ${CLIENT_LIB})
-ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs)
-
-MYSQL_ADD_EXECUTABLE(mysqlshow mysqlshow.c)
-TARGET_LINK_LIBRARIES(mysqlshow ${CLIENT_LIB})
-
-MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
-TARGET_LINK_LIBRARIES(mysql_plugin ${CLIENT_LIB})
-
MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
TARGET_LINK_LIBRARIES(mysqlbinlog ${CLIENT_LIB})
@@ -90,12 +76,32 @@ ENDIF(WIN32)
ADD_EXECUTABLE(async_example async_example.c)
TARGET_LINK_LIBRARIES(async_example ${CLIENT_LIB})
-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example
+SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap async_example
PROPERTIES HAS_CXX TRUE)
-
-FOREACH(t mysql mysqltest mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog
+FOREACH(t mysql mysqlcheck mysqldump mysqlimport mysqlshow mysqlbinlog
mysqladmin mysqlslap async_example)
+ ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB})
+ENDFOREACH()
+
+ENDIF()
+
+MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc COMPONENT Test)
+SET_SOURCE_FILES_PROPERTIES(mysqltest.cc PROPERTIES COMPILE_FLAGS "-DTHREADS")
+TARGET_LINK_LIBRARIES(mysqltest ${CLIENT_LIB} pcre pcreposix)
+SET_TARGET_PROPERTIES(mysqltest PROPERTIES ENABLE_EXPORTS TRUE)
+
+MYSQL_ADD_EXECUTABLE(mysql_upgrade mysql_upgrade.c COMPONENT Server)
+TARGET_LINK_LIBRARIES(mysql_upgrade ${CLIENT_LIB})
+ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs)
+
+MYSQL_ADD_EXECUTABLE(mysql_plugin mysql_plugin.c)
+TARGET_LINK_LIBRARIES(mysql_plugin ${CLIENT_LIB})
+
+SET_TARGET_PROPERTIES (mysql_upgrade mysql_plugin
+PROPERTIES HAS_CXX TRUE)
+
+FOREACH(t mysqltest mysql_plugin mysql_upgrade)
ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB})
ENDFOREACH()

View File

@ -192,3 +192,21 @@ man/man8/mysqld.8.gz
%%DATADIR%%/wsrep_notify
%%MROONGA%%share/groonga-normalizer-mysql/README.md
%%MROONGA%%share/groonga/README.md
@comment bin/mariadb_config
@comment bin/mysql
@comment bin/mysqladmin
@comment bin/mysqlbinlog
@comment bin/mysqlcheck
@comment bin/mysqldump
@comment bin/mysqlimport
@comment bin/mysqlshow
@comment bin/mysqlslap
@comment include/mysql/mariadb/ma_io.h
@comment include/mysql/mysql/client_plugin.h
@comment include/mysql/mysql/plugin_auth.h
@comment include/mysql/mysql/plugin_auth_common.h
@comment lib/mysql/plugin/auth_gssapi_client.so
@comment lib/mysql/plugin/client_ed25519.so
@comment lib/mysql/plugin/mysql_clear_password.so
@comment lib/mysql/plugin/sha256_password.so
@comment libdata/pkgconfig/libmariadb.pc