commit: a8f9725eab78e01ac02423767cbe45bcdf05aafe Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Wed Apr 27 18:54:59 2016 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Wed Apr 27 18:54:59 2016 +0000 URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=a8f9725e
dev-db/mysql: Version bump for 5.7.12 Package-Manager: portage-2.2.28 Manifest-Sign-Key: D1F781EFF9F4A3B6 dev-db/mysql/ChangeLog | 6 ++ dev-db/mysql/Manifest | 29 +++--- dev-db/mysql/files/5.7.12-boost.cmake | 67 ++++++++++++ dev-db/mysql/mysql-5.7.12.ebuild | 187 ++++++++++++++++++++++++++++++++++ 4 files changed, 275 insertions(+), 14 deletions(-) diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog index 399c25f..52551b5 100644 --- a/dev-db/mysql/ChangeLog +++ b/dev-db/mysql/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2 # $Id$ +*mysql-5.7.12 (27 Apr 2016) + + 27 Apr 2016; Brian Evans <grkni...@gentoo.org> +files/5.7.12-boost.cmake, + +mysql-5.7.12.ebuild: + dev-db/mysql: Version bump for 5.7.12 + *mysql-5.5.49 (12 Apr 2016) *mysql-5.6.30 (12 Apr 2016) diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index 5b7ac8b..a07e6cc 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -9,6 +9,7 @@ DIST mysql-5.5.49.tar.gz 21202609 SHA256 cd9ca49b01a76bca635f2888b9d4d30fa6583dd DIST mysql-5.6.30.tar.gz 32223818 SHA256 48464df00aad9b9dfc26c903529ddad944a7562aa28e66e98e4f3f0c35179deb SHA512 b9f5b22a0557fbdd765fd3c379395584dd35bbec2d7504eb132f734129c0d95d24dc538c9b64524870bbecb92fa2f1e95b49ccfe22531ed17ec1e754f08d491b WHIRLPOOL f56d4e9d2ac801605bb941d1a8ba4b876d838a5e3bdac2e644477e87f2e5d439594c28d0e1c1d0c45ebb38fbf4183c429dc8c53bd7aa76aeea95acd1774ca71e DIST mysql-5.7.10.tar.gz 48919371 SHA256 1ea1644884d086a23eafd8ccb04d517fbd43da3a6a06036f23c5c3a111e25c74 SHA512 4434cf651b9607ed2fffbfc8e190bcc2109c8e4b3f8d4e504199721e69332b137b37eab3ab1e91dc08420641a342e99f8d8ae8dfdea60f37f89d94a15bdbd75c WHIRLPOOL 323a41d5b9996145c9769076d636cf293ae5073e3ea3c582752d72727c1538e0cc08076b69f481b921cd06bd6505e84fb6c28ba4ffa2190e4e8204aca96c7b9f DIST mysql-5.7.11.tar.gz 49195786 SHA256 54f8c7af87d3d8084419bde2b9f0d8970b3dada0757b015981b02f35a3681f0e SHA512 b07587ff4fae6cc0e6d2511235c8e2052e50f1d8e819475f1b9fc377ad3166ff0274a683728adead61329c3213d1cd29b911808ca819e15ec4019b9747fbeae7 WHIRLPOOL 5b3abbbc25b490f345cb9fe292e784cd1f37d3da728c889c2d150c9f631de0f1c0d373fb2e22afeaa8bfa82b7b3c069e02ef81c9b1d869f69379bf2e40e5af53 +DIST mysql-5.7.12.tar.gz 50571897 SHA256 32843cb6d22ab22cd2340262b53c0d6009b5bd41b1fa4102beda19635a5c1c87 SHA512 a36013f3af9a15f8e9abec7673485ca1dd5532afcc0e2570659f510da1a1763af8de478231c5723d2395f635a6956d1500652999fedf344f7d8970265860eea5 WHIRLPOOL 9d0486ae3b8ab404f5e03829d12a477f8a990a959e32286d4920fd8bdf18689e693249be3a9f0e93e61c6a6e953846e1546620ecdeb834c4e69c45bf676a2670 DIST mysql-extras-20070105.tar.bz2 50005 SHA256 17697bf70acffd0eeefd976b5ef06dd36080273bf7e805b51a31d72f5f2c5172 SHA512 65e8fd1f9cc71083dbcfaffc331171e0d7deedbd784e416a4b629139f71cc102a84fa62c2d9e48310a18571ef7f06153911ee75c5d7bb6ba88807c287e7cbf34 WHIRLPOOL 3f858fbed6f57ffac863c29bef09a658e3d9f57cf4c6b5c62537973ae44f217344a8592ad311b14b1e7e8d475434b3c69339a8d2873c498ba712ff6f5e128cec DIST mysql-extras-20090228-2228Z.tar.bz2 254048 SHA256 03a986a5c5ae57f1436553565239613e978ae11e12834fcb275ec6457b12b6fb SHA512 b347c0894d45cff2c10e26c12d7586c335811b607cd760b48e51743e74c55ace820d2d50fac2ce72543c14b9b4d15afce336bd956ea8a820df4a651f23e3b79f WHIRLPOOL 4d89a44791ec7e95baa3822bb62a3638c86d24bcfc777b9ff5a8d26020e7401159a3c03ebda9907fcbf02589b80726f2daa5bf2498d8e6e6e33540edf9b1d551 DIST mysql-extras-20120401-2131Z.tar.bz2 1835097 SHA256 95e531799ed267c566da8b0759da78d0351d6004c7c8a45018054e287a989495 SHA512 0625e1f06e04c7841256955950dd7766a5f03d4ade2aee3c13335f08acff374933ed1fd7ddea214eaaa3531d7373ef094734f5c00530555347f058f5ec4d9d36 WHIRLPOOL f2c6e9387b38b609d3bfea83c6983c456d30a9dcf95c256a44402d4c63fa22543d55d6afa9b8dbf4238dcadf32fac3daec5031d50c8a4acf7a074d04fbede213 @@ -20,19 +21,19 @@ DIST percona-xtradb-1.0.6-10.tar.gz 1676716 SHA256 e3aa818f13cf669412e59ad194eae -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.1 -iQJ8BAEBCABmBQJXDT0TXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJXIQsDXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NkMyRTQ0RUQ5MEUzMjc1OEU3RDU1QzBE -MUY3ODFFRkY5RjRBM0I2AAoJENH3ge/59KO2xNIQAOREg/YzgD1AVW1pyx2oEeIN -DBlULjMa9UfEUO18UJRniSGmwMMvS1uP0DPI6V9M+2RkjxQxiYFX/83ExvLzZ/Mw -OUeWldkz2SOSh4cRadcYoadknxGOfhu+oqpV8B6h0S3s/TRm8+uOIuQeErWQ6Oqt -hlSDgYZzYutVBL+H4CV4F7felgHxzP5ts2f4UXweTH4gDnDUjv7xXA/29xUlreWl -rZViW/Rm3jozryrdUYl/NySmxwDrUAjf1z/cmZjNiSO1N5St+lCnn4wR6sGQHaX2 -lxVoPeY+s0x7CZnRzSY3XnSLfbpfanuyGMTrG2U3M5iH3PH9mNCpqWM6tXdavE+U -CKxKtad8SoblHLLtTEhgzJvcYm09uwcZY3cjy0pwvtNn98Q94vueglDUpik8Q+Io -waKMDdJn5Nm5oOgejWocww79WPAC/AxbeWlk8mZZCKdse35urW/8uNRou06tvAiE -fQf5+GMrXWtWRgbSfuc5Uo7lafCKvfVfKnrWFGoZMsLh7KntaWU6rAwwqnRRyR9J -VdWKknKMHdNgsEwQOrSzLAeSGZiC2PYE02lQ1CrXrXDPIKD/X5e70K3qU5yjaYCE -uKAp42KkNL8yDbGPIdZ7X/Yo+niT0WctBgf5o9jJOYtNI+PP8/yUPFJ91uzmSE+T -/z32vbLkcBtObNKmhSWc -=SlmU +MUY3ODFFRkY5RjRBM0I2AAoJENH3ge/59KO2gVUP/3IBPwZuxtL7bx6SFzWzYePU +B6Lfu6OmLOzRAQohiQtQuAkw98eWf1abv2t2aT4qcagakgjmJAKKH+UIcypwQh9f +0QMasfkjeBSw0ioQT0BlnbP2Jb1P5k6he+wOkftyOTKGGA2m6sqwPM7QUyiXglG9 +lTdbatyANEwosiG6Q9i6fOcDb1JeT6y0kFvPErN50i7xxzSwd/Cj3imTw+3XqwDc +65S/CcJYzswB+xovaLJGmELOkFre+gHCKx1dClkBhHF6SbA1kIk1yeMKRfp82czk +173epqJt6PS+tIOajCusrQ7wFlLPswcmum7rhYRMiEeDoyHl8p8ZusLCp7WfKuHQ +ITFFyphfcrdubloXynUXJ0dB4PWhSiWY8IQgVEc1nCRCr5ni7kqrUl0f6u0IMHEg +VVa0MXt0bFSkEhtS2rkUEHQVIS4k6PuO53RIZzjp1+lOU+zInnV6qZ90wK4n9Y6f +SxRgnjUeZdV8+yx9ZUpkkFYkEttnBgq7eFmiMZsvEpJtcfCRtZFT0QZl+KxvdvEl ++Ni/C3bOPzARoNNDj/S8yeEwiof/dvNk7JvJ+wIuYY7XsU1mOibbVvQvPQrO8ghD +4U+jaf0dakZU+Qq9+fzMWiAyQ2UjdAGq8Cvo3BjDyCgXV7zefav7dELl+trZgoOE +sgbCr8Zz+Oco2VQcMZvl +=EyUG -----END PGP SIGNATURE----- diff --git a/dev-db/mysql/files/5.7.12-boost.cmake b/dev-db/mysql/files/5.7.12-boost.cmake new file mode 100644 index 0000000..5a341e1 --- /dev/null +++ b/dev-db/mysql/files/5.7.12-boost.cmake @@ -0,0 +1,67 @@ +# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# We want boost 1.59.0 in order to build our boost/geometry code. +# The boost tarball is fairly big, and takes several minutes +# to download. So we recommend downloading/unpacking it +# only once, in a place visible from any bzr sandbox. +# We use only header files, so there should be no binary dependencies. + +# Downloading the tarball takes about 5 minutes here at the office. +# Here are some size/time data for unpacking the tarball on my desktop: +# size tarball-name +# 67M boost_1_55_0.tar.gz unzipping headers ~2 seconds 117M +# unzipping everything ~3 seconds 485M +# 8,8M boost_headers.tar.gz unzipping everything <1 second + +# Invoke with -DWITH_BOOST=<directory> or set WITH_BOOST in environment. +# If WITH_BOOST is *not* set, or is set to the special value "system", +# we assume that the correct version (see below) +# is installed on the compile host in the standard location. + +UNSET(WITH_BOOST) +UNSET(WITH_BOOST CACHE) + +# Update the cache, to make it visible in cmake-gui. +SET(WITH_BOOST ${WITH_BOOST} CACHE PATH + "Path to boost sources: a directory, or a tarball to be unzipped.") + +# Search for the version file, first in LOCAL_BOOST_DIR or WITH_BOOST +FIND_PATH(BOOST_INCLUDE_DIR + NAMES boost/version.hpp + NO_DEFAULT_PATH + PATHS ${LOCAL_BOOST_DIR} + ${LOCAL_BOOST_DIR}/${BOOST_PACKAGE_NAME} + ${WITH_BOOST} +) +# Then search in standard places (if not found above). +FIND_PATH(BOOST_INCLUDE_DIR + NAMES boost/version.hpp +) + +IF(NOT BOOST_INCLUDE_DIR) + MESSAGE(FATAL_ERROR "Could not find (the correct version of) boost.") +ELSE() + MESSAGE(STATUS "Found ${BOOST_INCLUDE_DIR}/boost/version.hpp ") +ENDIF() + +MESSAGE(STATUS "BOOST_INCLUDE_DIR ${BOOST_INCLUDE_DIR}") + +# Bug in sqrt(NaN) on 32bit platforms +IF(SIZEOF_VOIDP EQUAL 4) + ADD_DEFINITIONS(-DBOOST_GEOMETRY_SQRT_CHECK_FINITENESS) +ENDIF() + +SET(USING_SYSTEM_BOOST 1) diff --git a/dev-db/mysql/mysql-5.7.12.ebuild b/dev-db/mysql/mysql-5.7.12.ebuild new file mode 100644 index 0000000..73543de --- /dev/null +++ b/dev-db/mysql/mysql-5.7.12.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +MY_EXTRAS_VER="live" +MY_PV="${PV//_alpha_pre/-m}" +MY_PV="${MY_PV//_/-}" +SUBSLOT="20" + +inherit mysql-multilib-r1 +# only to make repoman happy. it is really set in the eclass +IUSE="$IUSE" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# When MY_EXTRAS is bumped, the index should be revised to exclude these. +EPATCH_EXCLUDE='' + +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + >=dev-libs/boost-1.60:= + >=app-arch/lz4-0_p131:=" +RDEPEND="${RDEPEND}" + +MY_PATCH_DIR="${WORKDIR}/mysql-extras" + +PATCHES=( + "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch + "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.7.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch + "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.7.6.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7-without-clientlibs-tools.patch +) + +# Please do not add a naive src_unpack to this ebuild +# If you want to add a single patch, copy the ebuild to an overlay +# and create your own mysql-extras tarball, looking at 000_index.txt + +src_prepare() { + mysql-multilib-r1_src_prepare + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + # Oracle's boost detection does not fit well with Gentoo + # It includes download and build on the fly and hard depending on a single version + # Replace it with a stripped down version + cp "${FILESDIR}/5.7.12-boost.cmake" "${S}/cmake/boost.cmake" || die +} + +src_configure() { + local MYSQL_CMAKE_NATIVE_DEFINES=( + -DWITH_LZ4=system + -DWITH_NUMA=OFF + ) + mysql-multilib-r1_src_configure +} + +# Official test instructions: +# USE='server embedded extraengine perl openssl static-libs' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +multilib_src_test() { + + if ! multilib_is_native_abi ; then + einfo "Server tests not available on non-native abi". + return 0; + fi + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if use server ; then + + if [[ $UID -eq 0 ]]; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + addpredict /this-dir-does-not-exist/t9.MYI + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might right out of order + mkdir -p "${T}"/var-tests{,/log} + + # create symlink for the tests to find mysql_tzinfo_to_sql + ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/" + + # These are failing in MySQL 5.5/5.6 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # funcs_1.is_triggers funcs_1.is_tables_mysql, + # funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter, + # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt, + # mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql + # perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + # + # rpl.rpl_plugin_load + # fails due to included file not listed in expected result + # appears to be poor planning + # + # main.mysqlhotcopy_archive main.mysqlhotcopy_myisam + # fails due to bad cleanup of previous tests when run in parallel + # The tool is deprecated anyway + # Bug 532288 + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_statement_insert_delayed \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + main.information_schema \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_plugin_load \ + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ + ; do + mysql-multilib-r1_disable_test "$t" "False positives in Gentoo" + done + + if ! use extraengine ; then + # bug 401673, 530766 + for t in federated.federated_plugin ; do + mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)" + done + fi + + # Run mysql tests + pushd "${TESTDIR}" + + # Set file limits higher so tests run +# ulimit -n 3000 + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ + --suite-timeout=5000 --reorder + retstatus_tests=$? + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + popd + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" + + else + einfo "Skipping server tests due to minimal build." + fi +}