diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2014-08-03 21:42:35 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2014-08-03 21:42:35 +0000 |
commit | 624e06bf5f640f6617e0f5e3951452361b74b78a (patch) | |
tree | 01bf30118fe54c3c8b04a749449db24de720feab /dev-db/mysql-cluster | |
parent | Version bump (diff) | |
download | gentoo-2-624e06bf5f640f6617e0f5e3951452361b74b78a.tar.gz gentoo-2-624e06bf5f640f6617e0f5e3951452361b74b78a.tar.bz2 gentoo-2-624e06bf5f640f6617e0f5e3951452361b74b78a.zip |
Bring MySQL-Cluster from the overlay into the tree. Thanks to the great work of Brian Evans <grknight@gentoo.org>. Keywords not ported from other builds, as this contains other code not previously tested on other arches.
(Portage version: 2.2.10/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'dev-db/mysql-cluster')
-rw-r--r-- | dev-db/mysql-cluster/ChangeLog | 12 | ||||
-rw-r--r-- | dev-db/mysql-cluster/files/my.cnf-5.5 | 149 | ||||
-rw-r--r-- | dev-db/mysql-cluster/metadata.xml | 18 | ||||
-rw-r--r-- | dev-db/mysql-cluster/mysql-cluster-7.2.17.ebuild | 129 | ||||
-rw-r--r-- | dev-db/mysql-cluster/mysql-cluster-7.3.6.ebuild | 136 |
5 files changed, 444 insertions, 0 deletions
diff --git a/dev-db/mysql-cluster/ChangeLog b/dev-db/mysql-cluster/ChangeLog new file mode 100644 index 000000000000..6042521ad3cf --- /dev/null +++ b/dev-db/mysql-cluster/ChangeLog @@ -0,0 +1,12 @@ +# ChangeLog for dev-db/mysql-cluster +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/ChangeLog,v 1.1 2014/08/03 21:42:35 robbat2 Exp $ + +*mysql-cluster-7.2.17 (03 Aug 2014) +*mysql-cluster-7.3.6 (03 Aug 2014) + + 03 Aug 2014; Robin H. Johnson <robbat2@gentoo.org> +files/my.cnf-5.5, + +metadata.xml, +mysql-cluster-7.2.17.ebuild, +mysql-cluster-7.3.6.ebuild: + Bring MySQL-Cluster from the overlay into the tree. Thanks to the great work + of Brian Evans <grknight@gentoo.org>. Keywords not ported from other builds, + as this contains other code not previously tested on other arches. 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..0e0838be51d8 --- /dev/null +++ b/dev-db/mysql-cluster/files/my.cnf-5.5 @@ -0,0 +1,149 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/files/my.cnf-5.5,v 1.1 2014/08/03 21:42:35 robbat2 Exp $ + +# 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_arch_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/metadata.xml b/dev-db/mysql-cluster/metadata.xml new file mode 100644 index 000000000000..0fd723f94d87 --- /dev/null +++ b/dev-db/mysql-cluster/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>mysql</herd> +<use> + <flag name='cluster'>Add support for NDB clustering</flag> + <flag name='community'>Enables the community features from upstream.</flag> + <flag name='embedded'>Build embedded server (libmysqld)</flag> + <flag name='extraengine'>Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag> + <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag> + <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag> + <flag name='max-idx-128'>Raise the max index per table limit from 64 to 128</flag> + <flag name='minimal'>Install client programs only, no server</flag> + <flag name='profiling'>Add support for statement profiling (requires USE=community).</flag> + <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag> + <flag name='test'>Install upstream testsuites for end use.</flag> +</use> +</pkgmetadata> diff --git a/dev-db/mysql-cluster/mysql-cluster-7.2.17.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.2.17.ebuild new file mode 100644 index 000000000000..e94ac90eb1c2 --- /dev/null +++ b/dev-db/mysql-cluster/mysql-cluster-7.2.17.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/mysql-cluster-7.2.17.ebuild,v 1.1 2014/08/03 21:42:35 robbat2 Exp $ + +EAPI=4 +MY_EXTRAS_VER="live" +BUILD="cmake" + +# PBXT +#PBXT_VERSION='1.0.11-6-pre-ga' +# XtraDB +#PERCONA_VER='5.1.45-10' XTRADB_VER='1.0.6-10' + +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='02040_all_embedded-library-shared-5.1.43.patch ' + +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 "${S}"/mysql-test/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 \ + 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="${S}/mysql-test/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.6.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.6.ebuild new file mode 100644 index 000000000000..faa725e269ed --- /dev/null +++ b/dev-db/mysql-cluster/mysql-cluster-7.3.6.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/mysql-cluster-7.3.6.ebuild,v 1.1 2014/08/03 21:42:35 robbat2 Exp $ + +EAPI=4 +MY_EXTRAS_VER="live" +BUILD="cmake" + +# PBXT +#PBXT_VERSION='1.0.11-6-pre-ga' +# XtraDB +#PERCONA_VER='5.1.45-10' XTRADB_VER='1.0.6-10' + +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='02040_all_embedded-library-shared-5.1.43.patch ' + +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 "${S}"/mysql-test/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. + # + # main.mysql_tzinfo_to_sql_symlink + # fails due to missing mysql_test/std_data/zoneinfo/GMT file from archive + # + 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 \ + main.mysql_tzinfo_to_sql_symlink \ + mysqld--help-notwin \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + ; do + mysql-v2_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-v2_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="${S}/mysql-test/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 +} |