Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog mysql-autotools.eclass mysql-cmake.eclass mysql-v2.eclass
Date: Thu, 01 Nov 2012 23:58:06
Message-Id: 20121101235750.3E8C121600@flycatcher.gentoo.org
1 robbat2 12/11/01 23:57:50
2
3 Modified: ChangeLog mysql-autotools.eclass mysql-cmake.eclass
4 mysql-v2.eclass
5 Log:
6 Bring in MySQL overlay eclass changes for tcmalloc, jemalloc, systemtap, readline gplv3 and pbxt static build.
7
8 Revision Changes Path
9 1.498 eclass/ChangeLog
10
11 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.498&view=markup
12 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.498&content-type=text/plain
13 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.497&r2=1.498
14
15 Index: ChangeLog
16 ===================================================================
17 RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
18 retrieving revision 1.497
19 retrieving revision 1.498
20 diff -p -w -b -B -u -u -r1.497 -r1.498
21 --- ChangeLog 1 Nov 2012 21:49:34 -0000 1.497
22 +++ ChangeLog 1 Nov 2012 23:57:50 -0000 1.498
23 @@ -1,6 +1,11 @@
24 # ChangeLog for eclass directory
25 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
26 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.497 2012/11/01 21:49:34 mgorny Exp $
27 +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.498 2012/11/01 23:57:50 robbat2 Exp $
28 +
29 + 01 Nov 2012; Robin H. Johnson <robbat2@g.o> mysql-autotools.eclass,
30 + mysql-cmake.eclass, mysql-v2.eclass:
31 + Bring in MySQL overlay eclass changes for tcmalloc, jemalloc, systemtap,
32 + readline gplv3 and pbxt static build.
33
34 01 Nov 2012; Michał Górny <mgorny@g.o> python-r1.eclass:
35 Minor documentation improvements.
36
37
38
39 1.10 eclass/mysql-autotools.eclass
40
41 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-autotools.eclass?rev=1.10&view=markup
42 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-autotools.eclass?rev=1.10&content-type=text/plain
43 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-autotools.eclass?r1=1.9&r2=1.10
44
45 Index: mysql-autotools.eclass
46 ===================================================================
47 RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-autotools.eclass,v
48 retrieving revision 1.9
49 retrieving revision 1.10
50 diff -p -w -b -B -u -u -r1.9 -r1.10
51 --- mysql-autotools.eclass 7 Jun 2012 22:06:04 -0000 1.9
52 +++ mysql-autotools.eclass 1 Nov 2012 23:57:50 -0000 1.10
53 @@ -1,6 +1,6 @@
54 # Copyright 1999-2012 Gentoo Foundation
55 # Distributed under the terms of the GNU General Public License v2
56 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-autotools.eclass,v 1.9 2012/06/07 22:06:04 zmedico Exp $
57 +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-autotools.eclass,v 1.10 2012/11/01 23:57:50 robbat2 Exp $
58
59 # @ECLASS: mysql-autotools.eclass
60 # @MAINTAINER:
61 @@ -96,6 +96,12 @@ mysql-autotools_configure_minimal() {
62 myconf="${myconf} --with-charset=latin1"
63 myconf="${myconf} --with-collation=latin1_swedish_ci"
64 fi
65 +
66 + # MariaDB requires this flag in order to link to GPLv3 readline v6 or greater
67 + # A note is added to the configure output
68 + if [[ "${PN}" == "mariadb" ]] && mysql_version_is_at_least "5.1.61" ; then
69 + myconf="${myconf} --disable-distribution"
70 + fi
71 }
72
73 # @FUNCTION: mysql-autotools_configure_common
74 @@ -397,7 +403,7 @@ mysql-autotools_src_prepare() {
75 popd >/dev/null
76 fi
77
78 - if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then
79 + if pbxt_patch_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then
80 einfo "Adding storage engine: PBXT"
81 pushd "${S}"/storage >/dev/null
82 i='pbxt'
83
84
85
86 1.10 eclass/mysql-cmake.eclass
87
88 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.10&view=markup
89 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?rev=1.10&content-type=text/plain
90 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-cmake.eclass?r1=1.9&r2=1.10
91
92 Index: mysql-cmake.eclass
93 ===================================================================
94 RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v
95 retrieving revision 1.9
96 retrieving revision 1.10
97 diff -p -w -b -B -u -u -r1.9 -r1.10
98 --- mysql-cmake.eclass 7 Jun 2012 22:06:04 -0000 1.9
99 +++ mysql-cmake.eclass 1 Nov 2012 23:57:50 -0000 1.10
100 @@ -1,6 +1,6 @@
101 # Copyright 1999-2012 Gentoo Foundation
102 # Distributed under the terms of the GNU General Public License v2
103 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.9 2012/06/07 22:06:04 zmedico Exp $
104 +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.10 2012/11/01 23:57:50 robbat2 Exp $
105
106 # @ECLASS: mysql-cmake.eclass
107 # @MAINTAINER:
108 @@ -26,30 +26,45 @@ inherit cmake-utils flag-o-matic multili
109 # Helper function to disable specific tests.
110 mysql-cmake_disable_test() {
111
112 - local rawtestname testname testsuite reason mysql_disable_file
113 + local rawtestname testname testsuite reason mysql_disabled_file mysql_disabled_dir
114 rawtestname="${1}" ; shift
115 reason="${@}"
116 ewarn "test '${rawtestname}' disabled: '${reason}'"
117
118 testsuite="${rawtestname/.*}"
119 testname="${rawtestname/*.}"
120 - mysql_disable_file="${S}/mysql-test/t/disabled.def"
121 + for mysql_disabled_file in \
122 + ${S}/mysql-test/disabled.def \
123 + ${S}/mysql-test/t/disabled.def ; do
124 + [ -f "${mysql_disabled_file}" ] && break
125 + done
126 + #mysql_disabled_file="${S}/mysql-test/t/disabled.def"
127 #einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}"
128 - echo ${testname} : ${reason} >> "${mysql_disable_file}"
129 + echo ${testname} : ${reason} >> "${mysql_disabled_file}"
130
131 - if [ -n "${testsuite}" ]; then
132 - for mysql_disable_file in \
133 + if [ -n "${testsuite}" ] && [ "${testsuite}" != "main" ]; then
134 + for mysql_disabled_file in \
135 ${S}/mysql-test/suite/${testsuite}/disabled.def \
136 ${S}/mysql-test/suite/${testsuite}/t/disabled.def \
137 FAILED ; do
138 - [ -f "${mysql_disable_file}" ] && break
139 + [ -f "${mysql_disabled_file}" ] && break
140 done
141 if [ "${mysql_disabled_file}" != "FAILED" ]; then
142 - echo "${testname} : ${reason}" >> "${mysql_disable_file}"
143 + echo "${testname} : ${reason}" >> "${mysql_disabled_file}"
144 + else
145 + for mysql_disabled_dir in \
146 + ${S}/mysql-test/suite/${testsuite} \
147 + ${S}/mysql-test/suite/${testsuite}/t \
148 + FAILED ; do
149 + [ -d "${mysql_disabled_dir}" ] && break
150 + done
151 + if [ "${mysql_disabled_dir}" != "FAILED" ]; then
152 + echo "${testname} : ${reason}" >> "${mysql_disabled_dir}/disabled.def"
153 else
154 ewarn "Could not find testsuite disabled.def location for ${rawtestname}"
155 fi
156 fi
157 + fi
158 }
159
160 # @FUNCTION: configure_cmake_locale
161 @@ -137,6 +152,14 @@ configure_cmake_standard() {
162 mycmakeargs+=( -DWITH_SSL=0 )
163 fi
164
165 + if mysql_version_is_at_least "5.5" && use jemalloc; then
166 + mycmakeargs+=( -DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' -DWITH_SAFEMALLOC=OFF )
167 + fi
168 +
169 + if mysql_version_is_at_least "5.5" && use tcmalloc; then
170 + mycmakeargs+=( -DCMAKE_EXE_LINKER_FLAGS='-ltcmalloc' -DWITH_SAFEMALLOC=OFF )
171 + fi
172 +
173 # Storage engines
174 mycmakeargs+=(
175 -DWITH_ARCHIVE_STORAGE_ENGINE=1
176 @@ -149,6 +172,18 @@ configure_cmake_standard() {
177 -DWITH_PARTITION_STORAGE_ENGINE=1
178 $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE)
179 )
180 +
181 + if pbxt_available ; then
182 + mycmakeargs+=( $(cmake-utils_use_with pbxt PBXT_STORAGE_ENGINE) )
183 + fi
184 +
185 + if [ "${PN}" == "mariadb" ]; then
186 + mycmakeargs+=(
187 + $(cmake-utils_use_with oqgraph OQGRAPH_STORAGE_ENGINE)
188 + $(cmake-utils_use_with sphinx SPHINX_STORAGE_ENGINE)
189 + $(cmake-utils_use_with extraengine FEDERATEDX_STORAGE_ENGINE)
190 + )
191 + fi
192 }
193
194 #
195 @@ -213,6 +248,13 @@ mysql-cmake_src_configure() {
196 -DWITHOUT_UNIT_TESTS=1
197 )
198
199 + # Bug 412851
200 + # MariaDB requires this flag to compile with GPLv3 readline linked
201 + # Adds a warning about redistribution to configure
202 + if [[ "${PN}" == "mariadb" ]] ; then
203 + mycmakeargs+=( -DNOT_FOR_DISTRIBUTION=1 )
204 + fi
205 +
206 configure_cmake_locale
207
208 if use minimal ; then
209
210
211
212 1.21 eclass/mysql-v2.eclass
213
214 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-v2.eclass?rev=1.21&view=markup
215 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-v2.eclass?rev=1.21&content-type=text/plain
216 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mysql-v2.eclass?r1=1.20&r2=1.21
217
218 Index: mysql-v2.eclass
219 ===================================================================
220 RCS file: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v
221 retrieving revision 1.20
222 retrieving revision 1.21
223 diff -p -w -b -B -u -u -r1.20 -r1.21
224 --- mysql-v2.eclass 1 Nov 2012 20:22:57 -0000 1.20
225 +++ mysql-v2.eclass 1 Nov 2012 23:57:50 -0000 1.21
226 @@ -1,6 +1,6 @@
227 # Copyright 1999-2012 Gentoo Foundation
228 # Distributed under the terms of the GNU General Public License v2
229 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v 1.20 2012/11/01 20:22:57 robbat2 Exp $
230 +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v 1.21 2012/11/01 23:57:50 robbat2 Exp $
231
232 # @ECLASS: mysql-v2.eclass
233 # @MAINTAINER:
234 @@ -176,6 +176,7 @@ IUSE="${IUSE} berkdb"
235 IUSE="${IUSE} +community profiling"
236
237 [[ ${PN} == "mariadb" ]] \
238 +&& mysql_check_version_range "5.1.38 to 5.3.99" \
239 && IUSE="${IUSE} libevent"
240
241 [[ ${PN} == "mariadb" ]] \
242 @@ -186,6 +187,11 @@ IUSE="${IUSE} +community profiling"
243 && mysql_version_is_at_least "5.2.5" \
244 && IUSE="${IUSE} sphinx"
245
246 +if mysql_version_is_at_least "5.5"; then
247 + REQUIRED_USE="tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )"
248 + IUSE="${IUSE} jemalloc tcmalloc"
249 +fi
250 +
251 mysql_version_is_at_least "5.5.7" \
252 && IUSE="${IUSE} systemtap"
253
254 @@ -205,6 +211,7 @@ DEPEND="
255 "
256
257 [[ ${PN} == mariadb ]] \
258 +&& mysql_check_version_range "5.1.38 to 5.3.99" \
259 && DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )"
260
261 # Having different flavours at the same time is not a good idea
262 @@ -241,7 +248,14 @@ mysql_version_is_at_least "5.5.8" \
263 && DEPEND="${DEPEND} sphinx? ( app-misc/sphinx )"
264
265 mysql_version_is_at_least "5.5.7" \
266 -&& DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )"
267 +&& DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )" \
268 +&& DEPEND="${DEPEND} kernel_linux? ( dev-libs/libaio )"
269 +
270 +mysql_version_is_at_least "5.5" \
271 +&& DEPEND="${DEPEND} jemalloc? ( dev-libs/jemalloc )"
272 +
273 +mysql_version_is_at_least "5.5" \
274 +&& DEPEND="${DEPEND} tcmalloc? ( dev-util/google-perftools )"
275
276 # dev-perl/DBD-mysql is needed by some scripts installed by MySQL
277 PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
278 @@ -495,10 +509,10 @@ mysql-v2_pkg_postinst() {
279 fi
280
281 if pbxt_available && use pbxt ; then
282 - # TODO: explain it better
283 - elog " mysql> INSTALL PLUGIN pbxt SONAME 'libpbxt.so';"
284 - elog " mysql> CREATE TABLE t1 (c1 int, c2 text) ENGINE=pbxt;"
285 - elog "if, after that, you cannot start the MySQL server,"
286 + elog "Note: PBXT is now statically built when enabled."
287 + elog ""
288 + elog "If, you previously installed as a plugin and "
289 + elog "you cannot start the MySQL server,"
290 elog "remove the ${MY_DATADIR}/mysql/plugin.* files, then"
291 elog "use the MySQL upgrade script to restore the table"
292 elog "or execute the following SQL command:"