Gentoo Archives: gentoo-commits

From: Brian Evans <grknight@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mysql:master commit in: dev-db/mysql/, dev-db/mysql/files/
Date: Wed, 27 Apr 2016 18:56:24
Message-Id: 1461783299.a8f9725eab78e01ac02423767cbe45bcdf05aafe.grknight@gentoo
1 commit: a8f9725eab78e01ac02423767cbe45bcdf05aafe
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Wed Apr 27 18:54:59 2016 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 27 18:54:59 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=a8f9725e
7
8 dev-db/mysql: Version bump for 5.7.12
9
10 Package-Manager: portage-2.2.28
11 Manifest-Sign-Key: D1F781EFF9F4A3B6
12
13 dev-db/mysql/ChangeLog | 6 ++
14 dev-db/mysql/Manifest | 29 +++---
15 dev-db/mysql/files/5.7.12-boost.cmake | 67 ++++++++++++
16 dev-db/mysql/mysql-5.7.12.ebuild | 187 ++++++++++++++++++++++++++++++++++
17 4 files changed, 275 insertions(+), 14 deletions(-)
18
19 diff --git a/dev-db/mysql/ChangeLog b/dev-db/mysql/ChangeLog
20 index 399c25f..52551b5 100644
21 --- a/dev-db/mysql/ChangeLog
22 +++ b/dev-db/mysql/ChangeLog
23 @@ -2,6 +2,12 @@
24 # Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
25 # $Id$
26
27 +*mysql-5.7.12 (27 Apr 2016)
28 +
29 + 27 Apr 2016; Brian Evans <grknight@g.o> +files/5.7.12-boost.cmake,
30 + +mysql-5.7.12.ebuild:
31 + dev-db/mysql: Version bump for 5.7.12
32 +
33 *mysql-5.5.49 (12 Apr 2016)
34 *mysql-5.6.30 (12 Apr 2016)
35
36
37 diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
38 index 5b7ac8b..a07e6cc 100644
39 --- a/dev-db/mysql/Manifest
40 +++ b/dev-db/mysql/Manifest
41 @@ -9,6 +9,7 @@ DIST mysql-5.5.49.tar.gz 21202609 SHA256 cd9ca49b01a76bca635f2888b9d4d30fa6583dd
42 DIST mysql-5.6.30.tar.gz 32223818 SHA256 48464df00aad9b9dfc26c903529ddad944a7562aa28e66e98e4f3f0c35179deb SHA512 b9f5b22a0557fbdd765fd3c379395584dd35bbec2d7504eb132f734129c0d95d24dc538c9b64524870bbecb92fa2f1e95b49ccfe22531ed17ec1e754f08d491b WHIRLPOOL f56d4e9d2ac801605bb941d1a8ba4b876d838a5e3bdac2e644477e87f2e5d439594c28d0e1c1d0c45ebb38fbf4183c429dc8c53bd7aa76aeea95acd1774ca71e
43 DIST mysql-5.7.10.tar.gz 48919371 SHA256 1ea1644884d086a23eafd8ccb04d517fbd43da3a6a06036f23c5c3a111e25c74 SHA512 4434cf651b9607ed2fffbfc8e190bcc2109c8e4b3f8d4e504199721e69332b137b37eab3ab1e91dc08420641a342e99f8d8ae8dfdea60f37f89d94a15bdbd75c WHIRLPOOL 323a41d5b9996145c9769076d636cf293ae5073e3ea3c582752d72727c1538e0cc08076b69f481b921cd06bd6505e84fb6c28ba4ffa2190e4e8204aca96c7b9f
44 DIST mysql-5.7.11.tar.gz 49195786 SHA256 54f8c7af87d3d8084419bde2b9f0d8970b3dada0757b015981b02f35a3681f0e SHA512 b07587ff4fae6cc0e6d2511235c8e2052e50f1d8e819475f1b9fc377ad3166ff0274a683728adead61329c3213d1cd29b911808ca819e15ec4019b9747fbeae7 WHIRLPOOL 5b3abbbc25b490f345cb9fe292e784cd1f37d3da728c889c2d150c9f631de0f1c0d373fb2e22afeaa8bfa82b7b3c069e02ef81c9b1d869f69379bf2e40e5af53
45 +DIST mysql-5.7.12.tar.gz 50571897 SHA256 32843cb6d22ab22cd2340262b53c0d6009b5bd41b1fa4102beda19635a5c1c87 SHA512 a36013f3af9a15f8e9abec7673485ca1dd5532afcc0e2570659f510da1a1763af8de478231c5723d2395f635a6956d1500652999fedf344f7d8970265860eea5 WHIRLPOOL 9d0486ae3b8ab404f5e03829d12a477f8a990a959e32286d4920fd8bdf18689e693249be3a9f0e93e61c6a6e953846e1546620ecdeb834c4e69c45bf676a2670
46 DIST mysql-extras-20070105.tar.bz2 50005 SHA256 17697bf70acffd0eeefd976b5ef06dd36080273bf7e805b51a31d72f5f2c5172 SHA512 65e8fd1f9cc71083dbcfaffc331171e0d7deedbd784e416a4b629139f71cc102a84fa62c2d9e48310a18571ef7f06153911ee75c5d7bb6ba88807c287e7cbf34 WHIRLPOOL 3f858fbed6f57ffac863c29bef09a658e3d9f57cf4c6b5c62537973ae44f217344a8592ad311b14b1e7e8d475434b3c69339a8d2873c498ba712ff6f5e128cec
47 DIST mysql-extras-20090228-2228Z.tar.bz2 254048 SHA256 03a986a5c5ae57f1436553565239613e978ae11e12834fcb275ec6457b12b6fb SHA512 b347c0894d45cff2c10e26c12d7586c335811b607cd760b48e51743e74c55ace820d2d50fac2ce72543c14b9b4d15afce336bd956ea8a820df4a651f23e3b79f WHIRLPOOL 4d89a44791ec7e95baa3822bb62a3638c86d24bcfc777b9ff5a8d26020e7401159a3c03ebda9907fcbf02589b80726f2daa5bf2498d8e6e6e33540edf9b1d551
48 DIST mysql-extras-20120401-2131Z.tar.bz2 1835097 SHA256 95e531799ed267c566da8b0759da78d0351d6004c7c8a45018054e287a989495 SHA512 0625e1f06e04c7841256955950dd7766a5f03d4ade2aee3c13335f08acff374933ed1fd7ddea214eaaa3531d7373ef094734f5c00530555347f058f5ec4d9d36 WHIRLPOOL f2c6e9387b38b609d3bfea83c6983c456d30a9dcf95c256a44402d4c63fa22543d55d6afa9b8dbf4238dcadf32fac3daec5031d50c8a4acf7a074d04fbede213
49 @@ -20,19 +21,19 @@ DIST percona-xtradb-1.0.6-10.tar.gz 1676716 SHA256 e3aa818f13cf669412e59ad194eae
50 -----BEGIN PGP SIGNATURE-----
51 Version: GnuPG v2.1
52
53 -iQJ8BAEBCABmBQJXDT0TXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
54 +iQJ8BAEBCABmBQJXIQsDXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
55 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NkMyRTQ0RUQ5MEUzMjc1OEU3RDU1QzBE
56 -MUY3ODFFRkY5RjRBM0I2AAoJENH3ge/59KO2xNIQAOREg/YzgD1AVW1pyx2oEeIN
57 -DBlULjMa9UfEUO18UJRniSGmwMMvS1uP0DPI6V9M+2RkjxQxiYFX/83ExvLzZ/Mw
58 -OUeWldkz2SOSh4cRadcYoadknxGOfhu+oqpV8B6h0S3s/TRm8+uOIuQeErWQ6Oqt
59 -hlSDgYZzYutVBL+H4CV4F7felgHxzP5ts2f4UXweTH4gDnDUjv7xXA/29xUlreWl
60 -rZViW/Rm3jozryrdUYl/NySmxwDrUAjf1z/cmZjNiSO1N5St+lCnn4wR6sGQHaX2
61 -lxVoPeY+s0x7CZnRzSY3XnSLfbpfanuyGMTrG2U3M5iH3PH9mNCpqWM6tXdavE+U
62 -CKxKtad8SoblHLLtTEhgzJvcYm09uwcZY3cjy0pwvtNn98Q94vueglDUpik8Q+Io
63 -waKMDdJn5Nm5oOgejWocww79WPAC/AxbeWlk8mZZCKdse35urW/8uNRou06tvAiE
64 -fQf5+GMrXWtWRgbSfuc5Uo7lafCKvfVfKnrWFGoZMsLh7KntaWU6rAwwqnRRyR9J
65 -VdWKknKMHdNgsEwQOrSzLAeSGZiC2PYE02lQ1CrXrXDPIKD/X5e70K3qU5yjaYCE
66 -uKAp42KkNL8yDbGPIdZ7X/Yo+niT0WctBgf5o9jJOYtNI+PP8/yUPFJ91uzmSE+T
67 -/z32vbLkcBtObNKmhSWc
68 -=SlmU
69 +MUY3ODFFRkY5RjRBM0I2AAoJENH3ge/59KO2gVUP/3IBPwZuxtL7bx6SFzWzYePU
70 +B6Lfu6OmLOzRAQohiQtQuAkw98eWf1abv2t2aT4qcagakgjmJAKKH+UIcypwQh9f
71 +0QMasfkjeBSw0ioQT0BlnbP2Jb1P5k6he+wOkftyOTKGGA2m6sqwPM7QUyiXglG9
72 +lTdbatyANEwosiG6Q9i6fOcDb1JeT6y0kFvPErN50i7xxzSwd/Cj3imTw+3XqwDc
73 +65S/CcJYzswB+xovaLJGmELOkFre+gHCKx1dClkBhHF6SbA1kIk1yeMKRfp82czk
74 +173epqJt6PS+tIOajCusrQ7wFlLPswcmum7rhYRMiEeDoyHl8p8ZusLCp7WfKuHQ
75 +ITFFyphfcrdubloXynUXJ0dB4PWhSiWY8IQgVEc1nCRCr5ni7kqrUl0f6u0IMHEg
76 +VVa0MXt0bFSkEhtS2rkUEHQVIS4k6PuO53RIZzjp1+lOU+zInnV6qZ90wK4n9Y6f
77 +SxRgnjUeZdV8+yx9ZUpkkFYkEttnBgq7eFmiMZsvEpJtcfCRtZFT0QZl+KxvdvEl
78 ++Ni/C3bOPzARoNNDj/S8yeEwiof/dvNk7JvJ+wIuYY7XsU1mOibbVvQvPQrO8ghD
79 +4U+jaf0dakZU+Qq9+fzMWiAyQ2UjdAGq8Cvo3BjDyCgXV7zefav7dELl+trZgoOE
80 +sgbCr8Zz+Oco2VQcMZvl
81 +=EyUG
82 -----END PGP SIGNATURE-----
83
84 diff --git a/dev-db/mysql/files/5.7.12-boost.cmake b/dev-db/mysql/files/5.7.12-boost.cmake
85 new file mode 100644
86 index 0000000..5a341e1
87 --- /dev/null
88 +++ b/dev-db/mysql/files/5.7.12-boost.cmake
89 @@ -0,0 +1,67 @@
90 +# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
91 +#
92 +# This program is free software; you can redistribute it and/or modify
93 +# it under the terms of the GNU General Public License as published by
94 +# the Free Software Foundation; version 2 of the License.
95 +#
96 +# This program is distributed in the hope that it will be useful,
97 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
98 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
99 +# GNU General Public License for more details.
100 +#
101 +# You should have received a copy of the GNU General Public License
102 +# along with this program; if not, write to the Free Software
103 +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
104 +
105 +# We want boost 1.59.0 in order to build our boost/geometry code.
106 +# The boost tarball is fairly big, and takes several minutes
107 +# to download. So we recommend downloading/unpacking it
108 +# only once, in a place visible from any bzr sandbox.
109 +# We use only header files, so there should be no binary dependencies.
110 +
111 +# Downloading the tarball takes about 5 minutes here at the office.
112 +# Here are some size/time data for unpacking the tarball on my desktop:
113 +# size tarball-name
114 +# 67M boost_1_55_0.tar.gz unzipping headers ~2 seconds 117M
115 +# unzipping everything ~3 seconds 485M
116 +# 8,8M boost_headers.tar.gz unzipping everything <1 second
117 +
118 +# Invoke with -DWITH_BOOST=<directory> or set WITH_BOOST in environment.
119 +# If WITH_BOOST is *not* set, or is set to the special value "system",
120 +# we assume that the correct version (see below)
121 +# is installed on the compile host in the standard location.
122 +
123 +UNSET(WITH_BOOST)
124 +UNSET(WITH_BOOST CACHE)
125 +
126 +# Update the cache, to make it visible in cmake-gui.
127 +SET(WITH_BOOST ${WITH_BOOST} CACHE PATH
128 + "Path to boost sources: a directory, or a tarball to be unzipped.")
129 +
130 +# Search for the version file, first in LOCAL_BOOST_DIR or WITH_BOOST
131 +FIND_PATH(BOOST_INCLUDE_DIR
132 + NAMES boost/version.hpp
133 + NO_DEFAULT_PATH
134 + PATHS ${LOCAL_BOOST_DIR}
135 + ${LOCAL_BOOST_DIR}/${BOOST_PACKAGE_NAME}
136 + ${WITH_BOOST}
137 +)
138 +# Then search in standard places (if not found above).
139 +FIND_PATH(BOOST_INCLUDE_DIR
140 + NAMES boost/version.hpp
141 +)
142 +
143 +IF(NOT BOOST_INCLUDE_DIR)
144 + MESSAGE(FATAL_ERROR "Could not find (the correct version of) boost.")
145 +ELSE()
146 + MESSAGE(STATUS "Found ${BOOST_INCLUDE_DIR}/boost/version.hpp ")
147 +ENDIF()
148 +
149 +MESSAGE(STATUS "BOOST_INCLUDE_DIR ${BOOST_INCLUDE_DIR}")
150 +
151 +# Bug in sqrt(NaN) on 32bit platforms
152 +IF(SIZEOF_VOIDP EQUAL 4)
153 + ADD_DEFINITIONS(-DBOOST_GEOMETRY_SQRT_CHECK_FINITENESS)
154 +ENDIF()
155 +
156 +SET(USING_SYSTEM_BOOST 1)
157
158 diff --git a/dev-db/mysql/mysql-5.7.12.ebuild b/dev-db/mysql/mysql-5.7.12.ebuild
159 new file mode 100644
160 index 0000000..73543de
161 --- /dev/null
162 +++ b/dev-db/mysql/mysql-5.7.12.ebuild
163 @@ -0,0 +1,187 @@
164 +# Copyright 1999-2016 Gentoo Foundation
165 +# Distributed under the terms of the GNU General Public License v2
166 +# $Id$
167 +
168 +EAPI="6"
169 +
170 +MY_EXTRAS_VER="live"
171 +MY_PV="${PV//_alpha_pre/-m}"
172 +MY_PV="${MY_PV//_/-}"
173 +SUBSLOT="20"
174 +
175 +inherit mysql-multilib-r1
176 +# only to make repoman happy. it is really set in the eclass
177 +IUSE="$IUSE"
178 +
179 +# REMEMBER: also update eclass/mysql*.eclass before committing!
180 +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"
181 +
182 +# When MY_EXTRAS is bumped, the index should be revised to exclude these.
183 +EPATCH_EXCLUDE=''
184 +
185 +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
186 + >=dev-libs/boost-1.60:=
187 + >=app-arch/lz4-0_p131:="
188 +RDEPEND="${RDEPEND}"
189 +
190 +MY_PATCH_DIR="${WORKDIR}/mysql-extras"
191 +
192 +PATCHES=(
193 + "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
194 + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
195 + "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.7.patch
196 + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
197 + "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.7.6.patch
198 + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
199 + "${MY_PATCH_DIR}"/20018_all_mysql-5.7-without-clientlibs-tools.patch
200 +)
201 +
202 +# Please do not add a naive src_unpack to this ebuild
203 +# If you want to add a single patch, copy the ebuild to an overlay
204 +# and create your own mysql-extras tarball, looking at 000_index.txt
205 +
206 +src_prepare() {
207 + mysql-multilib-r1_src_prepare
208 + if use libressl ; then
209 + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
210 + "${S}/cmake/ssl.cmake" || die
211 + fi
212 + # Oracle's boost detection does not fit well with Gentoo
213 + # It includes download and build on the fly and hard depending on a single version
214 + # Replace it with a stripped down version
215 + cp "${FILESDIR}/5.7.12-boost.cmake" "${S}/cmake/boost.cmake" || die
216 +}
217 +
218 +src_configure() {
219 + local MYSQL_CMAKE_NATIVE_DEFINES=(
220 + -DWITH_LZ4=system
221 + -DWITH_NUMA=OFF
222 + )
223 + mysql-multilib-r1_src_configure
224 +}
225 +
226 +# Official test instructions:
227 +# USE='server embedded extraengine perl openssl static-libs' \
228 +# FEATURES='test userpriv -usersandbox' \
229 +# ebuild mysql-X.X.XX.ebuild \
230 +# digest clean package
231 +multilib_src_test() {
232 +
233 + if ! multilib_is_native_abi ; then
234 + einfo "Server tests not available on non-native abi".
235 + return 0;
236 + fi
237 +
238 + local TESTDIR="${BUILD_DIR}/mysql-test"
239 + local retstatus_unit
240 + local retstatus_tests
241 +
242 + # Bug #213475 - MySQL _will_ object strenously if your machine is named
243 + # localhost. Also causes weird failures.
244 + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
245 +
246 + if use server ; then
247 +
248 + if [[ $UID -eq 0 ]]; then
249 + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
250 + fi
251 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
252 +
253 + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
254 + addpredict /this-dir-does-not-exist/t9.MYI
255 +
256 + # Run CTest (test-units)
257 + cmake-utils_src_test
258 + retstatus_unit=$?
259 + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
260 +
261 + # Ensure that parallel runs don't die
262 + export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
263 + # Enable parallel testing, auto will try to detect number of cores
264 + # You may set this by hand.
265 + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
266 + export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
267 +
268 + # create directories because mysqladmin might right out of order
269 + mkdir -p "${T}"/var-tests{,/log}
270 +
271 + # create symlink for the tests to find mysql_tzinfo_to_sql
272 + ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
273 +
274 + # These are failing in MySQL 5.5/5.6 for now and are believed to be
275 + # false positives:
276 + #
277 + # main.information_schema, binlog.binlog_statement_insert_delayed,
278 + # funcs_1.is_triggers funcs_1.is_tables_mysql,
279 + # funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
280 + # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
281 + # mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
282 + # perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
283 + # fails due to USE=-latin1 / utf8 default
284 + #
285 + # main.mysql_client_test:
286 + # segfaults at random under Portage only, suspect resource limits.
287 + #
288 + # rpl.rpl_plugin_load
289 + # fails due to included file not listed in expected result
290 + # appears to be poor planning
291 + #
292 + # main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
293 + # fails due to bad cleanup of previous tests when run in parallel
294 + # The tool is deprecated anyway
295 + # Bug 532288
296 + for t in \
297 + binlog.binlog_mysqlbinlog_filter \
298 + binlog.binlog_statement_insert_delayed \
299 + funcs_1.is_columns_mysql \
300 + funcs_1.is_tables_mysql \
301 + funcs_1.is_triggers \
302 + main.information_schema \
303 + main.mysql_client_test \
304 + main.mysqld--help-notwin \
305 + perfschema.binlog_edge_mix \
306 + perfschema.binlog_edge_stmt \
307 + rpl.rpl_plugin_load \
308 + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
309 + ; do
310 + mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
311 + done
312 +
313 + if ! use extraengine ; then
314 + # bug 401673, 530766
315 + for t in federated.federated_plugin ; do
316 + mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
317 + done
318 + fi
319 +
320 + # Run mysql tests
321 + pushd "${TESTDIR}"
322 +
323 + # Set file limits higher so tests run
324 +# ulimit -n 3000
325 +
326 + # run mysql-test tests
327 + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
328 + --suite-timeout=5000 --reorder
329 + retstatus_tests=$?
330 + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
331 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
332 +
333 + popd
334 +
335 + # Cleanup is important for these testcases.
336 + pkill -9 -f "${S}/ndb" 2>/dev/null
337 + pkill -9 -f "${S}/sql" 2>/dev/null
338 +
339 + failures=""
340 + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
341 + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
342 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
343 +
344 + [[ -z "$failures" ]] || die "Test failures: $failures"
345 + einfo "Tests successfully completed"
346 +
347 + else
348 + einfo "Skipping server tests due to minimal build."
349 + fi
350 +}