diff options
| author | Brian Evans <grknight@gentoo.org> | 2019-11-14 16:19:00 -0500 |
|---|---|---|
| committer | Brian Evans <grknight@gentoo.org> | 2019-11-14 16:21:09 -0500 |
| commit | a312e126b57d4fb11d6adb48d412f2c872115bb7 (patch) | |
| tree | 51408ca4a212ac1b4a68d613de188cc01918153c /dev-db | |
| parent | 0a03cde4b2efff47e902c7f6b7564ec6ee4d1e39 (diff) | |
| download | gentoo-a312e126b57d4fb11d6adb48d412f2c872115bb7.tar.gz gentoo-a312e126b57d4fb11d6adb48d412f2c872115bb7.tar.bz2 gentoo-a312e126b57d4fb11d6adb48d412f2c872115bb7.zip | |
dev-db/mariadb: Drop old
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-db')
| -rw-r--r-- | dev-db/mariadb/Manifest | 8 | ||||
| -rw-r--r-- | dev-db/mariadb/files/MDEV-20247-replication-10.2.patch | 108 | ||||
| -rw-r--r-- | dev-db/mariadb/files/MDEV-20247-replication.patch | 121 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.1.41-r1.ebuild | 898 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.2.26-r1.ebuild | 981 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.2.27.ebuild | 981 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.3.17-r1.ebuild | 982 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.3.18.ebuild | 981 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.4.7-r1.ebuild | 1010 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-10.4.8.ebuild | 1009 | ||||
| -rw-r--r-- | dev-db/mariadb/mariadb-5.5.65.ebuild | 836 |
11 files changed, 0 insertions, 7915 deletions
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 2882bc8aa37e..5fee34d8ec21 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -1,17 +1,9 @@ DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b -DIST mariadb-10.1.41.tar.gz 63615288 BLAKE2B 91ebc6d24c80ad9651c42a2f4553ce3ec3b7beb17493f90ebbf02ab23f425b0f729766cf2c81202832dfbca0a5e285f94a4daf794fcf4d445730fbe4fcc88871 SHA512 4a18b06fda49c5c3627b4e7cd32fb460e73762273a0c3d09098e34c71e63caa8fad03cdd92ae4a391cdfdb3719934688f0bdf312fa4af7ac3b9e5f5d90f404be DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8 DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2 -DIST mariadb-10.2.26.tar.gz 73037655 BLAKE2B 54fd27959960736bffe0eeacc913b9aed0407d1be7a60d3035a1b84cbe8066aa1551c1c82a1b90b824debf85faaa9d11e3de29634a0108bc04bc17ca5c2a9d7c SHA512 1eaac1c1dda1017b64249d39d872729d3140d81653240c54f688f64440b1775e5f3a7c5a8486075fa1799411dfb0c2c09b7c1dbb46d95675572d90127048c124 -DIST mariadb-10.2.27.tar.gz 73068579 BLAKE2B 7e4ae229040b3136ad107979864bc391556c1ba83847addd89e09f3757cd01203503e07832abe496a7f560048ed704f273607da3a114afa59ceb13cbb3b89c14 SHA512 9ea7ea30f964d022d16c662c18ac40ea50ef5b6592d02ba739ad81f9dfa9e60be90ea6d4706b43b07402c4cbc8c0280633b6e21bda6daf5bbc1d3c540993e4d6 DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8 -DIST mariadb-10.3.17.tar.gz 71894997 BLAKE2B 8e04302f67a99c28751f9970b7e8dfc5ada0583fdabc416e0469e23fa93d22dae8b79e762ef14ca65957e22ec310a290b15d33746f6f2e7287f922803e6a6826 SHA512 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e -DIST mariadb-10.3.18.tar.gz 71950543 BLAKE2B d157426781713f19470004d80c587019e12c875d0958e5077ca373d856a8f1214be01dbc2a50fd5a754eaa91e727179bea70ee2a3133a219209cb819108c8940 SHA512 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242 DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71 -DIST mariadb-10.4.7.tar.gz 78155161 BLAKE2B b2c92093438b3574e494bda2180f4a2b5cbe10bac1c46acc45b5303fb4c2a1ca54f3ea88d138ab9cbb492460171dde86f3c21e5873d964b15c6c064e2e6eb47f SHA512 cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce -DIST mariadb-10.4.8.tar.gz 78262897 BLAKE2B 357dfd8db702d30c30173cb4ee0bbbda8e54a77a8f726cdc529cbaeebd390fe11fd05c108dde54b029b7e311ebbf9a610dc2c6e4015c9a198d816deaaec5831e SHA512 1aa7117734f4ebeb08395289ff1295e1d2ed2f89e8ccf3224cd60afaf2be56f81e8f0448e7619eeb6c858355a2b1e224efe42a0f400941f138342318adb66c42 -DIST mariadb-5.5.65.tar.gz 45957577 BLAKE2B 9ed27349d008d2001ed4059370505064918ef3586f89157f5f28892bceabd3073b7070f4054c0a700f1504dde3a4077e274111d5b8cb3713bc5db0910b752628 SHA512 5dbaa2ba7a829a0d5ae6ab8394c31a58753cd93da2637cd83d1e055e78b0796d63214418ddc91a65cefdd791aad4f01b0743aa8c7c40ecbb404cb81fd0138443 DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c diff --git a/dev-db/mariadb/files/MDEV-20247-replication-10.2.patch b/dev-db/mariadb/files/MDEV-20247-replication-10.2.patch deleted file mode 100644 index 193f2dd77509..000000000000 --- a/dev-db/mariadb/files/MDEV-20247-replication-10.2.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 47f8a18fec604983e47fdf7c822d94b26d85cade Mon Sep 17 00:00:00 2001 -From: Thirunarayanan Balathandayuthapani <thiru@mariadb.com> -Date: Wed, 7 Aug 2019 12:35:04 +0530 -Subject: [PATCH] MDEV-20247 Replication hangs with "preparing" and never - starts - -- The commit ab6dd774082c57f48d998e03655c06b672799b2d wrongly sets the -condition inside innobase_srv_conc_enter_innodb(). Problem is that -InnoDB makes the thread to sleep indefinitely if it is a replication -slave thread. - -Thanks to Sujatha Sivakumar for contributing the replication test case. ---- - .../r/rpl_sync_with_innodb_thd_conc.result | 13 ++++++ - .../rpl/t/rpl_sync_with_innodb_thd_conc.test | 41 +++++++++++++++++++ - storage/innobase/handler/ha_innodb.cc | 6 +-- - 4 files changed, 60 insertions(+), 6 deletions(-) - create mode 100644 mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result - create mode 100644 mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test - -diff --git a/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result b/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result -new file mode 100644 -index 000000000000..0ed894336a1c ---- /dev/null -+++ b/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result -@@ -0,0 +1,18 @@ -+include/master-slave.inc -+[connection master] -+connection slave; -+SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency; -+SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay; -+SET GLOBAL innodb_thread_concurrency = 100; -+connection master; -+CREATE TABLE t(f INT) ENGINE=INNODB; -+INSERT INTO t VALUES (10); -+connection slave; -+include/diff_tables.inc [master:t, slave:t] -+"===== Clean up=======" -+connection master; -+DROP TABLE t; -+connection slave; -+SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency; -+SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay; -+include/rpl_end.inc -diff --git a/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test b/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test -new file mode 100644 -index 000000000000..b4c2971d2fbc ---- /dev/null -+++ b/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test -@@ -0,0 +1,41 @@ -+# ==== Purpose ==== -+# -+# Test verifies that replication shouldn't hang when number of active threads -+# on the slave server are less than the allowed innodb_thread_concurrency value. -+# -+# ==== Implementation ==== -+# -+# Steps: -+# 0 - Have master slave replication setup with engine being Innodb. -+# 1 - Configure innodb_thread_concurrency = 100. -+# 2 - Do some DML on master and sync the slave with master. -+# 3 - Ensure replication doesn't hang. -+# -+# ==== References ==== -+# -+# MDEV-20247: Replication hangs with "preparing" and never starts -+# -+ -+--source include/master-slave.inc -+--source include/have_innodb.inc -+ -+--connection slave -+SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency; -+SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay; -+SET GLOBAL innodb_thread_concurrency = 100; -+ -+--connection master -+CREATE TABLE t(f INT) ENGINE=INNODB; -+INSERT INTO t VALUES (10); -+--sync_slave_with_master -+ -+--let $diff_tables=master:t, slave:t -+--source include/diff_tables.inc -+ -+--echo "===== Clean up=======" -+--connection master -+DROP TABLE t; -+--sync_slave_with_master -+SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency; -+SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay; -+--source include/rpl_end.inc -diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc -index 081fcbd9c51e..5dfe240631b8 100644 ---- a/storage/innobase/handler/ha_innodb.cc -+++ b/storage/innobase/handler/ha_innodb.cc -@@ -1686,9 +1686,9 @@ innobase_srv_conc_enter_innodb( - && thd_is_replication_slave_thread(trx->mysql_thd)) { - const ulonglong end = my_interval_timer() - + ulonglong(srv_replication_delay) * 1000000; -- while (srv_conc_get_active_threads() -- >= srv_thread_concurrency -- || my_interval_timer() >= end) { -+ while ((srv_conc_get_active_threads() -+ >= srv_thread_concurrency) -+ && my_interval_timer() < end) { - os_thread_sleep(2000 /* 2 ms */); - } - } else { diff --git a/dev-db/mariadb/files/MDEV-20247-replication.patch b/dev-db/mariadb/files/MDEV-20247-replication.patch deleted file mode 100644 index 92f8e0e1a67d..000000000000 --- a/dev-db/mariadb/files/MDEV-20247-replication.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 47f8a18fec604983e47fdf7c822d94b26d85cade Mon Sep 17 00:00:00 2001 -From: Thirunarayanan Balathandayuthapani <thiru@mariadb.com> -Date: Wed, 7 Aug 2019 12:35:04 +0530 -Subject: [PATCH] MDEV-20247 Replication hangs with "preparing" and never - starts - -- The commit ab6dd774082c57f48d998e03655c06b672799b2d wrongly sets the -condition inside innobase_srv_conc_enter_innodb(). Problem is that -InnoDB makes the thread to sleep indefinitely if it is a replication -slave thread. - -Thanks to Sujatha Sivakumar for contributing the replication test case. ---- - .../r/rpl_sync_with_innodb_thd_conc.result | 13 ++++++ - .../rpl/t/rpl_sync_with_innodb_thd_conc.test | 41 +++++++++++++++++++ - storage/innobase/handler/ha_innodb.cc | 6 +-- - storage/xtradb/handler/ha_innodb.cc | 6 +-- - 4 files changed, 60 insertions(+), 6 deletions(-) - create mode 100644 mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result - create mode 100644 mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test - -diff --git a/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result b/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result -new file mode 100644 -index 000000000000..0ed894336a1c ---- /dev/null -+++ b/mysql-test/suite/rpl/r/rpl_sync_with_innodb_thd_conc.result -@@ -0,0 +1,13 @@ -+include/master-slave.inc -+[connection master] -+SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency; -+SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay; -+SET GLOBAL innodb_thread_concurrency = 100; -+CREATE TABLE t(f INT) ENGINE=INNODB; -+INSERT INTO t VALUES (10); -+include/diff_tables.inc [master:t, slave:t] -+"===== Clean up=======" -+DROP TABLE t; -+SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency; -+SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay; -+include/rpl_end.inc -diff --git a/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test b/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test -new file mode 100644 -index 000000000000..b4c2971d2fbc ---- /dev/null -+++ b/mysql-test/suite/rpl/t/rpl_sync_with_innodb_thd_conc.test -@@ -0,0 +1,41 @@ -+# ==== Purpose ==== -+# -+# Test verifies that replication shouldn't hang when number of active threads -+# on the slave server are less than the allowed innodb_thread_concurrency value. -+# -+# ==== Implementation ==== -+# -+# Steps: -+# 0 - Have master slave replication setup with engine being Innodb. -+# 1 - Configure innodb_thread_concurrency = 100. -+# 2 - Do some DML on master and sync the slave with master. -+# 3 - Ensure replication doesn't hang. -+# -+# ==== References ==== -+# -+# MDEV-20247: Replication hangs with "preparing" and never starts -+# -+ -+--source include/master-slave.inc -+--source include/have_innodb.inc -+ -+--connection slave -+SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency; -+SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay; -+SET GLOBAL innodb_thread_concurrency = 100; -+ -+--connection master -+CREATE TABLE t(f INT) ENGINE=INNODB; -+INSERT INTO t VALUES (10); -+--sync_slave_with_master -+ -+--let $diff_tables=master:t, slave:t -+--source include/diff_tables.inc -+ -+--echo "===== Clean up=======" -+--connection master -+DROP TABLE t; -+--sync_slave_with_master -+SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency; -+SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay; -+--source include/rpl_end.inc -diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc -index 081fcbd9c51e..5dfe240631b8 100644 ---- a/storage/innobase/handler/ha_innodb.cc -+++ b/storage/innobase/handler/ha_innodb.cc -@@ -1686,9 +1686,9 @@ innobase_srv_conc_enter_innodb( - && thd_is_replication_slave_thread(trx->mysql_thd)) { - const ulonglong end = my_interval_timer() - + ulonglong(srv_replication_delay) * 1000000; -- while (srv_conc_get_active_threads() -- >= srv_thread_concurrency -- || my_interval_timer() >= end) { -+ while ((srv_conc_get_active_threads() -+ >= srv_thread_concurrency) -+ && my_interval_timer() < end) { - os_thread_sleep(2000 /* 2 ms */); - } - } else { -diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc -index 5e7482ff6bfa..b5002187e3b2 100644 ---- a/storage/xtradb/handler/ha_innodb.cc -+++ b/storage/xtradb/handler/ha_innodb.cc -@@ -1949,9 +1949,9 @@ innobase_srv_conc_enter_innodb( - && thd_is_replication_slave_thread(trx->mysql_thd)) { - const ulonglong end = my_interval_timer() - + ulonglong(srv_replication_delay) * 1000000; -- while (srv_conc_get_active_threads() -- >= srv_thread_concurrency -- || my_interval_timer() >= end) { -+ while ((srv_conc_get_active_threads() -+ >= srv_thread_concurrency) -+ && my_interval_timer() < end) { - os_thread_sleep(2000 /* 2 ms */); - } - } else { diff --git a/dev-db/mariadb/mariadb-10.1.41-r1.ebuild b/dev-db/mariadb/mariadb-10.1.41-r1.ebuild deleted file mode 100644 index 4c50f26bc554..000000000000 --- a/dev-db/mariadb/mariadb-10.1.41-r1.ebuild +++ /dev/null @@ -1,898 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20190305-2052Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos - innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam - +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup - systemd systemtap static static-libs tcmalloc test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch - "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch - "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch - "${FILESDIR}/MDEV-20247-replication.patch" -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) - libressl? ( dev-libs/libressl:0= ) - ) - >=sys-libs/zlib-1.2.3:0= - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - sys-libs/zlib[minizip] - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - kerberos? ( virtual/krb5 ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) ) - >=dev-libs/libpcre-8.41-r1:3= - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - ${COMMON_DEPEND} - server? ( galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - sst-xtrabackup? ( net-misc/socat[ssl] ) - ) ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) - server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die -} - -src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit semisync sql_errlog ) - local test_plugins=( audit_null auth_examples daemon_example fulltext ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - # Collides with mariadb-connector-c bug 655980 - _disable_plugin auth_dialog - - # Avoid useless library checks - use mroonga || _disable_engine mroonga - use oqgraph || _disable_engine oqgraph - _disable_engine example - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure(){ - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" - -DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '') - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mariadb" - -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_ZLIB=system - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DWITHOUT_CLIENTLIBS=YES - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - -DWITH_SSL=$(usex yassl bundled system) - -DPLUGIN_CLIENT_ED25519=NO - -DPLUGIN_AUTH_GSSAPI_CLIENT=NO - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI_CLIENT=NO - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - -DINSTALL_SQLBENCHDIR='' - ) - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DENABLED_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - local mycnf_src="my.cnf-5.6-r1" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok" - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" my.cnf - - if use server ; then - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # 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 [[ $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 && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) -# cmake-utils_src_test -# retstatus_unit=$? - - # 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 run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.crackli |
