diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2014-07-29 23:14:33 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2014-07-29 23:14:33 +0000 |
commit | 0864b2a7f6707b657b9270842f209d214242ff63 (patch) | |
tree | c4c6b1937a86181165ea29304c3e364756c78728 /dev-db/percona-server | |
parent | Bring MySQL 5.6/MariaDB 10.0 from the overlay into the tree. Thanks to the gr... (diff) | |
download | gentoo-2-0864b2a7f6707b657b9270842f209d214242ff63.tar.gz gentoo-2-0864b2a7f6707b657b9270842f209d214242ff63.tar.bz2 gentoo-2-0864b2a7f6707b657b9270842f209d214242ff63.zip |
Bring MySQL(percona-server) 5.6 from the overlay into the tree. Thanks to the great work of Brian Evans <grknight@gentoo.org>.
(Portage version: 2.2.10/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'dev-db/percona-server')
-rw-r--r-- | dev-db/percona-server/ChangeLog | 10 | ||||
-rw-r--r-- | dev-db/percona-server/files/my.cnf-5.5 | 149 | ||||
-rw-r--r-- | dev-db/percona-server/metadata.xml | 18 | ||||
-rw-r--r-- | dev-db/percona-server/percona-server-5.6.19.67.0.ebuild | 130 |
4 files changed, 307 insertions, 0 deletions
diff --git a/dev-db/percona-server/ChangeLog b/dev-db/percona-server/ChangeLog new file mode 100644 index 000000000000..dc48b72a6ed7 --- /dev/null +++ b/dev-db/percona-server/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for dev-db/percona-server +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/percona-server/ChangeLog,v 1.1 2014/07/29 23:14:33 robbat2 Exp $ + +*percona-server-5.6.19.67.0 (29 Jul 2014) + + 29 Jul 2014; Robin H. Johnson <robbat2@gentoo.org> +files/my.cnf-5.5, + +metadata.xml, +percona-server-5.6.19.67.0.ebuild: + Bring MySQL(percona-server) 5.6 from the overlay into the tree. Thanks to the + great work of Brian Evans <grknight@gentoo.org>. diff --git a/dev-db/percona-server/files/my.cnf-5.5 b/dev-db/percona-server/files/my.cnf-5.5 new file mode 100644 index 000000000000..dcda03b33561 --- /dev/null +++ b/dev-db/percona-server/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/percona-server/files/my.cnf-5.5,v 1.1 2014/07/29 23:14:33 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/percona-server/metadata.xml b/dev-db/percona-server/metadata.xml new file mode 100644 index 000000000000..6c8301d1dd73 --- /dev/null +++ b/dev-db/percona-server/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 (deprecated)</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/percona-server/percona-server-5.6.19.67.0.ebuild b/dev-db/percona-server/percona-server-5.6.19.67.0.ebuild new file mode 100644 index 000000000000..595f5c9bbee0 --- /dev/null +++ b/dev-db/percona-server/percona-server-5.6.19.67.0.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/percona-server/percona-server-5.6.19.67.0.ebuild,v 1.1 2014/07/29 23:14:33 robbat2 Exp $ + +EAPI="5" + +MY_EXTRAS_VER="20140729-2200Z" +MY_PV="${PV//_alpha_pre/-m}" +MY_PV="${MY_PV//_/-}" + +# Build type +BUILD="cmake" + +inherit toolchain-funcs mysql-v2 +# only to make repoman happy. it is really set in the eclass +IUSE="$IUSE" + +# Define the mysql-extras source +EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux" + +# When MY_EXTRAS is bumped, the index should be revised to exclude these. +EPATCH_EXCLUDE='' + +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )" +RDEPEND="${RDEPEND}" + +# 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 embedded extraengine perl ssl static-libs community' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild percona-server-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 Percona 5.6 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, binlog.binlog_mysqlbinlog_filter + # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt + # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + # + # main.percona_bug1289599 + # Looks to be a syntax error in the test file itself + # + # main.variables main.myisam main.merge_recover + # fails due to ulimit not able to open enough files (needs 5000) + # + + for t in main.mysql_client_test \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \ + perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \ + funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \ + main.variables main.myisam main.merge_recover \ + main.percona_bug1289599; do + mysql-v2_disable_test "$t" "False positives in Gentoo" + done + + # Run mysql tests + pushd "${TESTDIR}" + + # Set file limits higher so tests run + ulimit -n 3000 + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${S}/mysql-test/var-tests" \ + --testcase-timeout=30 --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 +} |