Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql/
Date: Sat, 15 Sep 2018 10:28:29
Message-Id: 1537007297.552fec9953aec3a96a3db283c5d97ae5c8f947c9.mgorny@gentoo
1 commit: 552fec9953aec3a96a3db283c5d97ae5c8f947c9
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 15 10:25:17 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 15 10:28:17 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=552fec99
7
8 dev-db/mysql: Revert "Drop old version of 5.5"
9
10 Restore the old version since 5.5.61 is apparently missing USE flags
11 required by virtual/mysql.
12
13 Reverts: b2af5bc5c86860caaa07704c800e2fe24875ffbb
14
15 dev-db/mysql/Manifest | 1 +
16 dev-db/mysql/metadata.xml | 9 +++
17 dev-db/mysql/mysql-5.5.60.ebuild | 133 +++++++++++++++++++++++++++++++++++++++
18 3 files changed, 143 insertions(+)
19
20 diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
21 index 6a1d0831051..07571be616a 100644
22 --- a/dev-db/mysql/Manifest
23 +++ b/dev-db/mysql/Manifest
24 @@ -1,3 +1,4 @@
25 +DIST mysql-5.5.60.tar.gz 21025041 BLAKE2B c4010c64b30ca72aff011053189981cc0676806ed9f18a0ac584e07f71e1f7fe062a3ca78db6f109a2b96d324d778b239880f96852fdc058892b09d0d09e740b SHA512 734395f3ce2c12e7703fe48d5bb2ce85ff8d7f04ae51cbe2d04a46b72b9689f804e5b498ae0b4722b0c098e2eed43d4f93b622964059525e6d9d14a47d55f775
26 DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49
27 DIST mysql-5.6.38.tar.gz 32197625 BLAKE2B 5edd6d05e562568d2418edd81c6822b397103013e92beacc00964401c6df67f8a934f05b57c6679aa25a49ef6db2e4a06056f3f1850e0f2afe4de895c7b8f686 SHA512 8144aec822f053fbdfa11ae542e96d3e7da93552b60ed131f041ec4832f48c95025b322340a2e90a82c18b6ee6bfd708f209735f82e37532198245aad697b93d
28 DIST mysql-5.6.39.tar.gz 32110958 BLAKE2B 2f279c6745bc995c860bb4f2868409136e112cc8b9fb0c04fa7673bb6d5612f3ef6d3462666de736d6e7fe5439275ab49908a6609175d1cb8c096d5db5ecb59c SHA512 e1e60854c82d71f9600bf611df964f441815d9d0f896134110a749b29fe340fa216d7c89f4da63d492929565f19a2502463549b8c8c038c658e0be8409a3ffb5
29
30 diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml
31 index 64ee7730fb5..82e3cca3197 100644
32 --- a/dev-db/mysql/metadata.xml
33 +++ b/dev-db/mysql/metadata.xml
34 @@ -5,14 +5,23 @@
35 <email>mysql-bugs@g.o</email>
36 <name>MySQL</name>
37 </maintainer>
38 +<!--
39 +Please note that this list is shared between the following packages:
40 +dev-db/mysql
41 +dev-db/mariadb
42 +-->
43 <use>
44 <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
45 + <flag name="cluster">Add support for NDB clustering (deprecated)</flag>
46 + <flag name="community">Enables the community features from upstream.</flag>
47 <flag name="embedded">Build embedded server (libmysqld)</flag>
48 <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
49 <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
50 <flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
51 <flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
52 <flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
53 + <flag name="max-idx-128">Raise the max index per table limit from 64 to 128</flag>
54 + <flag name="minimal">Install client programs only, no server</flag>
55 <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
56 <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
57 <flag name="server">Build the server program</flag>
58
59 diff --git a/dev-db/mysql/mysql-5.5.60.ebuild b/dev-db/mysql/mysql-5.5.60.ebuild
60 new file mode 100644
61 index 00000000000..881a4ffb831
62 --- /dev/null
63 +++ b/dev-db/mysql/mysql-5.5.60.ebuild
64 @@ -0,0 +1,133 @@
65 +# Copyright 1999-2018 Gentoo Foundation
66 +# Distributed under the terms of the GNU General Public License v2
67 +
68 +EAPI="5"
69 +
70 +MY_EXTRAS_VER="20180214-0024Z"
71 +MY_PV="${PV//_alpha_pre/-m}"
72 +MY_PV="${MY_PV//_/-}"
73 +
74 +# Build type
75 +BUILD="cmake"
76 +#fails to build with ninja
77 +CMAKE_MAKEFILE_GENERATOR=emake
78 +
79 +inherit toolchain-funcs mysql-v2
80 +# only to make repoman happy. it is really set in the eclass
81 +IUSE="$IUSE"
82 +
83 +# Define the mysql-extras source
84 +EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
85 +
86 +# REMEMBER: also update eclass/mysql*.eclass before committing!
87 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
88 +
89 +# When MY_EXTRAS is bumped, the index should be revised to exclude these.
90 +EPATCH_EXCLUDE=''
91 +
92 +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
93 +RDEPEND="${RDEPEND}"
94 +
95 +SLOT="0/18"
96 +
97 +# Please do not add a naive src_unpack to this ebuild
98 +# If you want to add a single patch, copy the ebuild to an overlay
99 +# and create your own mysql-extras tarball, looking at 000_index.txt
100 +
101 +# Official test instructions:
102 +# USE='extraengine perl ssl static-libs community' \
103 +# FEATURES='test userpriv -usersandbox' \
104 +# ebuild mysql-X.X.XX.ebuild \
105 +# digest clean package
106 +src_test() {
107 +
108 + local TESTDIR="${BUILD_DIR}/mysql-test"
109 + local retstatus_unit
110 + local retstatus_tests
111 +
112 + # Bug #213475 - MySQL _will_ object strenously if your machine is named
113 + # localhost. Also causes weird failures.
114 + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
115 +
116 + if ! use "minimal" ; then
117 +
118 + if [[ $UID -eq 0 ]]; then
119 + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
120 + fi
121 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
122 +
123 + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
124 + addpredict /this-dir-does-not-exist/t9.MYI
125 +
126 + # Run CTest (test-units)
127 + cmake-utils_src_test
128 + retstatus_unit=$?
129 + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
130 +
131 + # Ensure that parallel runs don't die
132 + export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
133 + # Enable parallel testing, auto will try to detect number of cores
134 + # You may set this by hand.
135 + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
136 + export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
137 +
138 + # create directories because mysqladmin might right out of order
139 + mkdir -p "${T}"/var-tests{,/log}
140 +
141 + # create symlink for the tests to find mysql_tzinfo_to_sql
142 + ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/"
143 +
144 + # These are failing in MySQL 5.5 for now and are believed to be
145 + # false positives:
146 + #
147 + # main.information_schema, binlog.binlog_statement_insert_delayed,
148 + # main.mysqld--help-notwin
149 + # fails due to USE=-latin1 / utf8 default
150 + #
151 + # main.mysql_client_test:
152 + # segfaults at random under Portage only, suspect resource limits.
153 + #
154 + # main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
155 + # fails due to bad cleanup of previous tests when run in parallel
156 + # The tool is deprecated anyway
157 + # Bug 532288
158 +
159 + for t in main.mysql_client_test main.openssl_1 \
160 + binlog.binlog_statement_insert_delayed main.information_schema \
161 + main.mysqld--help-notwin main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
162 + mysql-v2_disable_test "$t" "False positives in Gentoo"
163 + done
164 +
165 + for t in main.mysql main.mysql_upgrade ; do
166 + mysql-v2_disable_test "$t" "Test $t broken upstream - error return value not updated"
167 + done
168 +
169 + # Run mysql tests
170 + pushd "${TESTDIR}"
171 +
172 + # run mysql-test tests
173 + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
174 + --testcase-timeout=30 --reorder
175 + retstatus_tests=$?
176 + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
177 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
178 +
179 + popd
180 +
181 + # Cleanup is important for these testcases.
182 + pkill -9 -f "${S}/ndb" 2>/dev/null
183 + pkill -9 -f "${S}/sql" 2>/dev/null
184 +
185 + failures=""
186 + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
187 + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
188 + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
189 +
190 + [[ -z "$failures" ]] || die "Test failures: $failures"
191 + einfo "Tests successfully completed"
192 +
193 + else
194 +
195 + einfo "Skipping server tests due to minimal build."
196 + fi
197 +}