From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-db/mysql-cluster/Manifest | 10 ++ dev-db/mysql-cluster/files/my.cnf-5.5 | 147 +++++++++++++++++++++++ dev-db/mysql-cluster/files/my.cnf-5.6 | 139 +++++++++++++++++++++ dev-db/mysql-cluster/metadata.xml | 24 ++++ dev-db/mysql-cluster/mysql-cluster-7.2.22.ebuild | 124 +++++++++++++++++++ dev-db/mysql-cluster/mysql-cluster-7.3.11.ebuild | 143 ++++++++++++++++++++++ 6 files changed, 587 insertions(+) create mode 100644 dev-db/mysql-cluster/Manifest create mode 100644 dev-db/mysql-cluster/files/my.cnf-5.5 create mode 100644 dev-db/mysql-cluster/files/my.cnf-5.6 create mode 100644 dev-db/mysql-cluster/metadata.xml create mode 100644 dev-db/mysql-cluster/mysql-cluster-7.2.22.ebuild create mode 100644 dev-db/mysql-cluster/mysql-cluster-7.3.11.ebuild (limited to 'dev-db/mysql-cluster') diff --git a/dev-db/mysql-cluster/Manifest b/dev-db/mysql-cluster/Manifest new file mode 100644 index 000000000000..cf63276dfc0f --- /dev/null +++ b/dev-db/mysql-cluster/Manifest @@ -0,0 +1,10 @@ +AUX my.cnf-5.5 4732 SHA256 c016291a43c4fddd535fe8b6a27dcdb6b960cc41be47ee8f4494928cf7858c59 SHA512 617d5be2b84eb6207c8e26db15597f3477d69aed756b05897f5ac3b7df4bef599ed932e4b27f39ac20272ea5907b31ca42e01f2b317899bdbe19db7b7c4dfc2d WHIRLPOOL 8d6d9a6356f4834a3676019ad862ad24aebc77ef8c211ef02719f41e143648da81608328d1e030107faf6f2a3792dcd731ea3a8cabc2a786608604ec62775b85 +AUX my.cnf-5.6 4504 SHA256 d6bfb754105464643f8f2efa14337c2f78a6a6e7e812e998b2ebcdd4b7c6f450 SHA512 866aa700460c2962bad6294b271efad09ef285dd428ab01551078be9972d2f961fbdf56aef7927439784711022e92a96f2eba30cd297f056f6562e8817c89aae WHIRLPOOL c91bb1ea6ef0b974377a60ef7ceb434ffcbf46d3fb57412deaa92930ab83e57bee3771b44a7b374f1df02211562ed5296182a218763145a7c41d96aa9b709afd +DIST mysql-cluster-gpl-7.2.22.tar.gz 26075142 SHA256 404b80192c488791cedf6251e64bb01310b20f13fcdb28721e108e92985ae999 SHA512 b3370725f17a5b6577c9822097b6c39e4375bdabca2a403bd45dfeb9fd5920c0e213c894eed33dadba69d9c066427ab5065c587869d82bf2e3438d3bdeb1aa8e WHIRLPOOL 1275fc2a181011c5ea2ac392c94027f399a5ce4fd499ff23790bfad142b1c7d67bc421e7c6a4e64e6bb409f04016196417535d5704d21165c1120bf46ab68544 +DIST mysql-cluster-gpl-7.3.11.tar.gz 42806929 SHA256 6c8cfc99ccbf47cd4304996559de6fb330e9cdf754bec37ff7347be72e50c646 SHA512 89e5b6e845b71ed6945529b7f515d3af96ec6daf79c0085f1d0ea6e4426f61eb3626b688e5edda668be4615df1b8cec4e71acdf0d21150fa2775c79ea09563e5 WHIRLPOOL f03d3b62da793becd6aab775293e5963697f9b4147bf6d662274f689b1a48692b1f4de0ad196e74cb02a07ce2a69b608a4d420ad5dc153b20888ba69dc361dc4 +DIST mysql-extras-20151117-2040Z.tar.bz2 294183 SHA256 2ca16597e869fb0fac4f6e48b779892569698ce83c898df3afaee63131f71833 SHA512 8edbc6a3812d17a2f1a827459867c0747387ff72be86b12fe0e790afca5e4b70e4f23c4098bdb61afa20ef292e2c3b154f16577d5c11999a3e2eec9e43b8d09a WHIRLPOOL f0df653216857527ffa3d31f07ab1c470614b53350f5dbd965ba3bdc398f36f37b506537f1070b03a54203a3847f6557a2ae6757327ce852833fa026de7b518d +EBUILD mysql-cluster-7.2.22.ebuild 4072 SHA256 4542f954fc00d365ec22957fa29d4d08686a1a32756941d58b655b1ea0d3a082 SHA512 a4911a0abc8c7642704a3e40582e1b7d5f5b9fa900d51873c64f902d9f659b5bd4a87be155f92c3af8ffad441c4d9648aca5a5b30e1f9e59fc010435b2f31daf WHIRLPOOL 064279511fd791f3328f3c67df6e32247022efa983e43349d8f0234f6f79dbabb38cb7c4a5b0cad1ecbde4e637242f4a43879f2271d8c21c59178fbc2f56026c +EBUILD mysql-cluster-7.3.11.ebuild 4704 SHA256 cce611435c5d31357ca28cee68df4ed55f78efc6b07a2a903605382f24fab4e2 SHA512 9a3fbc8757b0b8edf84253bd6309718787d4e04959734ba9193c69d94ddfc77dced361e096889f7aa8dc0838b73974a4db25e40b91222d8b35f8d5422f38e715 WHIRLPOOL e6c536bd86fc54e0d9f58386703b7be42a8e04fd0e1fb9de60724d8d12165dfadc38d5090ad8933627e47b87d3685d1be89a0b1f6202112681a0b7885e7620b4 +MISC ChangeLog 4144 SHA256 07b9aaf673d386476ecf94e5efd8f36b29bcd6c03a8ed98477705cf1b8a2a04f SHA512 b6ba5accdb4963a66fd2ec137c5d35850d15a8da7891252eec32c381cbb93ffaa92c36d1c49a0b7545063eb58c3f9b79a75d1e5815d9890a403563601634242e WHIRLPOOL fd6aee40cc89ac8da2e1b33acb992963e6bc60f6f9f722ca5779047abb696c26e7dfcd4c07094887639005eb80f8ec699960399022804cf2320b4efaaccf49aa +MISC ChangeLog-2015 2348 SHA256 343f777d9569de16f5ff95232ebc908eabee68ce641474776aaa8665357e498c SHA512 cc53b01580c21a312d77b59e8d653dcf3c2a8576cf8cf664784d94c60d266224155ed5a2b409c457f8104e05be56bfa449ffb526e42226ece9abd2549d481468 WHIRLPOOL 13ef8138e6c990e173c1042a8b146bcdb6d86121636c79f48226c75931bd3f36f0db0c9d55a348be4ef3e9ef3e7d3a4b00cd6450c524bcbb3472a474c48dc65c +MISC metadata.xml 1480 SHA256 5f8896f7960f7c265619b41261ff6fccfbcedd29d9a70c4d6f63f960e40d7c50 SHA512 cfb6a753bb071b39f52e8db35b07f70efeae4cb943d57d010a6d42a641c50b6f28b38bf4068536b3c70604da1cb5a428ea5525d0c776ef46cfc4c4c5a37cbbe4 WHIRLPOOL 76bea8ae26e55982611ee7fa24767692327eb53ef386fa11cd128d5e1918e1eb25f639b9a581e83b4c0ce51b8c03630e80ccd3f0a6b1dfb15cc17ba7fc7d6935 diff --git a/dev-db/mysql-cluster/files/my.cnf-5.5 b/dev-db/mysql-cluster/files/my.cnf-5.5 new file mode 100644 index 000000000000..edb71e86e85e --- /dev/null +++ b/dev-db/mysql-cluster/files/my.cnf-5.5 @@ -0,0 +1,147 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. + +# The following options will be passed to all MySQL clients +[client] +#password = your_password +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock + +[mysql] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqladmin] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlcheck] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqldump] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlimport] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlshow] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[myisamchk] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +[myisampack] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +# use [safe_mysqld] with mysql-3 +[mysqld_safe] +err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err + +# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations +[mysqld] +character-set-server = utf8 +user = mysql +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid +log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err +basedir = @GENTOO_PORTAGE_EPREFIX@/usr +datadir = @DATADIR@ +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 1M +table_open_cache = 64 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql +#Set this to your desired error message language +lc_messages = en_US + +# security: +# using "localhost" in connects uses sockets by default +# skip-networking +bind-address = 127.0.0.1 + +log-bin +server-id = 1 + +# point the following paths to different dedicated disks +tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ +#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname + +# you need the debug USE flag enabled to use the following directives, +# if needed, uncomment them, start the server and issue +# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace +# this will show you *exactly* what's happening in your server ;) + +#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql +#gdb +#debug = d:t:i:o,/tmp/mysqld.trace +#one-thread + +# the following is the InnoDB configuration +# if you wish to disable innodb instead +# uncomment just the next line +#skip-innodb +# +# the rest of the innodb config follows: +# don't eat too much memory, we're trying to be safe on 64Mb boxes +# you might want to bump this up a bit on boxes with more RAM +innodb_buffer_pool_size = 16M +# this is the default, increase it if you have lots of tables +innodb_additional_mem_pool_size = 2M +# +# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-( +# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route +# we have to take for the moment +#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ +#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ +# you may wish to change this size to be more suitable for your system +# the max is there to avoid run-away growth on your machine +innodb_data_file_path = ibdata1:10M:autoextend:max:128M +# we keep this at around 25% of of innodb_buffer_pool_size +# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) +innodb_log_file_size = 5M +# this is the default, increase it if you have very large transactions going on +innodb_log_buffer_size = 8M +# this is the default and won't hurt you +# you shouldn't need to tweak it +innodb_log_files_in_group=2 +# see the innodb config docs, the other options are not always safe +innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_file_per_table + +# Uncomment this to get FEDERATED engine support +#plugin-load=federated=ha_federated.so +loose-federated + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +# uncomment the next directive if you are not familiar with SQL +#safe-updates + +[isamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[myisamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer_size = 2M +write_buffer_size = 2M + +[mysqlhotcopy] +interactive-timeout + diff --git a/dev-db/mysql-cluster/files/my.cnf-5.6 b/dev-db/mysql-cluster/files/my.cnf-5.6 new file mode 100644 index 000000000000..df462ab69a14 --- /dev/null +++ b/dev-db/mysql-cluster/files/my.cnf-5.6 @@ -0,0 +1,139 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. + +# The following options will be passed to all MySQL clients +[client] +#password = your_password +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock + +[mysql] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqladmin] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlcheck] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqldump] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlimport] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysqlshow] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[myisamchk] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +[myisampack] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +# use [safe_mysqld] with mysql-3 +[mysqld_safe] +err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err + +# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations +[mysqld] +character-set-server = utf8 +user = mysql +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid +log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err +basedir = @GENTOO_PORTAGE_EPREFIX@/usr +datadir = @DATADIR@ +skip-external-locking +key_buffer_size = 16M +max_allowed_packet = 4M +table_open_cache = 400 +sort_buffer_size = 512K +net_buffer_length = 16K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql +#Set this to your desired error message language +lc_messages = en_US + +# security: +# using "localhost" in connects uses sockets by default +# skip-networking +bind-address = 127.0.0.1 + +log-bin +server-id = 1 + +# point the following paths to different dedicated disks +tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ +#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname + +# you need the debug USE flag enabled to use the following directives, +# if needed, uncomment them, start the server and issue +# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace +# this will show you *exactly* what's happening in your server ;) + +#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql +#gdb +#debug = d:t:i:o,/tmp/mysqld.trace +#one-thread + +# the rest of the innodb config follows: +# don't eat too much memory, we're trying to be safe on 64Mb boxes +# you might want to bump this up a bit on boxes with more RAM +innodb_buffer_pool_size = 128M +# +# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-( +# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route +# we have to take for the moment +#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ +#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ +# you may wish to change this size to be more suitable for your system +# the max is there to avoid run-away growth on your machine +innodb_data_file_path = ibdata1:10M:autoextend:max:128M +# we keep this at around 25% of of innodb_buffer_pool_size +# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) +innodb_log_file_size = 48M +# this is the default, increase it if you have very large transactions going on +innodb_log_buffer_size = 8M +# this is the default and won't hurt you +# you shouldn't need to tweak it +innodb_log_files_in_group=2 +# see the innodb config docs, the other options are not always safe +innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_file_per_table + +# Uncomment this to get FEDERATED engine support +#plugin-load=federated=ha_federated.so +loose-federated + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +# uncomment the next directive if you are not familiar with SQL +#safe-updates + +[isamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer = 2M +write_buffer = 2M + +[myisamchk] +key_buffer_size = 20M +sort_buffer_size = 20M +read_buffer_size = 2M +write_buffer_size = 2M + +[mysqlhotcopy] +interactive-timeout diff --git a/dev-db/mysql-cluster/metadata.xml b/dev-db/mysql-cluster/metadata.xml new file mode 100644 index 000000000000..9dc67c64a895 --- /dev/null +++ b/dev-db/mysql-cluster/metadata.xml @@ -0,0 +1,24 @@ + + + + + mysql-bugs@gentoo.org + MySQL + + + Add support for NDB clustering + Enables the community features from upstream. + Build embedded server (libmysqld) + Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition) + Use dev-libs/jemalloc for allocations. + Use LATIN1 encoding instead of UTF8 + Enable SSL connections and crypto functions using dev-libs/libressl + Enable SSL connections and crypto functions using dev-libs/openssl + Raise the max index per table limit from 64 to 128 + Install client programs only, no server + Add support for statement profiling (requires USE=community). + Build support for profiling and tracing using dev-util/systemtap + Install upstream testsuites for end use. + Enable SSL connections and crypto functions using the bundled yaSSL + + diff --git a/dev-db/mysql-cluster/mysql-cluster-7.2.22.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.2.22.ebuild new file mode 100644 index 000000000000..264df8423382 --- /dev/null +++ b/dev-db/mysql-cluster/mysql-cluster-7.2.22.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +MY_EXTRAS_VER="20151117-2040Z" +BUILD="cmake" + +inherit toolchain-funcs java-pkg-opt-2 mysql-v2 +# only to make repoman happy. it is really set in the eclass +IUSE="$IUSE" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~amd64 ~x86" + +# When MY_EXTRAS is bumped, the index should be revised to exclude these. +# This is often broken still +#EPATCH_EXCLUDE='' + +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )" +RDEPEND="!media-sound/amarok[embedded]" + +# Please do not add a naive src_unpack to this ebuild +# If you want to add a single patch, copy the ebuild to an overlay +# and create your own mysql-extras tarball, looking at 000_index.txt + +# Official test instructions: +# USE='cluster extraengine perl ssl community' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-cluster-X.X.XX.ebuild \ +# digest clean package +src_test() { + + local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # 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 ! use "minimal" ; then + + 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 && eerror "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + addpredict /this-dir-does-not-exist/t9.MYI + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + # create directories because mysqladmin might right out of order + mkdir -p "${T}"/var-tests{,/log} + + # These are failing in MySQL 5.5 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, ndb.ndbinfo, ndb_binlog.ndb_binlog_index + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + # + # sys_vars.plugin_dir_basic + # fails because PLUGIN_DIR is set to MYSQL_LIBDIR64/plugin + # instead of MYSQL_LIBDIR/plugin + # + # main.flush_read_lock_kill + # fails because of unknown system variable 'DEBUG_SYNC' + # + # main.openssl_1 + # error message changing + # -mysqltest: Could not open connection 'default': 2026 SSL connection + # error: ASN: bad other signature confirmation + # +mysqltest: Could not open connection 'default': 2026 SSL connection + # error: error:00000001:lib(0):func(0):reason(1) + # + + for t in main.mysql_client_test \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help-notwin main.flush_read_lock_kill \ + sys_vars.plugin_dir_basic main.openssl_1 \ + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ + ndb.ndbinfo ndb_binlog.ndb_binlog_index ; do + mysql-v2_disable_test "$t" "False positives in Gentoo" + done + + # Run mysql tests + pushd "${TESTDIR}" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ + --parallel=auto + retstatus_tests=$? + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + popd + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" + + else + + einfo "Skipping server tests due to minimal build." + fi +} diff --git a/dev-db/mysql-cluster/mysql-cluster-7.3.11.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.11.ebuild new file mode 100644 index 000000000000..bb3d2a244216 --- /dev/null +++ b/dev-db/mysql-cluster/mysql-cluster-7.3.11.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +MY_EXTRAS_VER="20151117-2040Z" +SUBSLOT="18" + +inherit toolchain-funcs java-pkg-opt-2 mysql-multilib +# only to make repoman happy. it is really set in the eclass +IUSE="$IUSE" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~amd64 ~x86" + +# When MY_EXTRAS is bumped, the index should be revised to exclude these. +# This is often broken still +#EPATCH_EXCLUDE='' + +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )" +RDEPEND="!media-sound/amarok[embedded]" + +# Please do not add a naive src_unpack to this ebuild +# If you want to add a single patch, copy the ebuild to an overlay +# and create your own mysql-extras tarball, looking at 000_index.txt + +src_prepare() { + mysql-multilib_src_prepare + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi +} + +# Official test instructions: +# USE='extraengine perl openssl' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-cluster-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="${CMAKE_BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # 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 ! use "minimal" ; then + + 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 && eerror "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + addpredict /this-dir-does-not-exist/t9.MYI + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + + # 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 right out of order + mkdir -p "${T}"/var-tests{,/log} + + # These are failing in MySQL 5.5/5.6 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, funcs_1.is_triggers funcs_1.is_tables_mysql, + # funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter, + # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt, + # mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql + # perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + # + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_statement_insert_delayed \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + main.information_schema \ + main.mysqld--help-notwinfuncs_1.is_triggers \ + main.mysql_client_test \ + mysqld--help-notwin \ + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + ; do + mysql-multilib_disable_test "$t" "False positives in Gentoo" + done + # ndb.ndbinfo, ndb_binlog.ndb_binlog_index: latin1/utf8 + for t in \ + ndb.ndbinfo \ + ndb_binlog.ndb_binlog_index ; do + mysql-multilib_disable_test "$t" "False positives in Gentoo (NDB)" + done + + # Run mysql tests + pushd "${TESTDIR}" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" + retstatus_tests=$? + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + popd + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" + + else + + einfo "Skipping server tests due to minimal build." + fi +} -- cgit v1.2.3