summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-06 10:28:05 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-06 10:28:05 +0100
commitf1af93971b7490792d8541bc790e0d8c6d787059 (patch)
treea38046712bbc3a3844d77452d16c84e716caa3d4 /dev-db
parentfc637fb28da700da71ec2064d65ca5a7a31b9c6c (diff)
gentoo resync : 06.08.2019
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin18986 -> 18988 bytes
-rw-r--r--dev-db/clickhouse/Manifest14
-rw-r--r--dev-db/clickhouse/clickhouse-18.10.3-r1.ebuild (renamed from dev-db/clickhouse/clickhouse-18.10.3.ebuild)6
-rw-r--r--dev-db/clickhouse/clickhouse-18.12.17-r1.ebuild (renamed from dev-db/clickhouse/clickhouse-18.12.17.ebuild)6
-rw-r--r--dev-db/clickhouse/clickhouse-18.6.0-r1.ebuild (renamed from dev-db/clickhouse/clickhouse-18.6.0.ebuild)6
-rw-r--r--dev-db/clickhouse/clickhouse-19.13.1.11-r2.ebuild (renamed from dev-db/clickhouse/clickhouse-19.13.1.11.ebuild)4
-rw-r--r--dev-db/clickhouse/clickhouse-19.13.1.11-r3.ebuild (renamed from dev-db/clickhouse/clickhouse-19.13.1.11-r1.ebuild)4
-rw-r--r--dev-db/clickhouse/clickhouse-19.5.3.8-r1.ebuild (renamed from dev-db/clickhouse/clickhouse-19.5.3.8.ebuild)4
-rw-r--r--dev-db/clickhouse/clickhouse-19.9.5.36-r1.ebuild (renamed from dev-db/clickhouse/clickhouse-19.9.5.36.ebuild)4
-rw-r--r--dev-db/etcd/Manifest8
-rw-r--r--dev-db/etcd/etcd-3.3.15.ebuild (renamed from dev-db/etcd/etcd-3.3.14.ebuild)6
-rw-r--r--dev-db/etcd/etcd-3.4.0.ebuild (renamed from dev-db/etcd/etcd-3.3.13.ebuild)15
-rw-r--r--dev-db/kyotocabinet/Manifest2
-rw-r--r--dev-db/kyotocabinet/kyotocabinet-1.2.76-r1.ebuild2
-rw-r--r--dev-db/libdbi-drivers/Manifest1
-rw-r--r--dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild87
-rw-r--r--dev-db/mongodb/Manifest9
-rw-r--r--dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch13
-rw-r--r--dev-db/mongodb/mongodb-3.6.13.ebuild15
-rw-r--r--dev-db/mongodb/mongodb-3.6.8.ebuild17
-rw-r--r--dev-db/mongodb/mongodb-4.0.10.ebuild15
-rw-r--r--dev-db/mongodb/mongodb-4.0.12.ebuild15
-rw-r--r--dev-db/mycli/Manifest9
-rw-r--r--dev-db/mycli/files/remove-tasks.patch15
-rw-r--r--dev-db/mycli/mycli-1.15.0-r2.ebuild31
-rw-r--r--dev-db/mycli/mycli-1.20.1.ebuild (renamed from dev-db/mycli/mycli-1.17.0-r1.ebuild)16
-rw-r--r--dev-db/mycli/mycli-9999.ebuild8
-rw-r--r--dev-db/myodbc/Manifest2
-rw-r--r--dev-db/myodbc/myodbc-5.3.10-r3.ebuild (renamed from dev-db/myodbc/myodbc-5.3.10-r2.ebuild)4
-rw-r--r--dev-db/mysql++/Manifest2
-rw-r--r--dev-db/mysql++/mysql++-3.2.3-r1.ebuild (renamed from dev-db/mysql++/mysql++-3.2.3.ebuild)2
-rw-r--r--dev-db/mysql-connector-c++/Manifest6
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11-r1.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild)2
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12.ebuild)2
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9-r1.ebuild (renamed from dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild)4
-rw-r--r--dev-db/mysql-connector-c/Manifest4
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-always-build-decompress-utilities.patch22
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch24
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r3.ebuild (renamed from dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r1.ebuild)17
-rw-r--r--dev-db/mysql-init-scripts/Manifest11
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-2.2194
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-s6-2.2163
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-supervise180
-rw-r--r--dev-db/mysql-init-scripts/files/logrotate.mysql14
-rw-r--r--dev-db/mysql-init-scripts/files/logrotate.mysql-2.35
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r3.ebuild65
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r4.ebuild67
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild (renamed from dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r1.ebuild)5
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild67
-rw-r--r--dev-db/mysql/Manifest36
-rw-r--r--dev-db/mysql/files/my.cnf-5.5147
-rw-r--r--dev-db/mysql/metadata.xml1
-rw-r--r--dev-db/mysql/mysql-5.5.61.ebuild791
-rw-r--r--dev-db/mysql/mysql-5.5.62.ebuild797
-rw-r--r--dev-db/mysql/mysql-5.6.40-r2.ebuild789
-rw-r--r--dev-db/mysql/mysql-5.6.42.ebuild796
-rw-r--r--dev-db/mysql/mysql-5.6.43.ebuild799
-rw-r--r--dev-db/mysql/mysql-5.6.44-r1.ebuild2
-rw-r--r--dev-db/mysql/mysql-5.6.45-r2.ebuild (renamed from dev-db/mysql/mysql-5.6.45-r1.ebuild)20
-rw-r--r--dev-db/mysql/mysql-5.7.23-r2.ebuild938
-rw-r--r--dev-db/mysql/mysql-5.7.24.ebuild945
-rw-r--r--dev-db/mysql/mysql-5.7.26-r1.ebuild (renamed from dev-db/mysql/mysql-5.7.26.ebuild)6
-rw-r--r--dev-db/mysql/mysql-5.7.27-r1.ebuild (renamed from dev-db/mysql/mysql-5.7.27.ebuild)22
-rw-r--r--dev-db/mysql/mysql-8.0.17.ebuild1
-rw-r--r--dev-db/percona-server/Manifest6
-rw-r--r--dev-db/percona-server/percona-server-5.7.26.29-r1.ebuild (renamed from dev-db/percona-server/percona-server-5.7.26.29.ebuild)26
-rw-r--r--dev-db/percona-server/percona-server-5.7.27.30.ebuild (renamed from dev-db/mysql/mysql-5.7.25.ebuild)273
-rw-r--r--dev-db/pgbadger/Manifest2
-rw-r--r--dev-db/pgbadger/pgbadger-11.0.ebuild2
-rw-r--r--dev-db/pgbouncer/Manifest2
-rw-r--r--dev-db/pgbouncer/pgbouncer-1.10.0.ebuild2
-rw-r--r--dev-db/spatialite/Manifest2
-rw-r--r--dev-db/spatialite/spatialite-4.3.0a.ebuild4
-rw-r--r--dev-db/sqlcipher/Manifest2
-rw-r--r--dev-db/sqlcipher/sqlcipher-4.0.1.ebuild7
75 files changed, 569 insertions, 7043 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 69313efe7104..732aff873376 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/clickhouse/Manifest b/dev-db/clickhouse/Manifest
index 02eff11f0324..468b95de347d 100644
--- a/dev-db/clickhouse/Manifest
+++ b/dev-db/clickhouse/Manifest
@@ -9,11 +9,11 @@ DIST clickhouse-18.6.0.tar.gz 5852534 BLAKE2B 5634fd26907b21d4a35cff3ed816696205
DIST clickhouse-19.13.1.11.zip 11502726 BLAKE2B c2788702a2c27c995abc072a94f3945ed6f9039fe0c7840312a86987faf52d2f7801d531e89a02848fa8ee1319247c41de0f3ad0c0cb51c1df1dbcfca3bd3b0a SHA512 095a0e63eff6989ea1f70fac593069e1cdb6ea207a99d8cfd610c4eb8f3f7411a784d9f100c9fc899898e68dd88dd54bec3c136764793c8cae986d920a651f8c
DIST clickhouse-19.5.3.8.zip 11247905 BLAKE2B f72289f55bddf9b3ad2e16a4d1fc6e4f7681477e742eda3694c3c16975820c93affc01c70b194c5992226d79bee714f706c04402c62bd0ed3d1701a16fb22192 SHA512 f578abbd43c3ccf721e079ce2bafac22be0c5d619388be192c59a2053ae1cf1e7f0a025e0323f0f8f004f879990a88c0ca0cd4d135606de51c576619fe0172b8
DIST clickhouse-19.9.5.36.zip 11708002 BLAKE2B 075f9b1556c5ee207a608047fa559cec7a0b1f044236e412189ae6dabe25aa04abf881726e4ffa17d4aad6937250c704f050935e61470994b57eaa1ac9ea07e4 SHA512 b0aa04a1c0f7c15316c83a2711f9b64f8235e664956f933530a9f2dc26fcb8b817adb8ca43c96db1cad498e06f4291ce13c0bb259726039c5caa52ae523fa4ab
-EBUILD clickhouse-18.10.3.ebuild 4915 BLAKE2B 3f6f0f1cea60a283b325b80100fc56ffcb548e6af01240a12a5f6a6aad521977c63e8918d3742c52c0fef2d5c79144f6a1f9cb95749a6c140cb16548af432f4a SHA512 0ecc73385521a4d916e8834d22e05a8be07fb0b2d6a4bcc3350dfab100717839835e4a47a17d87f50f98acbf420b077dc7f9db800e3456915dc2ed81fc0197ba
-EBUILD clickhouse-18.12.17.ebuild 4912 BLAKE2B 71e1d446bc95be176c6946d18162b78f0ae0e936be2caedd9ee7b0df958daf8423ffce528c27c90607568f5bf3b391092ef264c7d1439506ab89f6fded52bb6b SHA512 6ac5f2e640ad5e6536a38a9693df2b31706f9d777f53213971ef848160886d16b6cc0a7f900ce587e53b1cdba3edcdd37541b4e639aa65662f9e0a26f9501fc5
-EBUILD clickhouse-18.6.0.ebuild 4903 BLAKE2B d363915e46bfe1489e07f9ae9b07a39c146603af9496ab98371b053241566e02c7b85cf64a985ef8958e83a8741ac20583917e8268cec80702e4d37e69d8e110 SHA512 443eb0cd7f343eaff895dfbcb6a98abc4b2734495e2abd9c9f51e613fc2ac8698797bb5f780178c86bc0d8621cfe0b976470c7c4b9ec0bd337fa0599f0d01848
-EBUILD clickhouse-19.13.1.11-r1.ebuild 5144 BLAKE2B 77f5416736145c44a1968ebb74968fe59b807c46dfb4104e73544a554f49a3d4ae34b494290c5beca798c32096014e63fac9940790f9ed3b9c4a4d7b59b09489 SHA512 9aff8448125ad6b1dad555289f1a345b9fbbcb2e7c1594ac680bcfb4274030149c52786cd1b58c620329ec587a683258d9dfd3aca111d1d04c7bdd3a36b309c9
-EBUILD clickhouse-19.13.1.11.ebuild 5054 BLAKE2B 43ae8340ed6038c6ea92c44d4dbd27183feaea2f96ce0c563a2163ce2a3c8e0a851dab3f3a813fa83404fbc008bc84a8c905581756529e4f269b155c6d4d2e76 SHA512 092c727a4dd9a7a9ce0cac0032988e01d29d641674a5f47a0dc77eb4d99090c45925dca4aa304646cc89ceb0017463bbf93d4711683030ced0a18d3e4f04246e
-EBUILD clickhouse-19.5.3.8.ebuild 5035 BLAKE2B 5af2ff21963b567b2f1f1600a046e90c885a17aeb2b4244a3d60b15b96d25fb268330de602db576ea3809785be984e2f511d63b17776e369f1798549398148ce SHA512 5642771484458e8fc390a259af958598972207706ed3f78247fbd91e242bcf79052be58fc49b50f6d44765fc1932f6731ff45b17244b6919daa69a44ea83023c
-EBUILD clickhouse-19.9.5.36.ebuild 5035 BLAKE2B 5af2ff21963b567b2f1f1600a046e90c885a17aeb2b4244a3d60b15b96d25fb268330de602db576ea3809785be984e2f511d63b17776e369f1798549398148ce SHA512 5642771484458e8fc390a259af958598972207706ed3f78247fbd91e242bcf79052be58fc49b50f6d44765fc1932f6731ff45b17244b6919daa69a44ea83023c
+EBUILD clickhouse-18.10.3-r1.ebuild 4918 BLAKE2B 2b7db7cd6213ec5965692c231d567f29345515edd639e054ad2f4dd9ca5ccc11560126c9361fb93412395810947c1b6b19859c0b5274a90eda502851a45c44f0 SHA512 97f4328dc9b0ad5cb50c223b00d127aee0da3f3349067674cd124b6a4842547376b674d031d72274313bc1df22099570cdac6211f294be97b5b08ed91155cedc
+EBUILD clickhouse-18.12.17-r1.ebuild 4915 BLAKE2B 6912e12f85c382c0a2822c924055583d1152311f1a7480900573f7dba1002821821912c75420551aebf32ee7dea70f54f8d8c00512f155fa66f3926146e21721 SHA512 af177e7339dcc6b0a8a8d3527b2c15a663f8bab2cdf2879d1ba7ff217697bd7db369f1a3f54630ebf00bc36e455b6f9b4390752cd910d3e434d42aab962ed0e8
+EBUILD clickhouse-18.6.0-r1.ebuild 4906 BLAKE2B ab34699e3a363109e51559ed941bc47ee422335ec0a198191f8aee9673cabb2d14156210855bb46bcf0ac1cbd7b744541641b3e0e796085a0c2cd9d2e3a59435 SHA512 3671f1837b50806528893c8f1291ec60f2ef42230ae8f5b7c07ee9da34706a0ba489e90950a03fa0f3c8b9bc3b144a06e7f3f0bc35b30fbb179da7715ebefc14
+EBUILD clickhouse-19.13.1.11-r2.ebuild 5060 BLAKE2B 9dd106fcbf56f676668613defe986cc39b8b489e67a15f96bc89101e7490bccebfffdbd85dbe5ea890e635f7f87dd7f06555caaaafdd76f06ee0ae5ea7cd1db6 SHA512 8e0eb0472dbe9bca99181b644489b331a292f41ede0d6ef35c6c8862f427f883255d890f0fd973728a9c6538d679c7aa6916e481bb55f3ac1b662c402215efa1
+EBUILD clickhouse-19.13.1.11-r3.ebuild 5150 BLAKE2B 3224340a5229b176f033481560373c62ba3493e4f75d2d946379db1c1da8ff17180c382478572803d638e67614a4c4385a8bf1e13fb46293f0ea4a07fb9ae812 SHA512 ce24527a8c9c5802d6fb1cdc9a6c6fafa49a71d20199ae77e45da1190cd720719591009a0f2ecaad867f4f9952432d3af7ad5a39a9618f2467b2aee817d31f3b
+EBUILD clickhouse-19.5.3.8-r1.ebuild 5041 BLAKE2B aad165d484fd9a978057e57f57a12146ae97f82455ff47909a9476f04c28c95e719a7867cb2b2fe6acde25fa2e43c12de4c7c19c2c8e6f0810f4ddcf08b311ad SHA512 253de2e46d5eaba79d5d79a149e0fcc582dd08dd30a0b04fe39e2900ebf5ca68cfd7619f4c9af5d662d7baa795649a37a4db48efc6067c92fb79956a2ca9e847
+EBUILD clickhouse-19.9.5.36-r1.ebuild 5041 BLAKE2B aad165d484fd9a978057e57f57a12146ae97f82455ff47909a9476f04c28c95e719a7867cb2b2fe6acde25fa2e43c12de4c7c19c2c8e6f0810f4ddcf08b311ad SHA512 253de2e46d5eaba79d5d79a149e0fcc582dd08dd30a0b04fe39e2900ebf5ca68cfd7619f4c9af5d662d7baa795649a37a4db48efc6067c92fb79956a2ca9e847
MISC metadata.xml 738 BLAKE2B 861f40f506964d64cf646f043406945dc54950f48e27d4eb28b6fc0f96bf0ceb093520a0b60d813460fbe8b99ba4858f0a49d30abcb25567f44411c78a02f6e7 SHA512 6d87cc967c081b5a5e60136f5928d7b17c65c3a1c26aa1e45a50e74d5383bb665682a8b0cb5cce0496bebcac1f5e27aace8a8373253c031acc3c166c382e0056
diff --git a/dev-db/clickhouse/clickhouse-18.10.3.ebuild b/dev-db/clickhouse/clickhouse-18.10.3-r1.ebuild
index fa20957d2696..ff3db2a3a66b 100644
--- a/dev-db/clickhouse/clickhouse-18.10.3.ebuild
+++ b/dev-db/clickhouse/clickhouse-18.10.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -53,7 +53,7 @@ RDEPEND="
dev-libs/openssl:0=
dev-libs/zookeeper-c
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -83,7 +83,7 @@ DEPEND="${RDEPEND}
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
dev-libs/zookeeper-c[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/clickhouse/clickhouse-18.12.17.ebuild b/dev-db/clickhouse/clickhouse-18.12.17-r1.ebuild
index 40f986b3e902..b8a7337618a9 100644
--- a/dev-db/clickhouse/clickhouse-18.12.17.ebuild
+++ b/dev-db/clickhouse/clickhouse-18.12.17-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -52,7 +52,7 @@ RDEPEND="
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -81,7 +81,7 @@ DEPEND="${RDEPEND}
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/clickhouse/clickhouse-18.6.0.ebuild b/dev-db/clickhouse/clickhouse-18.6.0-r1.ebuild
index 734544c61dae..e419edfa1571 100644
--- a/dev-db/clickhouse/clickhouse-18.6.0.ebuild
+++ b/dev-db/clickhouse/clickhouse-18.6.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -54,7 +54,7 @@ RDEPEND="
dev-libs/openssl:0=
dev-libs/zookeeper-c
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -84,7 +84,7 @@ DEPEND="${RDEPEND}
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
dev-libs/zookeeper-c[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/clickhouse/clickhouse-19.13.1.11.ebuild b/dev-db/clickhouse/clickhouse-19.13.1.11-r2.ebuild
index bbf65016a543..799746e089be 100644
--- a/dev-db/clickhouse/clickhouse-19.13.1.11.ebuild
+++ b/dev-db/clickhouse/clickhouse-19.13.1.11-r2.ebuild
@@ -49,7 +49,7 @@ RDEPEND="
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -80,7 +80,7 @@ DEPEND="${RDEPEND}
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/clickhouse/clickhouse-19.13.1.11-r1.ebuild b/dev-db/clickhouse/clickhouse-19.13.1.11-r3.ebuild
index a2fbc773fa76..6525cf8d8cf5 100644
--- a/dev-db/clickhouse/clickhouse-19.13.1.11-r1.ebuild
+++ b/dev-db/clickhouse/clickhouse-19.13.1.11-r3.ebuild
@@ -49,7 +49,7 @@ RDEPEND="
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -80,7 +80,7 @@ DEPEND="${RDEPEND}
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
=dev-cpp/gtest-1.8*
diff --git a/dev-db/clickhouse/clickhouse-19.5.3.8.ebuild b/dev-db/clickhouse/clickhouse-19.5.3.8-r1.ebuild
index 8de003457ec7..7892e4667f5d 100644
--- a/dev-db/clickhouse/clickhouse-19.5.3.8.ebuild
+++ b/dev-db/clickhouse/clickhouse-19.5.3.8-r1.ebuild
@@ -49,7 +49,7 @@ RDEPEND="
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -79,7 +79,7 @@ DEPEND="${RDEPEND}
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/clickhouse/clickhouse-19.9.5.36.ebuild b/dev-db/clickhouse/clickhouse-19.9.5.36-r1.ebuild
index 8de003457ec7..7892e4667f5d 100644
--- a/dev-db/clickhouse/clickhouse-19.9.5.36.ebuild
+++ b/dev-db/clickhouse/clickhouse-19.9.5.36-r1.ebuild
@@ -49,7 +49,7 @@ RDEPEND="
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
- mysql? ( virtual/libmysqlclient )
+ mysql? ( dev-db/mysql-connector-c:= )
)
>=dev-libs/poco-1.9.0
@@ -79,7 +79,7 @@ DEPEND="${RDEPEND}
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
- virtual/libmysqlclient[static-libs]
+ dev-db/mysql-connector-c[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index eea595fde91e..27d9f3b9e93c 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -4,8 +4,8 @@ AUX etcd.initd 821 BLAKE2B 5eba7f0e8d134ff45caba8c1eb3aaf6afb412082b9a5df95925f3
AUX etcd.logrotated 104 BLAKE2B 3126c99db171af177d6d6368e7e53f3e5e07b9ae2926ff12cb0ff7fb877527df33a91dedcaa4bbbffa190b4f9c2f53868aeca093b93e9cad50718a23eb5fdd46 SHA512 64d3181a936f8bab635a17f90679041c2d70a712307928feae03a517ad02252fc37e25738979bc1ccd0657ef70439e65cb0306759bec3939e940ec382a02d94f
AUX etcd.service 304 BLAKE2B ecffe9889f9530bf7172638a0273736abba2b3ea5c5540b5452d26fbaec17ab9c138db86b543c3c88fd3d16ce79487eb2c31ad7bbfb0c5b9cd11eede9b99bd2d SHA512 0074f77a17afe2bb4145f12a6eb312caa3e08cfe8bf35856b79d091ad8786c4223bd91c0a865e789ee9ba180f2672b31721742bb32efd0cd383bc747eb926961
AUX etcd.tmpfiles.d.conf 76 BLAKE2B e5aa0ca42dd579e9c2ac8c6bdfce83f87ec79ce64d10e20b61ab3df45918747f588b9246085fec925bb39b772e061628aadd030a23a59b65a2fc2243eca1a7f9 SHA512 7324b74dcfe050dd7fbc318ca3ce9b5d58bce8fa2ce2d2d771664ef981c834375f7cbfebcb630cd61dab2a3f6bf6c3733ad04f752beadf7bb6fedcc80ff682ce
-DIST etcd-3.3.13.tar.gz 3372732 BLAKE2B 241dee0d9843eefc9aaefb35be8f649d242ab1417456cc3028c8eb2ff2af6a7a1c396f04029d87877d384247b8c7a51ec6ea2e0dd51af07ce48ecc91c613c380 SHA512 5b8cf9d8d8b0afd1551f414480f04837668729c10d5d81c5e9ffba3392bd2567f3798267c5e4dbe60f49dbdd859f668c6fe0d7924e0fd65f918ab3bd01d5751a
-DIST etcd-3.3.14.tar.gz 6342437 BLAKE2B 4bcf27829045e2f2f34c7628d6ed854a7ef5e6db02bd794d1135bb901486d8f3c1bf598c230fe7491e9db7273d3e5aa83bf4c941476ad3093423c14f377513b2 SHA512 76c8147168030310f0e4fa0c22670fd73369795ab6d98c0632c87b5947acf10af4adae58b46f042a482dc7a002044cfbdfbec962517018e2fdf211c381281dae
-EBUILD etcd-3.3.13.ebuild 1990 BLAKE2B 0dcfa21fd148dd9cfc7899a6432f3df5cfa0c678b39291bd4cc8c371e32932bf9d0f2fe97355572a621280c1200dfa3a9733be3f4fd2cebadf06f9e1fe06e435 SHA512 582ea4605eec3d812df40be5dffabc7c62be3652948f8d3dfae6f0c8553f507ce1ce6e135aa5b1b0c0c5fb52c970140a19c50cfd73bb905773ef17db9143c129
-EBUILD etcd-3.3.14.ebuild 2006 BLAKE2B 7e2c00213dd64e2ab82d7b94e606f7a258fa7d60c8a55b1f7a842f67c902d904e85959e81e457a2b43e06a6beb37ebdc07ca92b978eda8cea844a5555a12dcbb SHA512 58a239758efb92c53d5abd32ea49453e6d4ad4f606e660d3011c5ff7e7f26a42f533b6198360fec980d99bc3199da0febdda9d044dc5d3797be4e680785b5609
+DIST etcd-3.3.15.tar.gz 6271373 BLAKE2B 85786a2a4acaf144f80461a56775b8c91164e8f0c0034ef0741d98383ac400720ca69b855588a076dc174364330c0e12df73a36570983138e33a32cdbe69e22f SHA512 9fbc02c4aacb000335d558e9c5d4df672194d1b1b8511918efa35a6123bcd7f1a06ecc527f7ff01af7c7f0e818b4809918e640fd596ec51898bf511849f0a2c5
+DIST etcd-3.4.0.tar.gz 8931860 BLAKE2B abeb78866b751a3a124f1aaba2b6709402a51d0c5f36a45c8386816e4059172206c7e3420865209a53cecf7452a8c8b510a6fd50b5c7a9fefaac577e5d3c4413 SHA512 8e130cc76a2284c98bb72e3832e10e25e45c6fbaa5da7c6a7a2dd14a069d4fea7659b13c1450b87b869e5936bdad47606d0c65292febb7257369531ff2658674
+EBUILD etcd-3.3.15.ebuild 1989 BLAKE2B 533264f964f7fb88f11dfdd7114d104c8b0b47ae05512651d9f0d8492ab16ce678232637281da132fba9c34ebe7e5f7622a23f162b8bed564315153d65d5facd SHA512 aaaf9251fc4d5d411333e62f557d8477f603c261d319dbe823304a2c8840de286b842d2949ec3c0cc99cff41e84e627212e38619ed75adadf6089b793f424854
+EBUILD etcd-3.4.0.ebuild 2077 BLAKE2B 3f9fef30fe99652a34c6e221c57f0b6f3cff5ab504b53e012772f372652b6c9e7af9619f34e3408c478b8d97fe8b90a7c566bc98ab8c13da664a3f3bab53484c SHA512 cae7940cc3c7a402b66baf3719a5bbfad1c12e6edfda23fcaca0d5fc46ca00143d3db75041ca5fd8ee1eb0a11749dc338a9d0f2c37558509ffff3f9f433573ec
MISC metadata.xml 679 BLAKE2B 7374379a18107011df792be631428834334ad8e6da5cfe404f18555e8c168d3fc716a1c8d6cb5cf1d9ccd173737aecf93a165f846865dbb6ba4a76bd4669b446 SHA512 8070d8b51dd3319e8b159072db237dcc5299361c2f74fa086fc4cbc174cc6a5c8f7659310332b54b2275e2bc3d028323c4dfa5775e21693a339f54312582d2f0
diff --git a/dev-db/etcd/etcd-3.3.14.ebuild b/dev-db/etcd/etcd-3.3.15.ebuild
index 4124cf6b9401..b3ed26c899a4 100644
--- a/dev-db/etcd/etcd-3.3.14.ebuild
+++ b/dev-db/etcd/etcd-3.3.15.ebuild
@@ -5,9 +5,9 @@ EAPI=6
inherit user systemd golang-vcs-snapshot
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
EGO_PN="github.com/coreos/etcd"
-GIT_COMMIT="5cf5d88"
+GIT_COMMIT="94745a4"
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/etcd-io/etcd"
@@ -73,6 +73,6 @@ src_install() {
src_test() {
pushd src/${EGO_PN} || die
- GO111MODULES=on ./test || die
+ ./test || die
popd || die
}
diff --git a/dev-db/etcd/etcd-3.3.13.ebuild b/dev-db/etcd/etcd-3.4.0.ebuild
index ba297d2a0313..97d43f62eaf2 100644
--- a/dev-db/etcd/etcd-3.3.13.ebuild
+++ b/dev-db/etcd/etcd-3.4.0.ebuild
@@ -5,17 +5,17 @@ EAPI=6
inherit user systemd golang-vcs-snapshot
-KEYWORDS="amd64"
-EGO_PN="github.com/etcd-io/etcd"
-GIT_COMMIT="98d3084"
+KEYWORDS="~amd64"
+EGO_PN="go.etcd.io/etcd"
+GIT_COMMIT="898bd13"
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/etcd-io/etcd"
-SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="${HOMEPAGE}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.10:="
+DEPEND=">=dev-lang/go-1.12:="
RDEPEND="!dev-db/etcdctl"
src_prepare() {
@@ -29,6 +29,9 @@ src_prepare() {
# missing ... in args forwarded to print-like function
sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \
-i "${S}"/src/${EGO_PN}/raft/logger.go || die
+
+ # Avoid network-sandbox violations since go-1.13
+ rm src/${EGO_PN}/go.mod || die
}
pkg_setup() {
@@ -73,6 +76,6 @@ src_install() {
src_test() {
pushd src/${EGO_PN} || die
- ./test || die
+ GO111MODULES=off ./test || die
popd || die
}
diff --git a/dev-db/kyotocabinet/Manifest b/dev-db/kyotocabinet/Manifest
index 1db466d0113a..7db2f4654f96 100644
--- a/dev-db/kyotocabinet/Manifest
+++ b/dev-db/kyotocabinet/Manifest
@@ -4,6 +4,6 @@ AUX kyotocabinet-1.2.76-flags.patch 894 BLAKE2B 50efb4b21f0101a942eb758213cf7034
AUX kyotocabinet-1.2.76-gcc6.patch 289 BLAKE2B 5f2c972bf3f789c4573206dcb5fa2d1d21e50c16bc90889a978979f875e0597f48fba56cc9558c2f11202ab892d09f02c3b3d0c4bdc42e64857170a48d2797eb SHA512 755fe06635309139d55d1ede2e5ec30e37867501ead68abd3218c59ea016b72c9aa4d7d4072e15b53d22755606949dfaafa7b283d33a821d280fe7791ee8ff10
DIST kyotocabinet-1.2.76.tar.gz 951930 BLAKE2B 7d2b5e5c85e0a6f90c88cd3b6e1b41588dffeaa2a404aa2c83281e033fe4e1275fbbc15584d4998e97f166c5060ce43c9cee9567121edbe1f72a0d5f52f42b40 SHA512 278db7b327eb4c21bf0137d9aa14fb67d74d5ce7ed1cb29fc9120d157a60de165ec0cf842903eb7952e8f998045ae585b958977fa973ba0e0773381de71d9f6a
DIST kyotocabinet-1.2.77.tar.gz 949326 BLAKE2B faacde57e8c7fed3fb232ea6fd12b668f2d2ee352cd357d5e16e0d1740cd8f73e223964249efeae50f3ea5d0672117b2410b91ba557ebe1ac7ba4075ac28deab SHA512 f38794c11faa3f4b64097a2e314307e1a6b75ddc495103647ebe52786a689336754496e7083697417ea90436e7fad681f16440975abec9ae917874aa25153e0f
-EBUILD kyotocabinet-1.2.76-r1.ebuild 1316 BLAKE2B 62a72d1218c15713033c7b1726a8c07f37936d83aaf0f6eb2ce66df9f6a66a7a1a08bd05798cc4ec13ba67dbcdee813358011513d6483feaebc261d65682d3f2 SHA512 e50a18d55241cd0ebfbca17805bbdca25ac3a1179afcc2b9e97ad605b257fceaa3e910a039080cc916d90c296a18950a272a610a51e83b45216be5ea9ba5c3be
+EBUILD kyotocabinet-1.2.76-r1.ebuild 1315 BLAKE2B d329bd8f68728f21b1da73e0adaf9e98bd3ac4833ae3ae3fe15825c536ed8e3f64caa6fa6c84afc9dd9c5b748d7e7a54b574c0aac55d8101e8fb6aa3bc8450c2 SHA512 0e9149f879edefc155c7e66aa1fc230780f5dacf1ec7ccb326d9d3a546259cd2cadff54dce3e857caef6ec4fc2924630567aa8f7fb81f773f6f92f059a5b3795
EBUILD kyotocabinet-1.2.77.ebuild 1536 BLAKE2B 4350d8ac7d28b1d1812af26f97dfb3d783bc62f1ff2e307e030f95ac12e445d2da3a2c2d6a1790fd6132a789d58373f597e4d805a7c636d69c295a29d154f8ec SHA512 74e14fca530ff6d9ef3a9c4322cf01085db7b1925ce5b6491da5edcfc78f7e841dbf7b20b32489be8d1183d6ce9afc3b988322e8010047787c1cc8acc4e05a34
MISC metadata.xml 247 BLAKE2B 5a20af3c9732ef7dba68131a08988652f5c93a6d186a82c4deb1bb9c06dc3ae73152a0d241cc346637f7b11caf4676da43301ba596c67b66669535e71db0b03e SHA512 29cf52c16b0cce69899d9c2da8acd9144b7d760442aa323b854dceadb42459e009545193b1df7911ac2241b59f4819b4a6bb1d206d6f57953f770031433bb6b7
diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.76-r1.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.76-r1.ebuild
index 1f0d97d31054..324be9e0b8af 100644
--- a/dev-db/kyotocabinet/kyotocabinet-1.2.76-r1.ebuild
+++ b/dev-db/kyotocabinet/kyotocabinet-1.2.76-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="${HOMEPAGE}pkg/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~s390 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="debug doc examples static-libs"
DEPEND="sys-libs/zlib[static-libs?]
diff --git a/dev-db/libdbi-drivers/Manifest b/dev-db/libdbi-drivers/Manifest
index a417eb909731..7fb9ef8357b6 100644
--- a/dev-db/libdbi-drivers/Manifest
+++ b/dev-db/libdbi-drivers/Manifest
@@ -1,4 +1,5 @@
AUX libdbi-drivers-0.9.0-doc-build-fix.patch 694 BLAKE2B 95207e6fbd947c01a1c3a99806f09e3f932b6d7b6fe1b55ffeb98ce73a54b7f984ffe9811c834e53e961500ae688b0548599b3f9b47a5d1e083eedf5c7ed650d SHA512 0ff58a08909327db91ebd0dfad7ac88ebb17156bbb7afc8bfc8a3711fee37708a7ad715ed50b5085cdd15d3cdb5c06de3a0779694104fb6332a1e9c2f51f5b0e
DIST libdbi-drivers-0.9.0.tar.gz 1829864 BLAKE2B 2071c0cc21b1b4eeda926d5ce36f6dde03ede206dac91780aabafcb7c5b399f4b9580910e5ede08c9f0bf026f4af2088d1d0e8c1835b86273a7739b2946ed3c3 SHA512 f4d3aaa71014697c53012a10bf9f0af398bcf5ee5872af165f8f43a682d2fb3045a9172ffea0e068dcbfcad52494878c037d8d90fadfaf176936e42f7f1e85c1
+EBUILD libdbi-drivers-0.9.0-r1.ebuild 2192 BLAKE2B 2ee8efabdf492138c6d65a773b0f0076bd666efcd037ba5b30435e767c680befa633eed57ecb2685b0593f2fed2303b96d2f544e54971818129781e584955aec SHA512 fe6b7dfed49fec7125d86a55161e98d0c00659bca0e4787e447f13912f7871106910d6611a6bd5e7e4672de514568ffa5b9e7d03d0ed4325db75c71140614253
EBUILD libdbi-drivers-0.9.0.ebuild 2130 BLAKE2B d07220a35fafdfa263d8d2498d8ce8ce1f531cfb3f9495e60ae13d3d154096a18ec0579e925efbbe6ac3a5ebcdce9d12f759ec8d21b83fd168a5f3513635ec03 SHA512 e1d823317b37a8c30889a5148db8c6ceff0908dfc128a1f0a388675a146e45b501582ec70fba7fea47f578612d27f4ba651a21c5d26488a75b99e1dca8ad6d51
MISC metadata.xml 302 BLAKE2B 50e613a8be312f9b8e234ef4a810a318f51f70e71f37a01f1932f2e70fecc543956e84690de88a14dac252101865ac0ef454966bc1bf54e5f574d2d6fddecf3e SHA512 d0d6c905c747105c3b5c2bde24ea7f8c63225779fe41f106b3de3d3082cbc01b0749546c3477db1e9f14db44e1b2921316f4cddb256ef8dddec3b4176a051c70
diff --git a/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..a46e855b4242
--- /dev/null
+++ b/dev-db/libdbi-drivers/libdbi-drivers-0.9.0-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="The libdbi-drivers project maintains drivers for libdbi"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
+HOMEPAGE="http://libdbi-drivers.sourceforge.net/"
+LICENSE="LGPL-2.1"
+
+IUSE="doc firebird mysql oci8 postgres +sqlite static-libs"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+SLOT=0
+REQUIRED_USE="|| ( mysql postgres sqlite firebird oci8 )"
+RESTRICT="firebird? ( bindist )"
+
+RDEPEND="
+ >=dev-db/libdbi-0.9.0
+ firebird? ( dev-db/firebird )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/openjade )"
+
+DOCS=( AUTHORS ChangeLog NEWS README README.osx TODO )
+
+PATCHES=(
+ #"${FILESDIR}"/${P}-fix-ac-macro.patch \
+ #"${FILESDIR}"/${PN}-0.8.3-oracle-build-fix.patch \
+ #"${FILESDIR}"/${PN}-0.8.3-firebird-fix.patch
+ "${FILESDIR}"/${PN}-0.9.0-doc-build-fix.patch
+)
+
+pkg_setup() {
+ use oci8 && [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ # WARNING: the configure script does NOT work correctly
+ # --without-$driver does NOT work
+ # so do NOT use `use_with...`
+ # Future additions:
+ # msql
+ # freetds
+ # ingres
+ # db2
+ use mysql && myconf+=" --with-mysql"
+ use postgres && myconf+=" --with-pgsql"
+ use sqlite && myconf+=" --with-sqlite3"
+ use firebird && myconf+=" --with-firebird"
+ if use oci8; then
+ [[ -z "${ORACLE_HOME}" ]] && die "\$ORACLE_HOME is not set!"
+ myconf+=" --with-oracle-dir=${ORACLE_HOME} --with-oracle"
+ fi
+
+ econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ --with-dbi-libdir=/usr/$(get_libdir) \
+ ${myconf}
+}
+
+src_test() {
+ if [[ -z "${WANT_INTERACTIVE_TESTS}" ]]; then
+ ewarn "Tests disabled due to interactivity."
+ ewarn "Run with WANT_INTERACTIVE_TESTS=1 if you want them."
+ return 0
+ fi
+ einfo "Running interactive tests"
+ emake check
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index 14836ef5ef82..86d03d4bb8b7 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -1,4 +1,3 @@
-AUX mongodb-3.4.7-no-boost-check.patch 641 BLAKE2B 0dc3a426b28cd80d7b3361ff9c6747aff64dd27c1bc01a9717c2dd1c160b66f53feb72fd2ead385c220ebe92a8c7b8fa6b04fb3fa8437dba17d5f8346665f6b8 SHA512 812eaaadb6f265cfc904e8f3a7ae8276e42e3968529914179efab5e44f1951ab46ac3bbcfb259f924b20a8ca61d2ebcf72b7103ea9d5f25594ff8e9e3e85836b
AUX mongodb-3.6.1-fix-scons.patch 1207 BLAKE2B 3c47d72eb940d67f40e4a12becb6de469255446b74aa5e0b2f27e8e0021e77f1af9cce12ae26ed0b05871e995e29d3da1eaee718997bc6de6e62838285946094 SHA512 70efb9309ff5a2415cec6ddca694c33ebaba29d5fb959ecc79907218205a10d4e7329fe48c8c8515bda83751061245d41f4fb11a5d8cd0c80c1db61217acb90e
AUX mongodb-3.6.1-no-compass.patch 2046 BLAKE2B e6b6977b69eb297c6a6340661f906e0206c2b68a1cebfd3c7ca01b27cc05562e0909531a2488159a54db32a05ec0cc4f81b4fe675db51bf3c30d66bc9d484c0b SHA512 5a7257a3670f40453c424ae2e6d2bbe0e3d1c795b57351c24a1b48ea4134146b08310d88a47cbb0c94a0a451a2c4a3c30fb10c44a1b9203681ee9cb5240db412
AUX mongodb-4.0.0-no-compass.patch 2270 BLAKE2B 66659a18d46755e6661b57e2ba020d7b967c455b0bfd5d198e0efd5bab1c0fdbb5def66b9e9fb54b34eb415e9b9231dcb6ba4b943d674e09685b47333af31d22 SHA512 e3b3adae4991e7687b191651f4c93471042bc8f56c5977743afec573fe026df3af1459b8bcbdb4f9995ecfbf83785ad56ccf46d6756429164b1f49524a36fed7
@@ -14,8 +13,8 @@ DIST mongodb-src-r3.6.13.tar.gz 40853787 BLAKE2B de9621de4f570d569df5cfe026ea5da
DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999
DIST mongodb-src-r4.0.10.tar.gz 49870574 BLAKE2B 1babbfa1a6d8fae390ec37042feff896c402772e832cc5b0b82fc4d531a6487ac2bd8d407c37ca75a76d78bc91cc665bfc3b7b223e6ceaaea2d921b337ef4d19 SHA512 891bfdc0d415515d7aa36aeb0618055ac6815c7d704537b88293226cecc1b677134db621fd90dee3913f4ff8174a888bcf68adee0a243d0f55ef6c0033a4f4b9
DIST mongodb-src-r4.0.12.tar.gz 49937644 BLAKE2B 81044a6d68be6420d30fb2d7386ff29871a696cad94ce5977c1aba60c2ce80e18ccb86492c1947a359ef124332ea82ac3cb0fb73a68f51904a008fdf911aa055 SHA512 802eaf57d56c5e8e217344f10104a201acb6f5abef0065fc1bb8e6ceef13fe489b7ae46ed0d55b5bad50fe3579860b1c1471d224b51b0f15f968278cb5f6a47a
-EBUILD mongodb-3.6.13.ebuild 4229 BLAKE2B 6f69c6dcceb362a35ae991575db7898574f0ca6fc6c9c0ea7d1edd462e42f2edb0933004c1eb3ab6a2244e78327a453c0a89722e01082b93ae13ea8f3016c4dd SHA512 11ee8037100c1648fd9c798a15d84836ad2c25a5cc2492e157c589128bf7b1c9553b5ae5d28ab66bfef2047c02ccaf8b1a138f2885e8298ad40d4b6947b377fa
-EBUILD mongodb-3.6.8.ebuild 4196 BLAKE2B 5c5a72caa94102818cc03de85afc8d4c2818775814a9dd04555db4c1676dda953c8e64e3d222e35e96dfa90a26a18d9825c910f48102c6d574e8de816749523e SHA512 f6f83c1dd60eb8887457135b82194dd16c874678369a3b3a29907406b921502100e6d52d08b4dca6d9777d6d6c6453e6f134b08550304b0321138fb296e259dd
-EBUILD mongodb-4.0.10.ebuild 4230 BLAKE2B da38b78fd5fd7cdd301f20d90c870d36720b55b328500aca8e39bad28ce705114be57a046639888748c20cb2a8c8227d9bff9d33d490045f66f6509652c1e5ec SHA512 0f381b81c7b6a10ff7274f1065e3a38f1c801b7c7fd2ec202c2c6bd198b496352218e2fd209456eb772d586fbc3662fded83bf17d328c12c6df619159cbf8bad
-EBUILD mongodb-4.0.12.ebuild 4231 BLAKE2B cbcc36b52afa5d2ff4e6482c801297d88902b9a09576d1ac355d922e4c66333ebf62e2cfdeab51145bc0c1717587eceae4c817e5ce25ba22620fd85b9d14c60b SHA512 98180763eb93b00c464e3930eb6f4aca8b71a85299f3990a1e21be5f882a0eefc94c297919e072504c18c59b661aca851c347c8b06c3b96364abdff17266aab4
+EBUILD mongodb-3.6.13.ebuild 4230 BLAKE2B b2d7e960c5d6a4dc9e4f882d999446eb9ab4e8a1128a513e87e1d119ade30197aa1941e75632d32f1adee32e9a6d0b659f32ad64adc1f0472982885ef303479c SHA512 70e382660c6ceca1bcd53beb41656add3d16c3fec27108864423e7eeeadef90cb4fe7d9b992af6d24b362a2a614b95171a22585eb9addf2f22c177dd65e4a635
+EBUILD mongodb-3.6.8.ebuild 4197 BLAKE2B d28a62156019eaeab2d0fa8b4de5c5589e96c955145f283d810ba58c906d01e6447d74b08fc8037e2ebfff9b43dea38c3f6d5b28615e322ebee892bbe9c97d3a SHA512 90c2f9937355bed8d110044a89a7a5a3980c236b0e33b67457c3bc3ffce2ba3dc730dd55b977667cdd43ff07ecec4489183cee50e8e0e2a618ee2ec3e4fe82ef
+EBUILD mongodb-4.0.10.ebuild 4231 BLAKE2B 981c770cdbde22763fa8f4c7be235de7e8d312b1a1b1b6e688de557201cd0c265405b4bd8e5415d9e845618abdd0156bb594036376185ec57caa02cbe7b7ef56 SHA512 9e8153cd872408325dd0941f7e2fdffef09e6b1bd24dd8cf297821fdeb94098c1096df1a722db8e282db18a3bff0f95ce672cc3a3243801cbe3408135094c91a
+EBUILD mongodb-4.0.12.ebuild 4232 BLAKE2B f7143c56fd3a49fb22b57f58e52aeb21547dc2635b9d5083647af39ffeca2f560112cf40357a04fe68641e577c5ab36f9f7035c6292262e4018a762285925da5 SHA512 dfbcb298b9f81a5ff33372df79525ac0ec42fb6b06caa95194f19af3ea682b310e3beb17ef2ab125eedce5155da9134234075046526a82f90a07b7eb42a02a2b
MISC metadata.xml 901 BLAKE2B f7fde58679ba05518634b82bf5fcc371897165364fe5b023a2ec161790c869de82b4a3dd769d5e1bb450f99679869b60bb1e35beb8d41c54d3448dfca580a7ae SHA512 48f133d396aa31b992bac5f947e5a262b2d07a1016c6d49fa3c86dabb85981edfa332abb867413826762d88051ff3981cc77c2ec92e992d7a231c3b542336e36
diff --git a/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch b/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch
deleted file mode 100644
index 1d908e73f438..000000000000
--- a/dev-db/mongodb/files/mongodb-3.4.7-no-boost-check.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/SConstruct b/SConstruct
-index df92e41659..2c387d5a24 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -2831,8 +2831,6 @@ def doConfigure(myenv):
- if use_system_version_of_library("boost"):
- if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
- myenv.ConfError("can't find boost headers")
-- if not conf.CheckBoostMinVersion():
-- myenv.ConfError("system's version of boost is too old. version 1.49 or better required")
-
- # Note that on Windows with using-system-boost builds, the following
- # FindSysLibDep calls do nothing useful (but nothing problematic either)
diff --git a/dev-db/mongodb/mongodb-3.6.13.ebuild b/dev-db/mongodb/mongodb-3.6.13.ebuild
index 2b4b44431d61..4fb9536e58f4 100644
--- a/dev-db/mongodb/mongodb-3.6.13.ebuild
+++ b/dev-db/mongodb/mongodb-3.6.13.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -38,19 +38,20 @@ RDEPEND=">=app-arch/snappy-1.1.3
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- virtual/python-typing[${PYTHON_USEDEP}]
+ $(python_gen_any_dep '
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-util/valgrind )
test? (
- dev-python/pymongo[${PYTHON_USEDEP}]
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
)"
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
- "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-3.6.1-no-compass.patch"
)
@@ -73,7 +74,7 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- python-single-r1_pkg_setup
+ python-any-r1_pkg_setup
}
src_prepare() {
diff --git a/dev-db/mongodb/mongodb-3.6.8.ebuild b/dev-db/mongodb/mongodb-3.6.8.ebuild
index b8820e940534..3f1b10dc84fd 100644
--- a/dev-db/mongodb/mongodb-3.6.8.ebuild
+++ b/dev-db/mongodb/mongodb-3.6.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs eapi7-ver flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs eapi7-ver flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -38,19 +38,20 @@ RDEPEND=">=app-arch/snappy-1.1.3
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- virtual/python-typing[${PYTHON_USEDEP}]
+ $(python_gen_any_dep '
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-util/valgrind )
test? (
- dev-python/pymongo[${PYTHON_USEDEP}]
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
)"
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
- "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-3.6.1-no-compass.patch"
)
@@ -73,7 +74,7 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- python-single-r1_pkg_setup
+ python-any-r1_pkg_setup
}
src_prepare() {
diff --git a/dev-db/mongodb/mongodb-4.0.10.ebuild b/dev-db/mongodb/mongodb-4.0.10.ebuild
index e6fa03c39c26..ad10fd71e28a 100644
--- a/dev-db/mongodb/mongodb-4.0.10.ebuild
+++ b/dev-db/mongodb/mongodb-4.0.10.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -38,19 +38,20 @@ RDEPEND=">=app-arch/snappy-1.1.3
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- virtual/python-typing[${PYTHON_USEDEP}]
+ $(python_gen_any_dep '
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-util/valgrind )
test? (
- dev-python/pymongo[${PYTHON_USEDEP}]
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
)"
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
- "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-4.0.0-no-compass.patch"
)
@@ -73,7 +74,7 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- python-single-r1_pkg_setup
+ python-any-r1_pkg_setup
}
src_prepare() {
diff --git a/dev-db/mongodb/mongodb-4.0.12.ebuild b/dev-db/mongodb/mongodb-4.0.12.ebuild
index bb2a9fb04dc3..1e60cc747ff8 100644
--- a/dev-db/mongodb/mongodb-4.0.12.ebuild
+++ b/dev-db/mongodb/mongodb-4.0.12.ebuild
@@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit check-reqs flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
MY_P=${PN}-src-r${PV/_rc/-rc}
@@ -38,19 +38,20 @@ RDEPEND=">=app-arch/snappy-1.1.3
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
- dev-python/cheetah[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- virtual/python-typing[${PYTHON_USEDEP}]
+ $(python_gen_any_dep '
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
sys-libs/ncurses:0=
sys-libs/readline:0=
debug? ( dev-util/valgrind )
test? (
- dev-python/pymongo[${PYTHON_USEDEP}]
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
)"
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
- "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-4.0.0-no-compass.patch"
)
@@ -73,7 +74,7 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- python-single-r1_pkg_setup
+ python-any-r1_pkg_setup
}
src_prepare() {
diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest
index 132253d42873..a2e623f12358 100644
--- a/dev-db/mycli/Manifest
+++ b/dev-db/mycli/Manifest
@@ -1,9 +1,6 @@
-AUX remove-tasks.patch 423 BLAKE2B d4259bb4d0ba1434fb88d25ae1f2bc4e81e89d81c9c2d45f1ac442b2de14d5b9e42ac7ad25a73c18a80570d20626db1c8070965f817f185d9de42bd9ff1605e7 SHA512 21e577769418867ce6a3ea71e8b8949c8974a2a0f1750a87df6f125e53dca04e5e93381324b1d6f9f99b7795bb2e13384619ea4664c3d2c77c5ec83ecd4e33c4
-DIST mycli-1.15.0.tar.gz 275065 BLAKE2B 47ae049a7a669d18fc2bb467dd4ee6d1bbe23a86115db6d1965c48c93a2a1be9bb8b4427b377f8ce935b957c854c1c4bf4a87fdea07f27329a13fd6a28b59559 SHA512 7a7d98220c4a679340dbf3c3c9fb3eaab7698f7abbe3e62835a03df10b59c79f0dfd916e9f7b39f12215063849ecadf9d08d086d14b00666b67bac1d092609f2
-DIST mycli-1.17.0.tar.gz 276786 BLAKE2B 203c54b58a7876fd0bab5a05880621263e5cdf786b13207f04dfaf38866f5a7250e8fe8e1c5870aa9d3f562cf9963f15cc433e3ddd2232531f4c823e46778ac7 SHA512 bd64f44ed7b16a1e9c684da52fa60436876b26333e2705e5226c4fab3a979c6680314447333d01e4fdb274d33a7f093cbb2f732e5b4e04c5330066f9918a35ba
DIST mycli-1.19.0.tar.gz 263255 BLAKE2B 524190429476793af038c8302f43389884a6ee24a05b0b8c739f290dbfdebec3336bd14567eafff2ea3351430791e4844e16dfc5affb1b28bb57d3759b496350 SHA512 8c6003a09a888c2ac6f35a881ca072ba8972f66b13319cbff73f7a525d1f808b767dcef0121b6272a1b82eed1a02c8c417d5805e5a8ce0c141545f28ff3c3a33
-EBUILD mycli-1.15.0-r2.ebuild 995 BLAKE2B abdbd5a3a837dd614b725fe010dff09696268a84ce6e7685e5bdb17c2ffb0543ee061c92ba089e2061b9557ac82cf16481e701b73f8745150cfa828d363df85b SHA512 ca0f8949af782e95c1bf9fbcd4b2e8e4e13ad55bd816d2f5bd5fb4be7d2689fad8707e9b23634068b5762f5f1ec00ff08942f3f73a81dc43360d14a7e3c1941d
-EBUILD mycli-1.17.0-r1.ebuild 1277 BLAKE2B 5e54dbb036a8f4e7b4898f5ce6062fd51ac3864195fd88fd32b0fc0666c527fb84c90159551d73905420937afc3d520640393e18859e4906ff5635059c23d46f SHA512 15299c5a79a495acab7d216cb66ede548bf86214b0825f8a7601cc433f5a310c57cae7b3c44eec7e4d954c30c3ea66b69dbe08acb6b0c2aa302d88ad2b26b16c
+DIST mycli-1.20.1.tar.gz 265264 BLAKE2B d00b1713132609b0a5ec6e8b78785fdab5c6b4db5937bc0b9bc69ddde90ad3dc75aeb99ccf6b5e7fe5e78e9bf4819f03fb454825e5182bc5d2c44356032343d1 SHA512 82ee642b2a4c158b0e2ea275941650125e15004ec1c70b2ab90ae0825090efccb4910a14fd46bcdf795a74adba5689b46de5668447308de63d1cbbbe2e6b0e9d
EBUILD mycli-1.19.0.ebuild 1276 BLAKE2B b4ef901db33ef7cd55a3ad0e267c78be9c85ded80fb403efb2c108a72781157f1087a4b0734a707d2f3b03af879c1051db9207a11114d2209de696fe4dcffc4e SHA512 a2c60914458d0ff14fdc29734d67a37dd408f55d5a9492247e26d499894108c72a2bba7b0229fd0372c67526c56eff5e2e82be346c3bfed7481e4ed6ecf6f49a
-EBUILD mycli-9999.ebuild 1256 BLAKE2B 5dac698362a9cbeb9592a8e0f83d41fda55e1898dffb0d8d088244359124ba1cb8d938ba01372459853a9459b1b3a2c9f5c26b29eb85fe42031a7e3cd4263727 SHA512 8e7deac2cf6c4582ac8d81f0460822706800a3322aad24e453acbec5c32fed74f52436fe697fc6e8e842b4cb1377d19dc41ca81b67d3cfe76f74bda7ecde20a0
+EBUILD mycli-1.20.1.ebuild 1280 BLAKE2B 1f34ae0a9e226b852e03d86083b0ebeeeda16a178dcd198e2b6096604881e63f9d7db79b967b09c95397c79fb34714fd7102fa6e40e8e2dbc29eedb82f39232c SHA512 b0e8db1e8cc453277d103aaf5bd438c87934cf05b312b91afec31b99d2e8ecba3db7b3706acc8c81c5084d59a5fe003f4953c22b52b2d086b45671b3b918d0e8
+EBUILD mycli-9999.ebuild 1260 BLAKE2B f422998c353983378e777c5a80bbaebe8d360a646bac89c846024ef1978bc10462b6517c6f339fdd2b33335863813142c4ce2f857152dce2d3d8467b88f4f2b4 SHA512 118bc9163ded7b3be0629bdc4112a4d0924cde388ef2f07838f019656a526843f6f997bf6c6cb537f292574bec8a45345e10ccb9745885af741d45adb77f6e95
MISC metadata.xml 406 BLAKE2B d46b17f9f36fc9851f36d4deadf52ca52d6df621245e521f66386ff3deed3b863188875dd2207c3cf78474cd8a04aebf03dad6564251581b8f9d09fb7bdf5ba8 SHA512 b88e9469cfd9287df46b84c62b27fd60f3cf84abfe93aba4ca7b46d668b0ed855c17ccccd95a49bc102bc2d9c054846ff33e094fe0351c598a9b55f494618e57
diff --git a/dev-db/mycli/files/remove-tasks.patch b/dev-db/mycli/files/remove-tasks.patch
deleted file mode 100644
index 94502e6b656a..000000000000
--- a/dev-db/mycli/files/remove-tasks.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 882fe92..f0d28ab 100755
---- a/setup.py
-+++ b/setup.py
-@@ -36,10 +36,6 @@ setup(
- install_requires=install_requirements,
- entry_points={
- 'console_scripts': ['mycli = mycli.main:cli'],
-- 'distutils.commands': [
-- 'lint = tasks:lint',
-- 'test = tasks:test',
-- ],
- },
- classifiers=[
- 'Intended Audience :: Developers',
diff --git a/dev-db/mycli/mycli-1.15.0-r2.ebuild b/dev-db/mycli/mycli-1.15.0-r2.ebuild
deleted file mode 100644
index 3356d93de879..000000000000
--- a/dev-db/mycli/mycli-1.15.0-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-inherit distutils-r1
-
-DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
-
-HOMEPAGE="https://www.mycli.net"
-SRC_URI="https://github.com/dbcli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="
- >=dev-python/cli_helpers-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/click-4.1[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-1.0.10[${PYTHON_USEDEP}]
- !>=dev-python/prompt_toolkit-1.1.0
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.6.7[${PYTHON_USEDEP}]
- >=dev-python/python-sqlparse-0.2.2[${PYTHON_USEDEP}]
- !>=dev-python/python-sqlparse-0.3.0
-"
-
-PATCHES=( "${FILESDIR}/remove-tasks.patch" )
diff --git a/dev-db/mycli/mycli-1.17.0-r1.ebuild b/dev-db/mycli/mycli-1.20.1.ebuild
index e3572fd7e6ed..8416d80d3592 100644
--- a/dev-db/mycli/mycli-1.17.0-r1.ebuild
+++ b/dev-db/mycli/mycli-1.20.1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
inherit distutils-r1
DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
@@ -13,18 +13,18 @@ SRC_URI="https://github.com/dbcli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="test"
+IUSE="ssh test"
RDEPEND="
- >=dev-python/cli_helpers-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/click-4.1[${PYTHON_USEDEP}]
+ >=dev-python/cli_helpers-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-1.0.10[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prompt_toolkit-2.0.6[${PYTHON_USEDEP}]
>=dev-python/pygments-2.0[${PYTHON_USEDEP}]
>=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/python-sqlparse-0.2.2[${PYTHON_USEDEP}]
- <dev-python/python-sqlparse-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-sqlparse-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/python-sqlparse-0.4.0[${PYTHON_USEDEP}]
+ ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )
"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}] ${RDEPEND} )"
diff --git a/dev-db/mycli/mycli-9999.ebuild b/dev-db/mycli/mycli-9999.ebuild
index 4aa099d560ea..e159c1e0e5bb 100644
--- a/dev-db/mycli/mycli-9999.ebuild
+++ b/dev-db/mycli/mycli-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
EGIT_REPO_URI="https://github.com/dbcli/mycli.git"
inherit distutils-r1 git-r3
@@ -16,15 +16,15 @@ SLOT="0"
KEYWORDS=""
IUSE="ssh test"
RDEPEND="
- >=dev-python/cli_helpers-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cli_helpers-1.1.0[${PYTHON_USEDEP}]
>=dev-python/click-7.0[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
>=dev-python/prompt_toolkit-2.0.6[${PYTHON_USEDEP}]
>=dev-python/pygments-2.0[${PYTHON_USEDEP}]
>=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/python-sqlparse-0.2.2[${PYTHON_USEDEP}]
- <dev-python/python-sqlparse-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-sqlparse-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/python-sqlparse-0.4.0[${PYTHON_USEDEP}]
ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )
"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest
index 4cab5b402ad6..6ab46cdbe307 100644
--- a/dev-db/myodbc/Manifest
+++ b/dev-db/myodbc/Manifest
@@ -11,7 +11,7 @@ DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B
DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz 12013057 BLAKE2B e372cfb6ca49f9f01e9e60d7cd497fc009ec38dee76ca2cfb74cc95213b84ef1eebca85e1400f19c9715c0f9b2ef40fc212196e14189f5506be8d0e887507ce4 SHA512 b54ca167f762b4d8b988b4a91f14dc6a4bf49f55bc639ce8eecc9eba6c11400bd3494d74ef77ebe3348bdefd8fb5b8c1b62b3a6beebb926a1899da17ea4a1b44
DIST mysql-connector-odbc-8.0.16-src.tar.gz 3986610 BLAKE2B c91760f8e0352a57adb5400700d22f52f70d5210d85ff0932f5288f19c917c771ce9ea9abad097d27a9723c585d1029d56c09f6865f634f9c41ad852690e016d SHA512 b7ddcdf635441bc3ed0325a8562f453e42d3c9768b0fe0b42d9b5417e268f4631e3fca3c2adc417c124ede37254c7b1890c792593d846ecaf5b158ce4b4808cd
DIST mysql-connector-odbc-8.0.17-src.tar.gz 3953949 BLAKE2B 6d7fcef89c15d9f421f690291e793f1020b5f77f5e2132f130becd1ceed041887ffce77fda4cbc411d06972f1d488d434c8f132c0778af30a436c6b6e372e59e SHA512 474b107eb5d4c23e10c24dcf37b3787418afbd34ea385791fd0d8cdb5d29a6770cde4a61e3591329b344c442ff8f6daad3a2c250e881f9f5837eaa4e951af7e4
-EBUILD myodbc-5.3.10-r2.ebuild 3588 BLAKE2B db9749af6dd80c60ae359485e3526258e43ea7003b2302076b0ef39a72098663b27f9413d050809328fe4348f5c129135f163da8d895f65d8c9f76bd53415eb4 SHA512 33d3aced0bc4575baa860dc53f1a6b35b6a5dc2e1815d88922d66c5270e570deaa0dc20018d9329c4651cef00f48b902b208671dd0836e7224d11972491b9e66
+EBUILD myodbc-5.3.10-r3.ebuild 3591 BLAKE2B 0b7fb7976b32eb39b4e77c1d95011a623eab9ae83f02414911e7408614126a6a838d9ad8142092505c060d4142f1ac3f22f561ab6997e548999626c8c7b1e783 SHA512 73827923259949c1054f52727ec692312c37d887a6f56b8116d83dc9a91a2928ec2bacad723d9b41a32be56aea654cd94959f93237591d0aeb67df69ea563b41
EBUILD myodbc-5.3.9.ebuild 3072 BLAKE2B 4922ed231672f11742590007b7b1f5c5dfa27263a6c98893b373793da06088f29c5401917179d479f4c57b24b2a1be9c3507caa752db79f3268fceff4719013d SHA512 4da8b034a745c453a310391a38e5cb1697bfa51838edc6903ee643e7dbe28fa5fb8f7d34264f88bb79b2aba83fa042212c0a2dd251c15150f7f0a2fcf561e052
EBUILD myodbc-8.0.16.ebuild 3101 BLAKE2B 28664fd845b3bfb251e2f754c06b1b21ac1fb0ce85fbcaf620ff4ebea4ee181fe3c2f7c00ff8b47a084dc2e31a893c35f2d28e6176a4a40d508a6b0ebdfd57cd SHA512 856408b130fad4e4fc70fd48d841a2969aa85df46eeebb1d1476e5054b5d78af8e799463a7314f6db4131e4868146d6838c528b85f5bec1c569230231516a2cc
EBUILD myodbc-8.0.17.ebuild 3111 BLAKE2B 4b0f0391bb0b71fc277da100630891bfca04d4ca87c3852eb728c1ba19c3de875654ee7fc1c5c66de1071f9c732c5bd2203ebd83f3654d616617895fa7a936ed SHA512 c5f960395fdb30f398dd182dafd4b75fcb6d7270ac327637e3d2fe169727cb377ee66a4e46e1a14221fc6c7aa34a617d5da636bc96f909eef772f73ec56b6a00
diff --git a/dev-db/myodbc/myodbc-5.3.10-r2.ebuild b/dev-db/myodbc/myodbc-5.3.10-r3.ebuild
index 28dde7ddccb8..ffae941ae9e1 100644
--- a/dev-db/myodbc/myodbc-5.3.10-r2.ebuild
+++ b/dev-db/myodbc/myodbc-5.3.10-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -24,7 +24,7 @@ IUSE=""
# Does not build with libmariadb
RDEPEND="
dev-db/unixODBC[${MULTILIB_USEDEP}]
- ~virtual/libmysqlclient-18[${MULTILIB_USEDEP}]
+ <dev-db/mysql-connector-c-8.0:0=[${MULTILIB_USEDEP}]
!>=dev-db/mariadb-10.2.0[client-libs(+)]
!dev-db/mariadb-connector-c[mysqlcompat(-)]
"
diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest
index 6920b6d52d7c..c3ecb6368d42 100644
--- a/dev-db/mysql++/Manifest
+++ b/dev-db/mysql++/Manifest
@@ -10,7 +10,7 @@ DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b2
DIST mysql++-3.2.4.tar.gz 4594696 BLAKE2B 7e0553b0e22bb3607a914fc7756ec192465af546749b0147a97558fb3d397e504f4552dcbc783f5bcc934e51fd1dac863e5479c4af3053d394a51c94cd825ee0 SHA512 69e23c211240854b59951bdb1cecc57f2f818d822a977942177e65195900dbdcc62d598c3e90c18f4a0a37e5340df7a149719c45b791de59c03d1f1259c5f4fd
DIST mysql++-3.2.5.tar.gz 4748218 BLAKE2B ffceddb360cf6f0f38b7647f68e52ad9b659642c598c2aab7736813bf61d07316900d843749c2f9f4c753bd2087711ca712cc430f12b3a475c63ae3e5b11aff7 SHA512 5fa042a350322fa74afa28dc5e53f15cad32517001ab817493bf0d13a64e6559712f5e61184ef38a97bc8fe69f8732aaf436bc5d1663e4873f8baebee2e00892
EBUILD mysql++-2.3.2-r1.ebuild 1410 BLAKE2B 6acbf4805dc44570d1d1b9df9a1c8769d3c13c9658b74cbad2052313d0538552693da45f2558be1afea78f80d6492ec36a9c02389ecbc054c60610ad521030eb SHA512 badefe7d214bd55b81965070b814b94c15fe3635d87c265225d2f9fef02360c3e09adeeb79a75c9990e89d596f111fc958c2a5fcec63624f14404192e4a26884
-EBUILD mysql++-3.2.3.ebuild 1556 BLAKE2B 8bcedbe3e000c0132610b7347329e62d0d82adc00be4b34e5333c274140ea682e3300b471dcf08a7e661e9df801fc6820b6771e7d41d0c74968856deb9375bde SHA512 4b04105492d20515ad98db286d9746b6ab1fe0d38a49c7de870cf19ab5d6dc2579303aa36b7216caeceb58ff17668fa4149b9a762612b0ca203adafda7145898
+EBUILD mysql++-3.2.3-r1.ebuild 1558 BLAKE2B 8b0a813f379929c73f0c41bab67c66dae5da003816434e8e22566a8ed94c435d83ac2cff9c2238731f74b2518c26ae8ef4f1d87a93b00958d1fdf99378ae9857 SHA512 1ff80e7a19e2cf782c1e2747f38aee37f60812944317160b9153ee39edd6e1ed7ff3d037733e80fe62596466cbb61c31137ec978df4959f003c6f6058257d136
EBUILD mysql++-3.2.4.ebuild 1704 BLAKE2B c67e5a1e752602037503871f061f6a0430af178beab1c8fe293b19f903afbc78a62f602e8fa1af1c2812c0c938b540a99f0c25dd37ea782b9815237cfe8b4036 SHA512 7358abde75d8f9b57487955a75c7718d383b2ef0aea9094a9bce3affd8151ed94c509e884dea6b10b9d8d709fa893fcb0153e26520375410661045ed198013b2
EBUILD mysql++-3.2.5.ebuild 1704 BLAKE2B dc150bed9777bbc18f38799121ed83f1cbf5c4c5be814a3e2b85664d5079adefafe2f3d502c4f9349a823db20723d95d039ef4b2e431e41299112be2ec06e1fe SHA512 2f784310eb4a015c67dd0c0566847c27f95dddd25e160edffcb28253a9cc545ed35e44fecac7242359c78ab05d0237242e8b548db0064fb0d63780e561304d48
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql++/mysql++-3.2.3.ebuild b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild
index 4b77996aeaf8..28038bb90723 100644
--- a/dev-db/mysql++/mysql++-3.2.3.ebuild
+++ b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild
@@ -14,7 +14,7 @@ SLOT="0/3"
KEYWORDS="alpha amd64 hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="doc"
-RDEPEND="virtual/libmysqlclient:="
+RDEPEND="dev-db/mysql-connector-c:="
DEPEND="${RDEPEND}"
DOCS=( CREDITS.txt HACKERS.txt Wishlist doc/ssqls-pretty )
PATCHES=(
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index bd0f17535fa3..37b411a1acbc 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -11,9 +11,9 @@ DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B e2cd300946a873a94beab13d9d1
DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f SHA512 5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148
DIST mysql-connector-c++-8.0.13-src.tar.gz 2174609 BLAKE2B 5293ccfb7ad3bd6d50e0518db402d93f707535498ff1f608acc5c642cdc2c671601cbb7c14c7e6ec66fea8bdcb22effbb90e0ee2c207e8e82be7a2b446512f24 SHA512 0c260eff0002f5abc177049b9d050daf3b7860634355c10c02cb0ece18a3d1505454d67d8742d7e879c0cc6b44f8045f75e64d79bdd0bbfc211de9903abec902
DIST mysql-connector-c++-8.0.15-src.tar.gz 2210243 BLAKE2B 45e0ffa2134c9df5a7e311963c7f2c58b5d7cfc0eefd80a5dc323bbe34ba60d40c79154f932e19c5f8e18ae45d0b61d304b7b7daba4955f92f830cf20c718931 SHA512 9a217b8f61babe5dac405be19b12d34b22673e779433d880a3aa31ea2e128f93434599a3fe0c1150b3f7b8c4d03f595d545d8cc33342a60561a2f60bff71ef14
-EBUILD mysql-connector-c++-1.1.11.ebuild 1619 BLAKE2B deca616c2dfe247328a82ed6dcee22ac8318979b78ef2d26264cc8c29d26aade47d00f2fa9367dddf21cd0a8703216d6370da1dcc96153054704541e39c31129 SHA512 8af584556114a0b5266af95b82e00d94c16dbd5c6b49c6cf25ad855f8fb4fb65ad9a2d752ce7ae4efaf4df7f2bdaa775cb712a89b0a8c4283e3e7d4fc0f29e9e
-EBUILD mysql-connector-c++-1.1.12.ebuild 1646 BLAKE2B 66e94a142efcb3a7b3111d930519d9fd53be1a500f7ee1cfdcec93ae4d5cf05f6241638c8a5b6305c29054e35dda43907a0ff2a47132eb79a8215e5ec65634c1 SHA512 907fbbab27519498402b914c8f1188d60814ae0e7ebbcc72d8dfa53620f2b52db686ab880cef61f4b37e210177e75fc3d114a5ccfaa1bbcde6df76a1b4070077
-EBUILD mysql-connector-c++-1.1.9.ebuild 1568 BLAKE2B 767d7a824046b4b1b18967abc04ae51b0610b15af54d8f1491b7d0731a2a25add4ff0bf2dd0445c793737eaf897205216e554e4405f2ab3d3eec30ef0662edc4 SHA512 55070fa6863b2e3cffc3e7f71bd2b652b198ae824e256b6f72d9c525602582c05a57262ba7f33bf01802551617d4963f30b3bbf15818a4fd1a406ac6286aa65e
+EBUILD mysql-connector-c++-1.1.11-r1.ebuild 1621 BLAKE2B fdf824ec8993976294bbc03467c63da10206bd04ed066ec33a2d7ce9310e654a0cdd1440e57517bcb22c37851310da0fb2e8e8c48696a99800da3e45cdc0c47a SHA512 7c05b18bac4af342c9feab9622e63afc916bd408a8f2b88dcf59c6192b5a62fba481b3e3f5cbca6826f61d092e7c91e9ef8f20f29b7272c11454c28a836fb15c
+EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1648 BLAKE2B 4f16129647c28a35338981d7b0efe867acc6a0aba527d26c9c79c695073d4eed57219cd740bb046a2c869326f75c101a589c4383ea876fcbd619aab15bab1db8 SHA512 382856ec409b13e3c5e96ef7f5b9282b97dcf02f6715f5c6b786e46a2859e30ee64e5911ff81b9691a379f35904fb94f7e895e747d1ed6d5804c21390ffbdbbc
+EBUILD mysql-connector-c++-1.1.9-r1.ebuild 1570 BLAKE2B 2f5d17177fe53a0ab0a70efe13d225a6982746819191719d1378b072881037ce81b0d63beb1e0e3dd9106dc04d17ef29b6ac010831734fca2f184901568ba2b2 SHA512 ce9598a2a5f8924cb24822dec8b5349f1655148ba7aba234e324912999d7a5df054a3b3d78c7e9c33c909d046d28bceb9322dc1848370fbed00b27941d49d387
EBUILD mysql-connector-c++-8.0.11.ebuild 831 BLAKE2B cd00b3ef8d70e64c8fa7d4852a45d58f060fa443dfb90ebffdb3fa11310d4afabf0396eb05ec4af04b2d3fb3115f38b10eb76a1a302d9d7a1cbb5b4f7e61fda0 SHA512 8de6feaa69664b8faea224769777b7050470fd0b60c0d317e00049bc0e29471bac94274ae0da4239ff211651bf3775df0526d29a02d39d88b1d107bddbb44ee0
EBUILD mysql-connector-c++-8.0.13.ebuild 840 BLAKE2B ad79745000c37f90f50ffb434613bdabcdf7cc8c8fb93e24e2148f08e65414f5bfcbd792a6b942494b776bbcd8b0717760d8576dc77d78607aeba473a2e5878a SHA512 8ed227a9269efc07223a71798225f4e573904aae94126c549e32abcf4e02459269c570a7d8e4e4db3ec7a825636a77feab6b1752ceaf23d4416cc42d4ea94e8b
EBUILD mysql-connector-c++-8.0.15.ebuild 909 BLAKE2B 3a0fa261424e3ce299cf1d10ff5ace8e8bedc4e91fd0eb098916ca1b2d2353562a21d4aaf3fb73c119a665ad64da113036fba6ad9a02a6199306cece67b1f835 SHA512 32c8692e66ed3805c3e01ad5b4e66b04bc0a750e1fd270fc52f70777242abd21d5f11acdff27210b9194190e2ea1bfb3d203e264986c985f0d13210618e51047
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11-r1.ebuild
index 0f5dd84a35bb..812af80237d4 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11-r1.ebuild
@@ -15,7 +15,7 @@ SLOT="0"
KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
IUSE="debug examples gcov static-libs"
-DEPEND="virtual/libmysqlclient:=
+DEPEND="dev-db/mysql-connector-c:=
dev-libs/boost:=
dev-libs/openssl:0=
!<dev-db/mysql-connector-c-6.1.8"
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild
index 9fe978903a8c..d1f8176a8bd3 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.12-r1.ebuild
@@ -15,7 +15,7 @@ SLOT="0/7"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug examples gcov libressl static-libs"
-DEPEND="virtual/libmysqlclient:=
+DEPEND="dev-db/mysql-connector-c:=
dev-libs/boost:=
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9-r1.ebuild
index 635d8c6cbd94..3f908d77fd3b 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -15,7 +15,7 @@ SLOT="0"
KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
IUSE="debug examples gcov static-libs"
-DEPEND="virtual/libmysqlclient:=
+DEPEND="dev-db/mysql-connector-c:=
dev-libs/boost:=
dev-libs/openssl:0=
!<dev-db/mysql-connector-c-6.1.8"
diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
index bcad2b4ef3f3..581684cf6fdb 100644
--- a/dev-db/mysql-connector-c/Manifest
+++ b/dev-db/mysql-connector-c/Manifest
@@ -1,10 +1,12 @@
AUX 20028_all_mysql-5.6-gcc7.patch 603 BLAKE2B f03dc2e39dca4496cc084b427daa60014464876df456bf290a5de3431b481691a35ac9ac00d71cc86931efe3bca70dae012bedefc6d29ad7fec2feeb07cce014 SHA512 f9dab813418f38f3a877b8672cdec153d6f0f289144c35277e8275cc7a58195f974b7bf76b74f8dd2403643b1199f5e6d6bcde661ce5f79f614ff10347b52278
AUX 6.1.11-openssl-1.1.patch 8987 BLAKE2B 8bd00bb778e086cbdcd04b6ac904f36bd64bbbb332f913129eb3acbaf6da4d044fdc65523626a9fed47d6bf5859826af489bd9ae7ae51664c613c966a88708ba SHA512 46af56504ed2a69ce74a5e2040ee8b3355f5ac48fb80e4668b635f01a2650d07f50dd098ad43239e8b35a80e975a5a9549bd1b1a9c1a0612ed9e4750b537bb76
AUX 8.0.16-libressl.patch 12591 BLAKE2B add6c31d6ea29af0b97e4f4558a006de899bf33a75ac37b20c4feb539a568a9bdec20db6bf6f3e5a64488af8740fba566d3166ea7f339f98f7c9df738bb63c71 SHA512 49ac3e698be404eb13771e3850a6b37c1f839fda1d710be7f53369d457236e14423e6d8877dfa0a580c0e700cc4c33f3fa2b5e87c9ad14e8f88899451a51a91e
+AUX mysql-connector-c-8.0.17-always-build-decompress-utilities.patch 819 BLAKE2B 424a30a5217aa4b1005d1991e90e75f033092c87cfadf0d2298d8f2a6819bafa24f5f1149d00ea252afb71f004069e9b4b406e801438d0f15a8077d5bcbc1561 SHA512 bf839e2a126066b78a64a7876b319507fd049cdc3a8b2855d8df27ae0c74a93f4b66d7d1db534552107cbe293a1913d51bd25ce945a6bdc47e785b3a6c3608df
AUX mysql-connector-c-8.0.17-libressl.patch 10106 BLAKE2B 5ed9b5f77f35c5079ac13d855ec9de0f67769d9de20029876026064986a7c79671b607a19c6afe3cbcdc9ab14527e5618a213b4aa8953f10349e80b0ef7c21ea SHA512 7e692de4260f2a846008eca3bf8f4f59b61d2780743ded9a08d2245baf73ece360cb8b25ab4a3518b706b7dcc2915f3628122930b973ab27ec3e7bfbf120c3ed
+AUX mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch 684 BLAKE2B 10007011b38462ffa8b539f9ac531c715fcead4e6bb1d1c04ea8055decc0aa6eda8b22e3967d91773316d04062ca231cf8561ce72ab2b5aaeaf37a0bb425c7f5 SHA512 d0e60dff5faa7b6c71878803d598b46266021029c874c8f6834d496de10ddf42d3b806fae3c6d532c1890cb5f491bbd69235bd1ac919848011a9ca57c465ce1c
AUX mysql_com.patch 1787 BLAKE2B 4fbd40325f400586926072927b3f07231d577f18c1e30951c34c36ded9b9e42b7c3dc47ca51df974265c28b40116e30274d8a73d6a843e5d9d0074430bc17b08 SHA512 340365b05d72045af0ef12fd5c260a796be547d9abb97a6ef3d6aaf30aecf29368c1dfa28f1284da544a81656f0436f11ada2f8c5cb481540d1f1c90dd354b49
DIST mysql-boost-8.0.17.tar.gz 189322239 BLAKE2B f9f46e5fdc3e9869b203626bc09edfbcdbabcd68eba43f9c6a33b9a52cffb3a32f39704c6d22a66899aac16fa2efb271c5dc7af7522768b45542ac8dc615cd8a SHA512 a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d
DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6
EBUILD mysql-connector-c-6.1.11-r2.ebuild 2289 BLAKE2B edce26b9fea987ad0d3ba93388303f62dfe004779989c6e21ac154275cd9b7e0b3f0749e19375290d625f9a17384853b63a02f4742703030aa7c8dcf863f7ade SHA512 c33ea5754eae88f1628d9d53a81db4aaea2598ebca10f2158617b2a2cd9ac3d7cd34dfc9b0314bd096ba0f531dd27fbe8c42a61727dea91fc21852ee601f409e
-EBUILD mysql-connector-c-8.0.17-r1.ebuild 2456 BLAKE2B 8c54db2595c732fb34285f673942bd0df1e07ac982cf8622baebfe81f8a9e8f1dd9f87023f3a73a58d9c59129444030d2cd06de4aade0f35c86a365db3477bcd SHA512 ccb6f68dfccc6f94d2897b7931fed8d0df5d5500f60d64e23908b5864ad7b054cd7b1eebcc008f5b4ee99c0254aa75c0478b1bf2c35e5d42d760adf2118614b4
+EBUILD mysql-connector-c-8.0.17-r3.ebuild 2910 BLAKE2B c84d7fd272718626f63ff5f7978d97b04f9b0ef0c621d7bd25d0fff3250fb00b3876bf5d83100c842a5536cbd6fc4533b87519669e3908ad3015e9799dc4739a SHA512 ffae48bad3697161efd56cea71c42fc4a3cc9ff97e17cb91bc6337dad69dd03cd86bf41b241fda0f8809f2ddff3e6137f7d10a67a7ba4a6e1aaaff81a787197c
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-always-build-decompress-utilities.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-always-build-decompress-utilities.patch
new file mode 100644
index 000000000000..927662705aa3
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-always-build-decompress-utilities.patch
@@ -0,0 +1,22 @@
+--- a/utilities/CMakeLists.txt
++++ b/utilities/CMakeLists.txt
+@@ -101,15 +101,11 @@ MYSQL_ADD_EXECUTABLE(perror perror.cc)
+ ADD_DEPENDENCIES(perror GenError)
+ TARGET_LINK_LIBRARIES(perror mysys)
+
+-IF (BUILD_BUNDLED_LZ4)
+- MYSQL_ADD_EXECUTABLE(lz4_decompress lz4_decompress.cc)
+- TARGET_LINK_LIBRARIES(lz4_decompress ${LZ4_LIBRARY} mysys)
+-ENDIF()
++MYSQL_ADD_EXECUTABLE(lz4_decompress lz4_decompress.cc)
++TARGET_LINK_LIBRARIES(lz4_decompress ${LZ4_LIBRARY} mysys)
+
+-IF (BUILD_BUNDLED_ZLIB OR NOT OPENSSL_EXECUTABLE_HAS_ZLIB)
+- MYSQL_ADD_EXECUTABLE(zlib_decompress zlib_decompress.cc)
+- TARGET_LINK_LIBRARIES(zlib_decompress ${ZLIB_LIBRARY} mysys)
+-ENDIF()
++MYSQL_ADD_EXECUTABLE(zlib_decompress zlib_decompress.cc)
++TARGET_LINK_LIBRARIES(zlib_decompress ${ZLIB_LIBRARY} mysys)
+
+ IF(WITH_INNOBASE_STORAGE_ENGINE)
+
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
new file mode 100644
index 000000000000..8fabd9952cc4
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/692644
+
+--- a/include/mysql.h.pp
++++ b/include/mysql.h.pp
+@@ -175,7 +175,7 @@ struct rand_struct {
+ unsigned long seed1, seed2, max_value;
+ double max_value_dbl;
+ };
+-#include <mysql/udf_registration_types.h>
++#include "mysql/udf_registration_types.h"
+ enum Item_result {
+ INVALID_RESULT = -1,
+ STRING_RESULT = 0,
+--- a/include/mysql_com.h
++++ b/include/mysql_com.h
+@@ -1002,7 +1002,7 @@ struct rand_struct {
+ };
+
+ /* Include the types here so existing UDFs can keep compiling */
+-#include <mysql/udf_registration_types.h>
++#include "mysql/udf_registration_types.h"
+
+ /**
+ @addtogroup group_cs_compresson_constants Constants when using compression
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r3.ebuild
index c99bb77dd8a1..3c047b80fc20 100644
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r1.ebuild
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.17-r3.ebuild
@@ -19,6 +19,7 @@ SLOT="0/21"
IUSE="ldap libressl static-libs"
RDEPEND="
+ >=app-arch/lz4-0_p131:=
sys-libs/zlib:=[${MULTILIB_USEDEP}]
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
@@ -26,11 +27,24 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
+# Avoid file collisions, #692580
+RDEPEND+=" !<dev-db/mysql-5.6.45-r1"
+RDEPEND+=" !=dev-db/mysql-5.7.23*"
+RDEPEND+=" !=dev-db/mysql-5.7.24*"
+RDEPEND+=" !=dev-db/mysql-5.7.25*"
+RDEPEND+=" !=dev-db/mysql-5.7.26-r0"
+RDEPEND+=" !=dev-db/mysql-5.7.27-r0"
+RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1"
+
DOCS=( README )
S="${WORKDIR}/mysql-${PV}"
-PATCHES=( "${FILESDIR}"/${PN}-8.0.17-libressl.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.17-always-build-decompress-utilities.patch
+ "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
+ "${FILESDIR}"/${PN}-8.0.17-libressl.patch
+)
src_prepare() {
sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
@@ -42,7 +56,6 @@ src_prepare() {
-e '/MYSQL_CHECK_RAPIDJSON/d' \
-e '/MYSQL_CHECK_ICU/d' \
-e '/MYSQL_CHECK_RE2/d' \
- -e '/MYSQL_CHECK_LZ4/d' \
-e '/MYSQL_CHECK_EDITLINE/d' \
-e '/MYSQL_CHECK_CURL/d' \
-e '/ADD_SUBDIRECTORY(man)/d' \
diff --git a/dev-db/mysql-init-scripts/Manifest b/dev-db/mysql-init-scripts/Manifest
index 5f21f2dcbfb3..e98528656626 100644
--- a/dev-db/mysql-init-scripts/Manifest
+++ b/dev-db/mysql-init-scripts/Manifest
@@ -1,20 +1,13 @@
AUX conf.d-2.0 2944 BLAKE2B 94b94868e840267c5bf604226af11a4c806f48111472e417d725b51f48e38b8a4bd0dbbe8f9dba95c2250590c23bc0f9bc301203fdf399cd141055e54fa9a067 SHA512 2781e2caefed0c8be9c612f92cecf5a572dc17b97519034637a2b3f98a88af02dd8973f6c6b2af524d235067df6866409d1fe9d56740bfd0efb09948073c8d3b
-AUX init.d-2.2 5720 BLAKE2B 6d81ee1275439e59926ac0f2dbaa2f4b1ceed130f9047d7f6c19d27927fb0432701121554a77205f6f803c9f4e6e0ffdbf96ac8d6ff2f7ca149637585b859df4 SHA512 df1c85d527ec1805bf5ca22f5db37714ace6c55e4095ecf2e4cc1c4dad8a4aa6539282b11cb9c6a85b72e2412e1fbae90d85a8dfcda077bedb667bf784e4c613
AUX init.d-2.3 5722 BLAKE2B 63653c5f09312899e81502aeaddc3e19cd8813ed0735baccc8c9d42b344a668dfa745366bcab24bce9b0c137c44db3052b95c5f767dd16ce22cd272417319655 SHA512 7c160885a6240be789d15f0fc257d90db3edaeb50e3695c3ae3c040c1a485367e7f72749ce5f86832b683e611eaf5c012353d58fb2382ed7e37d96c7a28d815f
-AUX init.d-s6-2.2 4978 BLAKE2B bdda1ecc926a5236be865487cca01974865c7d0c8e115b0bf4e5f791293ffd3be3976730fc21d3a4f2f81389d88c40d6b427d67dfeaa694ba8487e19f03b0aa1 SHA512 77d3691837a08d117dbaa8252368ab54f1bbd5969189261e498e57cacd158b87e5600b3c2ce62b25f72b8bf5b9a08f26d56fe93b6e2e96bc58c208d92ef1befc
AUX init.d-s6-2.3 4980 BLAKE2B b165f6a87cc3570ef6aa28d82dedbd0bc5e151c73e7a97bca62e474af15ae9cb91869f1f2d0a12618c972aa8d4b2100202671b736b6b184c6d9ad644f5955fe8 SHA512 61bfffb8a7af2fa5f2cd0f9e21930e5a2527bd9f2ada617d1b1c06110e247c78b4889f3a80d426eb2b9fcf0c312c6d0cbdc4b501690219f35b9b10d693f538a9
-AUX init.d-supervise 5303 BLAKE2B ae0b30000d74028866512156e6d565e1bc4456680521e7af9195ffed2a7b75b0504c313b78d3629d0d2894c0ea980e8d8049624862200e64e82087e37bbb8d53 SHA512 149710600ca4780434e07101aa164e84d7decd86fdc4c2a8c5c37d2a965aff4626408885f98456773c6f8fb27eeeb5ab7028ccf73088739368c45f8ad9d587c4
AUX init.d-supervise-2.3 5331 BLAKE2B 764fe71adaf1514d57739d03b75f86b227d1cfefef88d74473626722dbebb51e2f3757bc0c4ef1ed8c52e9f3c9fab930c5f7855862642f87dde86b8dfd4051e8 SHA512 1932c1fdb73e9b5c30b1424399bac330bb0825163a5cad2388fe0efe03ccb350c5c53586d277e30ba62d01ac729598f33552b255adc5714b9cb299e22c456d72
AUX log-s6 373 BLAKE2B e4579d7288c7e05c1abba55c29759eb3b0b49153c7b134e28b7308ba83e33c409d82ddc2e9794d0a398330b5b72ac33d165c6140259857ce3204928b20c2f6ac SHA512 e686bc0a4d9d5daf263c5a5f6bb883da1495feb9910f93c791af2d858b2adbf7cfc785c336ce470609f3f7bd12dabb97b470453bd67316feef5ed4df9ee9307d
-AUX logrotate.mysql 368 BLAKE2B 0eb2411785e53e4ec521139943633bf7f765df532e89d626bf2387c9bc8012c4caba019615feb13eeef48e8ace55207b5d93469b323488a93f24f62a3ba32ac0 SHA512 71e6aeec21e220157fb07a609475c626e0698f556db20f5e2876117d1d46a2f297520b2124458e8b8077f9a128e27540ffa1b77cadc5eb372a502edfb804fed1
-AUX logrotate.mysql-2.3 384 BLAKE2B f7d8dae2b35283b5a7cd47418c4f43343549750a9146c522af3e093274acb24389d7ed997a20e78cbba60ccedcf9ddc667014062dd9e5a0665a61f4e3c4e1ecc SHA512 f682919b9f82649ff9fbe21287c93f0f0c434f64907476674c95dcf85bc19b9328cef1924da8247148e6424eefd4957ae86b5238f3200c71584347fe95709b53
+AUX logrotate.mysql-2.3 453 BLAKE2B 80f1d78ff5531443c1038abeac2ae8b1177e12b069f83e62e1844b08584bcb64e1b8c31bbf2399e6f9a9dbdf52599ee76de0cbe299a11aadf38bfc5b8f9d1b90 SHA512 b45773ccc270e4c6689751e008f6fa03c5de5963b7f2347ecb9975400e865120c8ac1362ca7b4920516b2da87748b86e4810dce0760b0e48c029df4a2f590348
AUX mysql.conf 37 BLAKE2B 66f792ee51ca18e692e069a2627dd3a122dadbd0cf9097857da049ade3cc21fdc45bd7725c68def448a2763e5688ade468c17f53776b780be6f6d2a0245b1b7c SHA512 7b4940666d21f09fda47e2b24bd252c83af4372f34f1b3410c59d8f439fb7c0166d5a1b8d857bf67f2263f15d95a0fa0b67f225152a18c180b67d28f4ceb5f00
AUX mysqld-v2.service 1208 BLAKE2B 9dad4cfa0a102fe7705f4d1db042d0c65d66e669b51b8536f0dbdc1ca3d149076ee71a373efc0cfa3ca900e87c8ccb91aa0beeb10bf8634553ddc3309ba3b2c9 SHA512 2016ea7d9c8fe9447675ec9612655f1b955a3f04ce417ebb1c7a8a86a29ef176a5737a9bd3bc5e45508e2e23a764a763897881b511f65635193291e212fd58aa
AUX mysqld-wait-ready 1758 BLAKE2B 2a6ccc105cedc78e4e8acf77fd13f8083af80b3488572079bd063fac263382cd37a85cf40c02ffa8a9a047f146402dc2f7bfef91d47487003b64c84cdc8196c9 SHA512 ad4a850d045149df156c8236ae114e94887626e3ca803dea9bcc3909349043b51357a71ac17d694e0217f7856e076a0736267fc1ea3dedbef8a319fc9014c01b
AUX mysqld_at-v2.service 1170 BLAKE2B d02f7ee3549d273d309e8e6e5cd8c2f987c6feab42bb330367c14df6932a887f7740ca6c28ecd15aba8bf2f89c33854345d773134630a5e8cd5ce8b99a8b6667 SHA512 a91eb574925afc0096e668799f9806b1cfa4c808ffab26dab5df1934db0dd8059a5e7913b0fdc3374f41e14cc72a6450890c9d746d3ff2de873af91199a71ee0
AUX run-s6 268 BLAKE2B ebc9c74527257e1a35a4671afe2d34d9ed9868db0e0f33eebe655b31317a4ceeb02affe471ad49007534a9ce0a9399d9f14af664488ae753e207cf97d467107b SHA512 82be247195f6d9d230b063e9bda393bab8855382c2f3e5eb4d427fc1eb7e23dbd8c90939224ff2b5e4116a5c9d3f26ebdc9b9f548cde91e7c1217f4f8500c0d3
-EBUILD mysql-init-scripts-2.2-r3.ebuild 1899 BLAKE2B c7406995ab4a0ecdb9bcd20a9384e269e4dbd55d87c21674cd7b4c31d937468448818bd9c06286b5595fe138b2fb5d6cd2faeec0276e08e0e0f24a6b8b96426a SHA512 2b2873467515d34b6afb03b06f73d8420b5228924362866ab3ba0353ff59509b4aa37db0cc3ccb5f6529a8a732b1a3a405f0b4d30bd288bf518a899884146c2a
-EBUILD mysql-init-scripts-2.2-r4.ebuild 1983 BLAKE2B d322fc4243b6ac3c4540c1f0f312d5baf8658234e3182ff52cbb2442f59d4052ccf662d337780ac0a77611e846ac03b9da116f6e294f4cede62694c1fc2e6d52 SHA512 ac578f3ea527efe1e5b233a075d83e5e1f49785c23c3d5e6557123859d81adef4a5ca51d91fb70f1320bceb4f9fbe2cada8334d831961061a9bba216ce55306f
-EBUILD mysql-init-scripts-2.3-r1.ebuild 1988 BLAKE2B cc676a418285d581c4e1422073e4063b87f544e401f3825622befb6b971ebb68b29ac1d741ae908dbbc4816948644744d1c2f5c63266c3b0ac5c63fd0dd9c6d9 SHA512 568b832d444cfad9b6457c7e9b4add14f0bd5d29a009c78b37591a6b1a84b07b632c4756cbaeb6ca76cd33f057c766ea590b7ae1ec9aebd165f7d35daafdcf81
-EBUILD mysql-init-scripts-2.3.ebuild 1980 BLAKE2B a75ef598bb80af5b2807f38726af193755df2d03c974f51a0f49b100ea2591274335d684e405b8f559ae7f7aafbce10cc3f204c547f2a7858a63b28c29e80c93 SHA512 d09f5304d3a5f88922ac7b68c0789013c4062afbfb8eac349cbf63687dccf96014d688f0325de569588051665d9fa789a8386ea89e61b7bc578160ee4e7f03db
+EBUILD mysql-init-scripts-2.3-r3.ebuild 2028 BLAKE2B 7c2b98ac7e0151d42b5ee0e9dfce4ede07c1fb7016e9533c22347a9504736ee1b8fd596277e2056a23a5d3ce6ea787320243bf4282bf72431fa76f52fe13cc03 SHA512 56a466e3383e9464f5d3073cc4cae70fce674ddc6503438dcf98f1e9c4f1f6856dd36590998b18cd606c820e99a30c7c2ccb5a3af44191be03367685179e8449
MISC metadata.xml 243 BLAKE2B f247f748a23e4cda2f518ad7e4e53b9027ff08ec62289010e6dfc8cd2ad49412430c4095e80f2156c8e6f1226bcda0163b4faae83759550f79e9998928398713 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9
diff --git a/dev-db/mysql-init-scripts/files/init.d-2.2 b/dev-db/mysql-init-scripts/files/init.d-2.2
deleted file mode 100644
index 5603f9e60310..000000000000
--- a/dev-db/mysql-init-scripts/files/init.d-2.2
+++ /dev/null
@@ -1,194 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-extra_commands="checkconfig"
-extra_stopped_commands="bootstrap_galera"
-
-description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
-
-depend() {
- use net.lo
- # localmount needed for $basedir
- need localmount
- # This service has its own timeout and may need to wait for repairs
- # or remote synchronization
- keyword -timeout
-}
-
-get_config() {
- my_print_defaults --defaults-file="$1" mysqld server mariadb |
- sed -n -e "s/^--$2=//p"
-}
-
-mysql_svcname() {
- local ebextra=
- case "${SVCNAME}" in
- mysql*) ;;
- *) ebextra=" (mysql)" ;;
- esac
- echo "${SVCNAME}${ebextra}"
-}
-
-stringContain() { [ -z "${2##*$1*}" ] && [ -z "$1" -o -n "$2" ]; }
-
-bootstrap_galera() {
- MY_ARGS="--wsrep-new-cluster ${MY_ARGS}"
- mark_service_starting
- if start ; then
- mark_service_started
- return 0
- else
- mark_service_stopped
- return 1
- fi
-}
-
-start() {
- # Check for old conf.d variables that mean migration was not yet done.
- set | egrep -sq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
- rc=$?
- # Yes, MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING is a hidden variable.
- # It does have a use in testing, as it is possible to build a config file
- # that works with both the old and new init scripts simulateously.
- if [ "${rc}" = 0 -a -z "${MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING}" ]; then
- eerror "You have not updated your conf.d for the new mysql-init-scripts-2 revamp."
- eerror "Not proceeding because it may be dangerous."
- return 1
- fi
-
- # Check the config or die
- if [ ${RC_CMD} != "restart" ] ; then
- checkconfig || return 1
- fi
-
- # Now we can startup
- ebegin "Starting $(mysql_svcname)"
-
- MY_CNF="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
-
- if [ ! -r "${MY_CNF}" ] ; then
- eerror "Cannot read the configuration file \`${MY_CNF}'"
- return 1
- fi
-
- # tail -n1 is critical as these we only want the last instance of the option
- local basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
- local pidfile=$(get_config "${MY_CNF}" pid-file | tail -n1)
- local socket=$(get_config "${MY_CNF}" socket | tail -n1)
- local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
- local wsrep="$(get_config "${MY_CNF}" 'wsrep[_-]on' | tail -n1 | awk '{print tolower($0)}')"
- local wsrep_new=$(get_config "${MY_CNF}" 'wsrep-new-cluster' | tail -n1)
-
- if [ -n "${chroot}" ] ; then
- socket="${chroot}/${socket}"
- pidfile="${chroot}/${pidfile}"
- fi
-
- # Galera: Only check datadir if not starting a new cluster and galera is enabled
- # wsrep_on is not on or wsrep-new-cluster exists in the config or MY_ARGS
- [ "${wsrep}" = "1" ] && wsrep="on"
- if [ "${wsrep}" != "on" ] || [ -n "${wsrep_new}" ] || stringContain 'wsrep-new-cluster' "${MY_ARGS}" ; then
-
- local datadir=$(get_config "${MY_CNF}" datadir | tail -n1)
- if [ ! -d "${datadir}" ] ; then
- eerror "MySQL datadir \`${datadir}' is empty or invalid"
- eerror "Please check your config file \`${MY_CNF}'"
- return 1
- fi
-
- if [ ! -d "${datadir}"/mysql ] ; then
- # find which package is installed to report an error
- local EROOT=$(portageq envvar EROOT)
- local DBPKG_P=$(portageq match ${EROOT} $(portageq expand_virtual ${EROOT} virtual/mysql | head -n1))
- if [ -z ${DBPKG_P} ] ; then
- eerror "You don't appear to have a server package installed yet."
- else
- eerror "You don't appear to have the mysql database installed yet."
- eerror "Please run \`emerge --config =${DBPKG_P}\` to have this done..."
- fi
- return 1
- fi
- fi
-
- local piddir="${pidfile%/*}"
- checkpath -d --owner mysql:mysql --mode 0755 "$piddir"
- rc=$?
- if [ $rc -ne 0 ]; then
- eerror "Directory $piddir for pidfile does not exist and cannot be created"
- return 1
- fi
-
- local startup_timeout=${STARTUP_TIMEOUT:-900}
- local startup_early_timeout=${STARTUP_EARLY_TIMEOUT:-1000}
- local tmpnice="${NICE:+"--nicelevel "}${NICE}"
- local tmpionice="${IONICE:+"--ionice "}${IONICE}"
- start-stop-daemon \
- ${DEBUG:+"--verbose"} \
- --start \
- --exec "${basedir}"/sbin/mysqld \
- --pidfile "${pidfile}" \
- --background \
- --wait ${startup_early_timeout} \
- ${tmpnice} \
- ${tmpionice} \
- -- --defaults-file="${MY_CNF}" ${MY_ARGS}
- local ret=$?
- if [ ${ret} -ne 0 ] ; then
- eend ${ret}
- return ${ret}
- fi
-
- ewaitfile ${startup_timeout} "${socket}"
- eend $? || return 1
-
- save_options pidfile "${pidfile}"
- save_options basedir "${basedir}"
-}
-
-stop() {
- if [ ${RC_CMD} = "restart" ] ; then
- checkconfig || return 1
- fi
-
- ebegin "Stopping $(mysql_svcname)"
-
- local pidfile="$(get_options pidfile)"
- local basedir="$(get_options basedir)"
- local stop_timeout=${STOP_TIMEOUT:-120}
-
- start-stop-daemon \
- ${DEBUG:+"--verbose"} \
- --stop \
- --exec "${basedir}"/sbin/mysqld \
- --pidfile "${pidfile}" \
- --retry ${stop_timeout}
- eend $?
-}
-
-checkconfig() {
- local my_cnf="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
- local basedir=$(get_config "${my_cnf}" basedir | tail -n1)
- local svc_name=$(mysql_svcname)
- ebegin "Checking mysqld configuration for ${svc_name}"
-
- if [ ${RC_CMD} = "checkconfig" ] ; then
- # We are calling checkconfig specifically. Print warnings regardless.
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- else
- # Suppress output to check the return value
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null 2>&1
-
- # If the above command does not return 0,
- # then there is an error to echo to the user
- if [ $? -ne 0 ] ; then
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- fi
- fi
-
- eend $? "${svc_name} config check failed"
-}
-
-# vim: filetype=gentoo-init-d sw=2 ts=2 sts=2 noet:
-
diff --git a/dev-db/mysql-init-scripts/files/init.d-s6-2.2 b/dev-db/mysql-init-scripts/files/init.d-s6-2.2
deleted file mode 100644
index 3fa54e949c91..000000000000
--- a/dev-db/mysql-init-scripts/files/init.d-s6-2.2
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- use net.lo
- # localmount needed for $basedir
- need localmount s6-svscan
-}
-
-get_config() {
- my_print_defaults --defaults-file="$1" mysqld server mariadb |
- sed -n -e "s/^--$2=//p"
-}
-
-mysql_svcname() {
- local ebextra=
- case "${svc_name}" in
- mysql*) ;;
- *) ebextra=" (mysql)" ;;
- esac
- echo "${svc_name}${ebextra}"
-}
-
-stringContain() { [ -z "${2##*$1*}" ] && [ -z "$1" -o -n "$2" ]; }
-
-bootstrap_galera() {
- MY_ARGS="--wsrep-new-cluster ${MY_ARGS}"
- mark_service_starting
- if start_pre && start ; then
- mark_service_started
- return 0
- else
- mark_service_stopped
- return 1
- fi
-}
-
-
-extra_commands="checkconfig"
-extra_stopped_commands="bootstrap_galera"
-
-description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
-supervisor=s6
-name=$(mysql_svcname)
-s6_service_timeout_stop="$((1000*${STOP_TIMEOUT:-120}))"
-#s6_svwait_options_start="-U -t $((1000*${STARTUP_EARLY_TIMEOUT:-1000}))"
-svc_name=${RC_SVCNAME%-s6}
-s6_service_path=/var/svc.d/${svc_name}
-
-start_pre() {
- # Check the config or die
- if [ ${RC_CMD} != "restart" ] ; then
- checkconfig || return 1
- fi
-
- MY_CNF="${MY_CNF:-/etc/${svc_name}/my.cnf}"
-
- if [ ! -r "${MY_CNF}" ] ; then
- eerror "Cannot read the configuration file \`${MY_CNF}'"
- return 1
- fi
-
- # tail -n1 is critical as these we only want the last instance of the option
- local basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
- local pidfile=$(get_config "${MY_CNF}" pid-file | tail -n1)
- local socket=$(get_config "${MY_CNF}" socket | tail -n1)
- local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
- local wsrep="$(get_config "${MY_CNF}" 'wsrep[_-]on' | tail -n1 | awk '{print tolower($0)}')"
- local wsrep_new=$(get_config "${MY_CNF}" 'wsrep-new-cluster' | tail -n1)
-
- if [ -n "${chroot}" ] ; then
- socket="${chroot}/${socket}"
- pidfile="${chroot}/${pidfile}"
- fi
-
- # Galera: Only check datadir if not starting a new cluster and galera is enabled
- # wsrep_on is not on or wsrep-new-cluster exists in the config or MY_ARGS
- [ "${wsrep}" = "1" ] && wsrep="on"
- if [ "${wsrep}" != "on" ] || [ -n "${wsrep_new}" ] || stringContain 'wsrep-new-cluster' "${MY_ARGS}" ; then
-
- local datadir=$(get_config "${MY_CNF}" datadir | tail -n1)
- if [ ! -d "${datadir}" ] ; then
- eerror "MySQL datadir \`${datadir}' is empty or invalid"
- eerror "Please check your config file \`${MY_CNF}'"
- return 1
- fi
-
- if [ ! -d "${datadir}"/mysql ] ; then
- # find which package is installed to report an error
- local EROOT=$(portageq envvar EROOT)
- local DBPKG_P=$(portageq match ${EROOT} $(portageq expand_virtual ${EROOT} virtual/mysql | head -n1))
- if [ -z ${DBPKG_P} ] ; then
- eerror "You don't appear to have a server package installed yet."
- else
- eerror "You don't appear to have the mysql database installed yet."
- eerror "Please run \`emerge --config =${DBPKG_P}\` to have this done..."
- fi
- return 1
- fi
- fi
-
- local piddir="${pidfile%/*}"
- checkpath -d --owner mysql:mysql --mode 0755 "$piddir"
- rc=$?
- if [ $rc -ne 0 ]; then
- eerror "Directory $piddir for pidfile does not exist and cannot be created"
- return 1
- fi
-
- # Prepare env files to source
- mkdir -p "/var/svc.d/${svc_name}"
- echo "MY_CNF=\"${MY_CNF}\"" > "/var/svc.d/${svc_name}/env"
- echo "MY_ARGS=\"${MY_ARGS}\"" >> "/var/svc.d/${svc_name}/env"
- echo "basedir=\"${basedir}\"" >> "/var/svc.d/${svc_name}/env"
- mkdir -p "/var/svc.d/${svc_name}/log"
- echo "SVCNAME=\"${svc_name}\"" > "/var/svc.d/${svc_name}/log/env"
- echo "S6_LOG_OPTIONS=\"${S6_LOG_OPTIONS}\"" > "/var/svc.d/${svc_name}/log/env"
-}
-
-start_post() {
- local socket=$(get_config "${MY_CNF}" socket | tail -n1)
- local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
- local startup_timeout=${STARTUP_TIMEOUT:-900}
-
- if [ -n "${chroot}" ] ; then
- socket="${chroot}/${socket}"
- fi
- ewaitfile ${startup_timeout} "${socket}"
-}
-
-checkconfig() {
- local my_cnf="${MY_CNF:-/etc/${svc_name}/my.cnf}"
- local basedir=$(get_config "${my_cnf}" basedir | tail -n1)
- local svc_name=$(mysql_svcname)
- ebegin "Checking mysqld configuration for ${svc_name}"
-
- if [ ${RC_CMD} = "checkconfig" ] ; then
- # We are calling checkconfig specifically. Print warnings regardless.
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- else
- # Suppress output to check the return value
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null 2>&1
-
- # If the above command does not return 0,
- # then there is an error to echo to the user
- if [ $? -ne 0 ] ; then
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- fi
- fi
-
- eend $? "${svc_name} config check failed"
-}
-
-stop_pre() {
- if [ ${RC_CMD} = "restart" ] ; then
- checkconfig || return 1
- fi
-}
-
-# vim: filetype=gentoo-init-d sw=2 ts=2 sts=2 noet:
-
diff --git a/dev-db/mysql-init-scripts/files/init.d-supervise b/dev-db/mysql-init-scripts/files/init.d-supervise
deleted file mode 100644
index 5341a6a18d64..000000000000
--- a/dev-db/mysql-init-scripts/files/init.d-supervise
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-extra_commands="checkconfig"
-extra_stopped_commands="boostrap_galera"
-
-description_checkconfig="Verify the server's configuration"
-description_boostrap_galera="Start a new Galera cluster with this server as the initial node"
-
-depend() {
- use net.lo
- # localmount needed for $basedir
- need localmount
-}
-
-get_config() {
- my_print_defaults --defaults-file="$1" mysqld server mariadb |
- sed -n -e "s/^--$2=//p"
-}
-
-mysql_svcname() {
- local ebextra=
- case "${SVCNAME}" in
- mysql*) ;;
- *) ebextra=" (mysql)" ;;
- esac
- echo "${SVCNAME}${ebextra}"
-}
-
-stringContain() { [ -z "${2##*$1*}" ] && [ -z "$1" -o -n "$2" ]; }
-
-bootstrap_galera() {
- MY_ARGS="--wsrep-new-cluster ${MY_ARGS}"
- mark_service_starting
- if start ; then
- mark_service_started
- return 0
- else
- mark_service_stopped
- return 1
- fi
-}
-
-start() {
- # Check for old conf.d variables that mean migration was not yet done.
- set | egrep -sq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
- rc=$?
- # Yes, MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING is a hidden variable.
- # It does have a use in testing, as it is possible to build a config file
- # that works with both the old and new init scripts simulateously.
- if [ "${rc}" = 0 -a -z "${MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING}" ]; then
- eerror "You have not updated your conf.d for the new mysql-init-scripts-2 revamp."
- eerror "Not proceeding because it may be dangerous."
- return 1
- fi
-
- # Check the config or die
- if [ ${RC_CMD} != "restart" ] ; then
- checkconfig || return 1
- fi
-
- # Now we can startup
- ebegin "Starting $(mysql_svcname)"
-
- MY_CNF="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
-
- if [ ! -r "${MY_CNF}" ] ; then
- eerror "Cannot read the configuration file \`${MY_CNF}'"
- return 1
- fi
-
- # tail -n1 is critical as these we only want the last instance of the option
- local basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
- local pidfile=$(get_config "${MY_CNF}" pid-file | tail -n1)
- local socket=$(get_config "${MY_CNF}" socket | tail -n1)
- local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
- local wsrep="$(get_config "${MY_CNF}" 'wsrep[_-]on' | tail -n1 | awk '{print tolower($0)}')"
- local wsrep_new=$(get_config "${MY_CNF}" 'wsrep-new-cluster' | tail -n1)
-
- if [ -n "${chroot}" ] ; then
- socket="${chroot}/${socket}"
- pidfile="${chroot}/${pidfile}"
- fi
-
- # Galera: Only check datadir if not starting a new cluster and galera is enabled
- # wsrep_on is not on or wsrep-new-cluster exists in the config or MY_ARGS
- [ "${wsrep}" = "1" ] && wsrep="on"
- if [ "${wsrep}" != "on" ] || [ -n "${wsrep_new}" ] || stringContain 'wsrep-new-cluster' "${MY_ARGS}" ; then
-
- local datadir=$(get_config "${MY_CNF}" datadir | tail -n1)
- if [ ! -d "${datadir}" ] ; then
- eerror "MySQL datadir \`${datadir}' is empty or invalid"
- eerror "Please check your config file \`${MY_CNF}'"
- return 1
- fi
-
- if [ ! -d "${datadir}"/mysql ] ; then
- # find which package is installed to report an error
- local EROOT=$(portageq envvar EROOT)
- local DBPKG_P=$(portageq match ${EROOT} $(portageq expand_virtual ${EROOT} virtual/mysql | head -n1))
- if [ -z ${DBPKG_P} ] ; then
- eerror "You don't appear to have a server package installed yet."
- else
- eerror "You don't appear to have the mysql database installed yet."
- eerror "Please run \`emerge --config =${DBPKG_P}\` to have this done..."
- fi
- return 1
- fi
- fi
-
- local piddir="${pidfile%/*}"
- checkpath -d --owner mysql:mysql --mode 0755 "$piddir"
- rc=$?
- if [ $rc -ne 0 ]; then
- eerror "Directory $piddir for pidfile does not exist and cannot be created"
- return 1
- fi
-
- local startup_timeout=${STARTUP_TIMEOUT:-900}
-# local startup_early_timeout=${STARTUP_EARLY_TIMEOUT:-1000}
- local tmpnice="${NICE:+"--nicelevel "}${NICE}"
- local tmpionice="${IONICE:+"--ionice "}${IONICE}"
- supervise-daemon \
- ${DEBUG:+"--verbose"} \
- --pidfile "/run/${SVCNAME}.pid" \
- ${tmpnice} \
- ${tmpionice} \
- --start \
- "${basedir}"/sbin/mysqld \
- -- --defaults-file="${MY_CNF}" ${MY_ARGS}
- local ret=$?
- if [ ${ret} -ne 0 ] ; then
- eend ${ret}
- return ${ret}
- fi
-
- ewaitfile ${startup_timeout} "${socket}"
- eend $? || return 1
-}
-
-stop() {
- if [ ${RC_CMD} = "restart" ] ; then
- checkconfig || return 1
- fi
-
- ebegin "Stopping $(mysql_svcname)"
-
- supervise-daemon \
- ${DEBUG:+"--verbose"} \
- --stop \
- --pidfile "/run/${SVCNAME}.pid"
- eend $?
-}
-
-checkconfig() {
- local my_cnf="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
- local basedir=$(get_config "${my_cnf}" basedir | tail -n1)
- local svc_name=$(mysql_svcname)
- ebegin "Checking mysqld configuration for ${svc_name}"
-
- if [ ${RC_CMD} = "checkconfig" ] ; then
- # We are calling checkconfig specifically. Print warnings regardless.
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- else
- # Suppress output to check the return value
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null 2>&1
-
- # If the above command does not return 0,
- # then there is an error to echo to the user
- if [ $? -ne 0 ] ; then
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- fi
- fi
-
- eend $? "${svc_name} config check failed"
-}
-
-# vim: filetype=gentoo-init-d sw=2 ts=2 sts=2 noet:
-
diff --git a/dev-db/mysql-init-scripts/files/logrotate.mysql b/dev-db/mysql-init-scripts/files/logrotate.mysql
deleted file mode 100644
index afb20c66d479..000000000000
--- a/dev-db/mysql-init-scripts/files/logrotate.mysql
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-/var/log/mysql/mysql.err /var/log/mysql/mysql.log /var/log/mysql/mysqld.err {
-monthly
-create 660 mysql mysql
-notifempty
-size 5M
-sharedscripts
-missingok
-postrotate
-[ -f /var/run/mysqld/mysqld.pid ] && /bin/kill -HUP `cat /var/run/mysqld/mysqld.pid`
-endscript
-}
diff --git a/dev-db/mysql-init-scripts/files/logrotate.mysql-2.3 b/dev-db/mysql-init-scripts/files/logrotate.mysql-2.3
index 6a3b9eeb2ca9..6573671b2c7b 100644
--- a/dev-db/mysql-init-scripts/files/logrotate.mysql-2.3
+++ b/dev-db/mysql-init-scripts/files/logrotate.mysql-2.3
@@ -9,6 +9,9 @@ size 5M
sharedscripts
missingok
postrotate
- /bin/kill -HUP $(cat $(my_print_defaults server mysqld mariadb | grep 'pid[_-]file' | cut -d = -f 2))
+ pidfile=$(my_print_defaults server mysqld mariadb | grep 'pid[_-]file' | tail -n 1 | cut -d = -f 2)
+ if [ -s "${pidfile}" ] ; then
+ /bin/kill -HUP $(cat "${pidfile}")
+ fi
endscript
}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r3.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r3.ebuild
deleted file mode 100644
index d0a1278895f8..000000000000
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit systemd s6 tmpfiles
-
-DESCRIPTION="Gentoo MySQL init scripts."
-HOMEPAGE="https://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-# This _will_ break with MySQL 5.0, 4.x, 3.x
-# It also NEEDS openrc for the save_options/get_options builtins.
-# The s6 support was added after openrc 0.16.2
-RDEPEND="
- !<dev-db/mysql-5.1
- !<sys-apps/openrc-0.16.2
- "
-# Need to set S due to PMS saying we need it existing, but no SRC_URI
-S=${WORKDIR}
-
-src_install() {
- newconfd "${FILESDIR}/conf.d-2.0" "mysql"
-
- # s6 init scripts
- if use amd64 || use x86 ; then
- newconfd "${FILESDIR}/conf.d-2.0" "mysql-s6"
- newinitd "${FILESDIR}/init.d-s6-2.2" "mysql-s6"
- s6_install_service mysql "${FILESDIR}/run-s6"
- s6_install_service mysql/log "${FILESDIR}/log-s6"
- fi
-
- newinitd "${FILESDIR}/init.d-2.2" "mysql"
- newinitd "${FILESDIR}/init.d-supervise" "mysql-supervise"
-
- # systemd unit installation
- exeinto /usr/libexec
- doexe "${FILESDIR}"/mysqld-wait-ready
- systemd_newunit "${FILESDIR}/mysqld-v2.service" "mysqld.service"
- systemd_newunit "${FILESDIR}/mysqld_at-v2.service" "mysqld@.service"
- dotmpfiles "${FILESDIR}/mysql.conf"
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql" "mysql"
-}
-
-pkg_postinst() {
- tmpfiles_process mysql.conf
- if use amd64 || use x86 ; then
- elog ""
- elog "To use the mysql-s6 script, you need to install the optional sys-apps/s6 package."
- elog "If you wish to use s6 logging support, comment out the log-error setting in your my.cnf"
- fi
-
- elog ""
- elog "Starting with version 10.1.8, MariaDB includes an improved systemd unit named mariadb.service"
- elog "You should prefer that unit over this package's mysqld.service."
- einfo ""
-}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r4.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r4.ebuild
deleted file mode 100644
index 2028d860d3d2..000000000000
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.2-r4.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit systemd s6 tmpfiles
-
-DESCRIPTION="Gentoo MySQL init scripts."
-HOMEPAGE="https://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-# This _will_ break with MySQL 5.0, 4.x, 3.x
-# It also NEEDS openrc for the save_options/get_options builtins.
-# The s6 support was added after openrc 0.16.2
-# mysql-connector-c needed for my_print_defaults
-RDEPEND="
- !<dev-db/mysql-5.1
- !<sys-apps/openrc-0.16.2
- dev-db/mysql-connector-c
- "
-# Need to set S due to PMS saying we need it existing, but no SRC_URI
-S=${WORKDIR}
-
-src_install() {
- newconfd "${FILESDIR}/conf.d-2.0" "mysql"
-
- # s6 init scripts
- if use amd64 || use x86 ; then
- newconfd "${FILESDIR}/conf.d-2.0" "mysql-s6"
- newinitd "${FILESDIR}/init.d-s6-2.2" "mysql-s6"
- s6_install_service mysql "${FILESDIR}/run-s6"
- s6_install_service mysql/log "${FILESDIR}/log-s6"
- fi
-
- newinitd "${FILESDIR}/init.d-2.2" "mysql"
- newinitd "${FILESDIR}/init.d-supervise" "mysql-supervise"
-
- # systemd unit installation
- exeinto /usr/libexec
- doexe "${FILESDIR}"/mysqld-wait-ready
- systemd_newunit "${FILESDIR}/mysqld-v2.service" "mysqld.service"
- systemd_newunit "${FILESDIR}/mysqld_at-v2.service" "mysqld@.service"
- dotmpfiles "${FILESDIR}/mysql.conf"
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql" "mysql"
-}
-
-pkg_postinst() {
- tmpfiles_process mysql.conf
- if use amd64 || use x86 ; then
- elog ""
- elog "To use the mysql-s6 script, you need to install the optional sys-apps/s6 package."
- elog "If you wish to use s6 logging support, comment out the log-error setting in your my.cnf"
- fi
-
- elog ""
- elog "Starting with version 10.1.8, MariaDB includes an improved systemd unit named mariadb.service"
- elog "You should prefer that unit over this package's mysqld.service."
- einfo ""
-}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r1.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild
index b3283cf3ba24..6d9b1ff0c99d 100644
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r1.ebuild
+++ b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3-r3.ebuild
@@ -11,7 +11,7 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
IUSE=""
DEPEND=""
@@ -23,6 +23,9 @@ RDEPEND="
!<dev-db/mysql-5.1
!<sys-apps/openrc-0.16.2
dev-db/mysql-connector-c
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ )
"
# Need to set S due to PMS saying we need it existing, but no SRC_URI
S=${WORKDIR}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild
deleted file mode 100644
index 303b86680e0f..000000000000
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit systemd s6 tmpfiles
-
-DESCRIPTION="Gentoo MySQL init scripts."
-HOMEPAGE="https://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-# This _will_ break with MySQL 5.0, 4.x, 3.x
-# It also NEEDS openrc for the save_options/get_options builtins.
-# The s6 support was added after openrc 0.16.2
-# mysql-connector-c needed for my_print_defaults
-RDEPEND="
- !<dev-db/mysql-5.1
- !<sys-apps/openrc-0.16.2
- dev-db/mysql-connector-c
- "
-# Need to set S due to PMS saying we need it existing, but no SRC_URI
-S=${WORKDIR}
-
-src_install() {
- newconfd "${FILESDIR}/conf.d-2.0" "mysql"
-
- # s6 init scripts
- if use amd64 || use x86 ; then
- newconfd "${FILESDIR}/conf.d-2.0" "mysql-s6"
- newinitd "${FILESDIR}/init.d-s6-2.3" "mysql-s6"
- s6_install_service mysql "${FILESDIR}/run-s6"
- s6_install_service mysql/log "${FILESDIR}/log-s6"
- fi
-
- newinitd "${FILESDIR}/init.d-2.3" "mysql"
- newinitd "${FILESDIR}/init.d-supervise-2.3" "mysql-supervise"
-
- # systemd unit installation
- exeinto /usr/libexec
- doexe "${FILESDIR}"/mysqld-wait-ready
- systemd_newunit "${FILESDIR}/mysqld-v2.service" "mysqld.service"
- systemd_newunit "${FILESDIR}/mysqld_at-v2.service" "mysqld@.service"
- dotmpfiles "${FILESDIR}/mysql.conf"
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql-2.3" "mysql"
-}
-
-pkg_postinst() {
- tmpfiles_process mysql.conf
- if use amd64 || use x86 ; then
- elog ""
- elog "To use the mysql-s6 script, you need to install the optional sys-apps/s6 package."
- elog "If you wish to use s6 logging support, comment out the log-error setting in your my.cnf"
- fi
-
- elog ""
- elog "Starting with version 10.1.8, MariaDB includes an improved systemd unit named mariadb.service"
- elog "You should prefer that unit over this package's mysqld.service."
- einfo ""
-}
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index f9d3951bcb9f..4bc29699cba4 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -1,41 +1,19 @@
-AUX my.cnf-5.5 4733 BLAKE2B 89af4a9dbd4828a40aa91b294cef15ec8afbcb614ece424614d0bd2d047273906ccb8e4518a48d530f55e898b6c75403d61aa7a733d5bf50f0f0640c55471505 SHA512 6a5d183f1aeb30d9096838ac010c8f2dc004448924b3606bd03c1a5e0336a20fe5fcef1d2cd772977a167268fcff51a4b663f1f73a37d3066983621a8ca6c004
AUX my.cnf-5.6 4504 BLAKE2B 5d904925d12ad4c3826426e7e7790800028c9adf9b42692adf3260cd8dae910338683fbcd3e5148f113c1ab27481e5ffe61871716a069c50f295cf756b3e685c SHA512 866aa700460c2962bad6294b271efad09ef285dd428ab01551078be9972d2f961fbdf56aef7927439784711022e92a96f2eba30cd297f056f6562e8817c89aae
AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e216d3f10034796de9aa618efb11482cef78b7c7e50393b5f665810d03321b5ca770ac8a6144 SHA512 1d7250689005c948f4a849959baf33f5f0fda099f230611651919ed053fb563daa19d996b7ca6714e224174172fb504f4d7d08e9d449a7e1203e32cf3fdec782
AUX my.cnf-8.0.distro-client 749 BLAKE2B b01b39c85430714b5a4bfb9923c9ed1df99cdcef0583b25f28c2ebeee264732f4402198b1918e5ec5b4b1091dbda2d321baf31fe87eae00792b20042260969b3 SHA512 62aa589833126c2b78528e103f2de11ba0e339615cb00170a0f9f53bbb123a4bf99f2041819440297ab6cc34cf57333488e6ae12082fa5dcbe1b0ddef5f6108d
AUX my.cnf-8.0.distro-server 1125 BLAKE2B f4d6941aad1fc29e81e6c805ac42f4c8d3c7bc250990a9c432800dbe25b5c31be08d8e3895666b57f21606ffb69e704c57ed2692fd94696b9d325a4442596587 SHA512 82d35b7bc944e5690e1f2670a3d5674845610c2d11d6d8b1c5784ccb3877c6298de70eced3d7c497c0bcaecfa9e339ac43ce0534a97e7d976e950bb1a7f5c75d
AUX my.cnf.distro-client 637 BLAKE2B b0812e0e03aa9a3b2e55e08b933a0b41b6afd95ded61f4d9d7c34a2d3810ec38520abd0d89e1c6565f61d4cd8a36d653f9f3199b3dd6a91345cdb5ff962685d8 SHA512 74bd1d9a58075d0a6195be1f94db310bcbe8da532b03844e6fa1ff84676e84843fc9adf9aed06b7e4db53c9aa24ef0885d96de0ccfe4c6ad98afe4c145d43f4f
AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1fd14b4c2dea398814beda3c09aabea04dd3a9e145464524c629e7e69dc257d1245e0a46dd8584b7f685172 SHA512 cf172edc23d3dda49c21af6b8adef8aa13694d8ceecddf1d612d4ae34d00ba53c51ae4ae7ca4d11083eeacb5d862f59a855a9d80e9e448ab8bbf17f42aac2650
-DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49
-DIST mysql-5.5.62.tar.gz 21111902 BLAKE2B f1cbb1c6b4dfac11c2c517a57a5c6216ce43766cc247b3c9b387326a7f6446cbc21ddb42bd95afa658c3b0ed2568a29563ceea248c6ec63364ce210119d39cc2 SHA512 1080a3989c20bbbfe98739f99dacd183f2087ceee5147845852144240386808568af4c908ecdbccdcb6114000ab760ed7257492834d50018eff9520260fd91ce
-DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c
-DIST mysql-5.6.42.tar.gz 32201731 BLAKE2B c573328b37225dac090c32178f90e1419fc1848612e304bddc11eafdd48228981a846857be680978b72ef76edbd5d2422a98b5d20b4d082fabcc2b072e2b8fde SHA512 3104e6a3145a119f2b012de6af2a92fc37134aa402b889a562f5fc2391705d0bc2f718166c5fa8387d973fff5ecd9544c8b389b6d0c81d98bdcaf2acfb9b55e8
-DIST mysql-5.6.43.tar.gz 32200219 BLAKE2B 2aa1397ff5f011a169ae47650be8db7a097a62f53ff06d63760a419906841f0540db19449c1d71d60be7d684e49b4436e1d6e72e7a1cf99057a3f98fad11557f SHA512 8820aee9b34cfebc841d756b12713517c9dafed7bee7b09c8e82c8f359e2e12b25da47c4e49e0aa4afc26193b774e0fa0dfd422c2aa09c3112b6d6e4b62b9a68
DIST mysql-5.6.44.tar.gz 32531507 BLAKE2B 28fbf49f699eb9f43223ffa186671b119d16016274cc7192db232b85c58123a61154e37193b9b7145c6a650b80b5f6cf838529bc2bc5ea9c78c0dbc39de834d3 SHA512 65ace1c803773ca6c8759d171c09bc93c7d61b8e3208ac9905f82e99087622c9dcca602d2da217741dc62fc6eabe9108ebc7f31facd26705072eae65fcc37077
DIST mysql-5.6.45.tar.gz 32525559 BLAKE2B 3c629aed1de808acdea6654c7413e6851507c9c5be939ca4b4f5e2796da317e9b518a749bfc03d2b0ef05bd604b39f72e24b751076b9f206b462d21fa5db4f50 SHA512 f9d8bb72e96cc83f1064fe7df2e5fe8317ca9d44c4e776cf7827a61292fbcfccec716806c80d565958383d78fef93a19d61c726687b57680d5f93299291ff168
-DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953
-DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f7cbf5ae9107106d86705575ea9739fa582e1f079447d9a58c4762fffc636d69e448ebdec9172ee15dc09245bc39c3525 SHA512 bbd411e15cd9e6053a353146808b74881d2d950f09e94794a699e7604dadf767b58b661a8321fbe1424f2c2e6cfc3adaa388242183e759082eae47b64cbfbcde
-DIST mysql-boost-5.7.25.tar.gz 49107578 BLAKE2B 8a43479c496ce45e71df905b0cb6da442340b691caa15f9862a8c981e7189c50e73b1701c393fe46ab580c508f785d5f15259c2331c77e0790191f3d41bb385c SHA512 b111c64bfcd49dba584bed71a0c7ce33b2b0654654d8f4eaa1a2b7a5daed9674ebfd4a0dfb93c20ffee028feead4709eaf600bb5469f81c86b743d395dfe27a9
DIST mysql-boost-5.7.26.tar.gz 51098338 BLAKE2B 1263cd75814a7293b26b0f44fd2b7d20d983f3c6a62725df9515ecac2ef252f6644810cb4bf0d6f36b98e55317f1c67ea7541228cb38d896dfedc476a5755f26 SHA512 a5f9871dc5a8e5fffc1467c3dd542533a63fe553c029120475f8fd5530d884c76ab0c33ad260daf317faf318ccef01464f6ac2dc3468efceb6bf2b6c06c54cfd
DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52
DIST mysql-boost-8.0.17.tar.gz 189322239 BLAKE2B f9f46e5fdc3e9869b203626bc09edfbcdbabcd68eba43f9c6a33b9a52cffb3a32f39704c6d22a66899aac16fa2efb271c5dc7af7522768b45542ac8dc615cd8a SHA512 a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d
-DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d
-DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa
-DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2
-DIST mysql-extras-20190303-1852Z.tar.bz2 331026 BLAKE2B ee033fce8f1b6a58f1f690710fb9709a585cd45564b35e71d4f840a3a7f83a5d80f53c24236c9976319abd89c68c62c74a7111517f1b9721d3cbd0898bf0dd8d SHA512 30361a0b848ed27f9170b1116458a9bc13b1b585c5fa1933c99927541c31e9bda4008b0563f2fc7db286f998089ebebf1fe3f18fce7a45e62acbf769ac62d8c1
-DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c
-DIST mysql-extras-20190604-1109Z.tar.bz2 331780 BLAKE2B 48b6f6ff36818ba3d1d9c0580b0ff5e2343d92a42ee78b6804841d7c4f511adcdc3d5cd0590f769f308ca52e271c07cb34219450f9b86e918ddcd0a4b956e18e SHA512 19a85ba5a4c2de1688f39feb6ce1c1802e4d886436dc02afe1ba508b91365a0ac67d668cf7126588145ee55641992ad71b0d094246a94c89065876b9bb897425
DIST mysql-extras-20190817-0024Z.tar.bz2 337793 BLAKE2B dfd51a708654aff5bdbbaf2acad7ef966869a8e3adcba544ee15f217d2ba942827445841e73981bccc6c1f145b6225bfa7245114219f0cf52f0dfb85494a6830 SHA512 c2ff81be1c55636f0a2700033af030149f312f0383217054a4b8c65aef174626299fcb4539eaae967ea7d096a5bb09f5b5122dce344b44b0a135d886ba0fdf28
-EBUILD mysql-5.5.61.ebuild 25515 BLAKE2B 2e8a5ff36ec6003ff7e4d746157afe8af9d462537d2808ab6cfe4d469cee1a594df38aafddcb010d0157335b42253f12474614f4eec85729f79d2e05a28cb8b3 SHA512 9ea05d2509c6693d71c5ce048e11393a77cf50570fa19f40500900284b9e5e5d1097de5c82fa518058ea773ac8fd30131a9c153b4effb371f4ce04f454e8867e
-EBUILD mysql-5.5.62.ebuild 25693 BLAKE2B abb1400994767e1a29259fda70531e27e9160b849a6228802baa440f8a5c8244393cb155ac9985f04353c8b35516e653a563c2eb84b72a714c5ee81d016e5d27 SHA512 759b82802fdeb7840b0da3e4ef1d6e7b1f32d7bd815ba780b11e57143b52bcb7eb483c008d25670f4626968028a46f7080abff247e5d2047f6b500ac67888ad4
-EBUILD mysql-5.6.40-r2.ebuild 25714 BLAKE2B c78b1d8b2a77d095302f7e203c3ee6c0c2014770944072b87bd77f97972fcb6db52b05088adacbc821ce2e8f3dbb780bd40d850e381b866458b0d530fd11ea5d SHA512 b6301834c7813714f18f9763922d10e6faa33675705ba479c6d76e3c5673d903b0683f64a8281836bd6be396f398ed1bee14f9e6c8ddfe30b84ad1ac66a8be48
-EBUILD mysql-5.6.42.ebuild 25955 BLAKE2B de075ce30850d5f2fe17a5aaf02e5888d62634028a042105ac4bff9a90dbec7803c6b1d348e35267be6b4b12afa8f12f4a02f969c536890bf7970cb4e466907c SHA512 56aa82fe363e091a6db7b307318f14ff93ded6eba2a61142eb3e026205740b02dca8587e23accf2ff757e941b0d4b2a0e7ab386b879d7cee35976facbb7aec94
-EBUILD mysql-5.6.43.ebuild 26057 BLAKE2B b6162d04f384dc37aabae472cc3998dea0456d672aa906e778d58637edca29fc11257f1fecbcae36d3c1245467768426284743a2aadaab6723540279c615d11c SHA512 857b83b44f185bb0b811005b0f5ee35eff1a2b4d263b199f8a4955330b7fd73fd2038d565fc6fadd9cc31948f0699db6ebb10e628e93e9b223ab87b5517fe16b
-EBUILD mysql-5.6.44-r1.ebuild 27132 BLAKE2B 6b9c9c6e47a3263e5dc454d486f02fe46fefce8e2e7e20a8ef5476bc6191f1cb57f5928e14ee68b30bed0d73152bdbc03f164ae700e3b76e75bcf6cf289cd7f9 SHA512 f9ca576c2076b34c6548543551a8ef9dee5aacc175cd4928a8ec9dc8180993d68c45824ea72628825a9e463d9d8d00c65482545435ae9f26ff7fbbf355fc9e98
-EBUILD mysql-5.6.45-r1.ebuild 27193 BLAKE2B c25435de96c371988464eac6407419dcd608812c5957569cff72e5c0c205584a0c3d8b2f4a8ad82b716e307dac39c9f3db93f8f3e2109eda82e834a593ff2ca4 SHA512 8bb737d1fb8dc00d732940983ccec3d89d4b0580f5e1ca829ff40467830203a060aa16afa4f10db725659f32e1d2d3724b41e3c41723d82e01d98fb49f4ccc86
-EBUILD mysql-5.7.23-r2.ebuild 30078 BLAKE2B 57bf58e862639e651335a10a8c4dfc5f7f0f76bfb0545414d697875906d917131fedd3e9d0e58f57b886d8cae55adbd2a104ee3632d49b4ba0669b93a1a68bff SHA512 dfbb88e79b717ceb615246a806123ee2d30c1632cfb40d0bb9e04a9204565a92afbb2b37245794c15985e99a60d2adc46723b97e455fb85e137079d6192b148c
-EBUILD mysql-5.7.24.ebuild 30386 BLAKE2B ecf0c03821af6a21467b53a02e6e0a0ae2f7e5d267ff4669266d34cdb9fddb7defbd8a4013dd3a1f8a103c84da4c6eddafae06fc1ebc4bf94c9769e64dbbfc1b SHA512 f8b372573d82b513ea1d82a1e00d728501c483ef949a2411c05ac93a8d2d90162d6992b58d3a101fefcbac541f9f37dcfa2263ac49231839d338af158557153f
-EBUILD mysql-5.7.25.ebuild 30465 BLAKE2B ec639482f3726ea18994c0e3b88ae991d16eda30c5acf7f6abee4f4301d0ada726494e4ebd2f045291faf967940adc8ef1172a48fb00e10ff69a83f837ac3e73 SHA512 6d45fd341a6f0e71d3546134d4bcfd745c6b488b28e848eb2ee1aaebb96745c797da452250a71c2eba87452e61f5ba017f80b88f4e16e23d076be4a70c6936ed
-EBUILD mysql-5.7.26.ebuild 31719 BLAKE2B c610c458def0a3ffd1c7b7e4cb2375eeeb50496a38f456916f4c8d95b30b45b8011d6d1806487a5e824bd2ed40d284650bac20e5a4756a569ab71a66bcba6a68 SHA512 4579ab74217d9fb01af95afe9fa725676bab729e772494e45f6efb63f08c4fcf7250f22bb3a680db04ffb81959dd5337ff37d1f7f2d18fa2a0ed24ebf130641e
-EBUILD mysql-5.7.27.ebuild 31857 BLAKE2B 5ddae4d74eedc28ebcddc6b293261f7fe33a03c446336a07b88a9d8088dc68f2b149405388869267db1c4f2525618ed4f61e3f15033b09a41201349ad4535549 SHA512 6c2b59adabb4f946bf8661a167059730b59f116935324c7ae7ca6b84c32a21be76472bf7055d296211bffddd02d42b226a3af59baf68465d7b22fc425665ac8c
-EBUILD mysql-8.0.17.ebuild 36377 BLAKE2B 0aff546e2e9d25c7b37d1a61d3843592cfef9fbf1d8c6e6fcea52f45a6038fdaa50d7ae22b11246a62622961a87ec20ea1283cb9e0067ee6a0c08b1492ba0f22 SHA512 af768c840fcee4eab5278bd5d7e6401f871ad9defc7fa2b461fc83ea8da4a58799a3822f4d149e96b564aeb7c4e6d61fb1541878332415d39d5892fa916d52d0
-MISC metadata.xml 1599 BLAKE2B cad6c530634fbf5923276e0b6e10e54aafca0afb7c4cdbb99ee1e3307e6b0004959eb4c8a35e5542ede6fd7d0c181933293acac0ec562988c3f8c8789546671c SHA512 cd18e4f2569e944648d23a21acf0b89c0c84e2b30a9ca6ad9d2d4f8b38b04fd29cecab598e2a836b99822c0356052fa8ada44c10241fcc03fedc5f0ce21cc36f
+DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8
+EBUILD mysql-5.6.44-r1.ebuild 27130 BLAKE2B d42d26aa3282093b81c795f1ef909487831cede065a996d814850fb4c638c848d278ba0ef0d8275a2ef1c91c5832977d7c2aa3085f324ddb03a2ac25b1607916 SHA512 16e437ee7e8497b84dabf1698f701ff46c096530acfa5d211c9ca96fa538b0014f8571e2fce64182c2d497155383353bdc38a69a68dd7d333c96e9175cea804a
+EBUILD mysql-5.6.45-r2.ebuild 27084 BLAKE2B 41a60964a02aed1f7e63bfac0f162cb53a6afcb3cb9bd8813930449798ef799647a540edd201f20f4ceecef4548073dd47395bac2a5c81fa8db96b15d08f7837 SHA512 8546965f0a26fe6349322b90b7f83e27815e5da9dcd78ab290e70293e7c52cc579dfe6830e3f65f5f2b944cd7ae122a87ffbe3b3dec687d3a4410bbb0be423c5
+EBUILD mysql-5.7.26-r1.ebuild 31717 BLAKE2B 3085f70b4a76baaf7f94ac8fe5e37b9c3470b6537a88a626236232dec1c2cf234f4d25f83ab7bfd92fba1881b4080039c0259c4485259be472c8833cfcb71b6d SHA512 6663432102f90d9d2cbda3937c1a5e1dc9a01e4d6599bc517e0303e73beda60766be930cd9695fb4d0a65ea6e746c27f5449eda2e64e0268e670d0f5660040fb
+EBUILD mysql-5.7.27-r1.ebuild 31748 BLAKE2B 230fa18f6fc87a0e8d9528a08dd91707cfbedb308c9586cb84eaf185a027a7e875ec2af35565c804ae5156cc50cc08b3439e6ffc353ba95c5cef7e05ddbe4f7e SHA512 0da16aeb3fd930b128dd938b898804ba2e41f7f55fca167ed046af08e9bdb2ccbf0324ea06d11bc236105ca3b94181d8110449ff293935f907d823741ed78c58
+EBUILD mysql-8.0.17.ebuild 36451 BLAKE2B 9e81d30e5f0569790047ba7484ebe47cd70bc709ef4eca59caa5fdd2aeed4c4fddada4cfa1bbe5f298d759fc30e496d9fbe5ece7925d08eb8153cb507ada30d6 SHA512 ceeefc52d0a62cba8af57fed0a137e0317c4db39f237d31a9991611ef84ddade142287194d84e3f1dcba4ebd5c1a63c85821a2bfc2642adc0f0ebd45ed6270d2
+MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7
diff --git a/dev-db/mysql/files/my.cnf-5.5 b/dev-db/mysql/files/my.cnf-5.5
deleted file mode 100644
index 83b9aaab2ecc..000000000000
--- a/dev-db/mysql/files/my.cnf-5.5
+++ /dev/null
@@ -1,147 +0,0 @@
-# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file.
-
-# 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_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/metadata.xml b/dev-db/mysql/metadata.xml
index e231245763ea..e4197ced880b 100644
--- a/dev-db/mysql/metadata.xml
+++ b/dev-db/mysql/metadata.xml
@@ -14,7 +14,6 @@ dev-db/mariadb
<flag name="cjk">Add CJK support for InnoDB fulltext search using <pkg>app-text/mecab</pkg></flag>
<flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages (not recommended)</flag>
<flag name="experimental">Build experimental features aka "rapid" plugins</flag>
- <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="latin1">Use LATIN1 encoding instead of UTF8</flag>
<flag name="libressl">Enable SSL connections and crypto functions using <pkg>dev-libs/libressl</pkg></flag>
<flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
diff --git a/dev-db/mysql/mysql-5.5.61.ebuild b/dev-db/mysql/mysql-5.5.61.ebuild
deleted file mode 100644
index bba690fe0689..000000000000
--- a/dev-db/mysql/mysql-5.5.61.ebuild
+++ /dev/null
@@ -1,791 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20180804-2323Z"
-SUBSLOT="18"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build
-
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.5/${P}.tar.gz
- https://downloads.mysql.com/archives/MySQL-5.5/${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://mysql.com/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
- +perl profiling selinux +server static static-libs systemtap tcmalloc
- test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- static? ( yassl )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~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}/01050_all_mysql_config_cleanup-5.5.patch"
- "${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch"
- "${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch"
- "${MY_PATCH_DIR}/20002_all_mysql-va-list.patch"
- "${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-5.5.53.patch"
- "${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch"
- "${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch"
- "${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch"
- "${MY_PATCH_DIR}/20018_all_mysql-5.5.60-without-clientlibs-tools.patch"
- "${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.patch"
- "${MY_PATCH_DIR}/20030_all_mysql-5.5-fix-client-mysql-type.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/readline-4.1:0=
- )
- !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 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
- 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_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 [[ -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%/}/${P}" "${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
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null 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
-
- # Don't build example
- _disable_engine example
- _disable_engine ndb
-
- cmake-utils_src_prepare
-}
-
-src_configure(){
- # 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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
- -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"
- # 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)
- -DENABLE_DTRACE=$(usex systemtap)
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
- -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
- fi
-
- 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+=(
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_EMBEDDED_SERVER=OFF
- -DENABLED_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- 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
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- )
- 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.5"
- 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
- 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 mysql-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 MySQL 5.5 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 main.mysql_client_test main.mysql_client_test_nonblock \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \
- rpl.rpl_semi_sync_uninstall_plugin ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
- cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.5.62.ebuild b/dev-db/mysql/mysql-5.5.62.ebuild
deleted file mode 100644
index cb229697802e..000000000000
--- a/dev-db/mysql/mysql-5.5.62.ebuild
+++ /dev/null
@@ -1,797 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20180804-2323Z"
-SUBSLOT="18"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build
-
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.5/${P}.tar.gz
- https://downloads.mysql.com/archives/MySQL-5.5/${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://mysql.com/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
- +perl profiling selinux +server static static-libs systemtap tcmalloc
- test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )
- static? ( yassl )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~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}/01050_all_mysql_config_cleanup-5.5.patch"
- "${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch"
- "${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch"
- "${MY_PATCH_DIR}/20002_all_mysql-va-list.patch"
- "${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-5.5.53.patch"
- "${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch"
- "${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch"
- "${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch"
- "${MY_PATCH_DIR}/20018_all_mysql-5.5.60-without-clientlibs-tools.patch"
- "${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.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/readline-4.1:0=
- )
- !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 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
- 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_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 [[ -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%/}/${P}" "${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
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null 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
-
- # Don't build example
- _disable_engine example
- _disable_engine ndb
-
- cmake-utils_src_prepare
-}
-
-src_configure(){
- # 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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
- -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"
- # 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)
- -DENABLE_DTRACE=$(usex systemtap)
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
- -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
- fi
-
- 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+=(
- -DINSTALL_SQLBENCHDIR=share/mysql
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- 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
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- )
- 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.5"
- 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
- 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 mysql-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 MySQL 5.5 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 federated.federated_plugin \
- main.mysql_client_test main.mysql_client_test_nonblock \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \
- rpl.rpl_semi_sync_uninstall_plugin ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR}/mysqld-help"
- "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in grant-tables host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
-
- local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
- cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT}/usr/sbin/mysqld \
- ${options} \
- --log-warnings=0 \
- --basedir=${EROOT}/usr \
- --datadir=${ROOT}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT}/usr/bin/mysql" \
- "--socket=${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.6.40-r2.ebuild b/dev-db/mysql/mysql-5.6.40-r2.ebuild
deleted file mode 100644
index bd964e87045e..000000000000
--- a/dev-db/mysql/mysql-5.6.40-r2.ebuild
+++ /dev/null
@@ -1,789 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20181111-2314Z"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils flag-o-matic prefix toolchain-funcs \
- user cmake-utils multilib-build
-
-SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.6/${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://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
- +server static static-libs systemtap tcmalloc test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
- inherit git-r3
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
-else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.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=
- )
- net-misc/curl
- >=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-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- server? (
- numa? ( sys-process/numactl )
- )
- !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 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
- 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() {
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-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 [[ -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
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${P}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null 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
-
- # Don't build example
- _disable_engine example
- _disable_engine ndb
- _disable_plugin innodb_memcached
-
- cmake-utils_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"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- ### TODO: make this system but issues with UTF-8 prevent it
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- # 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)
- -DWITH_LIBEVENT=NO
- -DWITHOUT_CLIENTLIBS=YES
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_SSL=$(usex yassl bundled system)
- -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
- -DWITHOUT_VALIDATE_PASSWORD=1
- )
-
- if use server ; then
-
- 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+=(
- -DWITH_NUMA=$(usex numa ON OFF)
- -DEXTRA_CHARSETS=all
- -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
-
- # 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
- -DWITH_INNODB_MEMCACHED=0
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
- # 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"
- 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
- 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='perl server static-libs' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-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 MySQL 5.7 for now and are believed to be
- # false positives:
- #
- local t
-
- for t in auth_sec.keyring_udf federated.federated_plugin ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- local help_tables="${EROOT%/}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
- [[ -r "${help_tables}" ]] \
- && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
- || touch "${TMPDIR}/fill_help_tables.sql"
- help_tables="${TMPDIR}/fill_help_tables.sql"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
-
- local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
- if [[ -r "${help_tables}" ]] ; then
- cat "${help_tables}" >> "${sqltmp}"
- fi
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT%/}/usr/bin/mysql" \
- --socket="${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.6.42.ebuild b/dev-db/mysql/mysql-5.6.42.ebuild
deleted file mode 100644
index 1ec7ebd88269..000000000000
--- a/dev-db/mysql/mysql-5.6.42.ebuild
+++ /dev/null
@@ -1,796 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20181111-2314Z"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils flag-o-matic prefix toolchain-funcs \
- user cmake-utils multilib-build
-
-SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.6/${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://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
- +server static static-libs systemtap tcmalloc test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
- inherit git-r3
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
-else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.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=
- )
- net-misc/curl
- >=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-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- server? (
- numa? ( sys-process/numactl )
- )
- !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
- 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() {
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-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 [[ -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
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${P}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null 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
-
- # Don't build example
- _disable_engine example
- _disable_engine ndb
- _disable_plugin innodb_memcached
-
- cmake-utils_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"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- ### TODO: make this system but issues with UTF-8 prevent it
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- # 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)
- -DWITH_LIBEVENT=NO
- -DWITHOUT_CLIENTLIBS=YES
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_SSL=$(usex yassl bundled system)
- -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
- -DWITHOUT_VALIDATE_PASSWORD=1
- )
-
- if use server ; then
-
- 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+=(
- -DWITH_NUMA=$(usex numa ON OFF)
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- 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
- -DWITH_INNODB_MEMCACHED=0
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
- # 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"
- 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
- 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='perl server static-libs' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-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 MySQL 5.6 for now and are believed to be
- # false positives:
- #
- local t
-
- for t in auth_sec.keyring_udf federated.federated_plugin ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- local help_tables="${EROOT%/}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
- [[ -r "${help_tables}" ]] \
- && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
- || touch "${TMPDIR}/fill_help_tables.sql"
- help_tables="${TMPDIR}/fill_help_tables.sql"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
-
- local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
- if [[ -r "${help_tables}" ]] ; then
- cat "${help_tables}" >> "${sqltmp}"
- fi
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT%/}/usr/bin/mysql" \
- --socket="${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.6.43.ebuild b/dev-db/mysql/mysql-5.6.43.ebuild
deleted file mode 100644
index 77ee38308273..000000000000
--- a/dev-db/mysql/mysql-5.6.43.ebuild
+++ /dev/null
@@ -1,799 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190303-1852Z"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils flag-o-matic prefix toolchain-funcs \
- user cmake-utils multilib-build
-
-SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.6/${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://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
- +server static static-libs systemtap tcmalloc test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
- inherit git-r3
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
-else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.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=
- )
- net-misc/curl
- >=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-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- server? (
- numa? ( sys-process/numactl )
- )
- !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
- 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() {
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-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 [[ -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
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${P}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
-
- local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null 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
-
- # Don't build example
- _disable_engine example
- _disable_engine ndb
- _disable_plugin innodb_memcached
-
- cmake-utils_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"
- -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
- -DSYSCONFDIR="${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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- ### TODO: make this system but issues with UTF-8 prevent it
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- # 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)
- -DWITH_LIBEVENT=NO
- -DWITHOUT_CLIENTLIBS=YES
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_SSL=$(usex yassl bundled system)
- -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
- -DWITHOUT_VALIDATE_PASSWORD=1
- )
-
- if use server ; then
-
- 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+=(
- -DWITH_NUMA=$(usex numa ON OFF)
- -DEXTRA_CHARSETS=all
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- 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
- -DWITH_INNODB_MEMCACHED=0
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
- # 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"
- 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
- 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='perl server static-libs' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-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 MySQL 5.6 for now and are believed to be
- # false positives:
- #
- local t
-
- for t in auth_sec.keyring_udf federated.federated_plugin ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- # Bad test definition
- _disable_test main.mysqldump "Test fails after 2018-12-31 with new warnings"
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd > /dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]]; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]]; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
- fi
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- local help_tables="${EROOT%/}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
- [[ -r "${help_tables}" ]] \
- && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
- || touch "${TMPDIR}/fill_help_tables.sql"
- help_tables="${TMPDIR}/fill_help_tables.sql"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]]; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]]; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
-
- local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
- if [[ -r "${help_tables}" ]] ; then
- cat "${help_tables}" >> "${sqltmp}"
- fi
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
- if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]]; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- if [[ -n "${sqltmp}" ]] ; then
- ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT%/}/usr/bin/mysql" \
- --socket="${socket}" \
- -hlocalhost \
- -uroot \
- --password="${MYSQL_ROOT_PASSWORD}" \
- mysql < "${sqltmp}"
- rc=$?
- eend $?
- [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
- fi
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.6.44-r1.ebuild b/dev-db/mysql/mysql-5.6.44-r1.ebuild
index e51ea5affde5..642f7932867e 100644
--- a/dev-db/mysql/mysql-5.6.44-r1.ebuild
+++ b/dev-db/mysql/mysql-5.6.44-r1.ebuild
@@ -37,7 +37,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
diff --git a/dev-db/mysql/mysql-5.6.45-r1.ebuild b/dev-db/mysql/mysql-5.6.45-r2.ebuild
index dfea0d2a2a47..da38c876ad50 100644
--- a/dev-db/mysql/mysql-5.6.45-r1.ebuild
+++ b/dev-db/mysql/mysql-5.6.45-r2.ebuild
@@ -2,14 +2,14 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20190817-0024Z"
+MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eutils flag-o-matic prefix toolchain-funcs \
- user cmake-utils multilib-build
+ cmake-utils multilib-build
SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
@@ -94,13 +94,21 @@ COMMON_DEPEND="
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ server? (
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+ )
${COMMON_DEPEND}
"
# For other stuff to bring us in
@@ -124,10 +132,6 @@ pkg_setup() {
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() {
diff --git a/dev-db/mysql/mysql-5.7.23-r2.ebuild b/dev-db/mysql/mysql-5.7.23-r2.ebuild
deleted file mode 100644
index 0b7a82c88b4d..000000000000
--- a/dev-db/mysql/mysql-5.7.23-r2.ebuild
+++ /dev/null
@@ -1,938 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20181023-0012Z"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit cmake-utils eutils flag-o-matic linux-info \
- prefix toolchain-funcs user multilib-minimal
-
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.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"
-fi
-
-HOMEPAGE="https://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
- inherit git-r3
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
-else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-# MULTILIB_USEDEP only set for libraries used by the client library
-COMMON_DEPEND="net-misc/curl:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kernel_linux? (
- dev-libs/libaio:0=
- sys-process/procps:0=
- )
- server? (
- >=app-arch/lz4-0_p131:=
- cjk? ( app-text/mecab:= )
- experimental? (
- dev-libs/libevent:=
- dev-libs/protobuf:=
- net-libs/libtirpc:=
- )
- numa? ( sys-process/numactl )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- !yassl? (
- client-libs? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
- )
- !client-libs? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )
-"
-DEPEND="${COMMON_DEPEND}
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- dev-libs/protobuf
- virtual/yacc
- server? (
- dev-libs/libevent
- experimental? ( net-libs/rpcsvc-proto )
- )
- static? ( sys-libs/ncurses[static-libs] )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
- selinux? ( sec-policy/selinux-mysql )
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]] ; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_pretend() {
- if use numa ; then
- local CONFIG_CHECK="~NUMA"
-
- local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
- WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
-
- 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() {
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-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 [[ -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
- fi
-
- # Note about configuration change
- einfo
- elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/mysql.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${P}" "${S}" || die
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
-
- if use tcmalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- # Remove bundled libs so we cannot accidentally use them
- # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
- rm -rv \
- "${S}"/extra/protobuf \
- "${S}"/libevent \
- "${S}"/zlib \
- || die
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
-}
-
-src_configure(){
- # 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
-
- if use client-libs ; then
- multilib-minimal_src_configure
- else
- multilib_src_configure
- fi
-}
-
-multilib_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- if ! multilib_is_native_abi && ! use client-libs ; then
- return
- fi
-
- 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"
- -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
- -DSYSCONFDIR="${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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- ### TODO: make this system but issues with UTF-8 prevent it
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- # 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)
- -DWITH_CURL=system
- -DWITH_BOOST="${S}/boost"
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if ! use client-libs ; then
- mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- # systemtap only works on native ABI, bug 530132
- if multilib_is_native_abi ; then
- mycmakeargs+=(
- -DENABLE_DTRACE=$(usex systemtap)
- )
- else
- mycmakeargs+=(
- -DWITHOUT_TOOLS=1
- -DWITH_READLINE=1
- -DENABLE_DTRACE=0
- )
- fi
-
- if multilib_is_native_abi && use server ; then
- mycmakeargs+=(
- -DWITH_LIBEVENT=system
- -DWITH_LZ4=system
- -DWITH_PROTOBUF=system
- -DWITH_MECAB=$(usex cjk system OFF)
- -DWITH_NUMA=$(usex numa ON OFF)
- -DWITH_RAPID=$(usex experimental ON OFF)
- )
-
- 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
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static ; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_EXAMPLE_STORAGE_ENGINE=0
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_FEDERATED_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_INNODB_MEMCACHED=0
- -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
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- if use client-libs ; then
- multilib-minimal_src_compile
- else
- multilib_src_compile
- fi
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-}
-
-# Official test instructions:
-# ulimit -n 16500 && \
-# USE='latin1 perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-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 MySQL 5.7 for now and are believed to be
- # false positives:
- #
- local t
-
- for t in auth_sec.keyring_udf ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- # Unstable tests
- # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
- for t in main.xa_prepared_binlog_off ; do
- _disable_test "$t" "Unstable test"
- done
-
- if use numa && use kernel_linux ; then
- # bug 584880
- if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
- for t in sys_vars.innodb_numa_interleave_basic ; do
- _disable_test "$t" "Test $t requires system with NUMA support"
- done
- fi
- fi
-
- if ! use latin1 ; then
- # The following tests will fail if DEFAULT_CHARSET
- # isn't set to latin1:
- for t in \
- binlog.binlog_mysqlbinlog_filter \
- binlog.binlog_xa_prepared_disconnect \
- funcs_1.is_columns_mysql \
- funcs_1.is_tables_mysql \
- funcs_1.is_triggers \
- innodb.innodb_pagesize_max_recordsize \
- innodb.innodb-system-table-view \
- innodb.mysqldump_max_recordsize \
- main.mysql_client_test \
- main.mysqld--help-notwin \
- main.type_string \
- main.information_schema \
- perfschema.binlog_edge_mix \
- perfschema.binlog_edge_stmt \
- rpl.rpl_xa_survive_disconnect \
- rpl.rpl_xa_survive_disconnect_lsu_off \
- rpl.rpl_xa_survive_disconnect_table \
- ; do
- _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
- done
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- local MULTILIB_WRAPPED_HEADERS
- local MULTILIB_CHOST_TOOLS
- if use client-libs ; then
- # headers with ABI specific data
- MULTILIB_WRAPPED_HEADERS=(
- /usr/include/mysql/server/my_config.h
- /usr/include/mysql/server/mysql_version.h )
-
- # wrap the config scripts
- MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
- multilib-minimal_src_install
- else
- multilib_src_install
- multilib_src_install_all
- fi
-}
-
-# Intentionally override eclass function
-multilib_src_install() {
-
- cmake-utils_src_install
-
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
-}
-
-multilib_src_install_all() {
- # 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
- cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
-
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
-
- 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" 50-distro-server.cnf
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
- if [[ -d "${MY_DATADIR_s}" ]] ; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]] ; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
- fi
-
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
- fi
-
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- echo "USE mysql;" >"${sqltmp}"
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
-
- # --initialize-insecure will not set root password
- # --initialize would set a random one in the log which we don't need as we set it ourselves
- local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
- if [[ $? -ne 0 ]] ; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]] ; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.7.24.ebuild b/dev-db/mysql/mysql-5.7.24.ebuild
deleted file mode 100644
index f178d936fc9a..000000000000
--- a/dev-db/mysql/mysql-5.7.24.ebuild
+++ /dev/null
@@ -1,945 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20181023-0012Z"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit cmake-utils eutils flag-o-matic linux-info \
- prefix toolchain-funcs user multilib-minimal
-
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.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"
-fi
-
-HOMEPAGE="https://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
- inherit git-r3
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
-else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-# MULTILIB_USEDEP only set for libraries used by the client library
-COMMON_DEPEND="net-misc/curl:=
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- sys-libs/ncurses:0=
- client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
- !client-libs? (
- dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
- >=sys-libs/zlib-1.2.3:0=
- )
- jemalloc? ( dev-libs/jemalloc:0= )
- kernel_linux? (
- dev-libs/libaio:0=
- sys-process/procps:0=
- )
- server? (
- >=app-arch/lz4-0_p131:=
- cjk? ( app-text/mecab:= )
- experimental? (
- dev-libs/libevent:=
- dev-libs/protobuf:=
- net-libs/libtirpc:=
- )
- numa? ( sys-process/numactl )
- )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- !yassl? (
- client-libs? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
- )
- !client-libs? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )
-"
-DEPEND="${COMMON_DEPEND}
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- dev-libs/protobuf
- virtual/yacc
- server? (
- dev-libs/libevent
- experimental? ( net-libs/rpcsvc-proto )
- )
- static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
-"
-RDEPEND="${COMMON_DEPEND}
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
- selinux? ( sec-policy/selinux-mysql )
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
-
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=""
- if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
- MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
- | sed -e 's/.*=\s*//' \
- | tail -n1`
- fi
- fi
- if [[ -z "${MY_DATADIR}" ]] ; then
- MY_DATADIR="${MY_LOCALSTATEDIR}"
- einfo "Using default MY_DATADIR"
- fi
- elog "MySQL MY_DATADIR is ${MY_DATADIR}"
-
- if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
- if [[ -e "${MY_DATADIR}" ]] ; then
- # If you get this and you're wondering about it, see bug #207636
- elog "MySQL datadir found in ${MY_DATADIR}"
- elog "A new one will not be created."
- PREVIOUS_DATADIR="yes"
- else
- PREVIOUS_DATADIR="no"
- fi
- export PREVIOUS_DATADIR
- fi
- else
- if [[ ${EBUILD_PHASE} == "config" ]] ; then
- local new_MY_DATADIR
- new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
- | sed -ne '/datadir/s|^--datadir=||p' \
- | tail -n1`
-
- if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
- ewarn "MySQL MY_DATADIR has changed"
- ewarn "from ${MY_DATADIR}"
- ewarn "to ${new_MY_DATADIR}"
- MY_DATADIR="${new_MY_DATADIR}"
- fi
- fi
- fi
-
- export MY_SHAREDSTATEDIR MY_SYSCONFDIR
- export MY_LOCALSTATEDIR MY_LOGDIR
- export MY_DATADIR
-}
-
-pkg_pretend() {
- if use numa ; then
- local CONFIG_CHECK="~NUMA"
-
- local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
- WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
-
- check_extra_config
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- # 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
-
- 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() {
- # Here we need to see if the implementation switched client libraries
- # We check if this is a new instance of the package and a client library already exists
- local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
- elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
- elog "Please run: revdep-rebuild --library ${libpath}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
-
-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 [[ -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
- fi
-
- # Note about configuration change
- einfo
- elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/mysql.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
- elog "You may have as many files as needed and they are read alphabetically."
- elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
- einfo
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR}/${P}" "${S}" || die
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
-
- if use tcmalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
-
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- # Remove bundled libs so we cannot accidentally use them
- # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
- rm -rv \
- "${S}"/extra/protobuf \
- "${S}"/libevent \
- "${S}"/zlib \
- || die
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
-
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
-}
-
-src_configure(){
- # 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
-
- if use client-libs ; then
- multilib-minimal_src_configure
- else
- multilib_src_configure
- fi
-}
-
-multilib_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- if ! multilib_is_native_abi && ! use client-libs ; then
- return
- fi
-
- 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"
- -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
- -DSYSCONFDIR="${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/mysql
- -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
- -DINSTALL_SCRIPTDIR=share/mysql/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- ### TODO: make this system but issues with UTF-8 prevent it
- -DWITH_EDITLINE=bundled
- -DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- # 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)
- -DWITH_CURL=system
- -DWITH_BOOST="${S}/boost"
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- if ! use client-libs ; then
- mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- # systemtap only works on native ABI, bug 530132
- if multilib_is_native_abi ; then
- mycmakeargs+=(
- -DENABLE_DTRACE=$(usex systemtap)
- )
- else
- mycmakeargs+=(
- -DWITHOUT_TOOLS=1
- -DWITH_READLINE=1
- -DENABLE_DTRACE=0
- )
- fi
-
- if multilib_is_native_abi && use server ; then
- mycmakeargs+=(
- -DWITH_LIBEVENT=system
- -DWITH_LZ4=system
- -DWITH_PROTOBUF=system
- -DWITH_MECAB=$(usex cjk system OFF)
- -DWITH_NUMA=$(usex numa ON OFF)
- -DWITH_RAPID=$(usex experimental ON OFF)
- )
-
- 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
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- )
-
- if use profiling ; then
- # Setting to OFF doesn't work: Once set, profiling options will be added
- # to `mysqld --help` output via sql/sys_vars.cc causing
- # "main.mysqld--help-notwin" test to fail
- mycmakeargs+=( -DENABLED_PROFILING=ON )
- fi
-
- if use static ; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_EXAMPLE_STORAGE_ENGINE=0
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_FEDERATED_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_INNODB_MEMCACHED=0
- -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
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- if use client-libs ; then
- multilib-minimal_src_compile
- else
- multilib_src_compile
- fi
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-}
-
-# Official test instructions:
-# ulimit -n 16500 && \
-# USE='latin1 perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-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 MySQL 5.7 for now and are believed to be
- # false positives:
- #
- local t
-
- for t in auth_sec.keyring_udf ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- # Unstable tests
- # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
- # - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
- for t in main.xa_prepared_binlog_off rpl.rpl_non_direct_stm_mixing_engines ; do
- _disable_test "$t" "Unstable test"
- done
-
- if ! use amd64 ; then
- # fixed in >=mysql-8 via commit 0a417e84
- _disable_test "gis.gis_bugs_crashes" "Unstable results on non-amd64 architectures due to floating-point operation"
- fi
-
- if use numa && use kernel_linux ; then
- # bug 584880
- if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
- for t in sys_vars.innodb_numa_interleave_basic ; do
- _disable_test "$t" "Test $t requires system with NUMA support"
- done
- fi
- fi
-
- if ! use latin1 ; then
- # The following tests will fail if DEFAULT_CHARSET
- # isn't set to latin1:
- for t in \
- binlog.binlog_mysqlbinlog_filter \
- binlog.binlog_xa_prepared_disconnect \
- funcs_1.is_columns_mysql \
- funcs_1.is_tables_mysql \
- funcs_1.is_triggers \
- innodb.innodb_pagesize_max_recordsize \
- innodb.innodb-system-table-view \
- innodb.mysqldump_max_recordsize \
- main.mysql_client_test \
- main.mysqld--help-notwin \
- main.type_string \
- main.information_schema \
- perfschema.binlog_edge_mix \
- perfschema.binlog_edge_stmt \
- rpl.rpl_xa_survive_disconnect \
- rpl.rpl_xa_survive_disconnect_lsu_off \
- rpl.rpl_xa_survive_disconnect_table \
- ; do
- _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
- done
- fi
-
- # Try to increase file limits to increase test coverage
- if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
- # Upper limit comes from parts.partition_* tests
- ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
-
- if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
- # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
- ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
-
- if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
- ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
- else
- einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
- fi
- else
- einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
- fi
-
- # run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
- retstatus_tests=$?
-
- popd &>/dev/null || die
-
- # Cleanup is important for these testcases.
- pkill -9 -f "${S}/ndb" 2>/dev/null
- pkill -9 -f "${S}/sql" 2>/dev/null
-
- local failures=""
- [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
- [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
- [[ -z "$failures" ]] || die "Test failures: $failures"
- einfo "Tests successfully completed"
-}
-
-src_install() {
- local MULTILIB_WRAPPED_HEADERS
- local MULTILIB_CHOST_TOOLS
- if use client-libs ; then
- # headers with ABI specific data
- MULTILIB_WRAPPED_HEADERS=(
- /usr/include/mysql/server/my_config.h
- /usr/include/mysql/server/mysql_version.h )
-
- # wrap the config scripts
- MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
- multilib-minimal_src_install
- else
- multilib_src_install
- multilib_src_install_all
- fi
-}
-
-# Intentionally override eclass function
-multilib_src_install() {
-
- cmake-utils_src_install
-
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
-}
-
-multilib_src_install_all() {
- # 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
- cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
- cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
- eprefixify "${TMPDIR}/50-distro-client.cnf"
- doins "${TMPDIR}/50-distro-client.cnf"
-
- if use server ; then
- mycnf_src="my.cnf.distro-server"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
-
- if use prefix ; then
- sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
- "${TMPDIR}/my.cnf.ok" || die
- fi
-
- 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" 50-distro-server.cnf
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
- local section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
- }
- local old_MY_DATADIR="${MY_DATADIR}"
- local old_HOME="${HOME}"
- # my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
- die "Minimal builds do NOT include the MySQL server"
- fi
-
- if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
- MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
- old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
-
- if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
- if [[ -d "${MY_DATADIR_s}" ]] ; then
- ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
- ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
- else
- elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
- mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
- || die "Moving MY_DATADIR failed"
- fi
- else
- ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
- if [[ -d "${MY_DATADIR_s}" ]] ; then
- ewarn "Attempting to use ${MY_DATADIR_s}"
- else
- eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
- die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
- fi
- fi
- fi
-
- local pwd1="a"
- local pwd2="b"
- local maxtry=15
-
- if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
- local tmp_mysqld_password_source=
-
- for tmp_mysqld_password_source in mysql client ; do
- einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
- ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
- MYSQL_ROOT_PASSWORD=
- continue
- fi
-
- einfo "Found password in '${tmp_mysqld_password_source}' section!"
- break
- fi
- done
-
- # Sometimes --show is required to display passwords in some implementations of my_print_defaults
- if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
- MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
- fi
-
- unset tmp_mysqld_password_source
- fi
- MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
- MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
-
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
- einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
- fi
-
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
- einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
- fi
-
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
- einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
- fi
-
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
- ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
- ewarn "Please rename or delete it if you wish to replace it."
- die "MySQL database already exists!"
- 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 [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
-
- einfo "Please provide a password for the mysql 'root' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- read -rsp " >" pwd1 ; echo
-
- einfo "Retype the password"
- read -rsp " >" pwd2 ; echo
-
- if [[ "x$pwd1" != "x$pwd2" ]] ; then
- die "Passwords are not the same"
- fi
- MYSQL_ROOT_PASSWORD="${pwd1}"
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
- use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
-
- # Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
- federated ssl log-bin relay-log slow-query-log external-locking \
- log-slave-updates \
- ; do
- optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
- egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
- done
-
- einfo "Creating the mysql database and setting proper permissions on it ..."
-
- # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
- if [[ ! -d "${PID_DIR}" ]] ; then
- install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
- fi
-
- if [[ ! -d "${MY_DATADIR}" ]] ; then
- install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
- fi
-
- pushd "${TMPDIR}" &>/dev/null || die
-
- # Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- echo "USE mysql;" >"${sqltmp}"
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
-
- # --initialize-insecure will not set root password
- # --initialize would set a random one in the log which we don't need as we set it ourselves
- local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
- einfo "Command: ${cmd[*]}"
- su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
- if [[ $? -ne 0 ]] ; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
- fi
- popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
-
- use prefix || options="${options} --user=mysql"
-
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
- ${options} \
- $(use prefix || echo --user=mysql) \
- --log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
- --max_allowed_packet=8M \
- --net_buffer_length=16K \
- --socket=${socket} \
- --pid-file=${pidfile} \
- --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
- #einfo "About to start mysqld: ${mysqld}"
- ebegin "Starting mysqld"
- einfo "Command ${mysqld}"
- ${mysqld} &
- rc=$?
- while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
- maxtry=$((${maxtry}-1))
- echo -n "."
- sleep 1
- done
- eend $rc
-
- if ! [[ -S "${socket}" ]] ; then
- die "Completely failed to start up mysqld with: ${mysqld}"
- fi
-
- ebegin "Setting root password"
- # Do this from memory, as we don't want clear text passwords in temp files
- local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- eend $?
-
- # Stop the server and cleanup
- einfo "Stopping the server ..."
- kill $(< "${pidfile}" )
- rm -f "${sqltmp}"
- wait %1
- einfo "Done"
-}
diff --git a/dev-db/mysql/mysql-5.7.26.ebuild b/dev-db/mysql/mysql-5.7.26-r1.ebuild
index e7550e70b180..ea0df7b4e112 100644
--- a/dev-db/mysql/mysql-5.7.26.ebuild
+++ b/dev-db/mysql/mysql-5.7.26-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20190524-1046Z"
+MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
@@ -34,7 +34,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~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
@@ -54,7 +54,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
diff --git a/dev-db/mysql/mysql-5.7.27.ebuild b/dev-db/mysql/mysql-5.7.27-r1.ebuild
index 81848199c426..2edc05182a40 100644
--- a/dev-db/mysql/mysql-5.7.27.ebuild
+++ b/dev-db/mysql/mysql-5.7.27-r1.ebuild
@@ -2,14 +2,14 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20190604-1109Z"
+MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit cmake-utils eutils flag-o-matic linux-info \
- prefix toolchain-funcs user multilib-minimal
+ prefix toolchain-funcs multilib-minimal
SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
@@ -54,7 +54,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
@@ -112,13 +112,21 @@ DEPEND="${COMMON_DEPEND}
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ server? (
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+ )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
@@ -209,10 +217,6 @@ pkg_setup() {
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() {
diff --git a/dev-db/mysql/mysql-8.0.17.ebuild b/dev-db/mysql/mysql-8.0.17.ebuild
index 9bf70ba0f6b2..2697f6786560 100644
--- a/dev-db/mysql/mysql-8.0.17.ebuild
+++ b/dev-db/mysql/mysql-8.0.17.ebuild
@@ -58,6 +58,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-8.0.17.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-8.0.17-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-8.0.17-add-protobuf-3.8+-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-8.0.17-fix-libressl-support.patch
)
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index 4aca947006ac..d6854b2235fa 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -2,7 +2,9 @@ AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e
AUX my.cnf.distro-client 637 BLAKE2B b0812e0e03aa9a3b2e55e08b933a0b41b6afd95ded61f4d9d7c34a2d3810ec38520abd0d89e1c6565f61d4cd8a36d653f9f3199b3dd6a91345cdb5ff962685d8 SHA512 74bd1d9a58075d0a6195be1f94db310bcbe8da532b03844e6fa1ff84676e84843fc9adf9aed06b7e4db53c9aa24ef0885d96de0ccfe4c6ad98afe4c145d43f4f
AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1fd14b4c2dea398814beda3c09aabea04dd3a9e145464524c629e7e69dc257d1245e0a46dd8584b7f685172 SHA512 cf172edc23d3dda49c21af6b8adef8aa13694d8ceecddf1d612d4ae34d00ba53c51ae4ae7ca4d11083eeacb5d862f59a855a9d80e9e448ab8bbf17f42aac2650
DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae
-DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c
+DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8
DIST percona-server-5.7.26-29.tar.gz 84327421 BLAKE2B beedb4b5025c337a63ae56644e47991e90c2c0e57c6d03f1562095f9470cef4b67c8df6c3774d88dfc6ed6dfb81f9dd4b62325db30bc26802651279921bd3a2d SHA512 c8100e69f7e29a5aa2de9dddbc1a3cba9836fe485b7f829a8db0a7e5ac1d1bdabfb1360dacad90665f4c9c78ac91226209c6c15158ef449e84519e36bb06f0a1
-EBUILD percona-server-5.7.26.29.ebuild 36326 BLAKE2B c5b3e51c987d58d1cfd220b75fae11104afcbe356f5dca3b4257424e901cf1e41475afc128f5b6f394adc284b3b41e9e20eac136be6a8b92494c18b610ef5933 SHA512 128b3d7b079816dcdcbfc6b6ff83fdc8a791686314e221625cee876b30c03bc3d412550c683a98c259697f03a85cef00afa15ebce4d5a2c92adc03d99237a909
+DIST percona-server-5.7.27-30.tar.gz 84672298 BLAKE2B 8431d231f602b704195868110e8eb73adb3db7c761906c15eff182e54634ef091a3ffa0d4f3498a93dbfbf65cd5cdd12102871abaaaa0f32378ba3068d083b2b SHA512 d62c66de3128df87dce52292ad1671e01fe2c923e668ef0faf9cb663c11c9cd0b976345aea1de6ea2bc458d0e1066b42c022849e422121d96cea082ed12c8f4b
+EBUILD percona-server-5.7.26.29-r1.ebuild 36356 BLAKE2B 6934a52bf0359157e1f0ad4d005842716a180e482edd98a96e85e2bb66f55fca767474acba7d6aa88dbac55e22bb11c164f94c6ac0b0abfb2e8ad93ee4f4d30d SHA512 e5d8ddf8ec60d45b22563a3a89e4e54d3a31f122673bf36b49f4958efb104106db0fee9178c1a922b6501994653f96d6cf36d68108b5480bf7eb9812fddf8562
+EBUILD percona-server-5.7.27.30.ebuild 37273 BLAKE2B 44676777d025197885e2c39673b922cb79ab34aee2243e88fc0d816dc96f936f6d4bf4fe21af5435570adf6deec89387ff4669fcf3b3ce3f93e55a35007a0b29 SHA512 df991d3896275ff122d735be3d81c3376c8df9b39fb807709200efe55de669ba1762eebfd9b7e1cc3ad48f5ad061536aec5c8408cb1eb89c5057bdc60db597c5
MISC metadata.xml 1416 BLAKE2B a479a1bc7b6e5947ccef2fdf097d3dd91af932500483112c05b86c5d60ab6ec1ac4179bee0fa291a746281054baa791152cac7a34c8c79a0ad4fd8f5e3d1bcf9 SHA512 ec92d201154c3af80aa4cdcd1eae207827a1b2711cfe7b1a9b0153268a33e472329011c56ec39a009776c629163fc9d4f9e77ad2b00461f07199f3dd12db0b52
diff --git a/dev-db/percona-server/percona-server-5.7.26.29.ebuild b/dev-db/percona-server/percona-server-5.7.26.29-r1.ebuild
index b69fc97ed144..81b46f88e3aa 100644
--- a/dev-db/percona-server/percona-server-5.7.26.29.ebuild
+++ b/dev-db/percona-server/percona-server-5.7.26.29-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20190524-1046Z"
+MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
@@ -12,7 +12,7 @@ PYTHON_COMPAT=( python2_7 )
# Keeping eutils in EAPI=6 for emktemp in pkg_config
inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \
- prefix python-any-r1 toolchain-funcs user multilib-minimal
+ prefix python-any-r1 toolchain-funcs multilib-minimal
MY_PV=$(ver_rs 3 '-')
MY_PN="Percona-Server"
@@ -63,7 +63,7 @@ PATCHES=(
"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.26-without-clientlibs-tools.patch
"${MY_PATCH_DIR}"/20018_all_percona-server-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
@@ -132,22 +132,32 @@ DEPEND="${COMMON_DEPEND}
)
static? ( sys-libs/ncurses[static-libs] )
test? (
- $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ acct-group/mysql acct-user/mysql
dev-perl/JSON
+ || (
+ $(python_gen_any_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ )
)
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ server? (
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+ )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
python_check_deps() {
- has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+ has_version "dev-python/mysqlclient[${PYTHON_USEDEP}]" \
+ || has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
}
mysql_init_vars() {
@@ -237,10 +247,6 @@ pkg_setup() {
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() {
diff --git a/dev-db/mysql/mysql-5.7.25.ebuild b/dev-db/percona-server/percona-server-5.7.27.30.ebuild
index 34fc5964b516..f6e26e0c232b 100644
--- a/dev-db/mysql/mysql-5.7.25.ebuild
+++ b/dev-db/percona-server/percona-server-5.7.27.30.ebuild
@@ -2,18 +2,27 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20190524-1046Z"
+MY_EXTRAS_VER="20190822-1908Z"
CMAKE_MAKEFILE_GENERATOR=emake
+# Python2 required for innodb_stress.innodb_stress{,_blob,_crash} test
+PYTHON_COMPAT=( python2_7 )
+
# Keeping eutils in EAPI=6 for emktemp in pkg_config
-inherit cmake-utils eutils flag-o-matic linux-info \
- prefix toolchain-funcs user multilib-minimal
+inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \
+ prefix python-any-r1 toolchain-funcs multilib-minimal
+
+MY_PV=$(ver_rs 3 '-')
+MY_PN="Percona-Server"
+MY_P="${PN}-${MY_PV}"
+MY_MAJOR_PV=$(ver_cut 1-2)
+MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.7/release-notes/release-notes_index.html"
-SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz"
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
+ mirror://sourceforge/boost/boost_1_59_0.tar.gz
+"
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
@@ -22,19 +31,19 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
-HOMEPAGE="https://www.mysql.com/"
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
SLOT="0/18"
-IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
- selinux +server static static-libs systemtap tcmalloc test yassl"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb
+ selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~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
@@ -51,16 +60,16 @@ else
fi
PATCHES=(
- "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.23.patch
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-libressl-support.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.26-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.25-fix-libressl-support.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
"${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.7.25-fix-build-without-server.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-rocksdb-use-system-libs.patch
)
# Be warned, *DEPEND are version-dependant
@@ -89,6 +98,16 @@ COMMON_DEPEND="net-misc/curl:=
net-libs/libtirpc:=
)
numa? ( sys-process/numactl )
+ pam? ( virtual/pam:0= )
+ rocksdb? (
+ app-arch/zstd:=
+ dev-libs/protobuf:=
+ )
+ tokudb? (
+ app-arch/snappy:=
+ app-arch/xz-utils:=
+ )
+ tokudb-backup-plugin? ( dev-util/valgrind )
)
systemtap? ( >=dev-util/systemtap-1.3:0= )
tcmalloc? ( dev-util/google-perftools:0= )
@@ -112,18 +131,35 @@ DEPEND="${COMMON_DEPEND}
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
- test? ( dev-perl/JSON )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ || (
+ $(python_gen_any_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ )
+ )
"
RDEPEND="${COMMON_DEPEND}
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ server? (
+ !prefix? (
+ acct-group/mysql acct-user/mysql
+ dev-db/mysql-init-scripts
+ )
+ )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+python_check_deps() {
+ has_version "dev-python/mysqlclient[${PYTHON_USEDEP}]" \
+ || has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
@@ -203,26 +239,24 @@ pkg_setup() {
eerror "Please use gcc-config to switch to gcc-4.7 or later version."
die
fi
+
+ use test && python-any-r1_pkg_setup
fi
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() {
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so" ]] ; then
+ libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so")
elog "Due to ABI changes when switching between different client libraries,"
- elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "revdep-rebuild must find and rebuild all packages linking to libperconaserverclient."
elog "Please run: revdep-rebuild --library ${libpath}"
ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
fi
@@ -269,7 +303,7 @@ src_unpack() {
# Grab the patches
[[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
- mv -f "${WORKDIR}/${P}" "${S}" || die
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
}
src_prepare() {
@@ -283,19 +317,42 @@ src_prepare() {
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
fi
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ # Don't build bundled xz-utils
+ if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
+ echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
+ elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
+ 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
+ fi
+
+ if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
+ rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
fi
# Remove bundled libs so we cannot accidentally use them
# We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
rm -rv \
"${S}"/extra/protobuf \
- "${S}"/libevent \
+ "${S}"/extra/libevent \
+ "${S}"/storage/rocksdb/third_party \
+ "${S}"/storage/tokudb/PerconaFT/third_party \
"${S}"/zlib \
|| die
+ # Don't clash with dev-db/mysql-connector-c
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
if use libressl ; then
sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
"${S}/cmake/ssl.cmake" || die
@@ -313,6 +370,11 @@ src_configure(){
# bug #283926, with GCC4.4, this is required to get correct behavior.
append-flags -fno-strict-aliasing
+ if use tokudb ; then
+ # https://jira.percona.com/browse/PS-4399
+ append-cxxflags -Wno-error=shadow
+ fi
+
if use client-libs ; then
multilib-minimal_src_configure
else
@@ -363,8 +425,10 @@ multilib_src_configure() {
# all the time for simplicity and to make sure it is actually correct.
-DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
-DWITH_CURL=system
- -DWITH_BOOST="${S}/boost"
+ -DWITH_BOOST="${WORKDIR}/boost_1_59_0"
+ -DWITH_PROTOBUF=system
)
+
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
else
@@ -399,7 +463,6 @@ multilib_src_configure() {
mycmakeargs+=(
-DWITH_LIBEVENT=system
-DWITH_LZ4=system
- -DWITH_PROTOBUF=system
-DWITH_MECAB=$(usex cjk system OFF)
-DWITH_NUMA=$(usex numa ON OFF)
-DWITH_RAPID=$(usex experimental ON OFF)
@@ -457,8 +520,17 @@ multilib_src_configure() {
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
+ -DWITH_ROCKSDB=$(usex rocksdb 1 0)
+ $(usex tokudb '' -DWITHOUT_TOKUDB=1)
)
+ if use tokudb ; then
+ # TokuDB Backup plugin requires valgrind unconditionally
+ mycmakeargs+=(
+ $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
+ )
+ fi
+
else
mycmakeargs+=(
-DWITHOUT_SERVER=1
@@ -486,7 +558,7 @@ multilib_src_compile() {
# ulimit -n 16500 && \
# USE='latin1 perl server' \
# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
+# ebuild percona-server-X.X.XX.ebuild \
# digest clean package
src_test() {
_disable_test() {
@@ -535,25 +607,109 @@ src_test() {
pushd "${TESTDIR}" &>/dev/null || die
touch "${T}/disabled.def"
- # These are failing in MySQL 5.7 for now and are believed to be
- # false positives:
+ # These are failing in Percona-Server 5.7 for now and are believed to be
+ # false positives or are known to fail:
+ #
+ # group_replication.gr_communication_configuration: requires a valid local network address
+ # which clashes with FEATURES=network-sandbox
+ # innodb.xtradb_compressed_columns_consistency: long running test which tends to timeout
+ # on a busy host
+ # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com
+ # which clashes with FEATURES=network-sandbox
+ # rocksdb.prefix_extractor_override: https://jira.percona.com/browse/PS-5199
+ # rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
+ # rpl.rpl_multi_source_mts_reset_worker_info: https://jira.percona.com/browse/PS-3786
+ # tokudb.bugs.5733_tokudb: https://jira.percona.com/browse/PS-4274
+ # x.crud_insert_cast: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_numcolumns: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column_type: https://jira.percona.com/browse/PS-5032
+ # x.insert_table: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayappend_o: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayinsert_o: https://jira.percona.com/browse/PS-5032
+ # x.mysqlxtest_help: https://jira.percona.com/browse/PS-5019
+ # x.admin_kill_client_mysqlx: https://jira.percona.com/browse/PS-5019
#
local t
- for t in auth_sec.keyring_udf ; do
- _disable_test "$t" "False positives in Gentoo"
+ for t in \
+ group_replication.gr_communication_configuration \
+ innodb.xtradb_compressed_columns_consistency \
+ keyring_vault.keyring_vault_timeout \
+ rocksdb.prefix_extractor_override \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_multi_source_mts_reset_worker_info \
+ tokudb.bugs.5733_tokudb \
+ x.crud_insert_cast \
+ x.insert_table_bad_column \
+ x.insert_table_bad_numcolumns \
+ x.insert_table_bad_column_type \
+ x.insert_table \
+ x.update_crud_arrayappend_o \
+ x.update_crud_arrayinsert_o \
+ x.mysqlxtest_help \
+ x.admin_kill_client_mysqlx \
+ ; do
+ _disable_test "$t" "False positives in Gentoo / Known bug"
done
# Unstable tests
# - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
+ # - rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
# - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
- for t in main.xa_prepared_binlog_off rpl.rpl_non_direct_stm_mixing_engines ; do
- _disable_test "$t" "Unstable test"
+ for t in \
+ main.xa_prepared_binlog_off \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_non_direct_stm_mixing_engines \
+ ; do
+ _disable_test "$t" "Unstable test"
done
- if ! use amd64 ; then
- # fixed in >=mysql-8 via commit 0a417e84
- _disable_test "gis.gis_bugs_crashes" "Unstable results on non-amd64 architectures due to floating-point operation"
+ for t in \
+ gis.geometry_class_attri_prop \
+ gis.geometry_property_function_issimple \
+ gis.gis_bugs_crashes \
+ gis.spatial_op_testingfunc_mix \
+ gis.spatial_analysis_functions_buffer \
+ gis.spatial_analysis_functions_centroid \
+ gis.spatial_analysis_functions_distance \
+ gis.spatial_op_testingfunc_mix \
+ gis.spatial_utility_function_distance_sphere \
+ gis.spatial_utility_function_simplify \
+ ; do
+ _disable_test "$t" "Known rounding error with latest AMD processors"
+ done
+
+ if has_version ">=dev-libs/openssl-1.1.1" ; then
+ for t in \
+ main.ssl_8k_key \
+ auth_sec.mysql_ssl_connection \
+ main.ssl_verify_identity \
+ main.ssl_crl \
+ main.grant_alter_user_qa \
+ auth_sec.ssl_auto_detect \
+ encryption.innodb_onlinealter_encryption \
+ main.ssl_ca \
+ main.ssl_cipher \
+ main.grant_user_lock_qa \
+ auth_sec.openssl_cert_generation \
+ main.ssl_bug75311 \
+ main.ssl_compress \
+ main.ssl \
+ main.plugin_auth_sha256_tls \
+ main.ssl_ecdh \
+ main.openssl_1 \
+ auth_sec.cert_verify \
+ main.mysql_ssl_default \
+ main.percona_tls \
+ auth_sec.tls \
+ auth_sec.ssl_mode \
+ binlog.binlog_grant_alter_user \
+ x.connection_tls_version \
+ x.connection_openssl \
+ ; do
+ _disable_test "$t" "Known >=openssl-1.1.1 failures"
+ done
fi
if use numa && use kernel_linux ; then
@@ -565,6 +721,29 @@ src_test() {
fi
fi
+ if use tokudb ; then
+ if [[ -f "/sys/kernel/mm/transparent_hugepage/enabled" ]] ; then
+ if grep -q -E "\[always\]" /sys/kernel/mm/transparent_hugepage/enabled &>/dev/null ; then
+ # TokuDB refuses to start when transparent hugepages are enabled
+ for t in \
+ tokudb.rows-32m-rand-insert \
+ tokudb.savepoint-2 \
+ tokudb.savepoint-3 \
+ tokudb.savepoint-4 \
+ tokudb.savepoint-1078 \
+ tokudb.savepoint-1078-2 \
+ tokudb.savepoint-1078-3 \
+ tokudb.savepoint-1078-4 \
+ ; do
+ _disable_test "$t" "TokuDB will not work with transparent hugepages enabled"
+ done
+ fi
+ else
+ einfo "Cannot determine transparent hugepage status."
+ einfo "Please note that TokuDB refuses to start when transparent hugepages are enabled!"
+ fi
+ fi
+
if ! use latin1 ; then
# The following tests will fail if DEFAULT_CHARSET
# isn't set to latin1:
@@ -613,7 +792,7 @@ src_test() {
fi
# run mysql-test tests
- perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
popd &>/dev/null || die
@@ -711,6 +890,16 @@ multilib_src_install_all() {
eprefixify "${TMPDIR}/my.cnf.ok"
newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ if use tokudb ; then
+ # Remove some unwanted files
+ rm -fv \
+ "${ED%/}"/usr/COPYING.AGPLv3 \
+ "${ED%/}"/usr/COPYING.GPLv2 \
+ "${ED%/}"/usr/PATENTS \
+ "${ED%/}"/usr/README.md \
+ || die
+ fi
fi
#Remove mytop if perl is not selected
diff --git a/dev-db/pgbadger/Manifest b/dev-db/pgbadger/Manifest
index 092c489fcc08..1b70c8e60a5e 100644
--- a/dev-db/pgbadger/Manifest
+++ b/dev-db/pgbadger/Manifest
@@ -1,5 +1,5 @@
DIST pgbadger-10.3.tar.gz 1645573 BLAKE2B 583ad35f416b6d989996ae48500dcee5734bc4867095abe1eb49be971c6190cf68dd4e127a47163c8ee49400cdf2fcee14645c98f4853b6f66c2bef0db0b83e4 SHA512 f8aac47d92ddb92292c572c47d6d32f1aa673b972b2488eede7fbe0b55feddc6ce0cb1b58994e83b93a5f84fcb5b871c7c080863d17554810cc1c1b8c1e1609a
DIST pgbadger-11.0.tar.gz 1661028 BLAKE2B d83be01017d69b83cf288b23fe5066d5c691b630ce748fe42b33514346183f7b8f18efceeefe0533e534c669e986c30388a6df5b620ea654ae89b3dc3c08d342 SHA512 167534d61cb28df6cb7eae7efe788d3f6bbad1c614468e905a9b678a76b3a2dfc0eb192b595ac4dc332cd694e820f1603b79d83bc934b7dfe3d226019f6a9c15
EBUILD pgbadger-10.3.ebuild 454 BLAKE2B f0fde0f81f5af4fe540bfc652b607686b574a0f4edbc4e7ed251421c8962223e8357955da642b525b5dea3fa6ae498c46232502a628df04373b28b52b7da6f8f SHA512 f1140736e8be887d864e7579e0da07b5f4f774ad4ed8bb7993c29173ff87735f02e168be4a1d955cfed9dad795b051f5d65eb773b856c35e613096ce26cc2fce
-EBUILD pgbadger-11.0.ebuild 455 BLAKE2B 3c335bdb99af786159c5291af9aaa48791b9ce7005d43a998457eb899cfcc7eaca8a97d165c20c864614b03b59b6638aea2fb04f41c3b18bc06135def2fe362c SHA512 7a6fa03a5f344974c9b6ade8e7c3336fbf71ec8b09f55501ab8143419bba8039c06ca7bb2004327deda7e9c6fcf28c7aa712ed16724b396a122028a633f098fb
+EBUILD pgbadger-11.0.ebuild 454 BLAKE2B f0fde0f81f5af4fe540bfc652b607686b574a0f4edbc4e7ed251421c8962223e8357955da642b525b5dea3fa6ae498c46232502a628df04373b28b52b7da6f8f SHA512 f1140736e8be887d864e7579e0da07b5f4f774ad4ed8bb7993c29173ff87735f02e168be4a1d955cfed9dad795b051f5d65eb773b856c35e613096ce26cc2fce
MISC metadata.xml 413 BLAKE2B 9b4f24620b42d2cf5befbaed7d52ed2e03d4619ebb547d36e207a900fe481a825a5be0a6fac073d7b278076ced053ae9a3c4b5d05597e5fb4d7ea66c1bff7988 SHA512 6bf32dc50ecd2d51d450413500b00773177109ab3ad26d74b458ec902973fa38542dbc65e65fbbe103b4be63589f61c2b9a6ab6ea5492b1954142afc5c2f8f93
diff --git a/dev-db/pgbadger/pgbadger-11.0.ebuild b/dev-db/pgbadger/pgbadger-11.0.ebuild
index 368c54188f29..83b95438fda0 100644
--- a/dev-db/pgbadger/pgbadger-11.0.ebuild
+++ b/dev-db/pgbadger/pgbadger-11.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
DEPEND="
dev-perl/JSON-XS
diff --git a/dev-db/pgbouncer/Manifest b/dev-db/pgbouncer/Manifest
index 869afc913ace..0bb0cf591832 100644
--- a/dev-db/pgbouncer/Manifest
+++ b/dev-db/pgbouncer/Manifest
@@ -4,6 +4,6 @@ AUX pgbouncer.confd-r1 457 BLAKE2B 0b2e33b57ee33eac42742a8f9fe7c0f090bad53c5d7c2
AUX pgbouncer.initd-r2 2204 BLAKE2B 9c417188d4a762906c7631f1ae8fc7c7b8f6c52805acf6bfc12d580c53b2faa4e36b7c0662852feaf78aebcc29498bb8ae441d749a710793508c6950a448862f SHA512 dd9e8f7487affcc46b359e6d07a4c2fd698626d7360d2b2929389bbd7a340059eb27f0e0e9a648b7005c446d65762edbb02b865fa68194ebb822c01fba19fd7e
DIST pgbouncer-1.10.0.tar.gz 480571 BLAKE2B a0c1dadc48f38cfe0ba2641791b4734da84cfe6674198bb2a8014bc92543850e909d7b4649b99e78d58febaa0f89f62b6694f6333b1111cbd62ff2f22741984d SHA512 8ec9f102b57ca5f92fb689588ec090056ac29f21825400ec67bca413fe076ad50e0b491e65c4cfebc488cc245eb3c88c36db2ee0ba1cb737f35404be0983dd1d
DIST pgbouncer-1.9.0.tar.gz 469300 BLAKE2B 466f171a49ec9ce9be9a9d3208780cfbff956da7c74ec4332c7104ea537cb47a5cfdc0d80bbd96d233769b6f430f1ad99b623caefa2dc93af7ba336dd0f49514 SHA512 b127f4cb60ca5cdf339da76727918f0a3797a3e0a89f8ed6fdcaa80f3391d2c5bb51e19731915775210c0e5070dd611ee2e410c9a947624e45b5cf11aecdacf9
-EBUILD pgbouncer-1.10.0.ebuild 1892 BLAKE2B e4b9d58e27de0d8987f7f2bcb8b2a722e39888c66b97416718e4304bd900a9d35cc396d9c3a5c798e1b7b90565894eb19c67416c7c706f4362dac89bb6d437d1 SHA512 03d92729e095715fbfb09203dd078e2d6e4a6f76862bf672af75362a999bfbdbd28ee502c6c7d39f49c80f9231f0b28906d60a738b3063106b4540e38ab21a2e
+EBUILD pgbouncer-1.10.0.ebuild 1890 BLAKE2B 3040ae1502615e4b2dbc4a4e0baf503908eb97d53c94b98188edfe7916b3e9dfbac3d4ed74ad583cf36532260c0ebb12fbf0d5fee45c7efbb257720655ddb8de SHA512 4eb12a8791b02fa1ed0b0ab941194fb713a8b83a7d18e1d090a0603d29d2e37572725cc050764239749bc53b2b4a64bf044fa32ad08f9056fffc81144ca79d7b
EBUILD pgbouncer-1.9.0.ebuild 1893 BLAKE2B be596d0ec72a92b9c4351de0e9ff04b5f5f12e4c53684c12aec583e577ff20729f015890394e7ebeabdbf97ef84bcf6e4bad114b84c59e2ab07bd4ecd73c1013 SHA512 b65617a84baa28abb9c207f1a0567d9267cb936823539d908dcde9735fbb66d3b2619386e74fa8f4222cbba7b09227b03f3d9c2ec2abdfe21316110941a7c56e
MISC metadata.xml 472 BLAKE2B b06a5dca1ee52c85fa1f948c4c8cf6e83c0aba3e0b0bd77672f1585c01d0a2f8ef4d7502e30e9cb658ec3dd3e53560671b69210166c36b4ce888e329f531585b SHA512 b098e87be6194706f462bb93c4bf5425023f7bd90a0ed421a51ea42db98c85ebd77f23eb413f4e271e126ad4404cd0bdf0694f675662c421f7afd8ec0f036b4d
diff --git a/dev-db/pgbouncer/pgbouncer-1.10.0.ebuild b/dev-db/pgbouncer/pgbouncer-1.10.0.ebuild
index caae5f40fcfd..e10c0a287d82 100644
--- a/dev-db/pgbouncer/pgbouncer-1.10.0.ebuild
+++ b/dev-db/pgbouncer/pgbouncer-1.10.0.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://pgbouncer.github.io"
SRC_URI="https://pgbouncer.github.io/downloads/files/${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="+c-ares debug doc pam ssl -udns"
# At-most-one-of, one can be enabled but not both
diff --git a/dev-db/spatialite/Manifest b/dev-db/spatialite/Manifest
index 86453745b1a5..cca12fb31bb4 100644
--- a/dev-db/spatialite/Manifest
+++ b/dev-db/spatialite/Manifest
@@ -1,5 +1,5 @@
DIST libspatialite-4.3.0.tar.gz 4439538 BLAKE2B f3bbda3b9d6099197691eb85e20c693d5cbc3a8958c8f23bd1ba57add9d8676895163d845a4aadd690650244ffa7ae2a02ce86e844e032b815fe4c94f30fb4b8 SHA512 b686766ed90711a41efbf219a8942ead8aefda8784a9cabc59233f107e0e10eda949d022152af1064a169975aa6a47515f6064589166418b853427dde5779ecc
DIST libspatialite-4.3.0a.tar.gz 4440660 BLAKE2B 2eb2afb96b096b86be9c30cf71663b7b2839d345b6c418fc8511653ed59d0aeff1756b6b19807140c67128c938e39be66d13088640658d14883c92c438c97251 SHA512 adfd63e8dde0f370b07e4e7bb557647d2bfb5549205b60bdcaaca69ff81298a3d885e7c1ca515ef56dd0aca152ae940df8b5dbcb65bb61ae0a9337499895c3c0
EBUILD spatialite-4.3.0-r1.ebuild 1060 BLAKE2B f01a8c5e0d60da79a3d3a524fdbd51b8afe63285746e1b5458d05742d0eb2b78bc02550dbb326f86691f0559a3d5c2f039007cba60fc3f07d9f49c1ad95b658b SHA512 1acdc18e95954a6bd6c510c80ea85b78f59435efa66f53d1f4029cc536f301243bb030161a2ad4eed596f15d2c4f1ce52b4fd673400decd171da9b11e356d582
-EBUILD spatialite-4.3.0a.ebuild 1072 BLAKE2B fca30b1c5e55b319b8b06ad509a2e305e8bad3fd5c208ec17991f0aba11ea8acdf8bd32a976511cb55d979e298c09f8973757ed2c627e4c91b658154d8682ac1 SHA512 1c63596e1101681677dfb36866f1e6135520cc6687243383d3c5b859d85bb899ea6ee0729a98448c7a8d8e882a79739c4b5cf235edead99ddc75d2336d47c90e
+EBUILD spatialite-4.3.0a.ebuild 1067 BLAKE2B 25892661a8a88737205c12710502236cfd26adcac2872a41c75adb265db5fa71e7719a59d734a7ef86f8aec6af9873a8cf242650bf3688cea49c3da1dc035a01 SHA512 46a1254fcdf31bcb867ddd74cf330c2c62911a9b3b79a6dd9dd5dc6b75a9d1902d0d69e59e0d7ff55b38a9abcc7ef32985d881e52a0d9c0d0dacd0c1b5a71a6c
MISC metadata.xml 559 BLAKE2B b128c4425723bb652063fd3ebebcd83de75a44c7a01e5a8b6c6596cad0bcd1a5f86977f4e3b49d2f1945ea83f12f9761ba712d5f1d919338996c7ddf18bc4a66 SHA512 a21438d83d828b52e4fc16f91edd29e6ace87ada9b697cf233b847a6d3a9f5196135769993873f23409f98548bf852a4e89645c2b0eaf57bd8427ff6dcc36111
diff --git a/dev-db/spatialite/spatialite-4.3.0a.ebuild b/dev-db/spatialite/spatialite-4.3.0a.ebuild
index d822e5ce055d..796d1774d60c 100644
--- a/dev-db/spatialite/spatialite-4.3.0a.ebuild
+++ b/dev-db/spatialite/spatialite-4.3.0a.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,7 @@ SRC_URI="https://www.gaia-gis.it/gaia-sins/${MY_PN}-sources/${MY_P}.tar.gz"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86"
IUSE="+geos iconv +proj test +xls +xml"
RDEPEND="
diff --git a/dev-db/sqlcipher/Manifest b/dev-db/sqlcipher/Manifest
index dbb55864f1f9..c77bf9f9e062 100644
--- a/dev-db/sqlcipher/Manifest
+++ b/dev-db/sqlcipher/Manifest
@@ -2,5 +2,5 @@ AUX sqlcipher-3.4.2-libressl-2.8.patch 490 BLAKE2B 5ac29fbf1370f1ed1a28335d68f86
DIST sqlcipher-3.4.2.tar.gz 14743960 BLAKE2B 88ee265b02bb9a42734c2ef93070c8fd8e13d546d7cc85e7fbfd6e6046ccbf2626d75e14b19cbba379c99784c7311d0100de06235b99b4908c60c99890d8d7a2 SHA512 c620bf2b175e404afd60ebe76b5476f5a447ff5fcdfa31bebc3f4bd7f1ebfcd507ee423cd582c9b3d6431d8b57320171492da2586e1a739adb4f440e7443dc03
DIST sqlcipher-4.0.1.tar.gz 17006324 BLAKE2B 44e8eb4e1230c3625b4fe1b4af608cd8edc25f3c6adf7e11450c8f9ddb7970fea92ff0823f3a1e631d1b0acfbab6cf078c80e4645c535d66de57f1d73b55ff47 SHA512 0fb48326860a10e9849b2f56fae0c310deae124c7203b54d51f92d346782be795d505c29eafbdfb7206f5e7be54c0f7228fe50c45bd9d2b23cca976b263264fc
EBUILD sqlcipher-3.4.2.ebuild 1470 BLAKE2B f0820774b609ca8045c015687c966909e2094577eb741fea9efc43d73d69712c6c38f1faec36cb7f4e68ccd8785cc99e6593956525591a8f98dbdffb8003f873 SHA512 80590c4c20230c9af47c3c2e8a51175bbc258c3738aba529879906976700880d67ff66840c69cbb32a53a5ff7344c90774b2905f3429e5eee0f005376a060c96
-EBUILD sqlcipher-4.0.1.ebuild 1627 BLAKE2B 258ddb4af9b98087b013a41470c32774c6b148b22facc1c81557428d74737be2036b7848a9a31ddbb74ae15673596b37a4988cfdb7bc7b5f701ec50e2423515f SHA512 fe40b4090a11183d24961031aa11c3bfed87694f1845789eda90a84a79c6d3bc6638018128de5ed92a2f428a462a3a2ef1688122927b85246ba4e6ca6741edd8
+EBUILD sqlcipher-4.0.1.ebuild 1670 BLAKE2B 05bafb28456a408367973a8115b5ae9e273be86e3391225ff1170c34297c84d3ed012bbbbef5287091d329390fd6cc9e5d787051139ce6fdc6ccd6348f59c43f SHA512 b80daff29d79ed5d74cdecd1f7ba95f5050d42633d1f9058865f4cc046fb1b73979378b3122a45910666b4de28608e23cabc86c62bea6cfe68c5d212db40dcbf
MISC metadata.xml 341 BLAKE2B f5035fe38770437027936a72b9b7d66854fd6a19cf19f7140e409e8004297ed3da11aab122ba81b2f2b5d82302e8252462a7f185de0a998f79d348dd45e16c7e SHA512 b387658993279fb3c74c7647b36035f5c0e0e3e81a3cf4eab28f3dac19319f0b6958cfa16fab30295e5508c0810d601b0e2899710f57e992886f35c781e37dfa
diff --git a/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild b/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild
index 7ce770c2ff1d..587212f81091 100644
--- a/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild
+++ b/dev-db/sqlcipher/sqlcipher-4.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/sqlcipher/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="debug libedit readline libressl static-libs tcl test"
@@ -35,6 +35,9 @@ REQUIRED_USE="
DOCS=( README.md )
+# Testsuite fails, bug #692310
+RESTRICT="test"
+
src_prepare() {
# Column metadata added due to bug #670346
append-cflags -DSQLITE_HAS_CODEC -DSQLITE_ENABLE_COLUMN_METADATA