public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/mysql:split-client commit in: dev-db/percona-server/files/, dev-db/percona-server/
@ 2015-07-09 20:50 Brian Evans
  0 siblings, 0 replies; only message in thread
From: Brian Evans @ 2015-07-09 20:50 UTC (permalink / raw
  To: gentoo-commits

commit:     c2bc2d89cb592aa6c47b16c606cf7a63fc6528d2
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  9 20:53:11 2015 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Thu Jul  9 20:53:11 2015 +0000
URL:        https://gitweb.gentoo.org/proj/mysql.git/commit/?id=c2bc2d89

Add patched percona-server

 dev-db/percona-server/Manifest                     |  23 +---
 .../files/without-clientlibs-tools.patch           | 125 +++++++++++++++++
 .../percona-server-5.6.25.73.0-r1.ebuild           | 152 +++++++++++++++++++++
 3 files changed, 278 insertions(+), 22 deletions(-)

diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index a963e12..5a50dc5 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -1,24 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
 DIST mysql-extras-20150113-1853Z.tar.bz2 1494439 SHA256 420553dc8557d0622ad762ee6924900acc74fd4f367fd3840acab03114fada4d SHA512 b1252d905b71a6f42484eaa796ebcd2f0769affc566e6c277ef3bc0ef9bc446a1c22aac3faa48ef7b9305056a1302b37d7ef86b547c44514528a5956ce61d372 WHIRLPOOL d14f0d88358eb0bbd2c338052ec086ab8260988497ef09da934365ded3c30c7e905ea936a0c9817ccb49d1f6e3408b3f6a438455a2455c65c2f26a9fc6367ff3
 DIST percona-server-5.6.24-72.2.tar.gz 34099689 SHA256 5aa6469f3a55fe0fd1cfe315f2f9cacb0ce318620086c93821c9000d6e25c0de SHA512 46e013b272d96d995af48e0a55c94e7ded1a2cf6e8a4e3c7e1674171ac288e2b211e5761eecbe6f0cacf40a026dccbf102f517745c7c07865165fe3a8e922088 WHIRLPOOL ee200bbf7454c16afb349713ea031e4d8acf4fab2fe3d594336443997c683c0d987704c6a300451d6b77df271e32905ca892753320666438ca797a484a499856
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.1
-
-iQJ8BAEBCABmBQJVUN8NXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
-ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NkMyRTQ0RUQ5MEUzMjc1OEU3RDU1QzBE
-MUY3ODFFRkY5RjRBM0I2AAoJENH3ge/59KO2O1YP/2O4khQweEP8zW2elsXL1r54
-FVZaNfi0iynsHYWZYqto/jp8lYgCQEnBLob1W1zcjYF8SMv8qPJkDwJlvteZ3lT8
-oFJ2lvGiLaIQISRke3nL/6G65RkAJEAC31OZr5oxO7gh9hXND17QXvEm+f6/k3Gy
-yrWRrQDblWHt+ayc6T/Jxn1EIvG/RQWe7nCS7RhlDnzme9kJ569y8K+I2eRHyQvh
-DOJzxDmtvUKqRIR/+gwI6ktScK73USqTI/AXDBDzY89WPqsDprJGRZYqb+ANYiHV
-7mMzIz64LRczamtJ1bbmvDd5X/uqVx8lvcHSfyUrcUYhvTX80zXyS2B848w91sz1
-A+Vo9IP0vm+i06dl/z6CyfaSRIfDkPQXPmq66pQm/DGiKrUJa3PTUrX4TlYhbhip
-ZQV5tNaoKUEP5DWNPOvovSHCoa8HR33y0YMII6eLD4zVF0r2VnQHLEwBzvovPd3O
-HvCZNtOWnK1WtrqTPjZcwRYbuNaLvcZa7UULLSGV69dcj7agfmUQCpOqC9w4goNZ
-WZ0ztgZJ/9xE6scBkxMNMzjwWgwFzq5DzUfkv8LCGvNDyherUWwbwz0LM9OqareL
-F5AQOecaFehLb3DghcmKkMSR0aYqD+RaUaaymPH0rcUfqWxvzalQ2YfI4GHFTJPI
-WNxXBEPTrFRvYAGMVu+T
-=ckpy
------END PGP SIGNATURE-----
+DIST percona-server-5.6.25-73.0.tar.gz 34152178 SHA256 790d056931b9dd5b158a732812490fdaf9407012aaf93d3f1c1b21942dcdc251 SHA512 9bb4ee29ceb7e80460d2ffa779ca0aefaa6c0af1c4e5309c1c5f37840da4e85da1196a936e1862bacb3f36d064a6dcb6ad45b3eb55f60b033f2741ec6b487b9d WHIRLPOOL 76c59da78fda5cf70802117e59ceb0a877513ed83b0069c6d5a3f169595eac43516897bc02c092caa71cb059424ed3d4cbb97133c6946f870ab7734e8ca7a282

diff --git a/dev-db/percona-server/files/without-clientlibs-tools.patch b/dev-db/percona-server/files/without-clientlibs-tools.patch
new file mode 100644
index 0000000..d6d21ad
--- /dev/null
+++ b/dev-db/percona-server/files/without-clientlibs-tools.patch
@@ -0,0 +1,125 @@
+diff -aurN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt	2015-07-09 09:04:00.118091000 -0400
++++ b/CMakeLists.txt	2015-07-09 09:17:06.291091000 -0400
+@@ -405,8 +405,6 @@
+ MYSQL_CHECK_ZLIB_WITH_COMPRESS()
+ # Add bundled yassl/taocrypt or system openssl.
+ MYSQL_CHECK_SSL()
+-# Add system/bundled editline.
+-MYSQL_CHECK_EDITLINE()
+ # Add libevent
+ MYSQL_CHECK_LIBEVENT()
+ 
+@@ -436,7 +434,10 @@
+   ADD_SUBDIRECTORY(storage/ndb)
+ ENDIF()
+ 
+-ADD_SUBDIRECTORY(include)
++IF(NOT WITHOUT_CLIENTLIBS)
++  ADD_SUBDIRECTORY(include)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
++
+ ADD_SUBDIRECTORY(dbug)
+ ADD_SUBDIRECTORY(strings)
+ ADD_SUBDIRECTORY(vio)
+@@ -462,7 +463,6 @@
+ ENDIF()
+ 
+ ADD_SUBDIRECTORY(extra)
+-ADD_SUBDIRECTORY(client)
+ ADD_SUBDIRECTORY(sql/share)
+ ADD_SUBDIRECTORY(libservices)
+ 
+@@ -470,11 +470,20 @@
+   ADD_SUBDIRECTORY(man)
+ ENDIF()
+ 
++IF(NOT WITHOUT_TOOLS)
++  # Add system/bundled editline
++  MYSQL_CHECK_EDITLINE()
++  ADD_SUBDIRECTORY(client)
++ENDIF(NOT WITHOUT_TOOLS)
++
+ IF(NOT WITHOUT_SERVER)
+   ADD_SUBDIRECTORY(tests)
+   ADD_SUBDIRECTORY(sql)
+   OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
+   IF(WITH_EMBEDDED_SERVER) 
++   IF(WITHOUT_TOOLS)
++     MYSQL_CHECK_EDITLINE()
++   ENDIF(WITHOUT_TOOLS)
+    ADD_SUBDIRECTORY(libmysqld)
+    ADD_SUBDIRECTORY(libmysqld/examples)
+   ENDIF(WITH_EMBEDDED_SERVER)
+diff -aurN a/extra/CMakeLists.txt b/extra/CMakeLists.txt
+--- a/extra/CMakeLists.txt	2015-05-05 07:05:53.000000000 -0400
++++ b/extra/CMakeLists.txt	2015-07-09 09:18:16.982091000 -0400
+@@ -59,15 +59,16 @@
+   ADD_DEPENDENCIES(GenError copy_openssl_extra)
+ ENDIF()
+ 
++IF(NOT WITHOUT_CLIENTLIBS)
++  MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
++  TARGET_LINK_LIBRARIES(my_print_defaults  mysys mysys_ssl)
++  SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
+ 
+-MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
+-TARGET_LINK_LIBRARIES(my_print_defaults  mysys mysys_ssl)
+-SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
+-
+-MYSQL_ADD_EXECUTABLE(perror perror.c)
+-ADD_DEPENDENCIES(perror GenError)
+-TARGET_LINK_LIBRARIES(perror mysys mysys_ssl)
+-SET_TARGET_PROPERTIES(perror PROPERTIES LINKER_LANGUAGE CXX)
++  MYSQL_ADD_EXECUTABLE(perror perror.c)
++  ADD_DEPENDENCIES(perror GenError)
++  TARGET_LINK_LIBRARIES(perror mysys mysys_ssl)
++  SET_TARGET_PROPERTIES(perror PROPERTIES LINKER_LANGUAGE CXX)
++ENDIF(NOT WITHOUT_CLIENTLIBS)
+ 
+ MYSQL_ADD_EXECUTABLE(resolveip resolveip.c)
+ TARGET_LINK_LIBRARIES(resolveip mysys mysys_ssl)
+diff -aurN a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
+--- a/libmysql/CMakeLists.txt	2015-07-09 09:04:01.217091000 -0400
++++ b/libmysql/CMakeLists.txt	2015-07-09 09:22:47.903091000 -0400
+@@ -217,14 +217,14 @@
+ 
+ IF(UNIX)
+   GET_TARGET_NAME(perconaserverclient lib_name)
+-  IF(ENABLE_STATIC_LIBS)
++  IF(ENABLE_STATIC_LIBS AND NOT WITHOUT_CLIENTLIBS)
+     INSTALL_SYMLINK(perconaserverclient
+       ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}perconaserverclient_r.a
+       ${INSTALL_LIBDIR} Development)
+   ENDIF()
+ ENDIF()
+ 
+-IF(NOT DISABLE_SHARED)
++IF(NOT DISABLE_SHARED AND NOT WITHOUT_CLIENTLIBS)
+   # Merge several convenience libraries into one big perconaserverclient
+   # and link them together into shared library.
+   MERGE_LIBRARIES(libmysql SHARED ${LIBS}
+diff -aurN a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
+--- a/scripts/CMakeLists.txt	2015-07-09 09:04:00.401091000 -0400
++++ b/scripts/CMakeLists.txt	2015-07-09 09:20:25.723091000 -0400
+@@ -347,7 +347,6 @@
+   SET(mysql_config_COMPONENT COMPONENT Development)
+   SET(BIN_SCRIPTS
+     msql2mysql
+-    mysql_config
+     mysql_fix_extensions
+     mysql_setpermission
+     mysql_zap
+@@ -360,6 +359,12 @@
+     mysqld_multi
+     mysqld_safe
+   )
++  IF(NOT WITHOUT_CLIENTLIBS)
++    SET(BIN_SCRIPTS
++      ${BIN_SCRIPTS}
++      mysql_config
++    )
++  ENDIF(NOT WITHOUT_CLIENTLIBS)
+   FOREACH(file ${BIN_SCRIPTS})
+     IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
+       CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh

diff --git a/dev-db/percona-server/percona-server-5.6.25.73.0-r1.ebuild b/dev-db/percona-server/percona-server-5.6.25.73.0-r1.ebuild
new file mode 100644
index 0000000..d089f8c
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.6.25.73.0-r1.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2015 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.25.73.0.ebuild,v 1.1 2015/07/06 18:00:05 grknight Exp $
+
+EAPI="5"
+MY_EXTRAS_VER="20150113-1853Z"
+HAS_TOOLS_PATCH="1"
+
+inherit toolchain-funcs 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="~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
+
+src_prepare() {
+	mysql-multilib_src_prepare
+	einfo "Applying experimental tools patch"
+	epatch "${FILESDIR}/without-clientlibs-tools.patch"
+}
+
+# Official test instructions:
+# USE='extraengine perl ssl static-libs community' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-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 server ; 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}
+
+		# Create a symlink to provided binaries so the tests can find them when client-libs is off
+		if ! use client-libs ; then
+			ln -srf /usr/bin/my_print_defaults "${BUILD_DIR}/client/my_print_defaults" || die
+			ln -srf /usr/bin/perror "${BUILD_DIR}/client/perror" || die
+			mysql-multilib_disable_test main.perror "String mismatch due to not building local perror"
+		fi
+
+		# 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
+		# engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate
+		# engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8
+		# engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate
+		# 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)
+		#
+		# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
+		# Called with bad parameters should be reported upstream
+
+		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 \
+			engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
+			engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
+			engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
+			main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
+				mysql-multilib_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="${T}/var-tests" \
+			--testcase-timeout=30
+		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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-07-09 20:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-09 20:50 [gentoo-commits] proj/mysql:split-client commit in: dev-db/percona-server/files/, dev-db/percona-server/ Brian Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox