summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2017-07-18 21:28:36 -0400
committerBrian Evans <grknight@gentoo.org>2017-07-18 21:28:36 -0400
commit6c9eeaa67562d2919a0b327a519c1f297ffa0e49 (patch)
treebfbec5dea273791fcb366ec79828ce6fbc722e5c
parentdev-db/mariadb: Affix patch version (diff)
downloadmysql-6c9eeaa67562d2919a0b327a519c1f297ffa0e49.tar.gz
mysql-6c9eeaa67562d2919a0b327a519c1f297ffa0e49.tar.bz2
mysql-6c9eeaa67562d2919a0b327a519c1f297ffa0e49.zip
dev-db/mariadb: Version bump
Package-Manager: Portage-2.3.6, Repoman-2.3.2 Manifest-Sign-Key: 0xD1F781EFF9F4A3B6
-rw-r--r--dev-db/mariadb/Manifest28
-rw-r--r--dev-db/mariadb/mariadb-10.2.7.ebuild398
2 files changed, 413 insertions, 13 deletions
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 3c29014..b1fc702 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -2,6 +2,7 @@
Hash: SHA256
DIST mariadb-10.2.6.tar.gz 67599197 SHA256 c385c76e40d6e5f0577eba021805da5f494a30c9ef51884baefe206d5658a2e5 SHA512 142628085f42ef15ceef6aca5e47ba56cc38cbfc0ac4f35f6b37512c14a60430ef4805e54fd51c47e101b7692781e174426bdb49cae6807c4c18cc3d876f8732 WHIRLPOOL e5920a6f0833fa39b706b067037fb6e432e77ba4e7beee51300e408c92cf5962db91013b1958e649947006f0ac2775c70996d9c7f0dcd98d3b40e87ae5abc049
+DIST mariadb-10.2.7.tar.gz 67669554 SHA256 225ba1bbc48325ad38a9f433ff99da4641028f42404a29591cc370e4a676c0bc SHA512 fa595acc0f5c9c62077db000f1721af79628994c08e82b2eb95d265e3c556e80942c487fc1b91299c382becd71f21a0a117ca93d7428752f436ed83683a4f4cd WHIRLPOOL d76d584924dac41fd787c1a02f79de90ae5334b217b66deb59756490a8c42b801fddac425542e371d68b04fa462a3f438626896749a1c12be70e9d22d857771e
DIST mariadb-5.1.67.tar.gz 25022999 SHA256 33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8 SHA512 de4a531027860c4226ec5e023b6f8573c2eb723bacaeb14279b9609ed033dcb58fc090aef3d9babcd4a4d0817ddf6ef75589c78f63075072d31ad0b7f7c17d7d WHIRLPOOL 22696d27c3a510396c4b86db5f5a4b39bbcde89285a8460b175ef7c40b3b7541fc8f205c0b96da7f94504a7fd14bfe02efb45204efda524a2426cd25e08162ff
DIST mariadb-5.2.14.tar.gz 25469828 SHA256 8ab3db0535ce8728b03a34799da2334c18cff467e01d122293f23aad20613fe5 SHA512 b0aded450355861bf01604ac5bd0012d0d06a699bc83017cdb6b8749ed161aca9fedb733301aab991c521b21f3c8b2fea4867a2fd038379475e720782c02e869 WHIRLPOOL 8c2dd7ee0c1df5696d6b9f5c4387b7f755258a710ac088559f0f9779b27d18e30f32de0d4212015a15b6a83de2abbdd5c4ec811fa87fe2aec547809dc0970607
DIST mariadb-5.3.12.tar.gz 26880808 SHA256 83a4598117cadde2bd7eac4c1398edbc86cc3aa8d3824bbee864d4b568a3a30c SHA512 d53ea48745dad5693fd6a1fd5cf502852f12f8236b8a1fb7f81ad647301d2fd08d4f2944c74de580d0a4136d6c8b49f257124fa1b234ba8f2338f2047435ef94 WHIRLPOOL b9caf1b241262b3b25728769116a94b480ae404ed3d49c8afd6eb4ad6071552e436e4b9483e7f5d0113bc3127eaf04ceaa80d455486e7a92d00820b6b298c460
@@ -9,22 +10,23 @@ DIST mariadb-5.5.49.tar.gz 45738390 SHA256 2c82f2af71b88a7940d5ff647498ed78922c9
DIST mysql-extras-20121101-2319Z.tar.bz2 1898358 SHA256 ea5da082d3384bde67e005ebc39b78e7caadea80745333fb5a9cf47a4c4e4c5d SHA512 6a49abb1beee012d87ab63071a568ee6d9d8e4ff7a76401b91f5bdc127860d1c504a3877cbadb81536b07afe5ff419c77c793b0fc14ba484f56765d1ca526614 WHIRLPOOL 4bda75a0a9063830b3140bbc3cb12b60fa21289eee2fa476fb286da6318fdf0445a9c6193bd2063aefcd3f4ecc1f8045b30635f0e32014098d0f3dbee86e01fc
DIST mysql-extras-20150509-1847Z.tar.bz2 1494301 SHA256 de9c9fbb67998604cb3c0409842e4601646c8ad17f2aa301f55ffd4aed7a483d SHA512 f87d96ab8c35236d4453182c49f87f6e703af9dc217916546e4dd7368caa18a2340c9063decd96c22251d1097d7e2cac58bef30e6ff75c23aedf8926dbc3d3b4 WHIRLPOOL f60297c8ee1dfd9867ed6b29a8b04a002f23bc36b1e8d9b5db30e1e454a49fe06ffc37b10d934b11235364eecdc62beb50ce24690ab3d07a50056357906fa0fa
DIST mysql-extras-20170719-0024Z.tar.bz2 310450 SHA256 220d4a62c737164a22554bc34c4a1b557441dda12f85ab94936158d540bf2f45 SHA512 658f70b617129b80c69e897e60b4aacc414ce4fc31b3814be6ef7b0002a8f81d6a41af2a88a0a4cd82b7665b1d6682ef6140bebd3c41d08b8ad6b4e083669139 WHIRLPOOL 2463673e700cf3eacc1d02e973f486afdc6120b4cdd194751644770145d5fd018d9a1674d119749224cefca6dd6fc13037c490aec0c34a02c01975141b5e38f1
+DIST mysql-extras-20170719-0113Z.tar.bz2 311116 SHA256 30b7e5f981a110ec8e1582939c59ea037559fa1519771d487d591f022b6a148d SHA512 5e470562e629bd1d104cd1d85e2b57f82b56c8f1f8236d666aca564ed577be50a5818312d8cb2a6a5f18a9c6c6792932fb15f56fd0baac6fadee4411b278f3ce WHIRLPOOL a5764ea0b9ba33d4a4982b24eeefddbaea4367d9e58b866fa9145e65d53369820762a27d36271c522ea3ad214637d28c3d0db3477d47e68647afada7a3dbbd75
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQKSBAEBCAB9FiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAlluqSBfFIAAAAAALgAo
+iQKTBAEBCAB9FiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAllutcFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY2
QzJFNDRFRDkwRTMyNzU4RTdENTVDMEQxRjc4MUVGRjlGNEEzQjYACgkQ0feB7/n0
-o7Zoug/2Ndk6gK7uDEymWFai1ZJLtQyskFbTbtuwS6tAwtqjlNgGb5QnhM/ksKoP
-iRHtPbY6I1nayiIlnDnuqP9eSOQutbKNzxDWZLX4DY0RJkB2FLJlx9Z4mKpSKHFe
-3s5rEjp46FAqW7P3DK45SBwOAt04nqodKPGEq/jhovJgaCw+lA4laH6kGPklYyGx
-Fg4dBK2EUfEdqGaaWwpO4j4wWWQzKuDuOLxDyoI6sPyUTVo9y5paENXuTcpzYj5H
-QSxB4BImaVIS46ew88F3q5ZfZsSmskK2v+S8boc1J1IzYCxlYI5k+uIgEWOIVfyx
-QEEUs3cuTSlpMs7cYiIDyL8pAimrpRtz+Iex3KPZpBLTOwh+PvNhV+7qDqSd2AEC
-I37vT1+8Uivlqyu6OT+kqk4aYrZETmA4njoVEK+0f6iNmS9gUzxlJ8rONs2qK2IR
-60Np4RnjSP567m8U1bIqN6Kx6Nqx7fBIxK0gkxe29H1jZWuRQr+XZ+9MG0KxpEwI
-mEmQ7E2IyVcTdatxBTAQyGRjFnRk3E4uRkgw+Eet8eJFj7vMLgBcQpQlz8y8/yIA
-znwp/a7v8SwC4yKzo7enM59dmjrnufD4I8rJrCyW0cxzDjmJBgiWVFqmL+RcMgyD
-JEIWaB57X32/OhI4A57JPiv0QnzXsIogvYT3xNoNTslLNJBuzg==
-=RiQd
+o7YxxA/+JY9n8PNTpQD71BqeOy7gyeCVZrjFXfzULDId3gC7NUry1bmt7lb3/SLc
+BPxYsQrZcWlxKvFXJYpfcTWa2+aMFgG1YiouuLqCsbsQPbaK5J+eD3lc0rixLufi
+QEmBjN58sIGWFw0Ft6HFuVsUle7JRZmi7TwqXxR8G4Qwk56I1H9lR0vcJCbMrvQf
+/eom0Ceq6S6efBD/WdUoB5EPXSMrdETn8P3p5aW012bXKy0FHWnj+10CHA3EHKmk
+fKeuTPER9qqusd2tE9sBOQuMUuKOqrK7z9jme37U+H/1/1V61eZugmLFp0/aSK6h
+1vUrwt5a6KGCY9ksVFoRbfvk4LECXzE1t7oYy+k/SOcS0FV+45gjhCnknQbE/CME
+oR05Dnd8f+5FJ7C9JMVeyJF0IRayNi18I0Kg/8Z0fU7SzvxJWuFLC5V92ZxTUvil
+s2t8LH0m7UMskm9bgbScpM7DcvrJ0BRhKfOEjGUzWZ2s6exHL9uKkhoZegkcsQDX
+FAaCc9WnkYEso8iUCgbR+Z7/QgdU2kbMEXTT9/cidUAjmQthsJTUAF0uqJy0xQ7n
+gfjYcyPTwW+PK02VTQ7h2EQq4Ac4wn6nzwX//kNWVZoFYhc1fMHMb/Wr7YOMorbI
+WFMYVKdxF4i/4FBEtQlt/oS7GTdejpYdAYNiHHyMKcsKRSvEW6I=
+=NBDb
-----END PGP SIGNATURE-----
diff --git a/dev-db/mariadb/mariadb-10.2.7.ebuild b/dev-db/mariadb/mariadb-10.2.7.ebuild
new file mode 100644
index 0000000..ff19ca8
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.2.7.ebuild
@@ -0,0 +1,398 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20170719-0113Z"
+# The wsrep API version must match between upstream WSREP and sys-cluster/galera major number
+WSREP_REVISION="25"
+SUBSLOT="18"
+MYSQL_PV_MAJOR="5.6"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit toolchain-funcs java-pkg-opt-2 prefix toolchain-funcs \
+ multilib-minimal mysql-multilib-r1
+
+HOMEPAGE="http://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+
+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"
+RESTRICT="!bindist? ( bindist )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) static? ( !pam )"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+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"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.7-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+)
+
+COMMON_DEPEND="
+ mroonga? ( app-text/groonga-normalizer-mysql )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( virtual/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.35:3=
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+"
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
+ ${COMMON_DEPEND}"
+RDEPEND="${RDEPEND} ${COMMON_DEPEND}
+ server? ( galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-${WSREP_REVISION}*
+ sst-rsync? ( sys-process/lsof )
+ sst-xtrabackup? ( net-misc/socat[ssl] )
+ ) )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
+"
+# xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
+
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mysql/mysql_version.h
+ /usr/include/mariadb/mariadb_version.h
+ /usr/include/mysql/private/probes_mysql_nodtrace.h
+ /usr/include/mysql/private/probes_mysql_dtrace.h )
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ mysql-multilib-r1_pkg_setup
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+ if use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure(){
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+
+ local MYSQL_CMAKE_NATIVE_DEFINES=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ )
+ local MYSQL_CMAKE_EXTRA_DEFINES=(
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE="$(usex kerberos DYNAMIC OFF)"
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_ELIBDIR=$(get_libdir)/mariadb
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_UNITTEST=OFF
+ )
+
+ if use test ; then
+ MYSQL_CMAKE_EXTRA_DEFINES+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ fi
+
+ if use server ; then
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ MYSQL_CMAKE_NATIVE_DEFINES+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ MYSQL_CMAKE_NATIVE_DEFINES+=(
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=share/mariadb
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ )
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ MYSQL_CMAKE_NATIVE_DEFINES+=( -DSKIP_TESTS=ON )
+ fi
+ fi
+ mysql-multilib-r1_src_configure
+}
+
+src_install() {
+ # wrap the config scripts
+ local MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config /usr/bin/mysql_config )
+ multilib-minimal_src_install
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${D}${MY_INCLUDEDIR}/private/config.h" ]] ; then
+ rm "${D}${MY_INCLUDEDIR}/private/config.h" || die
+ fi
+
+ if ! multilib_is_native_abi && use server ; then
+ insinto /usr/include/mysql/private
+ doins "${S}"/sql/*.h
+ fi
+}
+
+multilib_src_install_all() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+ einfo "Creating initial directories"
+ # Empty directories ...
+ diropts "-m0750"
+ if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
+ dodir "${MY_DATADIR#${EPREFIX}}"
+ keepdir "${MY_DATADIR#${EPREFIX}}"
+ chown -R mysql:mysql "${D}/${MY_DATADIR}"
+ fi
+
+ diropts "-m0755"
+ local folder
+ for folder in "${MY_LOGDIR#${EPREFIX}}" ; do
+ dodir "${folder}"
+ keepdir "${folder}"
+ chown -R mysql:mysql "${ED}/${folder}"
+ done
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+
+ # Install compatible symlinks to libmysqlclient
+ use static-libs && dosym libmariadbclient.a "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.a"
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so"
+ dosym libmariadb.so.3 "${EPREFIX}/usr/$(get_libdir)/libmysqlclient.so.${SUBSLOT}"
+}
+
+# Official test instructions:
+# USE='embedded extraengine perl server openssl static-libs' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+multilib_src_test() {
+
+ if ! multilib_is_native_abi ; then
+ einfo "Server tests not available on non-native abi".
+ return 0;
+ fi
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log}
+
+ # Run mysql tests
+ pushd "${TESTDIR}" || die
+
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ mysql-multilib-r1_disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql_client_test_comp ; do
+ mysql-multilib-r1_disable_test "$t" "False positives in Gentoo"
+ done
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder
+ retstatus_tests=$?
+
+ popd || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || eerror "Test failures: $failures"
+ einfo "Tests successfully completed"
+}