1 |
commit: 6c9eeaa67562d2919a0b327a519c1f297ffa0e49 |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 19 01:28:36 2017 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 19 01:28:36 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=6c9eeaa6 |
7 |
|
8 |
dev-db/mariadb: Version bump |
9 |
|
10 |
Package-Manager: Portage-2.3.6, Repoman-2.3.2 |
11 |
Manifest-Sign-Key: 0xD1F781EFF9F4A3B6 |
12 |
|
13 |
dev-db/mariadb/Manifest | 28 +-- |
14 |
dev-db/mariadb/mariadb-10.2.7.ebuild | 398 +++++++++++++++++++++++++++++++++++ |
15 |
2 files changed, 413 insertions(+), 13 deletions(-) |
16 |
|
17 |
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest |
18 |
index 3c29014..b1fc702 100644 |
19 |
--- a/dev-db/mariadb/Manifest |
20 |
+++ b/dev-db/mariadb/Manifest |
21 |
@@ -2,6 +2,7 @@ |
22 |
Hash: SHA256 |
23 |
|
24 |
DIST mariadb-10.2.6.tar.gz 67599197 SHA256 c385c76e40d6e5f0577eba021805da5f494a30c9ef51884baefe206d5658a2e5 SHA512 142628085f42ef15ceef6aca5e47ba56cc38cbfc0ac4f35f6b37512c14a60430ef4805e54fd51c47e101b7692781e174426bdb49cae6807c4c18cc3d876f8732 WHIRLPOOL e5920a6f0833fa39b706b067037fb6e432e77ba4e7beee51300e408c92cf5962db91013b1958e649947006f0ac2775c70996d9c7f0dcd98d3b40e87ae5abc049 |
25 |
+DIST mariadb-10.2.7.tar.gz 67669554 SHA256 225ba1bbc48325ad38a9f433ff99da4641028f42404a29591cc370e4a676c0bc SHA512 fa595acc0f5c9c62077db000f1721af79628994c08e82b2eb95d265e3c556e80942c487fc1b91299c382becd71f21a0a117ca93d7428752f436ed83683a4f4cd WHIRLPOOL d76d584924dac41fd787c1a02f79de90ae5334b217b66deb59756490a8c42b801fddac425542e371d68b04fa462a3f438626896749a1c12be70e9d22d857771e |
26 |
DIST mariadb-5.1.67.tar.gz 25022999 SHA256 33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8 SHA512 de4a531027860c4226ec5e023b6f8573c2eb723bacaeb14279b9609ed033dcb58fc090aef3d9babcd4a4d0817ddf6ef75589c78f63075072d31ad0b7f7c17d7d WHIRLPOOL 22696d27c3a510396c4b86db5f5a4b39bbcde89285a8460b175ef7c40b3b7541fc8f205c0b96da7f94504a7fd14bfe02efb45204efda524a2426cd25e08162ff |
27 |
DIST mariadb-5.2.14.tar.gz 25469828 SHA256 8ab3db0535ce8728b03a34799da2334c18cff467e01d122293f23aad20613fe5 SHA512 b0aded450355861bf01604ac5bd0012d0d06a699bc83017cdb6b8749ed161aca9fedb733301aab991c521b21f3c8b2fea4867a2fd038379475e720782c02e869 WHIRLPOOL 8c2dd7ee0c1df5696d6b9f5c4387b7f755258a710ac088559f0f9779b27d18e30f32de0d4212015a15b6a83de2abbdd5c4ec811fa87fe2aec547809dc0970607 |
28 |
DIST mariadb-5.3.12.tar.gz 26880808 SHA256 83a4598117cadde2bd7eac4c1398edbc86cc3aa8d3824bbee864d4b568a3a30c SHA512 d53ea48745dad5693fd6a1fd5cf502852f12f8236b8a1fb7f81ad647301d2fd08d4f2944c74de580d0a4136d6c8b49f257124fa1b234ba8f2338f2047435ef94 WHIRLPOOL b9caf1b241262b3b25728769116a94b480ae404ed3d49c8afd6eb4ad6071552e436e4b9483e7f5d0113bc3127eaf04ceaa80d455486e7a92d00820b6b298c460 |
29 |
@@ -9,22 +10,23 @@ DIST mariadb-5.5.49.tar.gz 45738390 SHA256 2c82f2af71b88a7940d5ff647498ed78922c9 |
30 |
DIST mysql-extras-20121101-2319Z.tar.bz2 1898358 SHA256 ea5da082d3384bde67e005ebc39b78e7caadea80745333fb5a9cf47a4c4e4c5d SHA512 6a49abb1beee012d87ab63071a568ee6d9d8e4ff7a76401b91f5bdc127860d1c504a3877cbadb81536b07afe5ff419c77c793b0fc14ba484f56765d1ca526614 WHIRLPOOL 4bda75a0a9063830b3140bbc3cb12b60fa21289eee2fa476fb286da6318fdf0445a9c6193bd2063aefcd3f4ecc1f8045b30635f0e32014098d0f3dbee86e01fc |
31 |
DIST mysql-extras-20150509-1847Z.tar.bz2 1494301 SHA256 de9c9fbb67998604cb3c0409842e4601646c8ad17f2aa301f55ffd4aed7a483d SHA512 f87d96ab8c35236d4453182c49f87f6e703af9dc217916546e4dd7368caa18a2340c9063decd96c22251d1097d7e2cac58bef30e6ff75c23aedf8926dbc3d3b4 WHIRLPOOL f60297c8ee1dfd9867ed6b29a8b04a002f23bc36b1e8d9b5db30e1e454a49fe06ffc37b10d934b11235364eecdc62beb50ce24690ab3d07a50056357906fa0fa |
32 |
DIST mysql-extras-20170719-0024Z.tar.bz2 310450 SHA256 220d4a62c737164a22554bc34c4a1b557441dda12f85ab94936158d540bf2f45 SHA512 658f70b617129b80c69e897e60b4aacc414ce4fc31b3814be6ef7b0002a8f81d6a41af2a88a0a4cd82b7665b1d6682ef6140bebd3c41d08b8ad6b4e083669139 WHIRLPOOL 2463673e700cf3eacc1d02e973f486afdc6120b4cdd194751644770145d5fd018d9a1674d119749224cefca6dd6fc13037c490aec0c34a02c01975141b5e38f1 |
33 |
+DIST mysql-extras-20170719-0113Z.tar.bz2 311116 SHA256 30b7e5f981a110ec8e1582939c59ea037559fa1519771d487d591f022b6a148d SHA512 5e470562e629bd1d104cd1d85e2b57f82b56c8f1f8236d666aca564ed577be50a5818312d8cb2a6a5f18a9c6c6792932fb15f56fd0baac6fadee4411b278f3ce WHIRLPOOL a5764ea0b9ba33d4a4982b24eeefddbaea4367d9e58b866fa9145e65d53369820762a27d36271c522ea3ad214637d28c3d0db3477d47e68647afada7a3dbbd75 |
34 |
-----BEGIN PGP SIGNATURE----- |
35 |
Version: GnuPG v2 |
36 |
|
37 |
-iQKSBAEBCAB9FiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAlluqSBfFIAAAAAALgAo |
38 |
+iQKTBAEBCAB9FiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAllutcFfFIAAAAAALgAo |
39 |
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY2 |
40 |
QzJFNDRFRDkwRTMyNzU4RTdENTVDMEQxRjc4MUVGRjlGNEEzQjYACgkQ0feB7/n0 |
41 |
-o7Zoug/2Ndk6gK7uDEymWFai1ZJLtQyskFbTbtuwS6tAwtqjlNgGb5QnhM/ksKoP |
42 |
-iRHtPbY6I1nayiIlnDnuqP9eSOQutbKNzxDWZLX4DY0RJkB2FLJlx9Z4mKpSKHFe |
43 |
-3s5rEjp46FAqW7P3DK45SBwOAt04nqodKPGEq/jhovJgaCw+lA4laH6kGPklYyGx |
44 |
-Fg4dBK2EUfEdqGaaWwpO4j4wWWQzKuDuOLxDyoI6sPyUTVo9y5paENXuTcpzYj5H |
45 |
-QSxB4BImaVIS46ew88F3q5ZfZsSmskK2v+S8boc1J1IzYCxlYI5k+uIgEWOIVfyx |
46 |
-QEEUs3cuTSlpMs7cYiIDyL8pAimrpRtz+Iex3KPZpBLTOwh+PvNhV+7qDqSd2AEC |
47 |
-I37vT1+8Uivlqyu6OT+kqk4aYrZETmA4njoVEK+0f6iNmS9gUzxlJ8rONs2qK2IR |
48 |
-60Np4RnjSP567m8U1bIqN6Kx6Nqx7fBIxK0gkxe29H1jZWuRQr+XZ+9MG0KxpEwI |
49 |
-mEmQ7E2IyVcTdatxBTAQyGRjFnRk3E4uRkgw+Eet8eJFj7vMLgBcQpQlz8y8/yIA |
50 |
-znwp/a7v8SwC4yKzo7enM59dmjrnufD4I8rJrCyW0cxzDjmJBgiWVFqmL+RcMgyD |
51 |
-JEIWaB57X32/OhI4A57JPiv0QnzXsIogvYT3xNoNTslLNJBuzg== |
52 |
-=RiQd |
53 |
+o7YxxA/+JY9n8PNTpQD71BqeOy7gyeCVZrjFXfzULDId3gC7NUry1bmt7lb3/SLc |
54 |
+BPxYsQrZcWlxKvFXJYpfcTWa2+aMFgG1YiouuLqCsbsQPbaK5J+eD3lc0rixLufi |
55 |
+QEmBjN58sIGWFw0Ft6HFuVsUle7JRZmi7TwqXxR8G4Qwk56I1H9lR0vcJCbMrvQf |
56 |
+/eom0Ceq6S6efBD/WdUoB5EPXSMrdETn8P3p5aW012bXKy0FHWnj+10CHA3EHKmk |
57 |
+fKeuTPER9qqusd2tE9sBOQuMUuKOqrK7z9jme37U+H/1/1V61eZugmLFp0/aSK6h |
58 |
+1vUrwt5a6KGCY9ksVFoRbfvk4LECXzE1t7oYy+k/SOcS0FV+45gjhCnknQbE/CME |
59 |
+oR05Dnd8f+5FJ7C9JMVeyJF0IRayNi18I0Kg/8Z0fU7SzvxJWuFLC5V92ZxTUvil |
60 |
+s2t8LH0m7UMskm9bgbScpM7DcvrJ0BRhKfOEjGUzWZ2s6exHL9uKkhoZegkcsQDX |
61 |
+FAaCc9WnkYEso8iUCgbR+Z7/QgdU2kbMEXTT9/cidUAjmQthsJTUAF0uqJy0xQ7n |
62 |
+gfjYcyPTwW+PK02VTQ7h2EQq4Ac4wn6nzwX//kNWVZoFYhc1fMHMb/Wr7YOMorbI |
63 |
+WFMYVKdxF4i/4FBEtQlt/oS7GTdejpYdAYNiHHyMKcsKRSvEW6I= |
64 |
+=NBDb |
65 |
-----END PGP SIGNATURE----- |
66 |
|
67 |
diff --git a/dev-db/mariadb/mariadb-10.2.7.ebuild b/dev-db/mariadb/mariadb-10.2.7.ebuild |
68 |
new file mode 100644 |
69 |
index 0000000..ff19ca8 |
70 |
--- /dev/null |
71 |
+++ b/dev-db/mariadb/mariadb-10.2.7.ebuild |
72 |
@@ -0,0 +1,398 @@ |
73 |
+# Copyright 1999-2017 Gentoo Foundation |
74 |
+# Distributed under the terms of the GNU General Public License v2 |
75 |
+ |
76 |
+EAPI="6" |
77 |
+MY_EXTRAS_VER="20170719-0113Z" |
78 |
+# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number |
79 |
+WSREP_REVISION="25" |
80 |
+SUBSLOT="18" |
81 |
+MYSQL_PV_MAJOR="5.6" |
82 |
+ |
83 |
+JAVA_PKG_OPT_USE="jdbc" |
84 |
+ |
85 |
+inherit toolchain-funcs java-pkg-opt-2 prefix toolchain-funcs \ |
86 |
+ multilib-minimal mysql-multilib-r1 |
87 |
+ |
88 |
+HOMEPAGE="http://mariadb.org/" |
89 |
+DESCRIPTION="An enhanced, drop-in replacement for MySQL" |
90 |
+LICENSE="GPL-2 LGPL-2.1+" |
91 |
+ |
92 |
+IUSE="+backup bindist cracklib galera kerberos innodb-lz4 innodb-lzo innodb-snappy jdbc mroonga odbc oqgraph pam rocksdb sphinx sst-rsync sst-xtrabackup tokudb systemd xml" |
93 |
+RESTRICT="!bindist? ( bindist )" |
94 |
+ |
95 |
+REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )" |
96 |
+ |
97 |
+# REMEMBER: also update eclass/mysql*.eclass before committing! |
98 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" |
99 |
+ |
100 |
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then |
101 |
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras" |
102 |
+else |
103 |
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" |
104 |
+fi |
105 |
+ |
106 |
+PATCHES=( |
107 |
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch |
108 |
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.7-without-clientlibs-tools.patch |
109 |
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch |
110 |
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch |
111 |
+) |
112 |
+ |
113 |
+COMMON_DEPEND=" |
114 |
+ mroonga? ( app-text/groonga-normalizer-mysql ) |
115 |
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
116 |
+ !bindist? ( |
117 |
+ sys-libs/binutils-libs:0= |
118 |
+ >=sys-libs/readline-4.1:0= |
119 |
+ ) |
120 |
+ server? ( |
121 |
+ backup? ( app-arch/libarchive:0= ) |
122 |
+ cracklib? ( sys-libs/cracklib:0= ) |
123 |
+ extraengine? ( |
124 |
+ odbc? ( dev-db/unixODBC:0= ) |
125 |
+ xml? ( dev-libs/libxml2:2= ) |
126 |
+ ) |
127 |
+ innodb-lz4? ( app-arch/lz4 ) |
128 |
+ innodb-lzo? ( dev-libs/lzo ) |
129 |
+ innodb-snappy? ( app-arch/snappy ) |
130 |
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) |
131 |
+ pam? ( virtual/pam:0= ) |
132 |
+ systemd? ( sys-apps/systemd:= ) |
133 |
+ tokudb? ( app-arch/snappy ) |
134 |
+ ) |
135 |
+ >=dev-libs/libpcre-8.35:3= |
136 |
+ sys-libs/zlib[${MULTILIB_USEDEP}] |
137 |
+" |
138 |
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) |
139 |
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) |
140 |
+ ${COMMON_DEPEND}" |
141 |
+RDEPEND="${RDEPEND} ${COMMON_DEPEND} |
142 |
+ server? ( galera? ( |
143 |
+ sys-apps/iproute2 |
144 |
+ =sys-cluster/galera-${WSREP_REVISION}* |
145 |
+ sst-rsync? ( sys-process/lsof ) |
146 |
+ sst-xtrabackup? ( net-misc/socat[ssl] ) |
147 |
+ ) ) |
148 |
+ perl? ( !dev-db/mytop |
149 |
+ virtual/perl-Getopt-Long |
150 |
+ dev-perl/TermReadKey |
151 |
+ virtual/perl-Term-ANSIColor |
152 |
+ virtual/perl-Time-HiRes ) |
153 |
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) |
154 |
+" |
155 |
+# xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed |
156 |
+PDEPEND="server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" |
157 |
+ |
158 |
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h |
159 |
+ /usr/include/mariadb/mariadb_version.h |
160 |
+ /usr/include/mysql/private/probes_mysql_nodtrace.h |
161 |
+ /usr/include/mysql/private/probes_mysql_dtrace.h ) |
162 |
+ |
163 |
+pkg_setup() { |
164 |
+ java-pkg-opt-2_pkg_setup |
165 |
+ mysql-multilib-r1_pkg_setup |
166 |
+} |
167 |
+ |
168 |
+pkg_preinst() { |
169 |
+ java-pkg-opt-2_pkg_preinst |
170 |
+ |
171 |
+ # Here we need to see if the implementation switched client libraries |
172 |
+ # We check if this is a new instance of the package and a client library already exists |
173 |
+ local SHOW_ABI_MESSAGE libpath |
174 |
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then |
175 |
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") |
176 |
+ elog "Due to ABI changes when switching between different client libraries," |
177 |
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." |
178 |
+ elog "Please run: revdep-rebuild --library ${libpath}" |
179 |
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" |
180 |
+ fi |
181 |
+} |
182 |
+ |
183 |
+src_prepare() { |
184 |
+ java-pkg-opt-2_src_prepare |
185 |
+ if use tcmalloc; then |
186 |
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" |
187 |
+ fi |
188 |
+ |
189 |
+ # Don't build bundled xz-utils for tokudb |
190 |
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die |
191 |
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die |
192 |
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die |
193 |
+ |
194 |
+ # Remove the bundled groonga |
195 |
+ # There is no CMake flag, it simply checks for existance |
196 |
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" |
197 |
+ |
198 |
+ eapply "${PATCHES[@]}" |
199 |
+ eapply_user |
200 |
+} |
201 |
+ |
202 |
+src_configure(){ |
203 |
+ # bug 508724 mariadb cannot use ld.gold |
204 |
+ tc-ld-disable-gold |
205 |
+ |
206 |
+ local MYSQL_CMAKE_NATIVE_DEFINES=( |
207 |
+ -DWITH_JEMALLOC=$(usex jemalloc system) |
208 |
+ -DWITH_PCRE=system |
209 |
+ ) |
210 |
+ local MYSQL_CMAKE_EXTRA_DEFINES=( |
211 |
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) |
212 |
+ -DAUTH_GSSAPI_PLUGIN_TYPE="$(usex kerberos DYNAMIC OFF)" |
213 |
+ -DCONC_WITH_EXTERNAL_ZLIB=YES |
214 |
+ -DWITH_EXTERNAL_ZLIB=YES |
215 |
+ -DSUFFIX_INSTALL_DIR="" |
216 |
+ -DINSTALL_INCLUDEDIR=include/mysql |
217 |
+ -DINSTALL_INFODIR=share/info |
218 |
+ -DINSTALL_LIBDIR=$(get_libdir) |
219 |
+ -DINSTALL_ELIBDIR=$(get_libdir)/mariadb |
220 |
+ -DINSTALL_MANDIR=share/man |
221 |
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb |
222 |
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin |
223 |
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts |
224 |
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" |
225 |
+ -DWITH_UNITTEST=OFF |
226 |
+ ) |
227 |
+ |
228 |
+ if use test ; then |
229 |
+ MYSQL_CMAKE_EXTRA_DEFINES+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) |
230 |
+ fi |
231 |
+ |
232 |
+ if use server ; then |
233 |
+ # Federated{,X} must be treated special otherwise they will not be built as plugins |
234 |
+ if ! use extraengine ; then |
235 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( |
236 |
+ -DPLUGIN_FEDERATED=NO |
237 |
+ -DPLUGIN_FEDERATEDX=NO ) |
238 |
+ fi |
239 |
+ |
240 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( |
241 |
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) |
242 |
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO) |
243 |
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO) |
244 |
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO) |
245 |
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) |
246 |
+ -DPLUGIN_CASSANDRA=NO |
247 |
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) |
248 |
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO) |
249 |
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO) |
250 |
+ -DCONNECT_WITH_MYSQL=1 |
251 |
+ -DCONNECT_WITH_LIBXML2=$(usex xml) |
252 |
+ -DCONNECT_WITH_ODBC=$(usex odbc) |
253 |
+ -DCONNECT_WITH_JDBC=$(usex jdbc) |
254 |
+ -DWITH_WSREP=$(usex galera) |
255 |
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) |
256 |
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) |
257 |
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) |
258 |
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) |
259 |
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) |
260 |
+ -DWITH_MARIABACKUP=$(usex backup ON OFF) |
261 |
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF) |
262 |
+ -DINSTALL_SQLBENCHDIR=share/mariadb |
263 |
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) |
264 |
+ ) |
265 |
+ if use test ; then |
266 |
+ # This is needed for the new client lib which tests a real, open server |
267 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( -DSKIP_TESTS=ON ) |
268 |
+ fi |
269 |
+ fi |
270 |
+ mysql-multilib-r1_src_configure |
271 |
+} |
272 |
+ |
273 |
+src_install() { |
274 |
+ # wrap the config scripts |
275 |
+ local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) |
276 |
+ multilib-minimal_src_install |
277 |
+} |
278 |
+ |
279 |
+# Intentionally override eclass function |
280 |
+multilib_src_install() { |
281 |
+ cmake-utils_src_install |
282 |
+ |
283 |
+ # Make sure the vars are correctly initialized |
284 |
+ mysql_init_vars |
285 |
+ |
286 |
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used |
287 |
+ if [[ -f "${D}${MY_INCLUDEDIR}/private/config.h" ]] ; then |
288 |
+ rm "${D}${MY_INCLUDEDIR}/private/config.h" || die |
289 |
+ fi |
290 |
+ |
291 |
+ if ! multilib_is_native_abi && use server ; then |
292 |
+ insinto /usr/include/mysql/private |
293 |
+ doins "${S}"/sql/*.h |
294 |
+ fi |
295 |
+} |
296 |
+ |
297 |
+multilib_src_install_all() { |
298 |
+ # Make sure the vars are correctly initialized |
299 |
+ mysql_init_vars |
300 |
+ |
301 |
+ # Convenience links |
302 |
+ einfo "Making Convenience links for mysqlcheck multi-call binary" |
303 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze" |
304 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair" |
305 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize" |
306 |
+ |
307 |
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir |
308 |
+ if [[ -d "${ED}/usr/data" ]] ; then |
309 |
+ rm -Rf "${ED}/usr/data" || die |
310 |
+ fi |
311 |
+ |
312 |
+ # Unless they explicitly specific USE=test, then do not install the |
313 |
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a |
314 |
+ # validation of your database configuration after tuning it. |
315 |
+ if ! use test ; then |
316 |
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" |
317 |
+ fi |
318 |
+ |
319 |
+ # Configuration stuff |
320 |
+ einfo "Building default configuration ..." |
321 |
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf |
322 |
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}" |
323 |
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die |
324 |
+ eprefixify "${TMPDIR}/my.cnf" |
325 |
+ doins "${TMPDIR}/my.cnf" |
326 |
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" |
327 |
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die |
328 |
+ eprefixify "${TMPDIR}/50-distro-client.cnf" |
329 |
+ doins "${TMPDIR}/50-distro-client.cnf" |
330 |
+ |
331 |
+ if use server ; then |
332 |
+ mycnf_src="my.cnf.distro-server" |
333 |
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ |
334 |
+ "${FILESDIR}/${mycnf_src}" \ |
335 |
+ > "${TMPDIR}/my.cnf.ok" || die |
336 |
+ if use prefix ; then |
337 |
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ |
338 |
+ "${TMPDIR}/my.cnf.ok" || die |
339 |
+ fi |
340 |
+ if use latin1 ; then |
341 |
+ sed -i \ |
342 |
+ -e "/character-set/s|utf8|latin1|g" \ |
343 |
+ "${TMPDIR}/my.cnf.ok" || die |
344 |
+ fi |
345 |
+ eprefixify "${TMPDIR}/my.cnf.ok" |
346 |
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf |
347 |
+ einfo "Creating initial directories" |
348 |
+ # Empty directories ... |
349 |
+ diropts "-m0750" |
350 |
+ if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then |
351 |
+ dodir "${MY_DATADIR#${EPREFIX}}" |
352 |
+ keepdir "${MY_DATADIR#${EPREFIX}}" |
353 |
+ chown -R mysql:mysql "${D}/${MY_DATADIR}" |
354 |
+ fi |
355 |
+ |
356 |
+ diropts "-m0755" |
357 |
+ local folder |
358 |
+ for folder in "${MY_LOGDIR#${EPREFIX}}" ; do |
359 |
+ dodir "${folder}" |
360 |
+ keepdir "${folder}" |
361 |
+ chown -R mysql:mysql "${ED}/${folder}" |
362 |
+ done |
363 |
+ |
364 |
+ einfo "Including support files and sample configurations" |
365 |
+ docinto "support-files" |
366 |
+ local script |
367 |
+ for script in \ |
368 |
+ "${S}"/support-files/magic |
369 |
+ do |
370 |
+ [[ -f "$script" ]] && dodoc "${script}" |
371 |
+ done |
372 |
+ |
373 |
+ docinto "scripts" |
374 |
+ for script in "${S}"/scripts/mysql* ; do |
375 |
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" |
376 |
+ done |
377 |
+ fi |
378 |
+ |
379 |
+ #Remove mytop if perl is not selected |
380 |
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" |
381 |
+ |
382 |
+ # Install compatible symlinks to libmysqlclient |
383 |
+ use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a" |
384 |
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so" |
385 |
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}" |
386 |
+} |
387 |
+ |
388 |
+# Official test instructions: |
389 |
+# USE='embedded extraengine perl server openssl static-libs' \ |
390 |
+# FEATURES='test userpriv -usersandbox' \ |
391 |
+# ebuild mariadb-X.X.XX.ebuild \ |
392 |
+# digest clean package |
393 |
+multilib_src_test() { |
394 |
+ |
395 |
+ if ! multilib_is_native_abi ; then |
396 |
+ einfo "Server tests not available on non-native abi". |
397 |
+ return 0; |
398 |
+ fi |
399 |
+ |
400 |
+ local TESTDIR="${BUILD_DIR}/mysql-test" |
401 |
+ local retstatus_unit |
402 |
+ local retstatus_tests |
403 |
+ |
404 |
+ if use server ; then |
405 |
+ einfo "Skipping server tests due to minimal build." |
406 |
+ return 0 |
407 |
+ fi |
408 |
+ |
409 |
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named |
410 |
+ # localhost. Also causes weird failures. |
411 |
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" |
412 |
+ |
413 |
+ if [[ $UID -eq 0 ]]; then |
414 |
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." |
415 |
+ fi |
416 |
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" |
417 |
+ |
418 |
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" |
419 |
+ |
420 |
+ # Run CTest (test-units) |
421 |
+ cmake-utils_src_test |
422 |
+ retstatus_unit=$? |
423 |
+ |
424 |
+ # Ensure that parallel runs don't die |
425 |
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))" |
426 |
+ # Enable parallel testing, auto will try to detect number of cores |
427 |
+ # You may set this by hand. |
428 |
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased |
429 |
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}" |
430 |
+ |
431 |
+ # create directories because mysqladmin might run out of order |
432 |
+ mkdir -p "${T}"/var-tests{,/log} |
433 |
+ |
434 |
+ # Run mysql tests |
435 |
+ pushd "${TESTDIR}" || die |
436 |
+ |
437 |
+ # These are failing in MariaDB 10.0 for now and are believed to be |
438 |
+ # false positives: |
439 |
+ # |
440 |
+ # main.mysql_client_test, main.mysql_client_test_nonblock |
441 |
+ # main.mysql_client_test_comp: |
442 |
+ # segfaults at random under Portage only, suspect resource limits. |
443 |
+ |
444 |
+ local t |
445 |
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do |
446 |
+ mysql-multilib-r1_disable_test "$t" "False positive due to varying policies" |
447 |
+ done |
448 |
+ |
449 |
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \ |
450 |
+ main.mysql_client_test_comp ; do |
451 |
+ mysql-multilib-r1_disable_test "$t" "False positives in Gentoo" |
452 |
+ done |
453 |
+ |
454 |
+ # run mysql-test tests |
455 |
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder |
456 |
+ retstatus_tests=$? |
457 |
+ |
458 |
+ popd || die |
459 |
+ |
460 |
+ # Cleanup is important for these testcases. |
461 |
+ pkill -9 -f "${S}/ndb" 2>/dev/null |
462 |
+ pkill -9 -f "${S}/sql" 2>/dev/null |
463 |
+ |
464 |
+ local failures="" |
465 |
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" |
466 |
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" |
467 |
+ |
468 |
+ [[ -z "$failures" ]] || eerror "Test failures: $failures" |
469 |
+ einfo "Tests successfully completed" |
470 |
+} |