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:" |