1 |
commit: bdadb2af24e76b6be7b232b89eb580c41580668f |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 19 20:15:02 2017 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 19 20:17:48 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bdadb2af |
7 |
|
8 |
dev-db/mariadb: Version bump for 10.2.7 - Note the config changes |
9 |
|
10 |
This version is initially masked for diehard testing |
11 |
Email the team at mysql-bugs <AT> gentoo.org with feedback |
12 |
|
13 |
The config now accepts files listed under /etc/mysql/mariadb.d to add your own settings |
14 |
|
15 |
Package-Manager: Portage-2.3.6, Repoman-2.3.2 |
16 |
|
17 |
dev-db/mariadb/Manifest | 2 + |
18 |
dev-db/mariadb/files/my.cnf-10.2 | 3 + |
19 |
dev-db/mariadb/files/my.cnf.distro-client | 21 ++ |
20 |
dev-db/mariadb/files/my.cnf.distro-server | 28 +++ |
21 |
dev-db/mariadb/mariadb-10.2.7.ebuild | 401 ++++++++++++++++++++++++++++++ |
22 |
dev-db/mariadb/metadata.xml | 1 + |
23 |
6 files changed, 456 insertions(+) |
24 |
|
25 |
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest |
26 |
index c03f90cff44..adfaf8acc65 100644 |
27 |
--- a/dev-db/mariadb/Manifest |
28 |
+++ b/dev-db/mariadb/Manifest |
29 |
@@ -5,9 +5,11 @@ DIST mariadb-10.1.23.tar.gz 61772244 SHA256 54d8114e24bfa5e3ebdc7d69e071ad147191 |
30 |
DIST mariadb-10.1.24.tar.gz 61780687 SHA256 b3df99ae5b1ec8cf6cede4cbc4ae3f54ce66464549cba6d56d9ff4d24e4d551e SHA512 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9 WHIRLPOOL 91261a05e3d8b0cad925c382e0cf9a40fcfd3d35ae320c4a9860db110cb5655d1e1f992f9dea8987e50a07dd4a66aa42c9a3470a7acb3d0d706bcef7bc890122 |
31 |
DIST mariadb-10.1.25.tar.gz 61790542 SHA256 7205ecaa6f1bc16335ad88faa5c46be52b3ac628a5e795cb942a3f4335b2a0d6 SHA512 ae88e02a74f4f8c3b41686a0d46d4232210571072168f6645481d83ed5255ce1fec189827507106898e677d2d9749639d22b139f183ef24dab367b5d81002310 WHIRLPOOL 3a28463d4048723110a64c60cb72d07ffd1946a0a68c3e7dcdb085bb7ad0cb3c3b32579fa0587b5895f9c8224aa9414fd0bd55e0a8af6f8401e52ac5a37782fd |
32 |
DIST mariadb-10.2.1.tar.gz 55721519 SHA256 90b7a17f3372c92c12dff084b37fcca8c4cf8106f4dcabd35fadc8efbaa348a2 SHA512 3dde348e4bba2b6837e0a0671e9ec944aa494e4a01ebb4704e067cc8fe71865aef685f4ce368e9a81c5adeb1e8cc4f3a1b4067193a4b1ffc1fc567bf79a0b4ff WHIRLPOOL cbf33b7f6fb131a834367214ff4ab49bbda8aebb6e6fe449c7be2648934bcdab79c50a043907c07603f51892041701be59ff45984db43e302b2174f6fd40bc31 |
33 |
+DIST mariadb-10.2.7.tar.gz 67669554 SHA256 225ba1bbc48325ad38a9f433ff99da4641028f42404a29591cc370e4a676c0bc SHA512 fa595acc0f5c9c62077db000f1721af79628994c08e82b2eb95d265e3c556e80942c487fc1b91299c382becd71f21a0a117ca93d7428752f436ed83683a4f4cd WHIRLPOOL d76d584924dac41fd787c1a02f79de90ae5334b217b66deb59756490a8c42b801fddac425542e371d68b04fa462a3f438626896749a1c12be70e9d22d857771e |
34 |
DIST mariadb-5.5.57.tar.gz 45783940 SHA256 5dbde98d7e4a5a1721b6cbed7898b2549a88866247951cf586057975c6cea641 SHA512 5d6350abd6f0ba98326633a36bb7ec67525e34e08cbe43f79c9b30bf0b872b0a8f9f0bfd5f3a4c2800a52d25b9c6f3a3a4a62e0f41574153bbf4b881f5347c71 WHIRLPOOL c2af12fb71b3fcc9989cd2208a44dc81401fe1387ae2d03981fd5d00277d480a35f23bdb8f1564f91b4c345bdb18a610b46ee91f47772ba5de1baf8f808eaec3 |
35 |
DIST mysql-extras-20160629-1442Z.tar.bz2 299152 SHA256 c90979db927772468f8b398c640469ff4740f950068e740c04ff60500e714766 SHA512 1de46daf6b4534dadf9d3eff8d5d557778e63b5e04aedb57fe56d3016ba93a9d55d80faee38f77852d23da5169879e4f25b3386abe44ee8d961db7ffc4145715 WHIRLPOOL d8c94e4e43e772307d8d137a28e18991fa24a27b1587ec19ae5bd12c733cc0931e459092de2c43216776e3284c7c416d52030fe20c98a6439388507c5fe5111f |
36 |
DIST mysql-extras-20160721-1526Z.tar.bz2 301788 SHA256 45198f8adb4a61fdd89a5d3c7966ce2fe9241381510e1f7b93e793502a32dfcb SHA512 c7450039780e4e2684c932ba7c291c1de25dd1a64e4c6e88aa13b790768b4100955f36ae4a3bf983569ea23b43be02da6dad3d5985c1163ec9e8aa91f0efd85d WHIRLPOOL becdf0d4d7b8b5a269246d2fcf1bc09c4313046468b264f07394ae9f1de2f736ad3fff8cad35e544df7a3623688050e6fb9635dfea3876ea082d19cf9fe88927 |
37 |
DIST mysql-extras-20160818-1822Z.tar.bz2 302657 SHA256 7e4f42ea0754af120d2ad6b4a3e40dd9bd5a769913ac141453a2c53419bd6c05 SHA512 19bd509fd1a37c537ae28919516406735cdf3d3fbc66583f765b64b3d296bd041cf2bc2291004b7274604a2fda3cb399141d6c672ae5d6f8aced3d019ac81826 WHIRLPOOL 46b4e3c7f415b2de1440aa9d190805dfbc49a8f4a6ed26be5e4bb3e3e9553885cc7e7e13c83c49fadf71a6081bb8fd9d28d5f4d8372540c89a649f2d913fdd9b |
38 |
DIST mysql-extras-20170310-1426Z.tar.bz2 307052 SHA256 23f5becec389fc49e7cf0d52c6c914cbc8d7e3fc5851ee38881ee6884ffc5732 SHA512 2dbb3e46f14fbd0be9ee0e3a8ff2e4d5325f9a9be332014ea556283c0bc5f53349952d267d6713fac5b54e3167a66ddd36f18b18b79ca6b68ede399399488157 WHIRLPOOL 9f459d9e58938597e7919b29fc819d87920a51461d274bf87520fe322a67ad8638ef19212855ba8e37507d3b160d29ecad0099f4632f078cc503e1be0f809fb4 |
39 |
DIST mysql-extras-20170316-1355Z.tar.bz2 308933 SHA256 ebcb4f03413ccf42877558ad365db01bbb5ef2e12620a9be479ffc2514d9830e SHA512 5bf7938bfa5989da85216fbca4575397fc05c83e1afac76bd6c0b338a876caf37194f53a2a933d6f69eb31727ca005be617e53a8fdd0a95d8f1f68684c4ba68c WHIRLPOOL 701871ff554970adef8e5eb1e2e966a09c4b59ac7931df125f78a4fcfa415e87767184a9d3418013d27410ad0482673942f1df48d5e5de68917f49e1efa96689 |
40 |
+DIST mysql-extras-20170719-0113Z.tar.bz2 311116 SHA256 30b7e5f981a110ec8e1582939c59ea037559fa1519771d487d591f022b6a148d SHA512 5e470562e629bd1d104cd1d85e2b57f82b56c8f1f8236d666aca564ed577be50a5818312d8cb2a6a5f18a9c6c6792932fb15f56fd0baac6fadee4411b278f3ce WHIRLPOOL a5764ea0b9ba33d4a4982b24eeefddbaea4367d9e58b866fa9145e65d53369820762a27d36271c522ea3ad214637d28c3d0db3477d47e68647afada7a3dbbd75 |
41 |
|
42 |
diff --git a/dev-db/mariadb/files/my.cnf-10.2 b/dev-db/mariadb/files/my.cnf-10.2 |
43 |
new file mode 100644 |
44 |
index 00000000000..80b47714b8f |
45 |
--- /dev/null |
46 |
+++ b/dev-db/mariadb/files/my.cnf-10.2 |
47 |
@@ -0,0 +1,3 @@ |
48 |
+# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. |
49 |
+ |
50 |
+!includedir @GENTOO_PORTAGE_EPREFIX@/etc/mysql/mariadb.d |
51 |
|
52 |
diff --git a/dev-db/mariadb/files/my.cnf.distro-client b/dev-db/mariadb/files/my.cnf.distro-client |
53 |
new file mode 100644 |
54 |
index 00000000000..4bbe0f976c6 |
55 |
--- /dev/null |
56 |
+++ b/dev-db/mariadb/files/my.cnf.distro-client |
57 |
@@ -0,0 +1,21 @@ |
58 |
+# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-client.cnf: The global mysql configuration file. |
59 |
+ |
60 |
+# The following options will be passed to all MySQL clients |
61 |
+[client] |
62 |
+socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock |
63 |
+character-sets-dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mariadb/charsets |
64 |
+default-character-set=utf8 |
65 |
+ |
66 |
+[mysql] |
67 |
+# uncomment the next directive if you are not familiar with SQL |
68 |
+#safe-updates |
69 |
+ |
70 |
+[mysqldump] |
71 |
+quick |
72 |
+max_allowed_packet = 16M |
73 |
+ |
74 |
+[myisamchk] |
75 |
+character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mariadb/charsets |
76 |
+ |
77 |
+[myisampack] |
78 |
+character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mariadb/charsets |
79 |
|
80 |
diff --git a/dev-db/mariadb/files/my.cnf.distro-server b/dev-db/mariadb/files/my.cnf.distro-server |
81 |
new file mode 100644 |
82 |
index 00000000000..eaf80be0a15 |
83 |
--- /dev/null |
84 |
+++ b/dev-db/mariadb/files/my.cnf.distro-server |
85 |
@@ -0,0 +1,28 @@ |
86 |
+# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-server.cnf: The global mysql configuration file. |
87 |
+ |
88 |
+# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations |
89 |
+[mysqld] |
90 |
+character-set-server = utf8 |
91 |
+user = mysql |
92 |
+port = 3306 |
93 |
+socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock |
94 |
+pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mariadb.pid |
95 |
+log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err |
96 |
+basedir = @GENTOO_PORTAGE_EPREFIX@/usr |
97 |
+datadir = @DATADIR@ |
98 |
+skip-external-locking |
99 |
+lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mariadb |
100 |
+#Set this to your desired error message language |
101 |
+lc_messages = en_US |
102 |
+ |
103 |
+# security: |
104 |
+# using "localhost" in connects uses sockets by default |
105 |
+# skip-networking |
106 |
+bind-address = 127.0.0.1 |
107 |
+ |
108 |
+log-bin |
109 |
+server-id = 1 |
110 |
+ |
111 |
+# point the following paths to different dedicated disks |
112 |
+tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ |
113 |
+#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname |
114 |
|
115 |
diff --git a/dev-db/mariadb/mariadb-10.2.7.ebuild b/dev-db/mariadb/mariadb-10.2.7.ebuild |
116 |
new file mode 100644 |
117 |
index 00000000000..2c2b8659427 |
118 |
--- /dev/null |
119 |
+++ b/dev-db/mariadb/mariadb-10.2.7.ebuild |
120 |
@@ -0,0 +1,401 @@ |
121 |
+# Copyright 1999-2017 Gentoo Foundation |
122 |
+# Distributed under the terms of the GNU General Public License v2 |
123 |
+ |
124 |
+EAPI="6" |
125 |
+MY_EXTRAS_VER="20170719-0113Z" |
126 |
+# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number |
127 |
+WSREP_REVISION="25" |
128 |
+SUBSLOT="18" |
129 |
+MYSQL_PV_MAJOR="5.6" |
130 |
+ |
131 |
+JAVA_PKG_OPT_USE="jdbc" |
132 |
+ |
133 |
+inherit toolchain-funcs java-pkg-opt-2 prefix toolchain-funcs \ |
134 |
+ multilib-minimal mysql-multilib-r1 |
135 |
+ |
136 |
+HOMEPAGE="http://mariadb.org/" |
137 |
+DESCRIPTION="An enhanced, drop-in replacement for MySQL" |
138 |
+LICENSE="GPL-2 LGPL-2.1+" |
139 |
+ |
140 |
+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" |
141 |
+RESTRICT="!bindist? ( bindist )" |
142 |
+ |
143 |
+REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )" |
144 |
+ |
145 |
+# REMEMBER: also update eclass/mysql*.eclass before committing! |
146 |
+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" |
147 |
+ |
148 |
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then |
149 |
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras" |
150 |
+else |
151 |
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" |
152 |
+fi |
153 |
+ |
154 |
+PATCHES=( |
155 |
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch |
156 |
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.7-without-clientlibs-tools.patch |
157 |
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch |
158 |
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch |
159 |
+) |
160 |
+ |
161 |
+COMMON_DEPEND=" |
162 |
+ mroonga? ( app-text/groonga-normalizer-mysql ) |
163 |
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
164 |
+ !bindist? ( |
165 |
+ sys-libs/binutils-libs:0= |
166 |
+ >=sys-libs/readline-4.1:0= |
167 |
+ ) |
168 |
+ server? ( |
169 |
+ backup? ( app-arch/libarchive:0= ) |
170 |
+ cracklib? ( sys-libs/cracklib:0= ) |
171 |
+ extraengine? ( |
172 |
+ odbc? ( dev-db/unixODBC:0= ) |
173 |
+ xml? ( dev-libs/libxml2:2= ) |
174 |
+ ) |
175 |
+ innodb-lz4? ( app-arch/lz4 ) |
176 |
+ innodb-lzo? ( dev-libs/lzo ) |
177 |
+ innodb-snappy? ( app-arch/snappy ) |
178 |
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) |
179 |
+ pam? ( virtual/pam:0= ) |
180 |
+ systemd? ( sys-apps/systemd:= ) |
181 |
+ tokudb? ( app-arch/snappy ) |
182 |
+ ) |
183 |
+ >=dev-libs/libpcre-8.35:3= |
184 |
+ sys-libs/zlib[${MULTILIB_USEDEP}] |
185 |
+" |
186 |
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) |
187 |
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) |
188 |
+ ${COMMON_DEPEND}" |
189 |
+RDEPEND="${RDEPEND} ${COMMON_DEPEND} |
190 |
+ server? ( galera? ( |
191 |
+ sys-apps/iproute2 |
192 |
+ =sys-cluster/galera-${WSREP_REVISION}* |
193 |
+ sst-rsync? ( sys-process/lsof ) |
194 |
+ sst-xtrabackup? ( net-misc/socat[ssl] ) |
195 |
+ ) ) |
196 |
+ perl? ( !dev-db/mytop |
197 |
+ virtual/perl-Getopt-Long |
198 |
+ dev-perl/TermReadKey |
199 |
+ virtual/perl-Term-ANSIColor |
200 |
+ virtual/perl-Time-HiRes ) |
201 |
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) |
202 |
+" |
203 |
+# xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed |
204 |
+PDEPEND="server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" |
205 |
+ |
206 |
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h |
207 |
+ /usr/include/mariadb/mariadb_version.h |
208 |
+ /usr/include/mysql/private/probes_mysql_nodtrace.h |
209 |
+ /usr/include/mysql/private/probes_mysql_dtrace.h ) |
210 |
+ |
211 |
+pkg_setup() { |
212 |
+ java-pkg-opt-2_pkg_setup |
213 |
+ mysql-multilib-r1_pkg_setup |
214 |
+} |
215 |
+ |
216 |
+pkg_preinst() { |
217 |
+ java-pkg-opt-2_pkg_preinst |
218 |
+ |
219 |
+ # Here we need to see if the implementation switched client libraries |
220 |
+ # We check if this is a new instance of the package and a client library already exists |
221 |
+ local SHOW_ABI_MESSAGE libpath |
222 |
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then |
223 |
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") |
224 |
+ elog "Due to ABI changes when switching between different client libraries," |
225 |
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." |
226 |
+ elog "Please run: revdep-rebuild --library ${libpath}" |
227 |
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" |
228 |
+ fi |
229 |
+} |
230 |
+ |
231 |
+src_prepare() { |
232 |
+ java-pkg-opt-2_src_prepare |
233 |
+ if use tcmalloc; then |
234 |
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" |
235 |
+ fi |
236 |
+ |
237 |
+ # Don't build bundled xz-utils for tokudb |
238 |
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die |
239 |
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die |
240 |
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die |
241 |
+ |
242 |
+ # Remove the bundled groonga |
243 |
+ # There is no CMake flag, it simply checks for existance |
244 |
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" |
245 |
+ |
246 |
+ eapply "${PATCHES[@]}" |
247 |
+ eapply_user |
248 |
+} |
249 |
+ |
250 |
+src_configure(){ |
251 |
+ # bug 508724 mariadb cannot use ld.gold |
252 |
+ tc-ld-disable-gold |
253 |
+ |
254 |
+ local MYSQL_CMAKE_NATIVE_DEFINES=( |
255 |
+ -DWITH_JEMALLOC=$(usex jemalloc system) |
256 |
+ -DWITH_PCRE=system |
257 |
+ ) |
258 |
+ local MYSQL_CMAKE_EXTRA_DEFINES=( |
259 |
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) |
260 |
+ -DAUTH_GSSAPI_PLUGIN_TYPE="$(usex kerberos DYNAMIC OFF)" |
261 |
+ -DCONC_WITH_EXTERNAL_ZLIB=YES |
262 |
+ -DWITH_EXTERNAL_ZLIB=YES |
263 |
+ -DSUFFIX_INSTALL_DIR="" |
264 |
+ -DINSTALL_INCLUDEDIR=include/mysql |
265 |
+ -DINSTALL_INFODIR=share/info |
266 |
+ -DINSTALL_LIBDIR=$(get_libdir) |
267 |
+ -DINSTALL_ELIBDIR=$(get_libdir)/mariadb |
268 |
+ -DINSTALL_MANDIR=share/man |
269 |
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb |
270 |
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin |
271 |
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts |
272 |
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" |
273 |
+ -DWITH_UNITTEST=OFF |
274 |
+ ) |
275 |
+ |
276 |
+ if use test ; then |
277 |
+ MYSQL_CMAKE_EXTRA_DEFINES+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) |
278 |
+ fi |
279 |
+ |
280 |
+ if use server ; then |
281 |
+ # Federated{,X} must be treated special otherwise they will not be built as plugins |
282 |
+ if ! use extraengine ; then |
283 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( |
284 |
+ -DPLUGIN_FEDERATED=NO |
285 |
+ -DPLUGIN_FEDERATEDX=NO ) |
286 |
+ fi |
287 |
+ |
288 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( |
289 |
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) |
290 |
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO) |
291 |
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO) |
292 |
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO) |
293 |
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) |
294 |
+ -DPLUGIN_CASSANDRA=NO |
295 |
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) |
296 |
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO) |
297 |
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO) |
298 |
+ -DCONNECT_WITH_MYSQL=1 |
299 |
+ -DCONNECT_WITH_LIBXML2=$(usex xml) |
300 |
+ -DCONNECT_WITH_ODBC=$(usex odbc) |
301 |
+ -DCONNECT_WITH_JDBC=$(usex jdbc) |
302 |
+ -DWITH_WSREP=$(usex galera) |
303 |
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) |
304 |
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) |
305 |
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) |
306 |
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) |
307 |
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) |
308 |
+ -DWITH_MARIABACKUP=$(usex backup ON OFF) |
309 |
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF) |
310 |
+ -DINSTALL_SQLBENCHDIR=share/mariadb |
311 |
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) |
312 |
+ ) |
313 |
+ if use test ; then |
314 |
+ # This is needed for the new client lib which tests a real, open server |
315 |
+ MYSQL_CMAKE_NATIVE_DEFINES+=( -DSKIP_TESTS=ON ) |
316 |
+ fi |
317 |
+ fi |
318 |
+ mysql-multilib-r1_src_configure |
319 |
+} |
320 |
+ |
321 |
+src_install() { |
322 |
+ # wrap the config scripts |
323 |
+ local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config ) |
324 |
+ multilib-minimal_src_install |
325 |
+} |
326 |
+ |
327 |
+# Intentionally override eclass function |
328 |
+multilib_src_install() { |
329 |
+ cmake-utils_src_install |
330 |
+ |
331 |
+ # Make sure the vars are correctly initialized |
332 |
+ mysql_init_vars |
333 |
+ |
334 |
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used |
335 |
+ if [[ -f "${D}${MY_INCLUDEDIR}/private/config.h" ]] ; then |
336 |
+ rm "${D}${MY_INCLUDEDIR}/private/config.h" || die |
337 |
+ fi |
338 |
+ |
339 |
+ if ! multilib_is_native_abi && use server ; then |
340 |
+ insinto /usr/include/mysql/private |
341 |
+ doins "${S}"/sql/*.h |
342 |
+ fi |
343 |
+ |
344 |
+ # Install compatible symlinks to libmysqlclient |
345 |
+ use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a" |
346 |
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so" |
347 |
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}" |
348 |
+ |
349 |
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. |
350 |
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die |
351 |
+} |
352 |
+ |
353 |
+multilib_src_install_all() { |
354 |
+ # Make sure the vars are correctly initialized |
355 |
+ mysql_init_vars |
356 |
+ |
357 |
+ # Convenience links |
358 |
+ einfo "Making Convenience links for mysqlcheck multi-call binary" |
359 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze" |
360 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair" |
361 |
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize" |
362 |
+ |
363 |
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir |
364 |
+ if [[ -d "${ED}/usr/data" ]] ; then |
365 |
+ rm -Rf "${ED}/usr/data" || die |
366 |
+ fi |
367 |
+ |
368 |
+ # Unless they explicitly specific USE=test, then do not install the |
369 |
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a |
370 |
+ # validation of your database configuration after tuning it. |
371 |
+ if ! use test ; then |
372 |
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" |
373 |
+ fi |
374 |
+ |
375 |
+ # Configuration stuff |
376 |
+ einfo "Building default configuration ..." |
377 |
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf |
378 |
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}" |
379 |
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die |
380 |
+ eprefixify "${TMPDIR}/my.cnf" |
381 |
+ doins "${TMPDIR}/my.cnf" |
382 |
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" |
383 |
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die |
384 |
+ eprefixify "${TMPDIR}/50-distro-client.cnf" |
385 |
+ doins "${TMPDIR}/50-distro-client.cnf" |
386 |
+ |
387 |
+ if use server ; then |
388 |
+ mycnf_src="my.cnf.distro-server" |
389 |
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ |
390 |
+ "${FILESDIR}/${mycnf_src}" \ |
391 |
+ > "${TMPDIR}/my.cnf.ok" || die |
392 |
+ if use prefix ; then |
393 |
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ |
394 |
+ "${TMPDIR}/my.cnf.ok" || die |
395 |
+ fi |
396 |
+ if use latin1 ; then |
397 |
+ sed -i \ |
398 |
+ -e "/character-set/s|utf8|latin1|g" \ |
399 |
+ "${TMPDIR}/my.cnf.ok" || die |
400 |
+ fi |
401 |
+ eprefixify "${TMPDIR}/my.cnf.ok" |
402 |
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf |
403 |
+ einfo "Creating initial directories" |
404 |
+ # Empty directories ... |
405 |
+ diropts "-m0750" |
406 |
+ if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then |
407 |
+ dodir "${MY_DATADIR#${EPREFIX}}" |
408 |
+ keepdir "${MY_DATADIR#${EPREFIX}}" |
409 |
+ chown -R mysql:mysql "${D}/${MY_DATADIR}" |
410 |
+ fi |
411 |
+ |
412 |
+ diropts "-m0755" |
413 |
+ local folder |
414 |
+ for folder in "${MY_LOGDIR#${EPREFIX}}" ; do |
415 |
+ dodir "${folder}" |
416 |
+ keepdir "${folder}" |
417 |
+ chown -R mysql:mysql "${ED}/${folder}" |
418 |
+ done |
419 |
+ |
420 |
+ einfo "Including support files and sample configurations" |
421 |
+ docinto "support-files" |
422 |
+ local script |
423 |
+ for script in \ |
424 |
+ "${S}"/support-files/magic |
425 |
+ do |
426 |
+ [[ -f "$script" ]] && dodoc "${script}" |
427 |
+ done |
428 |
+ |
429 |
+ docinto "scripts" |
430 |
+ for script in "${S}"/scripts/mysql* ; do |
431 |
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" |
432 |
+ done |
433 |
+ fi |
434 |
+ |
435 |
+ #Remove mytop if perl is not selected |
436 |
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" |
437 |
+} |
438 |
+ |
439 |
+# Official test instructions: |
440 |
+# USE='embedded extraengine perl server openssl static-libs' \ |
441 |
+# FEATURES='test userpriv -usersandbox' \ |
442 |
+# ebuild mariadb-X.X.XX.ebuild \ |
443 |
+# digest clean package |
444 |
+multilib_src_test() { |
445 |
+ |
446 |
+ if ! multilib_is_native_abi ; then |
447 |
+ einfo "Server tests not available on non-native abi". |
448 |
+ return 0; |
449 |
+ fi |
450 |
+ |
451 |
+ local TESTDIR="${BUILD_DIR}/mysql-test" |
452 |
+ local retstatus_unit |
453 |
+ local retstatus_tests |
454 |
+ |
455 |
+ if use server ; then |
456 |
+ einfo "Skipping server tests due to minimal build." |
457 |
+ return 0 |
458 |
+ fi |
459 |
+ |
460 |
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named |
461 |
+ # localhost. Also causes weird failures. |
462 |
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" |
463 |
+ |
464 |
+ if [[ $UID -eq 0 ]]; then |
465 |
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." |
466 |
+ fi |
467 |
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" |
468 |
+ |
469 |
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" |
470 |
+ |
471 |
+ # Run CTest (test-units) |
472 |
+ cmake-utils_src_test |
473 |
+ retstatus_unit=$? |
474 |
+ |
475 |
+ # Ensure that parallel runs don't die |
476 |
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))" |
477 |
+ # Enable parallel testing, auto will try to detect number of cores |
478 |
+ # You may set this by hand. |
479 |
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased |
480 |
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}" |
481 |
+ |
482 |
+ # create directories because mysqladmin might run out of order |
483 |
+ mkdir -p "${T}"/var-tests{,/log} |
484 |
+ |
485 |
+ # Run mysql tests |
486 |
+ pushd "${TESTDIR}" || die |
487 |
+ |
488 |
+ # These are failing in MariaDB 10.0 for now and are believed to be |
489 |
+ # false positives: |
490 |
+ # |
491 |
+ # main.mysql_client_test, main.mysql_client_test_nonblock |
492 |
+ # main.mysql_client_test_comp: |
493 |
+ # segfaults at random under Portage only, suspect resource limits. |
494 |
+ |
495 |
+ local t |
496 |
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do |
497 |
+ mysql-multilib-r1_disable_test "$t" "False positive due to varying policies" |
498 |
+ done |
499 |
+ |
500 |
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \ |
501 |
+ main.mysql_client_test_comp ; do |
502 |
+ mysql-multilib-r1_disable_test "$t" "False positives in Gentoo" |
503 |
+ done |
504 |
+ |
505 |
+ # run mysql-test tests |
506 |
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder |
507 |
+ retstatus_tests=$? |
508 |
+ |
509 |
+ popd || die |
510 |
+ |
511 |
+ # Cleanup is important for these testcases. |
512 |
+ pkill -9 -f "${S}/ndb" 2>/dev/null |
513 |
+ pkill -9 -f "${S}/sql" 2>/dev/null |
514 |
+ |
515 |
+ local failures="" |
516 |
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" |
517 |
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" |
518 |
+ |
519 |
+ [[ -z "$failures" ]] || eerror "Test failures: $failures" |
520 |
+ einfo "Tests successfully completed" |
521 |
+} |
522 |
|
523 |
diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml |
524 |
index 55d72a8c2f1..a8465f7ab4d 100644 |
525 |
--- a/dev-db/mariadb/metadata.xml |
526 |
+++ b/dev-db/mariadb/metadata.xml |
527 |
@@ -31,6 +31,7 @@ dev-db/mariadb |
528 |
<flag name="oqgraph">Add support for the Open Query GRAPH engine</flag> |
529 |
<flag name="pam">Enable the optional PAM authentication plugin for the server</flag> |
530 |
<flag name="profiling">Add support for statement profiling (requires USE=community).</flag> |
531 |
+ <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag> |
532 |
<flag name="server">Build the server program</flag> |
533 |
<flag name="sphinx">Add suport for the sphinx full-text search engine</flag> |
534 |
<flag name="sst-rsync">Add tools needed to support the rsync SST method</flag> |