Created
July 26, 2012 02:33
-
-
Save jbergstroem/3179920 to your computer and use it in GitHub Desktop.
mariadb-55-gentoo-patches.diff
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit 9632d4be9621323afbb7c16524c272dc3641a4d4 | |
Author: jbergstroem <bugs@bergstroem.nu> | |
Date: Thu Jul 26 10:26:12 2012 +1000 | |
Version bump | |
diff --git a/dev-db/mariadb/mariadb-5.5.23.ebuild b/dev-db/mariadb/mariadb-5.5.23.ebuild | |
deleted file mode 100644 | |
index 36e417b..0000000 | |
--- a/dev-db/mariadb/mariadb-5.5.23.ebuild | |
+++ /dev/null | |
@@ -1,171 +0,0 @@ | |
-# Copyright 1999-2012 Gentoo Foundation | |
-# Distributed under the terms of the GNU General Public License v2 | |
-# $Header: $ | |
- | |
-EAPI="4" | |
-MY_EXTRAS_VER="20120416-2021Z" | |
- | |
-# Build system | |
-BUILD="cmake" | |
- | |
-inherit toolchain-funcs 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="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" | |
- | |
-# 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() { | |
- sed -i \ | |
- -e '/^noinst_PROGRAMS/s/basic-t//g' \ | |
- "${S}"/unittest/mytap/t/Makefile.am | |
- mysql-v2_src_prepare | |
-} | |
- | |
-# Official test instructions: | |
-# USE='berkdb -cluster embedded extraengine perl ssl community' \ | |
-# FEATURES='test userpriv -usersandbox' \ | |
-# ebuild mariadb-X.X.XX.ebuild \ | |
-# digest clean package | |
-src_test() { | |
- # 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" | |
- | |
- emake check || die "make check failed" | |
- 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" | |
- cd "${S}" | |
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" | |
- local retstatus_unit | |
- local retstatus_ns | |
- local retstatus_ps | |
- local t | |
- addpredict /this-dir-does-not-exist/t9.MYI | |
- | |
- # Ensure that parallel runs don't die | |
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))" | |
- | |
- # The entire 5.0 series has pre-generated SSL certificates, they have | |
- # mostly expired now. ${S}/mysql-tests/std-data/*.pem | |
- # The certs really SHOULD be generated for the tests, so that they are | |
- # not expiring like this. We cannot do so ourselves as the tests look | |
- # closely as the cert path data, and we do not have the CA key to regen | |
- # ourselves. Alternatively, upstream should generate them with at least | |
- # 50-year validity. | |
- # | |
- # Known expiry points: | |
- # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09 | |
- # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27 | |
- # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28 | |
- # | |
- # mysql-test/std_data/untrusted-cacert.pem is MEANT to be | |
- # expired/invalid. | |
- case ${PV} in | |
- 5.1.*|5.5.*) | |
- for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ | |
- ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \ | |
- mysql-v2_disable_test \ | |
- "$t" \ | |
- "These OpenSSL tests break due to expired certificates" | |
- done | |
- ;; | |
- esac | |
- | |
- # These are also failing in MySQL 5.1 for now, and are believed to be | |
- # false positives: | |
- # | |
- # main.mysql_comment, main.mysql_upgrade, main.information_schema, | |
- # 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.not_partition: | |
- # Failure reason unknown at this time, must resolve before package.mask | |
- # removal FIXME | |
- case ${PV} in | |
- 5.1.*|5.2.*|5.3.*|5.5.*) | |
- for t in main.mysql_client_test main.mysql_comments \ | |
- main.mysql_upgrade \ | |
- main.information_schema \ | |
- main.not_partition funcs_1.is_columns_mysql \ | |
- funcs_1.is_tables_mysql funcs_1.is_triggers; do | |
- mysql-v2_disable_test "$t" "False positives in Gentoo" | |
- done | |
- ;; | |
- esac | |
- | |
- # New failures in 5.1.50/5.1.51, reported by jmbsvicetto. | |
- # These tests are picking up a 'connect-timeout' config from somewhere, | |
- # which is not valid, and since it does not have 'loose-' in front of | |
- # it, it's causing a failure | |
- case ${PV} in | |
- 5.1.5*|5.5.*|6*) | |
- for t in rpl.rpl_mysql_upgrade main.log_tables_upgrade ; do | |
- mysql-v2_disable_test "$t" \ | |
- "False positives in Gentoo: connect-timeout" | |
- done | |
- ;; | |
- esac | |
- | |
- use profiling && use community \ | |
- || mysql-v2_disable_test main.profiling \ | |
- "Profiling test needs profiling support" | |
- | |
- if [ "${PN}" == "mariadb" ]; then | |
- for t in \ | |
- parts.part_supported_sql_func_ndb \ | |
- parts.partition_auto_increment_ndb ; do | |
- mysql-v2_disable_test $t "ndb not supported in mariadb" | |
- done | |
- fi | |
- | |
- # create directories because mysqladmin might make out of order | |
- mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} | |
- | |
- # We run the test protocols seperately | |
- emake test-unit | |
- retstatus_unit=$? | |
- [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" | |
- | |
- emake test-ns force="--force --vardir=${S}/mysql-test/var-ns" | |
- retstatus_ns=$? | |
- [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed" | |
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" | |
- | |
- emake test-ps force="--force --vardir=${S}/mysql-test/var-ps" | |
- retstatus_ps=$? | |
- [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed" | |
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" | |
- | |
- # TODO: | |
- # When upstream enables the pr and nr testsuites, we need those as well. | |
- | |
- # 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_ns -eq 0 ]] || failures="${failures} test-ns" | |
- [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps" | |
- 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/mariadb/mariadb-5.5.25.ebuild b/dev-db/mariadb/mariadb-5.5.25.ebuild | |
new file mode 100644 | |
index 0000000..36e417b | |
--- /dev/null | |
+++ b/dev-db/mariadb/mariadb-5.5.25.ebuild | |
@@ -0,0 +1,171 @@ | |
+# Copyright 1999-2012 Gentoo Foundation | |
+# Distributed under the terms of the GNU General Public License v2 | |
+# $Header: $ | |
+ | |
+EAPI="4" | |
+MY_EXTRAS_VER="20120416-2021Z" | |
+ | |
+# Build system | |
+BUILD="cmake" | |
+ | |
+inherit toolchain-funcs 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="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" | |
+ | |
+# 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() { | |
+ sed -i \ | |
+ -e '/^noinst_PROGRAMS/s/basic-t//g' \ | |
+ "${S}"/unittest/mytap/t/Makefile.am | |
+ mysql-v2_src_prepare | |
+} | |
+ | |
+# Official test instructions: | |
+# USE='berkdb -cluster embedded extraengine perl ssl community' \ | |
+# FEATURES='test userpriv -usersandbox' \ | |
+# ebuild mariadb-X.X.XX.ebuild \ | |
+# digest clean package | |
+src_test() { | |
+ # 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" | |
+ | |
+ emake check || die "make check failed" | |
+ 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" | |
+ cd "${S}" | |
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" | |
+ local retstatus_unit | |
+ local retstatus_ns | |
+ local retstatus_ps | |
+ local t | |
+ addpredict /this-dir-does-not-exist/t9.MYI | |
+ | |
+ # Ensure that parallel runs don't die | |
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))" | |
+ | |
+ # The entire 5.0 series has pre-generated SSL certificates, they have | |
+ # mostly expired now. ${S}/mysql-tests/std-data/*.pem | |
+ # The certs really SHOULD be generated for the tests, so that they are | |
+ # not expiring like this. We cannot do so ourselves as the tests look | |
+ # closely as the cert path data, and we do not have the CA key to regen | |
+ # ourselves. Alternatively, upstream should generate them with at least | |
+ # 50-year validity. | |
+ # | |
+ # Known expiry points: | |
+ # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09 | |
+ # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27 | |
+ # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28 | |
+ # | |
+ # mysql-test/std_data/untrusted-cacert.pem is MEANT to be | |
+ # expired/invalid. | |
+ case ${PV} in | |
+ 5.1.*|5.5.*) | |
+ for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ | |
+ ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \ | |
+ mysql-v2_disable_test \ | |
+ "$t" \ | |
+ "These OpenSSL tests break due to expired certificates" | |
+ done | |
+ ;; | |
+ esac | |
+ | |
+ # These are also failing in MySQL 5.1 for now, and are believed to be | |
+ # false positives: | |
+ # | |
+ # main.mysql_comment, main.mysql_upgrade, main.information_schema, | |
+ # 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.not_partition: | |
+ # Failure reason unknown at this time, must resolve before package.mask | |
+ # removal FIXME | |
+ case ${PV} in | |
+ 5.1.*|5.2.*|5.3.*|5.5.*) | |
+ for t in main.mysql_client_test main.mysql_comments \ | |
+ main.mysql_upgrade \ | |
+ main.information_schema \ | |
+ main.not_partition funcs_1.is_columns_mysql \ | |
+ funcs_1.is_tables_mysql funcs_1.is_triggers; do | |
+ mysql-v2_disable_test "$t" "False positives in Gentoo" | |
+ done | |
+ ;; | |
+ esac | |
+ | |
+ # New failures in 5.1.50/5.1.51, reported by jmbsvicetto. | |
+ # These tests are picking up a 'connect-timeout' config from somewhere, | |
+ # which is not valid, and since it does not have 'loose-' in front of | |
+ # it, it's causing a failure | |
+ case ${PV} in | |
+ 5.1.5*|5.5.*|6*) | |
+ for t in rpl.rpl_mysql_upgrade main.log_tables_upgrade ; do | |
+ mysql-v2_disable_test "$t" \ | |
+ "False positives in Gentoo: connect-timeout" | |
+ done | |
+ ;; | |
+ esac | |
+ | |
+ use profiling && use community \ | |
+ || mysql-v2_disable_test main.profiling \ | |
+ "Profiling test needs profiling support" | |
+ | |
+ if [ "${PN}" == "mariadb" ]; then | |
+ for t in \ | |
+ parts.part_supported_sql_func_ndb \ | |
+ parts.partition_auto_increment_ndb ; do | |
+ mysql-v2_disable_test $t "ndb not supported in mariadb" | |
+ done | |
+ fi | |
+ | |
+ # create directories because mysqladmin might make out of order | |
+ mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} | |
+ | |
+ # We run the test protocols seperately | |
+ emake test-unit | |
+ retstatus_unit=$? | |
+ [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" | |
+ | |
+ emake test-ns force="--force --vardir=${S}/mysql-test/var-ns" | |
+ retstatus_ns=$? | |
+ [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed" | |
+ has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" | |
+ | |
+ emake test-ps force="--force --vardir=${S}/mysql-test/var-ps" | |
+ retstatus_ps=$? | |
+ [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed" | |
+ has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" | |
+ | |
+ # TODO: | |
+ # When upstream enables the pr and nr testsuites, we need those as well. | |
+ | |
+ # 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_ns -eq 0 ]] || failures="${failures} test-ns" | |
+ [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps" | |
+ 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 | |
+} | |
commit 5b65a3f82b67f37d618c2f99b5712bf4ac8703f8 | |
Author: jbergstroem <bugs@bergstroem.nu> | |
Date: Thu Jul 26 10:58:54 2012 +1000 | |
Add IUSE=tcmalloc for mariadb 5.5 ebuilds | |
diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass | |
index 6e79beb..fb57250 100644 | |
--- a/eclass/mysql-cmake.eclass | |
+++ b/eclass/mysql-cmake.eclass | |
@@ -137,6 +137,10 @@ configure_cmake_standard() { | |
mycmakeargs+=( -DWITH_SSL=0 ) | |
fi | |
+ if use tcmalloc; then | |
+ mycmakeargs+=( -DCMAKE_EXE_LINKER_FLAGS='-ltcmalloc' -DWITH_SAFEMALLOC=OFF ) | |
+ fi | |
+ | |
# Storage engines | |
mycmakeargs+=( | |
-DWITH_ARCHIVE_STORAGE_ENGINE=1 | |
diff --git a/eclass/mysql-v2.eclass b/eclass/mysql-v2.eclass | |
index 052c7ba..487becb 100644 | |
--- a/eclass/mysql-v2.eclass | |
+++ b/eclass/mysql-v2.eclass | |
@@ -186,6 +186,10 @@ IUSE="${IUSE} +community profiling" | |
&& mysql_version_is_at_least "5.2.5" \ | |
&& IUSE="${IUSE} sphinx" | |
+[[ ${PN} == "mariadb" ]] \ | |
+&& mysql_version_is_at_least "5.5" \ | |
+&& IUSE="${IUSE} tcmalloc" | |
+ | |
mysql_version_is_at_least "5.5.7" \ | |
&& IUSE="${IUSE} systemtap" | |
@@ -243,6 +247,10 @@ mysql_version_is_at_least "5.5.8" \ | |
mysql_version_is_at_least "5.5.7" \ | |
&& DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )" | |
+[[ ${PN} == "mariadb" ]] \ | |
+&& mysql_version_is_at_least "5.5" \ | |
+&& DEPEND="${DEPEND} tcmalloc? ( dev-util/google-perftools )" | |
+ | |
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL | |
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment