summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin17625 -> 17599 bytes
-rw-r--r--dev-db/SchemaSync/Manifest7
-rw-r--r--dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild24
-rw-r--r--dev-db/SchemaSync/SchemaSync-0.9.4.ebuild23
-rw-r--r--dev-db/SchemaSync/SchemaSync-0.9.5.ebuild23
-rw-r--r--dev-db/SchemaSync/metadata.xml12
-rw-r--r--dev-db/etcd/Manifest24
-rw-r--r--dev-db/etcd/etcd-3.3.17.ebuild78
-rw-r--r--dev-db/etcd/etcd-3.3.18.ebuild78
-rw-r--r--dev-db/etcd/etcd-3.3.19.ebuild78
-rw-r--r--dev-db/etcd/etcd-3.3.23.ebuild (renamed from dev-db/etcd/etcd-3.4.5.ebuild)20
-rw-r--r--dev-db/etcd/etcd-3.3.24.ebuild (renamed from dev-db/etcd/etcd-3.4.4.ebuild)23
-rw-r--r--dev-db/etcd/etcd-3.4.10.ebuild (renamed from dev-db/etcd/etcd-3.4.7.ebuild)23
-rw-r--r--dev-db/etcd/etcd-3.4.11.ebuild (renamed from dev-db/etcd/etcd-3.3.20.ebuild)56
-rw-r--r--dev-db/etcd/etcd-3.4.3.ebuild86
-rw-r--r--dev-db/influxdb/Manifest458
-rw-r--r--dev-db/influxdb/files/influxdb.confd6
-rw-r--r--dev-db/influxdb/files/influxdb.rc-r145
-rw-r--r--dev-db/influxdb/influxdb-1.8.0-r1.ebuild504
-rw-r--r--dev-db/influxdb/influxdb-1.8.0.ebuild505
-rw-r--r--dev-db/influxdb/influxdb-1.8.1.ebuild508
-rw-r--r--dev-db/influxdb/metadata.xml3
-rw-r--r--dev-db/innotop/Manifest4
-rw-r--r--dev-db/innotop/innotop-1.11.1.ebuild27
-rw-r--r--dev-db/innotop/innotop-1.11.4.ebuild27
-rw-r--r--dev-db/mariadb-connector-c/Manifest6
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild88
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild88
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild88
-rw-r--r--dev-db/mariadb/Manifest56
-rw-r--r--dev-db/mariadb/mariadb-10.1.38-r2.ebuild (renamed from dev-db/mariadb/mariadb-10.1.38-r1.ebuild)10
-rw-r--r--dev-db/mariadb/mariadb-10.1.43.ebuild896
-rw-r--r--dev-db/mariadb/mariadb-10.1.45-r1.ebuild (renamed from dev-db/mariadb/mariadb-10.1.45.ebuild)12
-rw-r--r--dev-db/mariadb/mariadb-10.1.46.ebuild (renamed from dev-db/mariadb/mariadb-10.1.44-r1.ebuild)121
-rw-r--r--dev-db/mariadb/mariadb-10.2.22-r2.ebuild (renamed from dev-db/mariadb/mariadb-10.2.22-r1.ebuild)10
-rw-r--r--dev-db/mariadb/mariadb-10.2.29.ebuild985
-rw-r--r--dev-db/mariadb/mariadb-10.2.31-r1.ebuild1029
-rw-r--r--dev-db/mariadb/mariadb-10.2.32-r2.ebuild (renamed from dev-db/mariadb/mariadb-10.2.32.ebuild)19
-rw-r--r--dev-db/mariadb/mariadb-10.2.33.ebuild1017
-rw-r--r--dev-db/mariadb/mariadb-10.3.20.ebuild985
-rw-r--r--dev-db/mariadb/mariadb-10.3.23-r2.ebuild (renamed from dev-db/mariadb/mariadb-10.3.23.ebuild)13
-rw-r--r--dev-db/mariadb/mariadb-10.3.24.ebuild (renamed from dev-db/mariadb/mariadb-10.3.22-r1.ebuild)130
-rw-r--r--dev-db/mariadb/mariadb-10.4.10.ebuild1015
-rw-r--r--dev-db/mariadb/mariadb-10.4.13-r2.ebuild (renamed from dev-db/mariadb/mariadb-10.4.13.ebuild)13
-rw-r--r--dev-db/mariadb/mariadb-10.4.14.ebuild (renamed from dev-db/mariadb/mariadb-10.4.12.ebuild)67
-rw-r--r--dev-db/mariadb/mariadb-10.5.5.ebuild1051
-rw-r--r--dev-db/mariadb/mariadb-5.5.66.ebuild835
-rw-r--r--dev-db/mariadb/mariadb-5.5.67.ebuild835
-rw-r--r--dev-db/mariadb/mariadb-5.5.68-r1.ebuild (renamed from dev-db/mariadb/mariadb-5.5.68.ebuild)8
-rw-r--r--dev-db/mariadb/metadata.xml2
-rw-r--r--dev-db/mycli/Manifest5
-rw-r--r--dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch11
-rw-r--r--dev-db/mycli/mycli-1.21.1-r1.ebuild49
-rw-r--r--dev-db/mycli/mycli-9999.ebuild34
-rw-r--r--dev-db/myodbc/Manifest20
-rw-r--r--dev-db/myodbc/files/5.3-cmake-doc-path.patch43
-rw-r--r--dev-db/myodbc/files/5.3.10-cxxlinkage.patch29
-rw-r--r--dev-db/myodbc/files/5.3.10-mariadb.patch58
-rw-r--r--dev-db/myodbc/files/8.0.16-cxxlinkage.patch63
-rw-r--r--dev-db/myodbc/files/cmake-doc-path.patch43
-rw-r--r--dev-db/myodbc/myodbc-5.3.10-r3.ebuild130
-rw-r--r--dev-db/myodbc/myodbc-5.3.9.ebuild112
-rw-r--r--dev-db/myodbc/myodbc-8.0.16.ebuild119
-rw-r--r--dev-db/myodbc/myodbc-8.0.17.ebuild119
-rw-r--r--dev-db/myodbc/myodbc-8.0.20.ebuild118
-rw-r--r--dev-db/myodbc/myodbc-8.0.21.ebuild (renamed from dev-db/myodbc/myodbc-8.0.19.ebuild)0
-rw-r--r--dev-db/mysql++/Manifest10
-rw-r--r--dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch11
-rw-r--r--dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch254
-rw-r--r--dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch29
-rw-r--r--dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch178
-rw-r--r--dev-db/mysql++/mysql++-2.3.2-r1.ebuild49
-rw-r--r--dev-db/mysql++/mysql++-3.2.3-r1.ebuild55
-rw-r--r--dev-db/mysql++/mysql++-3.2.4.ebuild61
-rw-r--r--dev-db/mysql-connector-c++/Manifest2
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild44
-rw-r--r--dev-db/mysql-connector-c/Manifest16
-rw-r--r--dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch13
-rw-r--r--dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch300
-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/files/mysql-connector-c-8.0.19-libressl.patch297
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-libressl.patch (renamed from dev-db/mysql-connector-c/files/mysql-connector-c-8.0.20-libressl.patch)70
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch18
-rw-r--r--dev-db/mysql-connector-c/files/mysql_com.patch31
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild83
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild111
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.21-r2.ebuild (renamed from dev-db/mysql-connector-c/mysql-connector-c-8.0.19.ebuild)13
-rw-r--r--dev-db/mysql-workbench/Manifest3
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch123
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild110
-rw-r--r--dev-db/mysql/Manifest19
-rw-r--r--dev-db/mysql/files/my.cnf-5.6139
-rw-r--r--dev-db/mysql/mysql-5.6.45-r2.ebuild855
-rw-r--r--dev-db/mysql/mysql-5.7.27-r2.ebuild (renamed from dev-db/mysql/mysql-5.7.27-r1.ebuild)4
-rw-r--r--dev-db/mysql/mysql-5.7.29-r1.ebuild (renamed from dev-db/mysql/mysql-5.7.29.ebuild)4
-rw-r--r--dev-db/mysql/mysql-5.7.30-r1.ebuild (renamed from dev-db/mysql/mysql-5.7.30.ebuild)4
-rw-r--r--dev-db/mysql/mysql-5.7.31.ebuild1235
-rw-r--r--dev-db/mysql/mysql-8.0.19-r2.ebuild (renamed from dev-db/mysql/mysql-8.0.19-r1.ebuild)4
-rw-r--r--dev-db/mysql/mysql-8.0.20-r1.ebuild (renamed from dev-db/mysql/mysql-8.0.20.ebuild)4
-rw-r--r--dev-db/mysql/mysql-8.0.21-r1.ebuild1168
-rw-r--r--dev-db/percona-server/Manifest7
-rw-r--r--dev-db/percona-server/percona-server-5.7.27.30-r1.ebuild (renamed from dev-db/percona-server/percona-server-5.7.27.30.ebuild)4
-rw-r--r--dev-db/percona-server/percona-server-8.0.19.10-r1.ebuild (renamed from dev-db/percona-server/percona-server-8.0.19.10.ebuild)4
-rw-r--r--dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild1214
-rw-r--r--dev-db/pg_activity/Manifest2
-rw-r--r--dev-db/pg_activity/metadata.xml2
-rw-r--r--dev-db/pgpool2/Manifest6
-rw-r--r--dev-db/pgpool2/pgpool2-3.7.10.ebuild4
-rw-r--r--dev-db/pgpool2/pgpool2-4.0.5.ebuild4
-rw-r--r--dev-db/pgpool2/pgpool2-9999.ebuild4
-rw-r--r--dev-db/pgrouting/Manifest2
-rw-r--r--dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild4
-rw-r--r--dev-db/pgtap/Manifest2
-rw-r--r--dev-db/pgtap/pgtap-0.99.0.ebuild4
-rw-r--r--dev-db/phppgadmin/Manifest4
-rw-r--r--dev-db/phppgadmin/files/postinstall-en.txt4
-rw-r--r--dev-db/phppgadmin/metadata.xml11
-rw-r--r--dev-db/phppgadmin/phppgadmin-7.12.1.ebuild38
-rw-r--r--dev-db/plr/Manifest2
-rw-r--r--dev-db/plr/plr-8.3.0.17.ebuild4
-rw-r--r--dev-db/postgis/Manifest10
-rw-r--r--dev-db/postgis/postgis-2.5.3-r1.ebuild2
-rw-r--r--dev-db/postgis/postgis-2.5.4.ebuild137
-rw-r--r--dev-db/postgis/postgis-2.5.5.ebuild137
-rw-r--r--dev-db/postgis/postgis-3.0.1.ebuild135
-rw-r--r--dev-db/postgis/postgis-3.0.2.ebuild135
-rw-r--r--dev-db/postgresql/Manifest20
-rw-r--r--dev-db/postgresql/files/postgresql-13_beta1-no-server.patch (renamed from dev-db/postgresql/files/postgresql-9.4.10-no-server.patch)102
-rw-r--r--dev-db/postgresql/postgresql-10.14.ebuild456
-rw-r--r--dev-db/postgresql/postgresql-11.9.ebuild458
-rw-r--r--dev-db/postgresql/postgresql-12.4.ebuild458
-rw-r--r--dev-db/postgresql/postgresql-13_beta2.ebuild (renamed from dev-db/postgresql/postgresql-13_beta1.ebuild)0
-rw-r--r--dev-db/postgresql/postgresql-13_beta3.ebuild458
-rw-r--r--dev-db/postgresql/postgresql-9.5.23.ebuild (renamed from dev-db/postgresql/postgresql-9.4.26.ebuild)27
-rw-r--r--dev-db/postgresql/postgresql-9.6.19.ebuild481
-rw-r--r--dev-db/pspg/Manifest2
-rw-r--r--dev-db/pspg/pspg-3.1.2.ebuild2
-rw-r--r--dev-db/redis/Manifest12
-rw-r--r--dev-db/redis/files/redis-4.0.1-shared.patch32
-rw-r--r--dev-db/redis/files/redis-4.0.1-sharedlua.patch60
-rw-r--r--dev-db/redis/files/redis-sentinel-4.0.6-config.patch9
-rw-r--r--dev-db/redis/redis-4.0.14.ebuild156
-rw-r--r--dev-db/redis/redis-5.0.9-r1.ebuild2
-rw-r--r--dev-db/redis/redis-5.0.9.ebuild160
-rw-r--r--dev-db/redis/redis-6.0.6.ebuild (renamed from dev-db/redis/redis-6.0.5.ebuild)0
-rw-r--r--dev-db/repmgr/Manifest2
-rw-r--r--dev-db/repmgr/repmgr-5.1.0.ebuild38
-rw-r--r--dev-db/sadisplay/Manifest4
-rw-r--r--dev-db/sadisplay/metadata.xml2
-rw-r--r--dev-db/sadisplay/sadisplay-0.4.9.ebuild2
-rw-r--r--dev-db/slony1/Manifest4
-rw-r--r--dev-db/slony1/slony1-2.2.6.ebuild4
-rw-r--r--dev-db/slony1/slony1-2.2.7.ebuild4
-rw-r--r--dev-db/sqlite/Manifest20
-rw-r--r--dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch14
-rw-r--r--dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch72
-rw-r--r--dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch163
-rw-r--r--dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch20
-rw-r--r--dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch112
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch670
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch (renamed from dev-db/sqlite/files/sqlite-3.31.0-full_archive-build.patch)338
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch361
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch302
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch220
-rw-r--r--dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch146
-rw-r--r--dev-db/sqlite/sqlite-3.32.3-r1.ebuild (renamed from dev-db/sqlite/sqlite-3.31.1.ebuild)109
-rw-r--r--dev-db/sqlite/sqlite-3.32.3.ebuild340
-rw-r--r--dev-db/tokumx/Manifest2
-rw-r--r--dev-db/tokumx/metadata.xml4
169 files changed, 13905 insertions, 12140 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 306f7f21a102..509bdfd1b27f 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/SchemaSync/Manifest b/dev-db/SchemaSync/Manifest
deleted file mode 100644
index d817b6637cc7..000000000000
--- a/dev-db/SchemaSync/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-DIST SchemaSync-0.9.2.tar.gz 12828 BLAKE2B 050a027376282816bef34d6a7e146e590c5ebc279649f03d65129d33b9941c08aeb7bb58a302b9a77a62c8b7820b8dcbd6bc783c2405a25a4baca863baa53d3e SHA512 4f2522c05e3cf0957fe0d51cc48f3a45fd8eaeb341801bfdeb32bb7e959e8a250a84a162b80853f2010a99a932ef7d1b556579f7c77971f0e9a3e0fa87531599
-DIST SchemaSync-0.9.4.tar.gz 13824 BLAKE2B d98cd5cc0d6275ac5e4bb0272f4ab2879f4639b0e2986c175297ab3cc60930f63c3288cc2c3194784078958749c8e95a9e9ecdf660e071a61caac37b9659f2e3 SHA512 0087f5f634d2374def5e1dd2dd8d6d57d3fca9322bba23aee461487053233dba30ce889a87747ce2c11bd9a7e08418d619e9fd8b910ea303987b57bac7609248
-DIST SchemaSync-0.9.5.tar.gz 13973 BLAKE2B e76dd4e2e69875dedafed44214b6e30db6e71f4ee62a4bcd1cf1592c6727ae9d6f70190aa288559594d278b3962f8cb91eeb3d4b4b9014737be8b6b37acc9e84 SHA512 8ee37c099de8e3627d3d708c5642e4e0b7304306002bfa82d24cd2a733539bd0d5144d6afd18dd06e229a87b05ee569fe2febc727785a085bb32169581805934
-EBUILD SchemaSync-0.9.2-r1.ebuild 568 BLAKE2B a88730eb8d9f71df54ab1f617f1166f638ed530dbe168d7439409e614c968054939e3f5dbf7b212977250baf384d05f23cdba82023d2f64cd24360bfee03a9ce SHA512 6c7501e38ab17d0bfe24f78338e525415aac6f81bce0423e6db1dc2787ef43f82f8788f61cdd6de6d9916348332ca9d9fc4743b1fa15f16903ef6cb63acd84c8
-EBUILD SchemaSync-0.9.4.ebuild 550 BLAKE2B 550326591dcea19d82af7373fc5a1bd13356054bf679b1d01ee57ca05fd9b04989f0b24d07aacb879c5f475f2b8eedd0e3520fd5d1b14345caca7a16d5f24bb4 SHA512 620a7eecfdb121ef9d9076e7978921d07766e2fe3b54b02d2947fa6803be81c1dffcbcf73d9a8a66270320d538ec4194aead79af1d02f1c74d61cf1eb06c490b
-EBUILD SchemaSync-0.9.5.ebuild 550 BLAKE2B aeb421fbd4f55f0c0afd1ad5bb3c600d455413fcb56d1a953874653689c9c3b9010360b7f13bf299013a141917b69521c91b836c9fc23b1efa04ec7001786796 SHA512 252e8d0e8b3cac03f0a3f180f3adc3633dd77c5e4562f7f7ec4f8a84236e2ed2492c573e0849f4cf10c0e0eaaf1df30c18bb999984fd3cb4280736a10f3df49a
-MISC metadata.xml 384 BLAKE2B 124298e3a428e69e9fd9b204453ddc37d5e283bc9c5fdb2565c7c876b2b1f95fb9bf0c3485089b971f0f486d74b4d2674647098ed0bc6803266067964bd9cc75 SHA512 8b370f82a807086da710e4af1e39a5e6e9b2cc06e89171c91d2516ad96fd5e5f8f96ff745943123368bf9773a0408f6563a5eee38ec36fab38e872ad08120960
diff --git a/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild
deleted file mode 100644
index cd2e1b2955e8..000000000000
--- a/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="MySQL Schema Versioning and Migration Utility"
-HOMEPAGE="https://github.com/mmatuson/SchemaSync"
-# old download location is down
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/mysql-python[${PYTHON_USEDEP}]
- dev-python/SchemaObject[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild
deleted file mode 100644
index f11cb9686919..000000000000
--- a/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="MySQL Schema Versioning and Migration Utility"
-HOMEPAGE="https://github.com/mmatuson/SchemaSync"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/mysql-python[${PYTHON_USEDEP}]
- dev-python/SchemaObject[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild
deleted file mode 100644
index 77f6e927f299..000000000000
--- a/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="MySQL Schema Versioning and Migration Utility"
-HOMEPAGE="https://github.com/mmatuson/SchemaSync"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/mysql-python[${PYTHON_USEDEP}]
- dev-python/SchemaObject[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/dev-db/SchemaSync/metadata.xml b/dev-db/SchemaSync/metadata.xml
deleted file mode 100644
index 5cddb3363d44..000000000000
--- a/dev-db/SchemaSync/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <upstream>
- <remote-id type="github">mmatuson/SchemaSync</remote-id>
- <remote-id type="pypi">SchemaSync</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index c04004fa3d31..91eb100e66a3 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -4,20 +4,12 @@ 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.17.tar.gz 6507229 BLAKE2B e49b66a3a2bb5be254cb3400341d4f1454608a9923295826ce780fb5750b6182ec7ec35996ef538aa38863cacd0c0e3efd072ce5c3dae1e65509ce962964994d SHA512 73f8ddab1c27c77cedeb602201d01b433363c9550ec26b4729f2c5c114aefa4b90d444fd5a7696272c2cccdc8329e641f073ef9f39c7ea4e62837341dfc28641
-DIST etcd-3.3.18.tar.gz 6508732 BLAKE2B cce52ac9fa005388bafacf3d0bf049f3930de12d0cb50cc863655fdbc35cae2d647f64eddb699cb1ef7b3736687a9978cd120d181b274b663a1ac2b7eb549729 SHA512 1146baa8c424a6ddb4a2a10494e2f82ba0c22def1fcd3e041b871c060ca915267f1a2e1c455b017eded1908300ddbd8a3849ee3c5dda93489d9eeaaa90baf254
-DIST etcd-3.3.19.tar.gz 6509566 BLAKE2B 0037858daa134e63c6629defe099cc772b758e220a093e719b2d41c2e519a2c2d923d26e8635fb1f7cabe2ec0a0250236293c838d9c34d1745673211dc4f526c SHA512 9f21692466bcb240bac042f4e7ee6f4575c05312542827c7349257b87c9d4a1a625b200fcbb0852c86c192624cd02e9a8d80caa194d25d4b63aa5e33b100eac1
-DIST etcd-3.3.20.tar.gz 6509856 BLAKE2B 49e0ae7a56ce9e84664cd4395a91518c01e42346edc83bd61a84883da013b6cfda15c17cdb6ce5c44760574ee2101e7d39c32aaf458ceb1b505aea5ae787f1b6 SHA512 66aee553b053dea732ab3716676a05f5357a38ff0cb3ef8b6be4b80f4f54f0720578db9438b31e88bdb61aa662443d6b7993fa37af639208618bff76285ea7f9
-DIST etcd-3.4.3.tar.gz 8941589 BLAKE2B 127e4a8dd9495686ffc43099c3002e0e3c00ab661bce917ac298f69351e1226dff0efcaf9277c1e46449abafef965af8f612a127e1e30c381545073232a2ff50 SHA512 0bc1e857b707be1d348f5ab58a330d259dd30338c28580751142f643b2a081d1fe42a8859fa9463a734ff27f51929dc89f933f044b89d6e549a348add034d752
-DIST etcd-3.4.4.tar.gz 8940682 BLAKE2B c165fbb61d87d4a42261742bf302e6a04daa67e6ebea6f12314b77a9a12afd0e6b02e642b827e8b14fa77eedd207fe32c047f19f0487f54aba1e0db6774673f2 SHA512 81de69c422c58c73df8812127f29e49e1d81dacf47e26fe4b8a332b6b19f0242086c5e3b52fdbbbf08d91abe6213400887dc72e837effeec73a182a8caca9d20
-DIST etcd-3.4.5.tar.gz 8943585 BLAKE2B 6df1538ec1e65c6f1a7fc41c0ceb29ca126efe797c8e6e029dfd45cdfeadacd322a46e18f627cac6defd78d8a17ddf09b5a0918fb454bfbafd450084de972c5a SHA512 cd8845433e208cbe1cf0e0a001ee503d42b73f44ac0e0578d9ee8692f95262929c0cec3a2622f9cd3ea8d393a136de47a7e0d0875b4e0cd9d8eeddd45ca3bea5
-DIST etcd-3.4.7.tar.gz 8943976 BLAKE2B 7dd81324e78ef53577055c54e851680b2421524aea1148449cd1003391029e110c90bd607730955ac4081c49e846da08159553f8db7d768e15dda51b8bf657ca SHA512 18851be0cbe8dabc6be8ba0c61d783f21b1fb9403256166016767926c731f1d95a1adebad9f36d43c57a424a7ac88c49b1d1ce01c2aa065e5bbbff847eb9234a
-EBUILD etcd-3.3.17.ebuild 2003 BLAKE2B b17a2eb321060ae13b0fcd6ccc347b9449a3e113489431e95a96e3cec570c3f65adac65b446357eac95f0faaae0a2f33548fc51cd4bb05a37725a2529f076338 SHA512 41bdae1f83128670a89ab695a03a550d6ad29b29b977cf0e992c9c2a04d4110be651e7a15b615d34e83d1646a3573c8521b09a168d65069fb682846febb1f826
-EBUILD etcd-3.3.18.ebuild 2004 BLAKE2B ebbf4469e049005dae059bd5207a834b99ae01aef51a395df2e39f2b6e56018072e4c5eecb52f8ffe9199d95e0c82ba629b17e10f490215711a6700ed4d839c5 SHA512 cffde362cc2300daf694d5b32c4b83ab4c6f57d47199b9a2ce62719606e1a384e6df977ac27863ffe9b271064be6e1aad67b7b62f4284dd2f73c92a7756a1e67
-EBUILD etcd-3.3.19.ebuild 2004 BLAKE2B 665bd307525157ab80a1791766c37aee07036f4e2f19c676b1d80b168b5390218b4f903988262a6d8afe45151dc6da01e7013729da78493f713ae2d1ebeb076d SHA512 62bd2f93cb5cadb3c3bbab62af92be758fa2235565dd42f0b33876e9fca375ad79807593e004ae40d2b38d748f0e47d3f51f117cbd2dcff577332f5bee35ceed
-EBUILD etcd-3.3.20.ebuild 1999 BLAKE2B 1c5c7212be7ccb34b0c13b2fa1c1ad6dea1390d83fe8170b1a8b33c1d1ecb1855f9257c5bac3f8b35d157618dc92a9bacf83401c1d4e14a99857daceb965ef47 SHA512 b9bdfe5a7142459426c0b0748ebd013a479e25fb56132c82d1fef82d6c43e25a8c492df6fc12cbc31df555ad54d289606efaf622d1b2f978b1aab7d7fe985d7f
-EBUILD etcd-3.4.3.ebuild 2293 BLAKE2B 3e48ca6f1af6a37ee3bd15e3d2513638098def4fdc3bb409c18fe05eeb13ff20e3e32f0644d62e9bcc39c8ef06b4de73789ecda3dfcdceedbd5c349f7aec2378 SHA512 5efb197de44968897880100693bf16c213ffb59cdd51dd8abcc36eb57fdff31bed7d3850438a8511e23c28f370d8e3e1b49b810f3c58bab1cd150a2e22c11631
-EBUILD etcd-3.4.4.ebuild 1886 BLAKE2B 8fd02659a857dc9d4f543e8224661646ba7f8afff19af3f0e789226c1b2e7b71faf27c8a99c4f9f12c7744e4a3fd78f6e5bd85909d915385a1ac96a2e3060395 SHA512 130e0153f58d02b762ad27f35dfa0447684f4d55559bf49a3e3d31055192f33514a5925afa2e5a30b87214e178375763e6aff62fe67d6bc48b61ac6b4d80dd06
-EBUILD etcd-3.4.5.ebuild 1886 BLAKE2B 5a4e4377940c0eee13a57a4fc2e431b420161ab31bf539b489f03c97d7608e45dd00cf04a486d4abb7d29a865f8b71467750248a6f01369a35f483442eb91947 SHA512 a1c04e0604c0881aa8e3e582697e08aeaaec5232118b459c106986bc112af7a8e720a9eb1904c67cd03397d5e1ea943a2fdd126e95e6aa81fb5fe0506bd19dd8
-EBUILD etcd-3.4.7.ebuild 1903 BLAKE2B fae6ee9aff8c6b63f0c3310b6cdee880ed353eb4f15cb653b164fbd28e6851d8c6245f5ddbcde971fde3975cae571d26ed6b48647ed6bcf898c2120aba4402bc SHA512 0fd2225388e381dd0854ee2d1b6120508dcc91eaceafa9041d66af67106fd7f69f23c87b211bced33bfbafdb3781153480aad0d4abb138d16bff4443be595269
+DIST etcd-3.3.23.tar.gz 6526967 BLAKE2B b29cc691a45021ffb2bbf9528d66e2a4384bdf21bf8865a1062d38535e8823a7726790e4d1d5f7b1a9362a730668d2ea579422619c9e29837c290f8fd7edaea7 SHA512 28b689092b342f5d7b211b122f6fc22dcd62c54eec70d4108b5f933851cd145bdf26097927e70b6596af918c583ad3a4bd28acc4c0e93d7f67011789d66dc94b
+DIST etcd-3.3.24.tar.gz 6518759 BLAKE2B bff713b5f754e6ed86f4265be7691f5cf6ad0bc1576ef15a4364b34dda827bef4390024d7a9bb032907dc8a95d8d3884e9f2ddf5a37b3b7e4ab476a13e61b8ac SHA512 a3825a1d6ec886a5f30317929bafc1f5b2657f374a4cb7a0348786a7c4f6b073197b2bdeb4d725e78cf5c99cead3e38dbf468ea023b3e7689bdce857466a72d3
+DIST etcd-3.4.10.tar.gz 8954911 BLAKE2B ce800d9db0afdbeab5177b8138e494997a1df024acfa137a7138c6e205c26881c06544e8feeee7a6fd372382fce2eca5f73cb5139a3878339f1182703619cfae SHA512 104bfce77778df4704caafc45b731bb440060be1d802a42642f33cc6c2ad11b7f94c237c1b8a47c38d1e109b71b31cc6cd8a666796fe2dbc925722fee1c2c4da
+DIST etcd-3.4.11.tar.gz 8957210 BLAKE2B d8cc647bb4441222d6331bcb89f7a007e830d2d95d38fdff978f44f21b0266184fb6ba328d36a6d5996e9a4c2de4c86088714283ff24df4a8d66d75d0b35cb62 SHA512 c12bf650028755ff38f5624b507f95523279573a4aa1097438a7182afa949a63f2dc06d4223e52607bdff14a8653b570c05d814310ccfd3bacc5a57b286a8c7e
+EBUILD etcd-3.3.23.ebuild 2306 BLAKE2B 66394befa1bfd85fdc9069640022fdb447117a530d346e2ab8b7babaaa152b9b1227f5c8f9cac3c569b744caa3f55cf82488aac5d2f4dec04350b350af54bc3d SHA512 5fb2e4690541975147e32643aff2956caced1300b07f6bb69e14038ebe97ed5e56f3f55fae84cdc71c7225311028986eeee1917c5777472165cd67e2363cd9ee
+EBUILD etcd-3.3.24.ebuild 2021 BLAKE2B 710c9d1a96f1d12214ae0d03cfb1bbedb49311eb24827e47d4a9b82b93efa49213b016e056efb819148154bf3cd22160231b3edbc316af4693505c0995b168be SHA512 58ec157dcbf6aac4acea3e9216df0d2133e466aff815701c1d47cf6b946419e5ed3d98bf4ac0cf5938063285c157f58b70da383c9a83114009a172aa75e1b492
+EBUILD etcd-3.4.10.ebuild 2021 BLAKE2B 9e3fea4ff53b32f674f25339b40cc2f34b6f9ab738f15277776639d3279f1e1b1257c9af1ac7d175ee452f03ba4a5773e2214fe767b1d90023744149920edc33 SHA512 02ac09ae25b0d9c88d6d7393f10560b7c6dcbcf0893ec84f443bf4581dc7f5938f66896a2cc6f7566242488712e04ff3120899b36cf45215ea49c83bd161fe55
+EBUILD etcd-3.4.11.ebuild 2021 BLAKE2B 717e742acfdd33589971ac2ff7ea7101f31806bf55277f7e34a4288887678b4be943aa8d05a97e36e357a2a0c8354a78812791ce614a80eb1af8f4d21d413b69 SHA512 e4aada179c51082594c974761f219f95aa01c8c2bfc8c45272ca5983d13dca1765457dbe5140f1259f2cbc0a0d75d3266d6b2b1d8d26140f727ee39cc41fcbec
MISC metadata.xml 573 BLAKE2B 48714fc34469739cf1fea338b8e686726692ee45be8f3b841e747cdb9f5f13f5e2964ced9423de8a2cde26fef9a0b9ee24e42c8ad6db43a4151194ee4b115029 SHA512 8162b96dd5984554115e7c889d3c6c015a5c07dc553baea6fd1d6263bde02b20bf0d9a411c93f06b537698958994f9d975782c8770cb33793776bf5fb7f999b7
diff --git a/dev-db/etcd/etcd-3.3.17.ebuild b/dev-db/etcd/etcd-3.3.17.ebuild
deleted file mode 100644
index 6290e49fcb13..000000000000
--- a/dev-db/etcd/etcd-3.3.17.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="amd64"
-EGO_PN="github.com/coreos/etcd"
-GIT_COMMIT="6d80523"
-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"
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.12:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/src/${EGO_PN}/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -i "${S}"/src/${EGO_PN}/test || die
- # 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
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #651934
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- GO_BUILD_FLAGS=-v ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- ./test || die
- popd || die
-}
diff --git a/dev-db/etcd/etcd-3.3.18.ebuild b/dev-db/etcd/etcd-3.3.18.ebuild
deleted file mode 100644
index 76b45d139626..000000000000
--- a/dev-db/etcd/etcd-3.3.18.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/coreos/etcd"
-GIT_COMMIT="3c8740a"
-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"
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.12:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/src/${EGO_PN}/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -i "${S}"/src/${EGO_PN}/test || die
- # 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
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #651934
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- GO_BUILD_FLAGS=-v ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- ./test || die
- popd || die
-}
diff --git a/dev-db/etcd/etcd-3.3.19.ebuild b/dev-db/etcd/etcd-3.3.19.ebuild
deleted file mode 100644
index be6c9f54d493..000000000000
--- a/dev-db/etcd/etcd-3.3.19.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/coreos/etcd"
-GIT_COMMIT=67da93f73
-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"
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.12:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/src/${EGO_PN}/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -i "${S}"/src/${EGO_PN}/test || die
- # 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
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #651934
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- GO_BUILD_FLAGS=-v ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- ./test || die
- popd || die
-}
diff --git a/dev-db/etcd/etcd-3.4.5.ebuild b/dev-db/etcd/etcd-3.3.23.ebuild
index 8848dd8b39f6..d767c318c0c5 100644
--- a/dev-db/etcd/etcd-3.4.5.ebuild
+++ b/dev-db/etcd/etcd-3.3.23.ebuild
@@ -3,7 +3,7 @@
EAPI=7
inherit go-module systemd
-GIT_COMMIT=e784ba73c
+GIT_COMMIT=4873f5516
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="doc +server"
COMMON_DEPEND="server? (
@@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
!dev-db/etcdctl"
+# Tests hang and emit this error:
+# Too many goroutines running after all test(s).
+RESTRICT="test"
+
src_prepare() {
+ export GO_BUILD_FLAGS="-mod=vendor -v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/build || die
@@ -39,10 +44,19 @@ src_prepare() {
sed -e 's:TestGetDefaultInterface(:_\0:' \
-e 's:TestGetDefaultHost(:_\0:' \
-i "${S}"/pkg/netutil/routes_linux_test.go || die
+
+ rm "${S}"/pkg/tlsutil/cipher_suites_test.go || die
+
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+
+ mkdir -p vendor/github.com/coreos || die
+ ln -s ../../.. vendor/github.com/coreos/etcd || die
}
src_compile() {
- GO_BUILD_FLAGS=-v ./build || die
+ ./build || die
}
src_install() {
diff --git a/dev-db/etcd/etcd-3.4.4.ebuild b/dev-db/etcd/etcd-3.3.24.ebuild
index ba0f54d54760..ebb677c1e00e 100644
--- a/dev-db/etcd/etcd-3.4.4.ebuild
+++ b/dev-db/etcd/etcd-3.3.24.ebuild
@@ -3,7 +3,7 @@
EAPI=7
inherit go-module systemd
-GIT_COMMIT=c65a9e2dd
+GIT_COMMIT=bdd57848d
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
@@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
!dev-db/etcdctl"
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
+RESTRICT="test"
+
src_prepare() {
+ export GO_BUILD_FLAGS="-mod=vendor -v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/build || die
@@ -32,17 +37,19 @@ src_prepare() {
-e 's:^ govet \\$:\\:' \
-e 's:^ govet_shadow \\$:\\:' \
-i "${S}"/test || die
- # missing ... in args forwarded to print-like function
- sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \
- -i "${S}"/raft/logger.go || die
- sed -e 's:TestGetDefaultInterface(:_\0:' \
- -e 's:TestGetDefaultHost(:_\0:' \
- -i "${S}"/pkg/netutil/routes_linux_test.go || die
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+
+ mkdir -p vendor/github.com/coreos || die
+ ln -s ../../.. vendor/github.com/coreos/etcd || die
+
+ echo 'module go.etcd.io/etcd' > go.mod || die
}
src_compile() {
- GO_BUILD_FLAGS=-v ./build || die
+ ./build || die
}
src_install() {
diff --git a/dev-db/etcd/etcd-3.4.7.ebuild b/dev-db/etcd/etcd-3.4.10.ebuild
index 2e8f38a668f5..55d46653132b 100644
--- a/dev-db/etcd/etcd-3.4.7.ebuild
+++ b/dev-db/etcd/etcd-3.4.10.ebuild
@@ -3,7 +3,7 @@
EAPI=7
inherit go-module systemd
-GIT_COMMIT=e694b7bb0
+GIT_COMMIT=18dfb9cca
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
@@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
!dev-db/etcdctl"
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
+RESTRICT="test"
+
src_prepare() {
+ export GO_BUILD_FLAGS="-mod=vendor -v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/build || die
@@ -32,17 +37,19 @@ src_prepare() {
-e 's:^ govet \\$:\\:' \
-e 's:^ govet_shadow \\$:\\:' \
-i "${S}"/test || die
- # missing ... in args forwarded to print-like function
- sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \
- -i "${S}"/raft/logger.go || die
- sed -e 's:TestGetDefaultInterface(:_\0:' \
- -e 's:TestGetDefaultHost(:_\0:' \
- -i "${S}"/pkg/netutil/routes_linux_test.go || die
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+
+ mkdir -p vendor/github.com/coreos || die
+ ln -s ../../.. vendor/github.com/coreos/etcd || die
+
+ echo 'module go.etcd.io/etcd' > go.mod || die
}
src_compile() {
- GO_BUILD_FLAGS="-mod=vendor -v -x" ./build || die
+ ./build || die
}
src_install() {
diff --git a/dev-db/etcd/etcd-3.3.20.ebuild b/dev-db/etcd/etcd-3.4.11.ebuild
index bb8da4b424e7..0c3cc8f2f4b1 100644
--- a/dev-db/etcd/etcd-3.3.20.ebuild
+++ b/dev-db/etcd/etcd-3.4.11.ebuild
@@ -1,53 +1,58 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/coreos/etcd"
-GIT_COMMIT=9fd7e2b80
+EAPI=7
+inherit go-module systemd
+GIT_COMMIT=e71e0c5c8
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="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
+KEYWORDS="~amd64"
IUSE="doc +server"
COMMON_DEPEND="server? (
acct-group/etcd
acct-user/etcd
)"
-DEPEND=">=dev-lang/go-1.12:=
- ${COMMON_DEPEND}"
-RDEPEND="!dev-db/etcdctl
- ${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/etcdctl"
+
+# Tests fail with this error:
+# fatal error: checkptr: unsafe pointer conversion
+RESTRICT="test"
src_prepare() {
+ export GO_BUILD_FLAGS="-mod=vendor -v -x"
default
sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/src/${EGO_PN}/build || die
+ -i "${S}"/build || die
sed -e 's:\(for p in \)shellcheck :\1 :' \
-e 's:^ gofmt \\$:\\:' \
-e 's:^ govet \\$:\\:' \
- -i "${S}"/src/${EGO_PN}/test || die
- # 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
+ -e 's:^ govet_shadow \\$:\\:' \
+ -i "${S}"/test || die
+
+ sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \
+ -e "s|go test |go test ${GO_BUILD_FLAGS} |" \
+ -i ./test || die
+
+ mkdir -p vendor/github.com/coreos || die
+ ln -s ../../.. vendor/github.com/coreos/etcd || die
+
+ echo 'module go.etcd.io/etcd' > go.mod || die
}
src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #651934
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- GO_BUILD_FLAGS=-v ./build || die
- popd || die
+ ./build || die
}
src_install() {
- pushd src/${EGO_PN} || die
dobin bin/etcdctl
use doc && dodoc -r Documentation
if use server; then
@@ -68,11 +73,8 @@ src_install() {
fowners ${PN}:${PN} /var/log/${PN}
fperms 755 /var/log/${PN}
fi
- popd || die
}
src_test() {
- pushd src/${EGO_PN} || die
./test || die
- popd || die
}
diff --git a/dev-db/etcd/etcd-3.4.3.ebuild b/dev-db/etcd/etcd-3.4.3.ebuild
deleted file mode 100644
index c11f52d4d3ba..000000000000
--- a/dev-db/etcd/etcd-3.4.3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="go.etcd.io/etcd"
-GIT_COMMIT="3cf2f69"
-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://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.12:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
- -i "${S}"/src/${EGO_PN}/build || die
- sed -e 's:\(for p in \)shellcheck :\1 :' \
- -e 's:^ gofmt \\$:\\:' \
- -e 's:^ govet \\$:\\:' \
- -e 's:^ govet_shadow \\$:\\:' \
- -i "${S}"/src/${EGO_PN}/test || die
- # 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
-
- sed -e 's:TestGetDefaultInterface(:_\0:' \
- -e 's:TestGetDefaultHost(:_\0:' \
- -i "${S}"/src/${EGO_PN}/pkg/netutil/routes_linux_test.go || die
-
- # Avoid network-sandbox violations since go-1.13
- rm src/${EGO_PN}/go.mod || die
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #651934
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- GO_BUILD_FLAGS=-v ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- GO111MODULE=off ./test || die
- popd || die
-}
diff --git a/dev-db/influxdb/Manifest b/dev-db/influxdb/Manifest
index be1f8528ec75..b732720d2a8e 100644
--- a/dev-db/influxdb/Manifest
+++ b/dev-db/influxdb/Manifest
@@ -1,6 +1,265 @@
AUX influxd.conf 2961 BLAKE2B 465857627e9fad4761b1bdc8b35d18f2ee2e130b6ce943bb41f7621ea4621f38e5c59915f659ff47217884f6b596625f1ab1983b071b8859ecf2972cac94865b SHA512 8f052a10c44c4fb9c0e91a4eca5540ba76993a3f20a114f0c39a7ead01f33db7a4b22174cac7e4ab2e3614b75c033753fb6adcf001578f72ac05a4e551bd97fb
-AUX influxdb.confd 324 BLAKE2B 3800c8454474d424753db9635c04bb7149603bc16216d540dd8d06be58aac0082f9b5306e6addb6ed917fc97073a241997c0fc339a39c40c1bfb8550afb6e197 SHA512 18211682e300a93f49c2d9deecb49a7e8640cd1ae97236b28e85e78f74837a3a199735a6c33551d5222edec479e806c6ee606bfe61319d77a4475ca72fef8b9d
+AUX influxdb.confd 489 BLAKE2B 8b7c6f674227e64de62041a3e7303eda89cebe98a8b7b33372b3eeefd7e56434d7a85dd65a9befcea0aa0f868d722c86261485d348f5ef66d52f7ceadb0e7b62 SHA512 0ecc1974d330bef0f2b8422ecc6fdb4eedf7fec60158102bb77cb292022d900cedf9cce255aaba490f45593de26cbba08a8569776dd340ade3239c78517aab5f
AUX influxdb.rc 778 BLAKE2B 24d080b3fa822e52a05427567c078e1fb6da62b2a4a867e6f7caabdcb3ad9478b4f496995aca1a104ceb84ccf609d372f38b9bbce952af14f187cd4d5cab187a SHA512 17efd9705219f7edfdc4c4813592e5872fae53598c95fd954ad045df3333aeecb777f3a9395ed4265e73951e0b866b1dbfcd96f1af92c7719b2999d87fc0396d
+AUX influxdb.rc-r1 1135 BLAKE2B 1ed94dfbd1e9b3c0ad282be7fbb96aba344f1e6a9fe4b3da2fcddbc95039e0d66b8c233ca17b75fd072133fc398a18ade48b67c002dae4c9f61967fee5c952a7 SHA512 2e739082ddd399990fa7f9079e3e0763d042099794dbeadef93b79368ae4a7f70ed3ede9b8b9293a65d33ab1cc59c99d5ec4f44ee2e0ce18d2e974d06d64a49e
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.43.0.mod 1150 BLAKE2B 061e538c00a3bb43069837aa4492ee4a040a31cb20acc0bd18cc9c9bde19f1a2a54a19539e71df75b696879bcae42eed0e708e5e07eb76e1e8a238baea589592 SHA512 9b440323826ece8eb7681b931bf7964b02242425651111f1ace97c5b026d25f8ee5e72147bfbfde60166e9d3cede791d2d9ea20893985c118d087705747a04d0
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.50.0.mod 1129 BLAKE2B 975226b22ad0291e83a5e47d901c79ac5a7c684010972581dc15f9713154141f3d6dd7231407255240620e29cbfeb877f05f5b5d388100a70d381f8f54f7db5f SHA512 70400a50eedc5305fef765d38f0428f636f439195d09cbb283ee7779b8aba1f881f83d894acbc6ee90ff016358aa9b117c79557da15d10fc60264eb36ed3fe3c
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.mod 1226 BLAKE2B c58a92fb234f949137fa6a6369308f104c2619cf6af1b0a727dba2e6d0ca9297521f9236d15389e40945f314fdd3f03cbaede2a5e1a2f5b96a983ddc26beedd1 SHA512 dbadaecbd6db504404c9bc700960c20678af4ba3ecf517e993589bc3b124654cb8ba5585c77d3e454ab3e5a5172c2041ef9560ed2776fde91bfa5d92c95085b9
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.zip 1283809 BLAKE2B b704166087a43d4535ea1307ca01f42db82aca7f1fae12b308f16264cd08f95a8631e8f44594370a5937ea095bf8ed5f13943c1f91f35cb5536613811cc43be8 SHA512 f37caaa630b74006467930113b86137c0d3a2736877d1320ac26ff6da628587e29537b6ce215d1f2b7304b5e75897f7644fc8ef005496e98a6a07ec530cc3d33
+DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.0.1.mod 319 BLAKE2B 99d93b5a4dbd4c90f3e8dfb58e64ed41fdbb484f2348297a90c8dabe03b036ef6917c2c9fb7cc4795d0c8d25af10cefebff4c4bc1b2ebcdc876b6db8beae5eb8 SHA512 338a067f7ad15d8549da11ac146b65657923ae4fee3caf2eff888c104c0df0edcdf0d98f5be6a67a764aa39210d5cad811ebd9d604084a67049b753246fbf89a
+DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.mod 555 BLAKE2B 6707e248be1fa35970275388888eb7692f976a8fca6ddc7cf02e355f8d44264c7eef6d093d90c115670b7a3b495658b79e622c47d1c90b95684b8d32547d7342 SHA512 2df2dbf07037f027100f8beba6416c00fc115fcde2dce19ea4c0fe4a036e8f66f7ae278e9765d0fc80149a330e6dd90eee8e9a0c93aecfe16da65d02320aabd1
+DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.zip 368303 BLAKE2B 3fda06ce9b44cf6ec10ebe84123f4fdec67eb57d32abf16e90aaab633562bf63be1813e5c7a05145f081c0f5aceaf6d70f5ba42e979414a7e144e8ff7bcaf44c SHA512 19a5c7c77df447e8a32782ac61fa62964c54860b8b41fecf315003d1b54215b63bd465e89722d9c868667ce45a98960cb0b5e5836cb4d96155a70d3ddd95a30b
+DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.mod 617 BLAKE2B 4717d7bce69879f27db17c13d4c0b283a9939d32f5e116d885d170e2668235114aa0a7c70ca98a522e01a543285ee10ba47f5d8fccf2e6c3b8a7c123b3fc1bdd SHA512 850d2892d1be55d674990de6cad2b778372473f03fdbbe8d3fa61c0a87ba32a349d5f98a52aae006e079986c84a5ed56256629a1bfbabf65b89c0f068e7f9975
+DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.zip 143408 BLAKE2B 4b018b6ce5debf58cfc353f9d3f120d9b21893146cecdb3cda5b91e64eeeb833f29a646064f37a8d56c1824e60742654648774984be178cca41c94f498c8a7e2 SHA512 a4c51a88470174919fdb4fab1528f10684aafbd11e8c32780feacf38178df6c28cc9f53a917fd483d0a5484c42685699cc4770dd82fab075e328227180b3f90f
+DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.mod 433 BLAKE2B b3d58e290d719434bd433ffda9572fb233171493c7b81bfe353d9b7730130d5dec365f4e93a136a25467851b5f26cb21be6be06486696f010ccff1fcea140662 SHA512 8082ab039764aa6abd6615b1cf3a1830f2813dd5b791a27b7f0ebf5fa1ee68fe040a5e12988e6c91ba5d032a0a6666d384d6eceff12165d394a75ba56b744382
+DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.zip 271434 BLAKE2B fff473ccead1ee3845f6a65d95cd63cca29f0997dd9bc91e4ce54f1dab259ce680ef0a9a35defc8b5bc3b8559b5d52b9c57966f5f4a46e846d476abfbf0989ce SHA512 1e60a44acc0e365d014fe463684d543c0adfa8a51fbe3be099803d338d15558dbb0a36ffaded7b301bb3db3ae4fc7fb4eda3e9dd18fbc30da0992d7fd0609f4b
+DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.0.1.mod 508 BLAKE2B 9915d1d1a768852b3f262784771c8fe2e7e176e61f7d77841f8d3adac571dc141e36c6455c19090cf00a98a7a5ef0c2c887424142e2ecad339f8105b1c30f91e SHA512 8a393b8614207c22c73a706ccc3e66a8a16d2f305ab95d8f70774f13d0bcb7396b0ac5095daa57ebb991225a1db08c3110f1e85c26dd72f3bbcaf73fea536d9c
+DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.mod 755 BLAKE2B 2a2aa8bcee45060e8a277379fabf5ce73a2c0a0abea8802c1bf152e31522b565b969ace4a49367048672908e55142c18b3c4ad60c7a468866ddf3316c722699a SHA512 2b2720ffcf11b02b3e12e794132f0d25e5e0afa08e4d617f9d4147d8bafbb6f00c8aa4c5776e039eba4ff5c8add0b4e73c8c928f4b155c5c386f09a4e06b765c
+DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.zip 146995 BLAKE2B 90c8ffffd215cf0b564cf11c54cb03514211cfd9270cf37d6a729398633a28a1fe1df2d416ede882800886b32f2620c57f34e87470b4131a472990a5396cde9e SHA512 0df8741bfa1f83ab41b2c03a29d9aa5be8cc1e0ae4fe6cf780d2e084876e6011ceecf8bcf41818be3c1f5460aa2ec95c1c2ee5daaec05d38a527c895e7bad80c
+DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.0.0.mod 374 BLAKE2B 4fef9f7da9f23e94efe43be0e279958715949a889c5d51e388f5b66ec9a7cdbf15a717c988883647032998facd71359ad1dcacebcf3334100144abbfa12dac03 SHA512 faf4a02a513ae4c23f931b8917e74a056c528b4267ef3b5b704949283910bfc5d41fdd7264b78d4fc1f6e5b370474a7c9933a2fad36bb5c872006def71f8ed0b
+DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.mod 953 BLAKE2B c520f4cc8fbb60561cfd33b1f70839691a3970669c34c0bc1ede45a31ea53624d9c4d2b16de25533d3121792739006faecc1086afd2539e2a1c7e9b37fc6bead SHA512 33dacd4dc65bf8a7ead2e660e6719beb7024b1603e47e705ee657cf3024e5ec06c44ba88dfd05192142ce880903e94f8dd628d059ddc357e6b42e395953a86ba
+DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.zip 401108 BLAKE2B 1f28d174c6a34504bb5cc6674866396a1b1e56b6fa3274996b90e66a7007cd20d677fdc1cedd2f9f3666eeba12939c37f0c8016b950e0350986d5c23d9662dd5 SHA512 6d31112652f152cf748ae57782a5aaa8764bb60797845b4da6a3012474f10376f3d9fdcb5d713b3be8bc9425937841d091914ac622abeaf8740fc7348842ea4f
+DIST collectd.org%2F@v%2Fv0.3.0.mod 20 BLAKE2B 7b96a22f921fe63455011f7665f2a9d857a574a9ec0f5045366dda86a1d2a9ef9a8afebe9c5640aa46fc8c06cc73769b13263aea16537ac63a938fb8df70833e SHA512 f214d1a62a9cbf57ab751b12c01e522933dc85f766efaa3d01f15730bc36c08bb3fd01bc3305d883d204f55871eb7996978b7bf8d4a43d2c1675c677d4179b06
+DIST collectd.org%2F@v%2Fv0.3.0.zip 56106 BLAKE2B bd6a89a8301e1d43076be3fb190a9ad53516bafc65bedae931b6d55505dec5daaa683b625d108b5a72c7fcc455c87efe1045484bc7895f2809ba085505ef0304 SHA512 658875ff38947b9f858640b9b87baccae062361423dd65169e026e5c02f1d7e76e5f76a571115675f0befc892f7536909f1956eb7f7b969c650c885aaa0ab647
+DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1
+DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
+DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
+DIST github.com%2F!burnt!sushi%2Fxgb%2F@v%2Fv0.0.0-20160522181843-27f122750802.mod 33 BLAKE2B d234bf9be3dd919cb1f8d33750a24dca68c90fea110fd0ff62f0dba86d2ebbfc66d55fea62745b6383c5607bc91cfd78c9d2cf12df251397e85995c04707caa2 SHA512 dbfa64ac31b25fdbff12110c6f9815abfde65f281e40852e7165499a2cefb6656c74fe0b82f0f018304daa02b83b421e9c15654efabad39787c69c1b2996a79d
+DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.mod 38 BLAKE2B eb94b6f6f4bf332f916cb642fae50486c6ad9f6a7aa1bb57aade3ed640bc98236ae167d30c140c106cee0ada737eca6bdf54d36bcab0751a940f283f55f08c5c SHA512 43bc64732c4ca2ff23bb09cd67f002b05a1b68963116fb42cf9bd60ac8dade8b2efa1cab798217a73b221ea86fb4e219e36912ffe338c7bd505f2a877be05c09
+DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.zip 42823 BLAKE2B cb9b71b7dc0372ee4fed1c9c4c51abbd6cffa907f0eb5dd156475187256e5f8d007e667324edcecb3bbe51badf51c7d46643b89f30613670506c0aa5e76833a6 SHA512 b419a038368e290028a8e10066a95044d1b4aadfc3d33d396c05482f155dec4bd04f5a2277092761fa4433f4e25263a64b31524198dbe669526871ee540070d1
+DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.mod 34 BLAKE2B 83966cb7de9bb687f99f17c5c89c03718258d2df34e3dda01b96a2fcb1273a0ba0e3253ba5950d5458193d3e54962371317a8fe85020ae338b44e864bd96667f SHA512 9081c69a2480ef726f547047306dc9136211ac7550882e68d458e2c04e5343366cb08f20525a51c804ab9a554dfe8363a1d9660bc0f9e501e1d996f7b6f320e4
+DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.zip 17606 BLAKE2B ee5acf57c658d87b97b533d695cb72c9d83e281f9e533271f03d85d52f92c3c90e240f3b6d2a01bebbea6befb147ab66d7f75c403fb8bb3e58a2bc0bb1269f6e SHA512 89912d8630bed5c71dcf391b57e4537b93f01c4f1cf320a8c11d5d34d47fa4e3ea4abbfb3bc3aa76ad3cf08350da67e190cd80322597d0de3123fbaccbcea9e4
+DIST github.com%2Fajstarks%2Fsvgo%2F@v%2Fv0.0.0-20180226025133-644b8db467af.mod 32 BLAKE2B b8647c299d1f9a1c4f8ade152cfcb58f73d4bba4b6803f7fed7e0584607c6da369f9f622e70c1a415af2f5f53cdd1c8de7f29a7843b3ce505821ff1ffacaaec7 SHA512 031c2c2f683d57f81b504c68d24aa328a8f03af7d3ab9021b0acffd541d9a295a80cc7b1c9051d19ba30caad619d3e454ec5b804f14e24e9e39b008ec27dfaf5
+DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
+DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.zip 66023 BLAKE2B c023de8e6a5f0b13a7ad1484f21f04643782d802becae77f247709f0c16ab8aff7caf748736561138448efe1cd52c0ac1903b22b92ec56efe817935ccd45ff22 SHA512 356c87eec65f0dc8a680b7a19e888d87fb8c808ec675501df635560fd5d3b57da36ecc2cd9eeb4a5e454c5564d4cf1a062b47b7a050e116b57c87afbe020eb53
+DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
+DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.zip 5176 BLAKE2B 58fdc8010b4ee8363336ef720c8ef2d126c2b7dd79357ca4f99a1094957965544430420f6ae4155490f75242cd7a7cd20993a9ae15087ccdf33327c551caff59 SHA512 0dd4cbe03b224bfe68d00d121f758796f6e63b96eeee17261bc7d8f6ad1ef9878976b8eae5eadc2f6abee28670a83e6925596f4d35bea529fcd735772fc9a049
+DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.mod 33 BLAKE2B 5aced043cac582e67e8d3ddfef0a54dae0f7e4792dba23d7c6cb18fe687be98649a90e9aa46f591385003f945a2ffc192aca18bf1ef0516ac22fe1526d2e3b85 SHA512 8960a9c2dcaa7ab5225d3d10fbba4264032ff9bba80fd8efe2ecda6f9b925dab4db320a4650fba43c0d9c61d31005c6045eec4a650411bb549c60792f31c3b09
+DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.zip 4677 BLAKE2B fa0d0bb753cb780d7a9ab7f1df0129ff80832c97836756568dc3f1b0f92ddd8cdbef58ff43b8b0279ee7014f0d97becdb73bc87456183035692c47c53ddcd963 SHA512 4faccef281c2e780b5eeed214b82b9caa84bc8e6185d5a9bfb531e5293f35b46ed6b9d2888de7a41aeac9daeff2456a3db1f41edc45789b7d24b853ef61aeaad
+DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.mod 1060 BLAKE2B 50eb8aa20b011a8dedf13e3a00defda30ee36bb4ed9405e648ea2cdd2a00cc379c8a1c41d3d5794300fb7624e59b2b5aee65d8b93555c736908ec1e7c2ac46c9 SHA512 8bcab95c89a92d8840a37ecedb7a000290e6db5a4354bf1339066d1fc02c16532be5eafd4ae3213df10eac236d08dfcf50a0a6b848f63c0557453a26dc36d3ea
+DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.zip 411649 BLAKE2B a041679c0e8a5039f0ead7334da5a787fec1189e45cde59a20cea3d52426178ee042592dc6b5342a5bf27573697f9f31e32db120c4755c48487c6f33699cefde SHA512 c3c226c1c31872a4ad0993712fddc23c482a6989b0f2ad768dae94b02bb162e5129efcd76f56f6713fa2f40e1b31f11470cb7e96bd22c2e9d2c999ba622d88b7
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.zip 14678 BLAKE2B 3f95d78aa356a314f8da501f8085a880201766e184abb6c222c45e09c0c3b5e1e1eb7b89cc8ed46b77b09be8860fdf3e28525d9a451964ad64a96c6ee848a41d SHA512 be60a4c8059a9cb07ceb12e079b1224b6f871ecb1d7953906ab303cfe86d00cb979e203299f00fe828b2f6d2a3f5d55814c50809e9b872ab6d96db73f3771498
+DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.mod 32 BLAKE2B 25b2fb5f8529b2f05f214278d44b7bb0470cf5c1b5ab7ab72461fef66ac68f911c4c092b073bf0b0f1688d596847eea2782b4d303d71ab3c2801c1a7b024dfe5 SHA512 f26adb57197a4c172e0e34fc6a4a897e54e2855a5bf67dc43667ddfb57d31e243d4a971044c456dc0d1c54351426d7582688705791c3844938dc76e0d1afc5aa
+DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.zip 8934 BLAKE2B 6c2454e24397530cedb83ee12d127e385d85adcc0eca4067116ae9d4c8b3dae7d40be62eae6db023e714dcf898ce365599c70f1fb9b1875e53a0428e79ebf360 SHA512 b367b01589d719771cfbdd0fff97241011b94467ba75c6eed8cb221ae518456fc8623230db8d33845a0c55f4bc346f545f851022064bf517f0a2b9727125ae6f
+DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.mod 30 BLAKE2B bf7d457fdd333781e403b93aac891f5a0a8e202c62983ec6e34ab559ea5624c3e6cc525416fe400c7a0af20a3f647b49eac5717aa749d9ff79b02fe994c36d42 SHA512 7a1ef7d0fc6d5a3a8530b44dd5aa23d4248d952fd573b9f0f6f630b1bc38fa5c9c65ecc4894734c7115a8a0c7c71e8d0e2da0773ed4c5779c23f7f294e1e7d5f
+DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.zip 99852 BLAKE2B 9151e6475685ff3b550d1ae1291778a01793f691a3ddb007d64fa49f02ee85927c834ad709dee5fcba0f071630cd62504a65fd4344d4ea5b9fb713787bf6b725 SHA512 837cbbdb0a91efd765e697e01bc64f0206897d6363b303c96ba53062d674623b19d8c86d96a867529f1dfd6689240e18ae7c25dee268542d46e2877dcbf83848
+DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.mod 35 BLAKE2B 275030ee2ce09666c11f6b20ba9d787119ced543b4e3f310900f5030544e956af15b407003d01849e807f0c8c256bb709619fdacba8c19b93e4806be5a1ae5d8 SHA512 cd905646c7ab3d19d41de121be3c8630c40ac2c55ca77b73afab555c54d1130f7c41c966ad91b84744fc2d52cbe3f6f7e7d1f2f9db5c8a29e7c799ec007bd4b2
+DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.zip 52573 BLAKE2B 327ecb7e9b3991bd6584607c4b507d7a6cd01d1b3700c280006f6e775ee10f264420cbd05feb4127357a952fab32211a6d6e76f4696cc81e9ee7e50a582a6fae SHA512 171159867e05fa0cf528a7a008f7ec2b22c8e561e907b9956828699763c241f3e5616684c7cff26daace21e836a7f49e0067400ad0f3dad67f4e9e0ae428b373
+DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
+DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.mod 146 BLAKE2B 5efa8dad622ae253ffa106eafea277fd947fc0f28e6962e461283ce2267d992b85b1f0eb9074a90009d8ed1d47f9e1f3e03cfc0eb7ad7df104282cfd144cc12a SHA512 32c34a590e6c113a16700ef2faa5124ebb6c8773cd76594312157bd2b70d54cd939ff2c32fac47421b5615e804142cb7b393394d4745d5894f9b68392bc37ad9
+DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.zip 12221 BLAKE2B ea2f826b4582ec60f51c65783408df0e065d2a752d1cba17aaf277e0c2b48779a3bf3579982dcc26e5566c899c3f933e4c711d2f1e01c98c13e73d46fa08baad SHA512 09432cff34f69e9b0cc6f0d5bb9af376efccb85ab4396c14a4e0c072272f3172a93c240c5ae0aa89eab91799d1bed1a0e7e00ba83682843f46344c9e2fc2d4b6
+DIST github.com%2Fchzyer%2Flogex%2F@v%2Fv1.1.10.mod 31 BLAKE2B 683f04ea11a77fcee27cfc84f41a1974ca6d61ee854dc77f072493358099ec03e94f01b5cd5cbb5ef69c856dc36790b660a3e90d7d520fd553e572f1b01a2304 SHA512 0e40cd7ff22a86cd23b49b509f5b5653f67e31ca67a07ab82743f56e5504f126cb2c11d88da644afbaf024dffa657560a420ec6d82f6b463452ad8a8bdb576d2
+DIST github.com%2Fchzyer%2Freadline%2F@v%2Fv0.0.0-20180603132655-2972be24d48e.mod 34 BLAKE2B b1e2e3052b202324b63ddd8e580c76da40ff0bdf1df2e9e2f3d7b2f5287d75469a544e1a586352130ce636bb08c9d4ca517f0fd49c892bc17365412cb791dcaa SHA512 c0d4f293bac15a26df2433bb909794b75ecbc5cb4ffdb33a8fbf3c8f421597780eb6bb036cfb11a8346ec959ceb8e36efa8ebb84d8ebbd606485735ba171f98d
+DIST github.com%2Fchzyer%2Ftest%2F@v%2Fv0.0.0-20180213035817-a1ea475d72b1.mod 30 BLAKE2B 9ec507e8410331513ba11ed5432f95b9141e41125975204c2dcb50b5fbe6f7117430ed9b1b0df44fcb45843f75ca862070f85cb40a5c4f6a8d13c066d2d6741a SHA512 528f23910ca94ddf6f811331dc7ed615b2949b2cb04c630e4e2b0ba4a6dadac1396268c4c3251a77af25db3e94dc8b0a0a66d365a8d3feaa78f31192a40e2556
+DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
+DIST github.com%2Fdave%2Fjennifer%2F@v%2Fv1.2.0.mod 32 BLAKE2B bac4a6712c426a393e847390ccd97e8ac70a59481520ee26e029880733401b91d138425f233a44513303b14d72210b5a7e54dec2078a7a7adec89f0b49a580ff SHA512 c75dee01e189f9fbc2fad8e7b74890ac91b1119af917341aa4437b0018e6895569d6c614e90864c75516825c8ce2923b34e1e396f67c56f1d71bd126dc1de712
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
+DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
+DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.zip 57069 BLAKE2B 2c921bf5a88bf293a4c86bbaed6d7c391a323cf3ac39a54ac10fb74da5498e0f565db5e5220a9871ad5c4dedad7eacc0657ad9f8907c2bfccf147384b53b37b9 SHA512 c937c8b98196eb8496735410324a6a845e618d47e4631c500c9def70d8effb27cfb4efb17f81a8d304ce1a9d27fa6fbcfdec11ea10355de3d1918f1ddeef81d2
+DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.mod 39 BLAKE2B c435f602cec54957d1ef8546cd47d5f0171055be6cfbb65da80a055e7829ab42ed7f88ec10b04977f6c928794e754b86722cc686f7315e873565e767c34ff976 SHA512 afdd263d04c6c48931f5734013fbe50d810d027664bf5bca128ffb8ec2cb884466f68eda26ce54d899bd517b6c8151ca4e1f09cf767696dbb56ccae1a5cb398a
+DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.zip 4305 BLAKE2B b65992c485460b90b24eef46810e684e247234fb70a69b7d310e1bbdaa1e317bcadc41d88019a345f01063ca7a5cf3c3d3979074c35f38b5664b60d4a8c23530 SHA512 b54200645a693c933c6f13f1432dc11b38dd26bb33f3a5f45af73f4846c9341f36e47fde8e0da1614fe662e8fedbed59e138e05f898fc42f17d5507d0e876727
+DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.mod 43 BLAKE2B 1431139ee59695bdb732385a06f05f26856117d6fde79f5aa3e3bac98bd7f10e6786600c90b414baf7d10c2bde471ceaf265e471b3159a00a13dac8cd4736b57 SHA512 9b87dd132016fb64ec4679aabaca500e4d07b1131affaf5bd1eb2e780b48f2e1364d1cc9e655a6a298d5e2e2b74aa554b228d636e294f01c3ce53f6f53837f0e
+DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.zip 108829 BLAKE2B efac4fdf409c984caf579ffc34c94419b0d9ff5d559dd02f763cbf7bfe853e167debe82696ce3a16764bccb885987ba68ff85938a5618738ef13d198bd004c33 SHA512 723c089d31c2b5d843c4b27e79a23a80504222da1019b6c6f92bde4a54e3b156d6ff33effe987482921c2d71eacdd4c1140cf87f13f2b5430d30b836fbb80d83
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
+DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
+DIST github.com%2Ffogleman%2Fgg%2F@v%2Fv1.2.1-0.20190220221249-0403632d5b90.mod 30 BLAKE2B 725b27caadd05c18fc518e46ce4f1a213cd6ed7b4da3edb02cd74b7c7d3dc37891692f195144bbfc455bdc9bc77e683b41122bb3d646796555e92f565cc0133c SHA512 d64a7c87d6a40c48684a61ed0f6a7e75590df7d72d55242863f1bf18af9bb9ef51c40ecf0c41fbc039e06f1651898a238375afb12f41af5978195887a9a16c9c
+DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.mod 45 BLAKE2B bac7691d817e47764a81e469868f9b02deae3674d8853e7e9e089000dc2c8c94414c978dde8f7b8da65bb692bde21f569db9de8b94c2944d92b17b9534ef9b55 SHA512 d74f84f6297e89c221091296b305df98c6a28d30385a5a4dccbdb664040f23dd211528e2d859e259e862b0f626f94dcdd20ff58aa8afe26af5b95d9e675507e4
+DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.zip 31508 BLAKE2B f024ee86409797eb356f14f244baf65dc6e6eb892e70901af808bf85b40627312199185111d1d72d24b999b1dbeb3b379780f78336959fbe08556d7f1df75d8a SHA512 7c1ab6d12139b7b0e63c1f236dd9e20136c695003798576b816cbf4ae12b72f26bc56e752b507faa9dbb09a57ee09cba24f0f30e3d2c3eb3e712a9cb46568bf7
+DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.mod 37 BLAKE2B a1d5e990a4760ee43e0e3ecfcfed98cadb6870b30fd5bc4015c5d4ad89eed058453f2f48a771eb12f0952e7fca5a817aeb0139f529b6fa7a82a1445e19c066f2 SHA512 f8c65c717d960464e2773cd3f6d73a481d9694ed90627a08eefd42f9fbac72c60a5fa4b0b28942eac6292afe62d244eaed51a6514133a8d0ff41282b3bc71c26
+DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.zip 1399172 BLAKE2B 84e7928ecb12572c527696961d0af890b81f3c00366070ad981d153d0eb1d2405c3f3a0f75c94a34b114f664094c4cc14186064fa85276e8cba8d1f00c06529f SHA512 ed7081932a0706021e064a4efb097ae2437e3259b14381782047cd578401d370fba2bade8bfdaa62a903aa297eed88b1efc113da809713d39f2d855d064a1121
+DIST github.com%2Fgo-gl%2Fglfw%2F@v%2Fv0.0.0-20190409004039-e6da0acd62b1.mod 29 BLAKE2B 1cefa73995b3d0b4206aea263f55c672b675dd22d42c61a92f7380b6e726f2d7ea40e0a9e456181f34808f5386eae3c485bd2872857caf1824254fe4a55cb635 SHA512 a709c650da5d5f513e94891b88c26697826fafebc1ca964fb9544415637ca14e3b9f1f4ddcf738e28032e10a2d39b619678ec5c8d44cc0a1dff738c75645e2f8
+DIST github.com%2Fgo-gl%2Fglfw%2Fv3.3%2Fglfw%2F@v%2Fv0.0.0-20191125211704-12ad95a8df72.mod 48 BLAKE2B 7d441b7bef1f34bd7065c63630add910d504ba5a2897d6a0b7cf9c9456337b8e55e1ffd9e12cb3fb8c7f021e51cc045ea41cdf62f2c33555f4b61aeda07c332b SHA512 06dd140361d7cc1af9e37de85402631a5310d34198e20d6ce1521dca15d1fba1dc9e40b512a30b8e850e105e9fbcfe0691b298d092eb92b79da564532dba721e
+DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
+DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
+DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7
+DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.mod 38 BLAKE2B 198f3a6fb7348bf50286e1dbb067e72ff854b1daedf1d181b643872aab377b930029feeb95d5d6ca21109facde089527a06922b9ea52cdd59ef553d69b984e06 SHA512 21ac6d6f8fd92ccbe09cb30d0dd6a37142907048cc5f9d0574824765918dfd8ccef96b7ceab9dd259f9a95f5c5be566ac00ff4eb3e37ba7c7c98f25b3185baef
+DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.zip 106521 BLAKE2B c7c61852b093d2b0452e9daf9ab26b83ee6426a9afa4f67abb0e0f98ef28961017f774075f5d90fc05d6de3c26fdf90a1916b426b32a41e2cee8fb0452e21f03 SHA512 023209372d47d4b5279789f581a6f4452aaff1e262ecbdb3fbdc48a0939599e319109b99d1c79414716f1c426c143cc1ce506dcd38f304dd5aa3e9348084628e
+DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.zip 2461758 BLAKE2B e02c6e6512de9be1410923a6b3eec36a087f8de00e1d1e715a61e6f26a18352db169b1dbec49e3d563e294d8c65c51ca5b55361dff70d1e9e20976e46209209e SHA512 7f9d1d2671c82a1df5f79a154340dd1fa1e92952feb03a1ddaedb1f6cea371bde8d6f7c774a4351aa87abc2646f97891d0beb4d175fe9d51e2f761d37f2699ec
+DIST github.com%2Fgolang%2Ffreetype%2F@v%2Fv0.0.0-20170609003504-e2365dfdc4a0.mod 34 BLAKE2B 55487f18e815e30ee3653a5dcc9370d2cf044641f7cf12c566e165fa173efe9af3ab18fed752dc36ee0fa25ae2e81a5094e18cebaa61d997ae599b9cc3d09bf1 SHA512 a34e950c565fa284163c40712c9f5e53881996c85153f972a78f27a5cdcaebfdbcce60556e173bbef2db32939f1b8721325846b705ef1504a1c5680598343b10
+DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.mod 38 BLAKE2B 3dd22c8b8c82e80965988cbaf0b8241af2d32273ae0bffc30f3da0522a327ea65f2f93a0496558551f2799ac7fa4cb8f103d80de25ec8def97ba34578bdbce77 SHA512 d7a817fa0adf48e773c941af6f6207d87204e153ddec86cc4bdc9508411fcec5179b4bcd6bdeaacf5512d50afc5f4ae4f5f25354acbd665698e6110ed4e400fe
+DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.zip 468305 BLAKE2B 6e31468404432f25552cffa1214cc144df2fca016663b506bb1e79e32d444d64b232220a94615f13b503a03fa89fa318799968b8bd04fde2b7ad52beae4d9b6c SHA512 05aa995076c218e0faf316d9443a1fe1f26eee7373846873ea406cafc52e090eda044abd663a3b26258c71edcb2543d597e51eda83fb2d12e3aa4f7246029abd
+DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
+DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190702054246-869f871628b6.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.zip 39683 BLAKE2B cebd7b69e8f18547e77e07d49ca26fabd513b6bf95317553c5bcabac3b513dc1d7becc259118eadbad18ee4d45a1dffc3ec96864b80d87c0dc6885983bdbb3d4 SHA512 e7a8277f9b7d2e35d1e8586c580d03457ac1e755e1051fcda20ff9f819a6fb9c3cd1892be3a50d4cbf141b35d1c7b85b27bdc402eb45b700a37ce994be4e5b5e
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.3.1.mod 93 BLAKE2B aa4bc48d8914434d540f570e6017b3572dc4b75563174e73ecce9f86460669a264389e1e24ce26cbe056a26865b3cee294457315034b6ae9779001b7306d91a3 SHA512 5dff0170dc085e1be63ce69886cb019b9df09a5678128b3b0a1b174756500f7d4bd62dc25ee7546977e298f719746ce951119908ff59463a79a1aec7a8882e32
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
+DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
+DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.zip 70555 BLAKE2B d83b37593eea44bbd11100af9c0c41bc2b55e14d06ef1fae1dce5242bf8cea1574c97a7148e7878385fd4bafbb433aa26fb4fcaa47e766353b2b6c179ddda124 SHA512 3ecebc76ab8e8f3cb65a95065639f3e90b5d722ba1aa564b42104e83ea4bd67af65e52c73a33b9b327b9934553f2c5b7324be8229f2c2e95c495065360a37c54
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.zip 17644 BLAKE2B 2ab156c678ef5120adab042c415b287bfa6ebf901181837122bbf83867ff312900a16a24c0f375708f915628ae5bac93b42f659663cf827b81e5e6c4c6e47769 SHA512 b54c7f94aef24c769a0478aea5dedbf67309dc3f59a5d7cf52ea8b49e81783d87bf80e5bcfa36f1f95a65e64bdd8312d20ebf81cd73952af5481b2f1f3619eb9
+DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.mod 37 BLAKE2B 9355e4909ed1e7ea43b9882cdfffdc9c986b9a8febd22659143b53f05b4c7a9b152e01848cacaef750ce4fd7660dbb62ea3e0fec4bc2abb47dfeb566248df33d SHA512 9d10e0f8380c49034398df4cf8c9500a0e1091001f08b9574da6933b861210dc4d518c7e353570618c4d4c432c0162e8fab4b4acd64a2d5360efe456fed4881c
+DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.zip 1180341 BLAKE2B 390754756d725b5b898089e5375fb03452a168eaecbe5a6d7d596a781146d88ccdb822ee5daea0cee7f3c63040702d602d30a99a70def0880c9bbf60d337da94 SHA512 78d6138fd0a575d70d3813fa0dca70dd8ae3de591ea41d795462a82dcdbe73370fbf17717571e396bdeb1b67d61b0b8a34872b0e7110cfc9fd0fd3e3c6b985db
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.zip 99332 BLAKE2B d95e04036796b0687ccfe18e2cae196efa87fbfe7a763a219860a82117f5a7ac594af005d67698289a9fa0f19b9c397f850ebcc8f6b2e2390fcc6463e95dd47a SHA512 6922e27a1a67c4e858880ca338f68ed80bc01175801b2194a900ba265c00eb482c29e785c564e9afb8f60288593b315ae8af6c8f366d35475678003440115d26
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.zip 105396 BLAKE2B 8b45b030824cf6ad208a00e36c7098b59e89c2725702926092baa11e82bd395d52b5daf26af57cd5edb01bee6ac2b8c4e3379e357e3a6cef69550d9403090c53 SHA512 bd13e72e46a82b149661a61dfc36dc6e0471dd4161f2291f301e871811e5b2a7976a49cf2af10eee1b7b2f6ad68583c240cba007ec163cea157f24bbe51d3b3a
+DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df
+DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.zip 259222 BLAKE2B a40b65755786c83fc0cc40de98de0c7f734b54c0441617f0274890f823175b4e44e721d4ca3c46a7551bddb5487c7d992459c928ff4abc435acb5bba5a302a96 SHA512 26ffdf319d3c952533c25c487e027bf219be3f7ec7345f9d155a480e1e5f3006fe335ba790cbfed00487e23a8506a8208ed7223a514da11b7a4bb069337573ef
+DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
+DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20190515194954-54271f7e092f.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
+DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20191218002539-d4f498aebedc.mod 368 BLAKE2B 5cc8fedbc9bb93a20e0ae5cb9a69dd5a92ee4a7f55c6b5a93e7925b402b830316038cf99d0c80bec2cf5c8ae1593cb879dd8ad29dbb10b66c64fca856367f816 SHA512 9b278d6667d9380f84c972ee1d383e2b54b460ded5b84e872aa3d64336ab059a8a747c442f4227d60e7dbfb67414ffc98a26bc2507327d9ac85ed1c493a5fc02
+DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b
+DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
+DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19
+DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.zip 16077 BLAKE2B f05e4ad34d0ca2cf07ed10f5b4510f277fb4fe621523c213016171a42be56edc1b33185a93226b0d04ae6f629358603030083c7b5ba03a36fadf8349b0ebaa9f SHA512 240fccffe9eef7f5900b7e3add1fc95b45efbca63d6c09086ed4a0d4c50d470fddeb01672da067222c107b794c204f8da63c366782c52e7b7de6514c310bcb7d
+DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
+DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.zip 257755 BLAKE2B 13d505a73dd179828fd3dbcbc1dfb90f6bdf8a888bb7ab160713a566472adf63d45491fa29928853d76725c2ffa5ada33e802cf857376c83cd8085a31acb48b5 SHA512 5bb0e61c8622e09cecc099c80cd97cdefbc497d4ad0e88984b2936e7731991e972883eb639be1cc3f56249a97b4f14c6820cda6b1c08e4a2323aaca22b840dea
+DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
+DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
+DIST github.com%2Fianlancetaylor%2Fdemangle%2F@v%2Fv0.0.0-20181102032728-5e5cf60278f6.mod 42 BLAKE2B a20b1ee1675ded231069e976e9e3812b116d80b207914ecd1266ce87160bd6fd3c0bdfd7f7afa4a2a4d7891a01cd7e4a7b7bcafa90ae31c5875f6b0eca00268b SHA512 ff238b036db5df69dc734f4a0db4d1fd1a94a04131d64ea20c5268078a645327527f185da4aab38b2aca60da8c6a5f8f118b660f5b0773cc76d7d108a47297c9
+DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
+DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
+DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.mod 2193 BLAKE2B 5915c62df75a52c3605aa6411cc7c69f1658345bd8b75a8e381f188c6da251aa6a0fc55f3044137e39c5980938e387ae48b151e0a3fe862a259ba3ad9a698326 SHA512 14986b3e68f459c9978e6912df35ab1f95eaa16e1554ff7c69b5e63a8dea1b012593bd4c1937abc1361e295ce2abe22be4f3cc1c6a1087c5199d8324999b35fc
+DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.zip 4038797 BLAKE2B cd8b4c94eab6afa533893f40c1ccad089245d8980e97edd252ce703c19ef9560f5b50f3dd72dec94773150d81abefebb778be0785c3a4a93e7af783f488cf153 SHA512 5629f4165ad6f3252d8c9ede02aa321bf1e3fb2ae261e3fb364cde6054a1b90a592463c9c520a882dc76fa548a1b63356120eb6be372b9ae996826c2d3f8bd75
+DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.mod 38 BLAKE2B 0d8182450446ad0554f17ee1787f1068d4bffde6e80c2b3120d2422ea6066014e9b4e999d884302e48b794edadfe8fe88a70428658d6fd2a90c11183335455e5 SHA512 49d2580a785d3592fbc65e22870eff7bc5624516f955ca362ba8a45f1cb63df1b24e9302b9c041c5470ce110a0487313ab969238598a0afc10b4f0a76a03f9ab
+DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.zip 102778 BLAKE2B 2be8899b9fd535b74d8da732942bcf1de0989f8c5647bb6d31c25b4683b70c1829203e6400545089591f67297fde784398df796c838430f729b2cbfe594358a5 SHA512 f8a730981f8fa827d32def5a0eeec481af1404f676a0171c6d040af28775229edf7376db3ec86eb736fafc09d762f32f0a852cd6ea89e986f3b4f1b56ebbdb3c
+DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.mod 43 BLAKE2B fddec34812812262b5b2e9499391dbad71c00fb2546658d031306189207c366ba5f9863735c4a52c09b838f2b052feda55bc8f9e424447905725079f7877ef49 SHA512 f40bb2ea09705727ab3be3b8598b471e32dbcf5a67e64580faae7ac80f8b8504964a30b8d84cdedafcb47577bbe021e73127a2053ce04340c27c00726572edd8
+DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.zip 7883 BLAKE2B a7d9cec7fc98b9a145f5f44a5697f1a46fd205a3917d97a6336fbee898325b325d637a56f65e0426fe74ec49f93acf6c89b07bbbfe8bd667a5ae48cf37ae7dc8 SHA512 b63f273f0d16f304e3cca2d7e739b91df0ee7f1fa53f409d2daffce3975232b904614d5b6ea7d1595c3fc1a5e9bd76cbbc2254f98e3743f4e7bc510e87711cce
+DIST github.com%2Finfluxdata%2Fpromql%2Fv2%2F@v%2Fv2.12.0.mod 198 BLAKE2B e0abd56792debdf075818269c29a5928ea182b7e10792a2bce20f217db64b3922608067c6eb4a87a88c981c44478ea9e2ee3831905c724b103f98170718db37a SHA512 3cc83aabd3742a8dd775077f4c71055ba6a7949a7730af7da6df9e92bfdd7688c02b8c6f0df3f51b22f84a6defeb79040a6f1e9b78becb680358fdefd3e7528a
+DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.mod 37 BLAKE2B ccb5fc7cf2c1564b9f5f0c9559d1aa34913d6c6d38b256d88fecd346b0a12532302585d13ffd00ace8e55d100fbd4cc468ff6e4163b45e352340ee5ae75c3580 SHA512 d56f2a532b077f1321c2e462db1a6091c5b272948b3cd2a272369a30539cb284a35bdc8a3bce39ce86808c81275d31e79cc9b0e61e42c0a2238f499c247755f7
+DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.zip 161756 BLAKE2B 194dbb9dab8d0533ae5415855329efc4fb0980a6c631fcbc6d3af36406b7d6ab9b2ef6ab18e89206e35fdbf1dbdd7c87063c8b76bc683fceaf418f93224b4ce2 SHA512 fc65b2d9aa90dadaf1682624df6c623743e61225cca20052a2e1b934fc9cff0c4758067e0d3bfa0e8c50a8eca067bbac059d07d016a8023b957ff6afdc92291e
+DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.mod 259 BLAKE2B 4d4f1556bda08820db792730d893a735a856c824073e1b66f8b9a06e2512187038e4ae5f465d1f9b1e4e074c69722d5003917cf40dd6a0f61e0a32697a99c2fc SHA512 76e847d693e7e785e04ffeef5b48db94ff1a8a317a4037710522b596adf01e30c4b4a38e5e4b8040db55a5b1b3a68911fcb8b1e646473863c6644adfe5cf9759
+DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.zip 21991 BLAKE2B 4515169854c8edd0e35eaaecd7a072eacd1a49ea0f83326e9c9977fe1cd300db4d92a3fd298f415e1817846a42183257947a66ef1b73dcf64fe2a2067c73d938 SHA512 45168ef62dcb9f294e34efcf820d93bcb2dd9e3c8bad23fdb9a4a1eec7a2fff90de7f52402fd53a7a62b9ec558e1137d4a3d2b40702a6b10078ad05b182b5b5d
+DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.mod 42 BLAKE2B a4aee4aad699064a4fe353531afb259439d8b83aea1ef68037faeabffaa4eb5e74b8d8dc85a34e67c068e166510695da32711906ff7a4a99cd3bfe572d4d83ad SHA512 58805194d2ba4f084b920a808d036aeaf794ef9df76e5a251bdd0ec073b02dedcf1a9c78bb9022fc4b1cd3c1b89215464de81ae8ae6415baa0aedde273867d01
+DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.zip 12856 BLAKE2B 97c0757823b24070a5d0252e884d89cb2be7f4d5f9e5bd58343c40e0663afdb5698f53aa4c86e1ef099be3c4c31f9d191c40dc2bd4c296b4817c0a8de6775240 SHA512 d5e985a444279c9f77bed9cbb1f72022f98847ff10a69c785a2ddd42d7eebe0d12b653645fd2273855a01168e32841f0fad154e624a3758c59748d1251855902
+DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
+DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c
+DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.mod 51 BLAKE2B 4cf5f813ed021b04c810da33b332dbf44f45594e3657779687cd24391d2a93770f2a0e8999fa5a8b6564da5e08ed9fea1e52394907d518ea14a9568adf263e67 SHA512 c5761bc45d554ee6639c4ca23fefa5fc5c8a7c818f8f18d0b43aaab26c8114615543a1be207f5aedaef53c2dda623edeb7d3ae1c5ce6b72ea42605a1d5c31667
+DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.zip 42083 BLAKE2B 5f9cc715c99fa4058551abcdabb96e2294cd50c79f49e8acd42b0e37cc990599a1eab827121b259b47d7af6fc62f1b75791c4916feafe6be08e2df3932e49fba SHA512 9f5d126347316b497910b30fa2905e6b6c119fa975adc6bd4f17f5a346cbe110c10f33a7df6ecc63e086c082f61ce493e4ca5efefbf2eb8d024f2a07cd80e093
+DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.mod 40 BLAKE2B b72c62e0cbfca034aaa00d7c23e4ae2e2d1cec4c259f9d1ab96c65b7e3336e050087815a7c8d47c87f5c04983d77f7e10d8dcfa22c74aacde1bbaa8830880f90 SHA512 bab26ae4f895940fbb77346904916a7b8098f580ada97021dae11d9d6a4ab14168f57c3ebb25364bd35baf64955f115b9e431c4f68ddfaa96bb478fe9b59a5d8
+DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.zip 6406 BLAKE2B e0b19304ceb0435a6470b25e1d9cf1f70ad7ea490fd2f458e6acb03cb63ff590e7485141bd215e0570a7e0437373e6a08ef81a816bb9c2950d133d4865616622 SHA512 b8b9be4793d6b97fb516ba8e7e620cb16a3cce46306604d776bf897c572d90399478d8b3d2ea8ab0f760a4aa6c0e426f38a88a4206d697f2709a5837a98f56c1
+DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
+DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.zip 9901 BLAKE2B 0c8cf7ad0809f65d91b9ad5b27759cfedc5efc25194f19effd4b19c35c940461a48a57636ef3c707b27ac614b693ea05830bdef6943f11993bf561ef558cb99d SHA512 08b7201a9aa3294a3fc59bec78fee09f0d1bc7507b50b1d1cb1fa29a523c6870d00b633ea9679c9c86df9841739f46e9d5d9bbf0e3ec15b8ad08e57db67eedc0
+DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
+DIST github.com%2Fjung-kurt%2Fgofpdf%2F@v%2Fv1.0.3-0.20190309125859-24315acbbda5.mod 35 BLAKE2B c1b6f3da9b37c5e0888f6ae304f7885901fb5f90bd94de7c980b7089d2477ea25f0fecf30b502f55fdb6a8dd7ba49683f33b89d761de0acd0e9ccbeff53a183b SHA512 824e0e8c8fe3985feb5f25c43725d4ff70f577373406b08767795e691f0bb10594dcbba4149e000bcebaf231bca5f72649c0d078b86cd4df38d0805e1939d63c
+DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.mod 35 BLAKE2B f0ddeabc9200613978b0b4b128326d7af4b21dc542e54e12aee41b36443d0a896dde046adb0c00c7e8adefa91cd296330bf24fc8d2cb322bf2225348ce60a36d SHA512 a06f88a90f2bd8618dd8a2236f1b54d85cbc8a3efbed21d4a3246398eb74f1baf3da40fde8d452441fc45a2fe78abe82d330f28d1a39a9224d0b5c606acfce8b
+DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.zip 12545 BLAKE2B ef89493f316637d3cff93ffbe4201510c50f4911b73e5a22e50360308dd8e8febfd177cadcc0069f5f3a71804b953d4490160f2922002af3924619d04bbfba0a SHA512 61fe66d38ab2144fb1c2a628499bc0047a0c1e3d103db399236551a2d1ca44bef4873d23cd6bd1c8a6ebdd0ef5b56e0bdb97e74227cc48158178b8339d55524a
+DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
+DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.mod 37 BLAKE2B aee0c04f2b8e92b2b4fb2aed9691b2e55f27eae078ca0d7161866b1f815b14e6b7de03c80c567e6f1407cf9e48606bb097eaa0a26c5b7d46db4a0d18852fd233 SHA512 18830e82c89186889b494ac46cc8c4fb398f3aff5416eb1cec3e3b09af281ebd50bb0e8ac7751f6cd89bb1bab3738a354183ba12eb3ea42aa7dab36177b613ec
+DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.zip 3668965 BLAKE2B b0f7d296a95a332f56ae9a35d5f2b7b1ac593bdf8a6bc18b05e74e0b6e91d03f4002b1d5554ccd5fd628e1310018a57c68c923d111847457dbc9adebd74a989d SHA512 cb90a61838b1ed9799b581d080bac14ff92422dfa5007e0b4230b7c91c5cc255d12a47fad7f08ec6477ecb16b6fc4afdb2074c9d702e924b54c494bb2dc43b3f
+DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.mod 34 BLAKE2B 1fea82f0ae24add73e084ada4930a6192f6f1d7afac47e2fd4a018e0167779741e4c948ebe67965751a845fcee894fe88e57a1e42a00a8aba2a6589dc73b30e6 SHA512 c71392a06cc0dea75b46dcab30bc5b374eeb432aaffc678213d5896015cd31ef085387446a8086c3275b97bbfb02c93c0180f7b3bac5fc1cdf1fbe5bf7af9887
+DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.zip 276304 BLAKE2B ac0f396202fbb5de8507826ae1794e169f664394f8806dacb071913da2ff2be9510ec125a12e25d8d0c67fb14aa8a8b90a5f5d4b7453f0373962b78ad717f140 SHA512 a4fb75de24c1083bc1f0a7b2d7c20954a36eedb2c6cc818e987afd0e446fa8273f3701360cbb0c795259e4b3950d21232af44d501f1b6b8e03a53c5564691f03
+DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.mod 34 BLAKE2B de38b76cc80d4772016edec60ac6de4a290b1083a1979630a8aeeb2d6e7ad0c5e92ad3c25e1a47b6a540f106cd66a39a5057f3acc0f39ec16ca0c1a23691bb9c SHA512 97259895cac5090158a564861a3e58ff60728471fa5f0cc5225588cc5072dec813433942e39ef3fef99a00fe1b3147814e76789501c45d1f56f30403151399d0
+DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.zip 22683 BLAKE2B 2d0a023f371ff37ead8e3df7e0865bc526df0f28d8b4f3fb0f16fc45ff9fc6a4f506660326e26dd8783d6a7b2407099457958927f30e9290c600a9caa7bcab2f SHA512 d5cfa20784fbd5e6ef9bc40607b5c486ed933994e08584aac3b7f9f051bc26e2a6acbfb3761b3741e808ff624b989ed4894cb8ed19e95a3cfba027e2c29492d4
+DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.mod 34 BLAKE2B 9a841f2f76972fa5d9b89395c421d1b4addf03a137703bc8f5296a2071a3db169c993468489e59ae3eb51c4668c1eac2a8dd27b742c5af923d379dfd0651e826 SHA512 cd08026364570f1acaca890fe4929ca5bafe90b4088f764a077952ce4b52e8d92a8a09e4bf264abd209a161ed47d9b6f572ebd904af2025da3696dbf79b63d5c
+DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.zip 124702 BLAKE2B 6982dfc89bef916225fbde909c88245c74c50b6456f4bfbef7aab94d7d5e9cb650c5324e0e55130b05c5e55e218aa57813a6e5cd2518f072ac809f8b0d178e9b SHA512 1312b0085afd4d4f57f9c689d65e25eac77588232d6067d45811aa8a829508de326579babcd495645152d6fbc5ff94a251f32bb0855e30242da5604c3db7aab4
+DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
+DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
+DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
+DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f
+DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
+DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
+DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f
+DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.mod 25 BLAKE2B f81559c285e1be835f5ba6f95730022986373524dc66f0ff825885bc3d959ebef5711ccaae86983c0710da8a501a3e97829a01cf67bbd560dc7fdae682b0b7f6 SHA512 493893b0368a6e9ba2c2aab1650135de1dcc087e6eb172226a623d62a48e4102857f68f9ab6cd4f7047e6a291c62824ba924076891d162bbae846d97166bd1e9
+DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.zip 109027 BLAKE2B cdf1ed976d193fcfe3a3e632354605c4ee3caf5313525ebb04f12199036f6a2ed748a3c90c1c1847884670f47d61d94b3704de6e4d591a29b6b28b99c0158e75 SHA512 a3e7d0eedd2b18ca5580819c4983b700f242accfb08293898ef74e8f3ebde28a35a90c9927f90d2103aafbfa7274da3a91d274da6ec0e8cfdb1f8b994a5fd79e
+DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976
+DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.zip 10606 BLAKE2B d9aed996970ecc4828716e86ddbc85a7949f60ceacc7326708ce499bfc09250bc8ee336806b229a44064839e7ce34f5cb2a7607da5e82c417a737ea869f97f03 SHA512 dd1763a8d04540b3e579d397fa4888c4bd8c00c3963cfcd1fe42af7c1990ef85f9a2e2fd5c5f2c7d3e6817448df5e2237241ff5a2cda651b061cc8932e0afdca
+DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1
+DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.zip 7026 BLAKE2B 3cebbd0bdebcd1d32b7fc618b7190b7813876a1df010d1c3ca3800c41acd64b6537e4b3e4d4a574e3eb736822a27eda7bb2fffa197063baf9a347a820573883f SHA512 829b0596279218a2fad36695fa42036f265ce79903a0f5aad27495dfc7c6a33e8bad32010e59f4dc6853f1e38fd9e9f635ca2f56adaf5ea47e4914f2a892d251
+DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.mod 37 BLAKE2B f36ba4b667bc5bebbf49062ee5be234891ecc0a2be075c7bf57f5e39ee7fa2657d6bc086ba9a89728468ddd0623d27edb3c357ba4e91f79563bc9747d1d9ae63 SHA512 b891712f639a850e41582c15bcb384a985fad4f8aa86ce2d3f4d2554354aa1a9619667f60837a8280f869fc07dd58dc676c222bac23aaa5b2b00c06284b2f475
+DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.zip 24937 BLAKE2B 9e3ac56dd02012889248433db991df78a66ab5c358785c2506231d23f9fc9683573ebe4567a5c8717a470edfbd7d9febf562164cfbe835bc8a11faeb143e0ffd SHA512 802777a3780cd405d9e6e2bf15016fd9d4e25ea06b2412f158b6c7a79907cbaab745df4919b6db7b47f02d51ac14f470447616f22e388aa81c55b955cb29bab2
+DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e
+DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.zip 2337512 BLAKE2B 7507201c73f35a287783a9815ef1997018e39bf8d237a77bd630d032d48e6f780473c29f0946e80eace5bce077a36500755e11cfc875c10dedc026e93f035510 SHA512 0bc4df375bc8ced78cfaea6e7ebb572cb2b02dc64810b54b26f29da271f864a2fc9515ced2032783537dc06fe38ef126d8fc1f0221f62c4b64a78c0b1e4be785
+DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.mod 31 BLAKE2B 01ec123858a9bf8d2e9b6b2bb8415431e5d4145cf3ce82c16522eaad6f5bcb7667e391ddc4544a3ee04a8dc9dbf3fbdfb74173da09f3a330952bb5eedbbe203e SHA512 8c099ef777c49b02a62031dbe9d4fdb18839f4b2265802ac5fc3e6c6fd1d3278dbd3bc01e8674a0b52d2d6e6a394d1d4ef7bd64f4388c68e9b81749a4228773e
+DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.zip 10201 BLAKE2B a73cef8585cc3f73870f71a427194f2e56df9b30eccfd272231d9d25dccbd8b7c18ec382fca6b07678b47a96578bfe8db4d1f7d4fdb2113894fe5ae569552324 SHA512 86a4340875253ac7df729e343bf34f2c44caeb45d492b3ab55855c89a208389c24044e1cd6fb4e1e7224c5c59098e5e7943513e43fd9c447044974df43d1711c
+DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
+DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0
+DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
+DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
+DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.mod 31 BLAKE2B bed30df7f6ef3446cc884987b8529c2201f1d0fe4a855fd198c73ad47b293a7d66136abb092d2462a73ddca30baaab574376825019b47198d961a840d4d6b07a SHA512 6a9c039028a543ecef585f043beff78d099ab0890e0e3471cbda4cdc40db4f433f9b2aa6c5ea185f8a7dfe70546b69b415def4c0785691fac0bdd067ed65a186
+DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.zip 18580 BLAKE2B daafdcf2ad506d349ff1358d07e1515d6d76cc9f083d4f7971a3f065b436fea681067dcd251b27aec3daed9c7c8a6da42cb33e265a630e4366941b938ed1667f SHA512 ad479b53d527b6284f17bc0ee026ed04b9ad0059b1b3106b4bb24c234b57a179d3df5318f8065df8cc137344d38daa1e62183b1eb74fbdc0260c9667202dd92f
+DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
+DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.2.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
+DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
+DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.zip 45343 BLAKE2B c5844a916b170629d6701d2f0e2b792673b6e3ef5c425b326288a36363cec532a9c3757d51f103e0f96d3832a00acce810c07895779f3a4ef1ad9ecfd7bdd0a5 SHA512 997018a993a666943994b8f083612a9bd4869ce064e2a5c185cc9d7a7c03b295d8f62f1cf7d8039a825bb8d770f1ec8d0e5d57da4cf1e9c828381069feeea9d4
+DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.mod 42 BLAKE2B f21a13c6a193574ad2c00817bd5ca777ed141f6128748e7536c9b209bfb88c3df66ad37948902bc905c1d75fecd43afd21877c379498dd52c95a83c63f7c17ee SHA512 33c99b140d2377785d09c2d510766936deb7d67fea5919d4d5d350d7021db27cb776b3587582e65d5c44d97b96280c4e24b13deb2210628953e6c08daaf07b2a
+DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.zip 7874 BLAKE2B 1cfa26df4f2cea2b7b2fcb82d4f055e707921ff5c30f4b0dab640c8183c6010fa83a1dfe15f3e3386ffa80bf8ec1ce1aa0b36e043f37c6a6ce3994297bb45380 SHA512 9a1437341c430b31ad7ac087e97c8635e4c055013ab667e454f579376daa6f7a19b31f60e634b2a74f509b760bb4eafb865e33fd97fc5006bc8274a8ebdd564a
+DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.mod 31 BLAKE2B 7d0579fb1469d76d519c6c5257b978dc5d34f568b26a4a0e21112affe84cc42cc894a48123f4c6da1d2132d34e9088849e38403b260e772d4f690163e196d186 SHA512 157d394ce35054f717ec2f03c677592d0a56586171489111c3904c734ff0170d34559015a16f9172b84b389f1d2a7d40b2647a94657edd350dedbafae8bbac98
+DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.zip 28692 BLAKE2B 2fc27e9f1e85c9bb373519707fbee70fd94c61e4e021da8f7d6db08de085affa8ef3809e519d56a8f801c06d90aafcde3228b8a8226195842dcfb3809a7cbd70 SHA512 94a2e2bd492ccfe1e36aad69cf53aa5d0ae0f7af1c5cc6e9c58411827854493ac499a9076d2311ed7ab4ea28e73762aa541224de8cc804b186271f640ab39e80
+DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.mod 32 BLAKE2B 400d176245ffce370598e46c8fd88ac601298451d873a65c290009413570ed38f3c5be35fe800e95d1c23b894c9e8c1cc787ac54dc5c6b7e2d11c2f1ebd031dc SHA512 75eb2b85e2900d2e0a492e281f2b9f8b88a6b480478bc38e33b8d957ed2b65be5835f03dc8bf0903e80ddb5af268db410ce9db9a1569bc25e50523f74878fbeb
+DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.zip 12676 BLAKE2B 239e79efae533fc670d44122d88a0598f2376776bd082ba6db21e48bae28e11100088c9aedfbf6a1f96c04f6b48ee6f5c0c1046e5b5a3e7104dcd66d08daed02 SHA512 38b5c94c2e75f73b9b239baf3ef371d6bc1a2ea8a9d9bd5070a68d331475b3ccce04ccf80950ac0b0546e51344566c93741a826125bccdf965ddb810686047c4
+DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.mod 30 BLAKE2B 007bbbe9dc603d92170e1aa89946c3df382b73e60a01f247ff3c28c56eec5c06b1f901cd3f52a81ed967949436fe0d2a7b4dc70088dbb38de97705967f127aa3 SHA512 e3f6142da79fb97efb98b7bac49f4fdcc16f2c59b40ac87ca98b633874bac81105a0bcff20045bed75d39ba3922093102f9e74462356d6dda6147f6be4d31703
+DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.zip 3703141 BLAKE2B 0c8b5a768e298b8bdf314459aeb938a4a05dfa22bdee1b0a2d65e7b02edbf2be6b73ee51a331f4b1d14caef6bd9a001b11a72b85f5de3efcc044501fc2e0d3ce SHA512 b5352137315ec28c2f40f201629a4e60ac26a218a3c75666cf56959cff953fbb6153123413fd1518a1a636d10edac9022ba9f38065274b9f88a89e937283eefd
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.zip 14339 BLAKE2B 9332d9cac7dd3aa2f4d756f0d92c911cd0fb8e00232db3bb013a0ef12addae0aea2388ce3adf79407a81e13cfe9cd4b45aeb2bc9f8b84b4e3c5dfa63b59d46a1 SHA512 f97471d54c5e73b3f59326847cdd4dbbb142a9ae790df83493f11a851d716fb407e01a857152812caf731b8f3e0f37ae151ee83300feaa73152173f6cb5b8515
+DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.mod 27 BLAKE2B c44820090e3e6b67eb062638dd9251af75ef1262a034430d43ee34024051c45bfd596f258ba3f9238f1a8f25374fb55ab3840503310e1f97e6e6e5c98ea0725c SHA512 5b8d46571cfdd120c406dd6d48a943d4484053ddf05edd078529c3f927b4acfa1bf15c775e1adf9eddef260673fd6c591541fa1d781310017e421a9f164dd9ca
+DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.zip 23133 BLAKE2B 4e3d9c18b2a95ed9f8e3ccea8ecde5df9129bd74e0ef74f26489c231c7faf726a2c7ee9fed59837d3b326f9b0808f4ef6cd33551bfec62719a7f6df716433db2 SHA512 b382a43aa9b61aae23821886fc90ecb85fea43726c8a34bdc94605c60f563fab195471ac68ca5a8d08bec6696562d8dad97a353d4c4a06eb621dd9e9d401dd1e
+DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
+DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.zip 200972 BLAKE2B 6b6aa2cc4006f6671b0f54def912df6ff1aba7b69bd08c1950f7415032e2de383af556cd793f991989f1542cab5d7bc8a73894504c2f3b757a23007ba76b21b6 SHA512 c01081549c9e62a75d99ff37fb4bf3e620dd9e6a22a049c1b0b1b53604086ba68a5c366a7373423354b25cf7298c642956db7eca4b04be4b9431fe24ec8da125
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.zip 69217 BLAKE2B 738c4f5d28aff0b5e5eaa04f50e9a4e4671bb0a06dafb2174720cc0e6fa79ee87123f55776cdc051124434a3889232d512b32d08b1db1d2cb7f54e251b617e94 SHA512 6cf7daa3b86c574afbf5d91d3d4f372fb31c06ff93d59aa128d8ef025b5c22fcbca5a148b21637ed97127e5e2150305e48c241be1ee4c1b23ae32a09f19ffaa0
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.mod 693 BLAKE2B 414677e90b5a1e5e2b5b498e46386fb2fa7c93314b390bc4337c74865b6a72f8a64804e4c30aefc54515e9261cda168358d70bc533e8686cbbe0f625b8957d08 SHA512 829b3d7349806cebfad94252c09095aba4c5cbe0cb77cc124e7fc514ded1d8faf0f158d21be97911b8937ab9d330b284139275837607950ca602b3faebef146c
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.zip 152577 BLAKE2B 93ebd63d011ee7f0a610b7a5ca9fb7c2640bb57a60ccf4e22f46f81286c9e834a547b42db2c23d61d503eec5f4dcd0592e76a1a3e789f32d20d9182c6be7106b SHA512 bab9891928e51fc4524cc9384cea51429004d821ffcb1243147337169308cd5bf5791308fadca56d0f310e73fb69f8d3093bc35c654ef9f1c8738a0f1c5ab8fc
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.zip 132055 BLAKE2B ed3f24a397ca21aee9972a2fb1bcd12acdcd5b7aa5b21a36cd8e8c1b1e04bf3a1264cd7b21147e1f69e76792fb0d36f4cd44f51178376a9daeb092e69eb8a2f3 SHA512 e3f4d97e22ad8d27a3c8bcdb6516f4e1574348b864deb6f1569f3d94098987f35bc87c7a34f95e84834fcd8c750b3a177f847b586b72b91af0e0f9a735bc3f20
+DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.mod 35 BLAKE2B 236e030308da9f6665046299fb6076bc3bce65b5ffbc2820c463ff3af2c95f78581b8b0260930e85eec3e1f9b40c65d206a2fd947b4a5aa8b032ae608a5e8daf SHA512 ef6bdf93c07e5d0d7fb93b733a0a902adde1e2aa719673b9d3bcc1142cc4dfe001ec4455964a13000709e0c727f5f1655e36cf1eb114591ca30a32f9af707652
+DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.zip 46249 BLAKE2B f7c04a664cd60d0e5b48cdc46615d568dd82e636ab3bc4bb0cf6c465e322942925d60e0dad1abea7165bf8ff5aaa83b5ad0569d2150ab6c6c044a18df1717a24 SHA512 079e716e05d5562f8d55b564a2feec2d8bb641f412b829aa730c5a821567957646a1f6c56b33ef5d149d6fa400617d0f5bb6535e88e42a2f76771af7892fefe8
+DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613
+DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.mod 33 BLAKE2B d6c66082304928ba92ad6144b157ce4f59db0abc5af56538abd5a81fd927ea716df4b5dee47ff883dd99f377d2b3a772296e08244fb7a769a5843a54426be81d SHA512 081e7b82b53c1a86743e3cc4973c1bd15e1b5c48929513bfc41c0e182fd4a047519b8cac9f4e830d7a08eb3443b2feb62c727387a294a30b7c988b698d6e8d45
+DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.zip 17966 BLAKE2B 66c06ae649b6a7eb0d9caaa20077dcf3f6c31bb75160538dbeff87092939c5e6a45da077756fb20fce3b0a6f5867080ed33ef5f9ec227a99130326038245ecf2 SHA512 17865d0bde1001939ef4e8c433ccee65b7f0df028352ad2a32654c5a1e3466a7f4b82368f155e2d66c431e4daaa7cad36002df37decd19306582a7c12880dc40
+DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.1.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26
+DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26
+DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.zip 112690 BLAKE2B 429b926660712da6cf042ff5340dc9ebf6aa397fe92d44d36f8727d3d7a719415fbac8c458c2df9b7d325a3d4d162dbc47efda7321fa7684ec9ef3be2cf7d8d6 SHA512 c9887cde0dce64373fe79c37508e779afaa53d18a9f9e7853860db7a3b58bb8b97b3a17a527c25ac9b3b437c89f4930483c4cbfc22f68c2998a0a0f22bb9c0b4
+DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.mod 32 BLAKE2B 9c0be7f17fe7a9156f124f7f67c3e15e14719d0b271f36d5d41ccfa5ff6c1b7887e0051df6eb3b29f29b40357d8e438598088b3c4f4df28fb81f030c8efa7ff3 SHA512 8b8b8958405a188b93adcdda0634aaa2961b5b8e0d3b3e1f768fb9c49c02b73cf3bb39027431e0c1d209abea6cb72a651c5776bf26391e81f4dc18c7bafa692c
+DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.zip 52931 BLAKE2B e511ef9edf7d968d848e021658001daefe7c8cc7169b1c6984ca5388fc4d6a5f54def9060483e57392711617892d21322d9de099234901bd1c251e57e6489f6b SHA512 e3d8a20d1cc351b8944579988feff39cb0aa3e1f2aacf2e2307180c25c153a0473f2a5a3ebda9d96868cb1f477ccccffdce06b117be7fa5409b2d1926b4c270a
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
+DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
+DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.zip 81760 BLAKE2B a5767557b0e96fa3bbbace46e08d6a2167be2c203a44ffaadcf14079a23e906ee9197c8028fb29bdfc596d4f39e7bdd29993a1a520c36c8b08c5c5b6bd6bd2cc SHA512 e204307d5a06550292a4fb6e44912260aa5a7f9fcce0883d8abb324a53673512218982b1893e7d563eb7d6313ac98a8638072aaf7b5d66d359e82832f2a8bb2f
+DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
+DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.zip 1521758 BLAKE2B 653e697d76d392b18c09e5c1c96734a737071667345b9d6ff9c9589bbe74e1c50849dcd7fc00b660adc1aaa30366aa9ca93a94d5eb4e605f7897d9714119f926 SHA512 3bdd2bbeaf755618d9fa7f324814497308361cb0f3f93a7ac84b9fc01b79ab346353ff0a022d3d85e74aef57b3773e03ea9279d0a60de317a1c57d5eca2d1507
+DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.mod 36 BLAKE2B 1ba81fe6a6b84ed40868e0fff431dc8485b912700c192d90181c22588345e7250af63160673c297129add94a41281d7f0ddca5733c2b32e20f65ca7c27046306 SHA512 d14779867dcbbe24d451e82ac72c823f80551cec89758ecd39c9e72fd75560694a0b8261726020b738ad4f447ce1093f910c12797c58b8dede38f6bc737b9a25
+DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.zip 10334 BLAKE2B dc4e7a5b7ff1179feed6341345c4a811b5c4e14bde5af612b9db64902f810e788fbb6ca224b3678dfee03e894fb1cecb5c3269f13b36ea5d52fd4dd8b8a28fe0 SHA512 33a0601227477c0fb56907b633936ee96c46bf0f8c0a9140facfc61e839f62e167e90b76fad14d4b0124b6066376eed464d0f76e08f0d308634c33eb6fd171d4
+DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
+DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.zip 12738 BLAKE2B e7a649d1c85aa7b3aa0a80123c49d6e980d8db2bdbb7c49d5871cef8c35a4f632f4de0987ae1b41b3f9b472343e22228f7e75cc7c841d446ced4f33e859039f2 SHA512 4ee0de0cb44960bd75a18648a2c7e4428cd1df1b042e24588d3ed6adee05388e6211854db1878e6ad74dec95083e439d147975082422b8ae5f3c6c7896df4304
+DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
+DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.zip 139997 BLAKE2B c20d7292a69fd548bf0dbd62751dc08a41c66f120bd8b5142e96f498aafd208328ed4888d7ac59404b64dace96bcad210f64734e432f15ae63ce6d39dd308cf4 SHA512 1476716a98d5aa26c34af6d85eb93886cae211beac7cdc8f886d2030bf7f83802409aa56510ba09cbdb609dcd2faf87d3490c4e5392922e0e034edcd3d9fb1bf
+DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
+DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.zip 74638 BLAKE2B 0e9d2a40aa6e68cae69ae24f76385e840e0b53b2a4afcf89ac5ea61ee144462c113dde938c5de728c8e54e7e46dc099786ce85020bdd60859e1ac04393556246 SHA512 c33aa1ac5cf2a8441bc849a49b65a614de6c9e0c5d37a77f0b6972bdd8f25a651752743b1172e0a83fdbb384aa7e8b0685af5c5dad1bc128310c60e13cc9b56d
+DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
+DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.0.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
+DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.mod 31 BLAKE2B 263bfb05ef35498c4876a40273bb21f3bb2c5145e95ee0365f912a6b46919b145d7497e97cfd88b68c47b581ea4d65c31cb3de65f15929137f89091faa5eda86 SHA512 c9dea92ef8c32130b2d28820cf3f4d49e43fea4b36e82343030c1acb63ca120927d94e0ec8d496ce2319a36a22654cf3463c0023d7ce6cc7d1d4b07832f31ced
+DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.zip 91343 BLAKE2B c97c50d94e7f0a663d8d0e46c4daa3eb4df47299ff4426274f159cf9f9c68d87024333417abf34076d291468e062fa4b154bfb539c41ab348d23ff362916d2ed SHA512 1bede5a11874129aa9033570de1891b690b91641e352f37b5e38b64f370e3b48c0b35fe1f5b08116f76111db0e1aa1d0a0ae84cde18a27f7ac04b5103edd920d
+DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.mod 31 BLAKE2B eb05706f9dc60f41414a9d2b5c3acee3f615e0d1249c2e9b9776bc255fcfeb05593fb3bf06351d763d4ae4b465aee3f64d9630f4ae5fdd2d4e9ad847e5d4675d SHA512 f220b8b8bbc82fa03107ec51399e2e8c90a442b8b4ad57db441772c1ef66b16a77b71f0601f8aa22b60de4c1da4dffd1d746cd567158fbcd12b1677d88d4b17b
+DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.zip 20970 BLAKE2B 5d4aa73c5a6e022161cd2650dfc5f128959780d5af9c858728fa6a80c3f0cfb54699e54977b0c9a40bbe6348f4e6cb1a691e0d6f492223550645a917c6fa7846 SHA512 03c7b46fb00909a84ca9687f0d57d706b9af098f7cbb763f8a8f376438d349880ef3db1a484b546d32b2a744d271c2beeb5e868efe995718b74760ff23e85682
+DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.mod 33 BLAKE2B 1fb8495d86422bc87ae3a29d7040d3deb46560e8986404fe66da26fa2f7eea5f38b1ab84a67b8e79c544841627025e882fee2aea3fadd75f69f1761238eac23b SHA512 3f30afa5211772645ee93a8b11eeec246fda17559bb23b1bbc93b614815998fcae1f45827f12922fd8d51bf84425e2154f690728a63b510d278d60a48549fb77
+DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.zip 8631 BLAKE2B acd15cce04e54766feb18c92e9e890598616567c57f1d9fb7da57776d6ef1f6cface54c337eb04a6d2f4f21dc136cddd7ac25c5fc0aac6a38ef349730090acef SHA512 94c78d3c65d7e0399efcd152aed41ba07f041a73ae8bb054e365e60b54d0063f2e96a70fba15fb88d3f19599c7d37e1f37a7c77af8f74e16450a40c02f3dfcd7
DIST github.com-BurntSushi-toml-a368813c5e648fee92e5f6c30e3944ff9d5e8895.tar.gz 42256 BLAKE2B 65fba0e39dbd7d9ffc5707379629ba9e8d91f186214afeb6b5f5960bd7d4b0f233247ecc1b23bff9c4ea8572f00b106ce5b833f88d975be5ffb29778fc18dcee SHA512 8a54f8b1f2fb9b5882d3c1498376c15aaf00eb8d9379090c38b03a6a291215923637dae9f36db1cca700687169cb08911e515222cd72fc153a5082ff4ddb5573
DIST github.com-RoaringBitmap-roaring-cefad6e4f79d4fa5d1d758ff937dde300641ccfa.tar.gz 140675 BLAKE2B 229edd09629c2df7c3396a84ba3d4a427aa81e8a086a305059354b6ad1bb2009fba595068b727e57b51c4d610a23cab122b080536fed9326df42d7f2c41018a9 SHA512 6ca696bd1dec2c3b587e76614f64ca0b09df8af042c9193e6afcf23ec34f6f5e79ee13f9fdf450c5180c6eac07cf1e346cc2d64a653ef107d035efd98c71a23c
DIST github.com-RoaringBitmap-roaring-d6540aab65a17321470b1661bfc52da1823871e9.tar.gz 146300 BLAKE2B b80dc075cdccb588c12dc81235d9ff9279bb93739229674eab4b44827a64fea5803de66fa14df3b64a088ccc78ffbb4be4744bcf20fe64af003d202101dc9bc8 SHA512 7a745f20d3eba3be9d29f4a0cb54bba2e58a9657fea38090e1c4be784ab315f798691365b0a22896539e44c0f53ddceb318ecc4eb1b0844b4973ba8516b7083e
@@ -83,10 +342,205 @@ DIST github.com-uber-go-zap-35aad584952c3e7020db7b839f6b102de6271f89.tar.gz 1030
DIST github.com-willf-bitset-d860f346b89450988a379d7d705e83c58d1ea227.tar.gz 15048 BLAKE2B 01ac6e5cc63e4e1fd5d388938fbeb9e927fdbcda793af41fd647fed0c2c833c76b7aa3621f60dbc76ab75bf29ea2c3aa06634774c1ba4bbdad03ae19ecf1c956 SHA512 65591f02a265a56c6a5efa5e1e848b5b58f89b45eb60c7120ae222a00b76a7d1f12e8afde8d008de745ad228fe23e025de3e9a0e34ba59caf8f2ec8a5a941b84
DIST github.com-xlab-treeprint-06dfc6fa17cdde904617990a0c2d89e3e332dbb3.tar.gz 6365 BLAKE2B 4b7b406da890340592e8eeee19fbf45bfd3c30d2db00b300a2aa5607beb790c21ee29a470a92a14be77400f3c1ca89298650d32b53d98fa18a60521af76c9640 SHA512 7b9e950ea4d4288efbdca94e5a2dacdd28e2a23036253162a44365388aa0dc4ddafeb56f36b784b9d5c47a0071f0487da8a83df7c8e8ef6c197dc03a63bc7646
DIST github.com-xlab-treeprint-f3a15cfd24bf976c724324cb6846a8b54b88b639.tar.gz 6423 BLAKE2B 6b369642fe685467da1a33e7b9d215475d2912de3c20a40f365993a5877613bf476c2a051f47a1431f7c8624aed961e0b4e6c1ea1219566d6ee8997c1a34dd80 SHA512 adcc0a7539ae7fdd89d4a5705bb814fcf0b142ac1964e2a08ddda2fa16333f27accc398fe9e2fa2dcfe16d7fd467839cd34a109bb810d1ee94815f729393b614
+DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8
+DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
+DIST go.opencensus.io%2F@v%2Fv0.22.2.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
+DIST go.opencensus.io%2F@v%2Fv0.22.2.zip 296264 BLAKE2B 0b0e20eb2f10b81748d55b843f8489ffb8147a8b17c063cb21fe505fcdb46feb9cc0830f3b3a91ea7034b1e7ba78df27b0b235b8500b8c1ade19f6837366aaa1 SHA512 c98a43e1bfc9f4bd1e54847dfd6b07e9af14efdbcd8d61b70c9f9701541ee2405f800b1e33cf115615a43030accb735a1235e2b7d81f54efd127e2fe5c992326
+DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6
+DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.zip 15027 BLAKE2B 06a2451071b8cb0de9b4e664d007584998c91acf4bcca04be7f6c4e97c2579a9cc174e4db220347a00b252392cd6f3aa3e08e27ef3a231d422512a419a199c2a SHA512 be6b2545811ac8a869fd0365c1126be58531a6c0b51690feb17d7e88a2b79dfec6a466ac317df15e4d038c02df0f72993ae3e50a218c9f7f6659787c7f8e9333
+DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4
+DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.zip 14488 BLAKE2B 3bb8df1a459b2cf1dd63ab200f06a9f41f968f828b815b70bff899972a4c913656dbd3856dc6f4626836175d32b63c439e32a5aeb6a034f4733e2d09ef53f7f9 SHA512 d5fff733045694509ef1100fb8701526002b0841a11b5e1acbdea7e186c80738f651bd973c5eba2db5d2b8fff1b3057ea5d7d0e46645268b2f3619656238fdf4
+DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946
+DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.zip 221108 BLAKE2B 9f03d8b356ccff8e8dda9a4885d7fa79eeccb614415b1bc50ec206458f650456a9e1ade1401908b53c37a3b293cd3b7503b84104555250bc801e5c74b8fb9122 SHA512 259b357d0f31ae6ad5dd1b841d69d934b1d9d441617944d4b46269f43fb4de1cbf15750dac9dc87cf4260902ad2f4e4560e6e023375212e554d150fd65af5f9d
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.zip 1820985 BLAKE2B 3bc7be3cbeb21910390b55595aff40b3b2c8c023e8f19a8edb6c05d20bbb161b00dfb2b71664663a366c7e7b4c39025c9da36e485ef38fc55d3d5a8328acf2d8 SHA512 8ac925ff35cb11b9ac1f41a45df0f81433d0f4a1deaa026aa6982292dd5ad9f17e4223a9034433f14edf4707b2f461c592941ccf83e427ef6ad485839d3892e3
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.zip 1844911 BLAKE2B 512a7175e03c2aac9c4f3a454a5f428e2567e2d862e362480835722c4f80b8aeeab1880510658da9b219741dc161492096ac2124ae763163103ac22255e52f78 SHA512 fc5402097646068a495867d50f55b00c2a774ddb99df373dc860c175383f8f1ab5c802bbefa55e013e45201a3077cb04f5dc8831f3ff320422623167d8c38568
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180321215751-8460e604b9de.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180807140117-3d87b88a115f.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190306152737-a1d7652674e8.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190510132918-efd6b22b2522.mod 327 BLAKE2B 209bd1491b6099491fca7ccfd2fabb500b56112557b4b359819b5f9d18e1587b8b1551acab53ac6c222b66b825c4058ecd6adb1d886f1868b7b96ebbd5865eea SHA512 e16919da8b2302c45f8fab5f0d200f41c2c978ad31eab2b4db18310bfbe09079d738f682920ef6530f1d5f53359ddc3d4bf33fe5cefbcefd440212b31e72ef28
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190829153037-c13cbed26979.mod 352 BLAKE2B 5e146ef1d6b71ec65511cb06d8392eddb9a126b6194213f3b2ac6b675977dcdc77cbb3e46fc936189269583df4d0d80d2e393523c3ba4c55f1e8f9294e0dcaa1 SHA512 8ea874c371c0a582410e682cf475628b4fe6a0c0f57b05566a03343999da063250dcb987d9a863b96a8e1ee913612f323de296b4ddbcfecb166884bee06a8af9
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191030013958-a1ab85dbe136.mod 475 BLAKE2B 3be94804cb1c692471ca7f2af890586ef57ed45a306a50fd6d6eaec9c7a161e2e4945ed11640ed30ab6f0e48ca644ec06b6b12e232b0990d4e9a08347c27491a SHA512 4b495d303e08e9bb4b43ff0c82665107a6e0a9cdd33a6d14aea491e634901fedb6341fe9e47c45fca1f89688ea3548f57ac8d62b79ef4ccb596ef4eb2e809241
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191129062945-2f5052295587.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.zip 1483007 BLAKE2B c440b93040f4a9e79169bae3e8959bca49724abf6e172a8d35519534ba14c9d60906f0783b6e4f39ab491808824bb2cb86a18a4dbdab37575e62ccd3be6ebc65 SHA512 7f4c7eb3298dbaf5a66324a9c4b0baa872eaaff5e607621199b84008412492cde08ad7c519401e26307b3657965f842a444d28d1ee7a6fcaf27ecd6dfd64e460
+DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20180708004352-c73c2afc3b81.mod 26 BLAKE2B 99ea5bcf900233680c1e0fd7526b1e12c79143afc9e545e59796fe734cb5b788536d332179d2432924b39670e4067fb3d13752735e59b8b19b3d27e9de9403ef SHA512 e78afa02a8d030fcd336ae1c1d5d4071d14f2873a1ad72af64a744c0e5e3ec795957fbc527557f4ba5b747cbcdf31c0109b43a6d75342d85a69fac6cf97f233a
+DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190227222117-0694c2d4d067.mod 60 BLAKE2B 1c8445e3c9313293a0551c8a2acc31a1738724b96886bdf165c74de6cf2d25b784baefa2c41997a64ff189333a8c59756fac7ac41b0ae1d4f167c38574905351 SHA512 c466f8b348acdc26208bcb782cf330a979d9af086a95f307a785884492430f11fe45d1ddc3abdc1b092654b3880a5e7a456740293935b1912a1d39b658de80e8
+DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190802002840-cff245a6509b.mod 69 BLAKE2B f2318e92793bd626374b94e2917ea05ec2b41285c169f1461365edfa00412a798775a8ce137221e1c280983a62d03bf1cc97eadaf8668661ed4387ef5823963b SHA512 d463167481b44386a011b867d6e26eaf2fe81c750325ea89f631af7b065c5152249084c45e7195a662d9b9ddde0e81a5273d8110f73a18c4d841c155c67ea0f6
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190409202823-959b441ac422.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190909230951-414d861bb4ac.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.mod 97 BLAKE2B ec2dbdd2dad833a979dc53c8d170b4d0f5d336f4c52f36e3116cba2f3549e42fc3191fa56b81d3b9378a52322b86cf5eb0e947e6002dc1d1bee12f7a6bc2eb36 SHA512 23082eb3c6f3e4330e88178c7511b83a06288b678e517cf8ad5062943d0a0fdcea16973425a8dc01cfeacc32ec05b2dba8edb1adfba2e0bcb2d81cb5060c6085
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.zip 45839 BLAKE2B 7fa2da9301cd760ce923164ca73b1e5c528f41421aeab0c9b90915b72ebf70f350766db083800d7f552c9253452dbac8c5dd48f8701dafb206513d46389b5638 SHA512 979b197fbfc92f81d4d376c4fcb0845a9e86a7a9350841d88ae2f3059c5192e2309df2e19edb76ef96e1e33bd957a83f95fe5c439d72731bd05fa29dda589e23
+DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190312151609-d3739f865fa6.mod 27 BLAKE2B 9bc664bbb78cd778f132bf3504160bf8f6d9950342fa73c461db815f07c0ce2ae5bb2a0ac099457d022e1edf2d07e536566fea043a77aa8b21054254ae854c46 SHA512 a105eb088532321694d3adb5da0b3cdceb7781670a2d4a8a757799e3c8fde02784b981747714cfa8770ed29eb1a0228e0945ad3c363220c39108a7432fc29a32
+DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190719004257-d2bd2a29d028.mod 222 BLAKE2B 5f1962cf1df6a0e8d748eacc5616c3bf0b8de117d29e57da32017cfe26eafc879d33427deeb888b283eeab56d48b3c72ef1ad0aa3706a1dcaed208026eeb0054 SHA512 6689d7c55fea7d8cfb8d2b1a934ca45793dc8d4cf4fc5b001bafe676367a93b8a8c4964d8131ba145e5e41c4da50a238d6df01dd3fc336eeb18be61b49e62416
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.0.mod 97 BLAKE2B 54b5bbd5b0908619326ca8bcebebf13f45b2838737d22008f20d3f40ae52fb4f8fdb8c73cbd98b57873aefc8b37c7328aab2bf02ad82a7d5f83e0d75a9283e81 SHA512 4e955424df3c1cce0b716fc518eed10196feb34ec718c1fe537350ce99efd0676276c2000feca6faaa6f3db8ce626e2d330f700fa43a10c73120dd13f5f1a764
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.1-0.20191105210325-c90efee705ee.mod 159 BLAKE2B 7124b4e21f0b1ff142fe4cd5c57a22de7bc5b1c578e16e8661085d475d67573279c1ce3165e05a28c77a41eac43fe29b1d98854abdcc7b0b66167f82db652dd8 SHA512 5e225da646ef87b8bf435b745313187cecd1bd3e88660f8a90cd2a6fdcadbe8fc51f53edae4b3aa2357ad273a8e58034920bb61a1cd5898b95d3fe39f30ec648
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190503192946-f4e77d36d62c.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.zip 1421786 BLAKE2B 15782d84b4fd3576df5ae0c6540880b3a87f5ed47d66527ad88bbdd5e96cd1b0fb321b896b686de67d4518d3c6eecd008f1e49f48fa29df962a4d01f6e08653f SHA512 e79353b8f6b6866a14236eed278aae32ccb02eed040a557dda219cd96eecdc0174a8ac29a5509a33f6f0f9e5aa16f7d1c6861167d9798a5cb1eb01aabcee56f2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190724013045-ca1201d0de80.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.zip 1499692 BLAKE2B 2ca64710a73a42e2c956ac30aff1ef35e9df2619ae3eaf7ebea4e6efe6cd322244daac868fce5842f08d14eb2ae3b20654d721bd8713fe2141b409aac593dbc7 SHA512 49ce7d40e2a126a4bece83b274e7c5ec18dfbc3fe2203290022a47d4eb651425dd3e90e23e747229e0b5c734fde374bfdbff629ff8466767cb17e8e94385719d
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.zip 81912 BLAKE2B 647b2edcfc6109ea26a1844c259174eb37e3a97cbf12242716d4cc308b3918b5a0b104c9a5c2f3b4974bd94c28afa7ecaf40e71aae5fdd821cb1a5a15ec978e4 SHA512 62b95055b08c73a87c7ef69b2984eefd061e3f7d71eab8e05ce82a4ab1be2ce200aae7929da77a9ec49051b7c73bcc948fa4ee782afdfb8d74dc2d206636313b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20191202225959-858c2ad4c8b6.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.zip 84373 BLAKE2B 39bd0256afae566a53bb0b7b95adf0416653fd003bf5312c7a316a2d7c3e5d1fa25fd08bdbcdf75df45a56116fea54dcb1bf9b68b07d15d3a909e072f8f9fa06 SHA512 10a924e5fb556c2726795462c91fe7086472d6baab511ac21c1fb3c137e5a3e0db55f9ce8fe1952566d887225e3528ec8b747136f8984163acf71e869a0d8c58
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.zip 25620 BLAKE2B 770b7dc9bdd8999123fb58cfd951dcbd5592172fd394f1a70abc918e3d7adee5273da1c757f95be15a0ede27f4fd00804564828251ab308d6fc4b116415ac144 SHA512 5a9db9d294b5f2121f3de994da38161f013a0512ad64aaf51f1c7a94b7cdb1ec4102f7c457d29f9bde209e8c254f6ad034c294af3649dbd10d5349c05874f74c
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.zip 26635 BLAKE2B a464a4ad04b36e50cfe966e6e6dc299c0f8b45d0f4198ba64483bb70ab815d033cec5cde60753b76dd1fbb16fed087b41179100a2002b0a61cd4a08f9de779fc SHA512 ae6f29d5f7790b37d1722d65f31708670bf19f429c60b2f6633756ecd40e47c1fab40fc128e0d70b3b6ed0ba47ce5f970ce5f4e55b8f1fa407d2efee7444b646
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190312061237-fead79001313.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190606165138-5da285871e9c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.zip 1809154 BLAKE2B 63d29c0a89fdb5d1cfb9fa9f81ca75b0be518f63bddbb218581375ef651a30075e1c1a3ce46ee80dd2c3e2c25403d262bc2781f9b847db1a983db882d2ecfecf SHA512 868fa14dc95dd7381eeedd05c0026148afa4f85cd02e5ffe6f4a1e3315216378d0caef76124feb5e3d3ad2173217048d3c0b0285a032536a0a99dea47f0bfdf2
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190726091711-fc99dfbffb4e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191204072324-ce4227a45e2e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191228213918-04cbcbbfeed8.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.zip 1913079 BLAKE2B 8beb8e74d186ac1a5424f65cef958515d39b3082fd35c348a86305743b26d6e378635f8b4df868ddc386a700fac7e92d24f5aac3da467a8ee08abfcab7060be6 SHA512 7ccc0910f3dd4ca652bb2f02bd0e423497b4ecb6f9e124c4c6016597893ca3c9bed3c293922e28e5e6c958cdfedc0b8ffef2fe44ca3b282ebde1ab310a975fd9
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.zip 11671 BLAKE2B 0a73cd55380594ca4bac71bee0207b51979e62407ec3c828f975e8091a20e2b9a6cc331dea88cf0ff44ff3a6c7d1cfd2844651acd1d957c0d725de525a58985f SHA512 ccd129fd4ce8e4067d0ad4b164cd8c4fb7ba65d5022bb656dfdb50dd2d467152bb83760f3d94c465b6d4c29c29931c8be6c697e1634ccbab4eb3a53edca7dc4a
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180525024113-a5b4c53f6e8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190206041539-40960b6deb8e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312151545-0bb0c0a6e846.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190425150028-36563e24a262.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190506145303-2d16b83fe98c.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190606124116-d0a3d012864b.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190628153133-6cdbf07be9d0.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190816200558-6889da9d5479.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190911174233-4f2ddba30aff.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191012152004-8de300cfc20a.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191113191852-77e3bb0ad9e7.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191115202509-3a792d9c32b2.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191125144606-a911d9008d1f.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191216173652-a0e659d51361.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191227053925-7b8e75db28f4.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.zip 2932709 BLAKE2B f5f2bb585fe7b80571f622cffb23db123cddff1608ac49ec5b10e1080d0ee34dfdfb136b4ec32b2fb49235e43064da19bf6a1988bd08fcb82f9a467dd0d6eb17 SHA512 0cdd46ed9e9968b31447ebc0be1b70746a1bca1f44dfac7608e47fa82020dcfbefd3a29a487aaf4a337443889f69f2a953fb4a5eae0ea201954072d6a620151c
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.zip 22282 BLAKE2B 68df6b35d9043f23df13432b80074544f46833467294955ae5706713055d0cc9ababda892853c14e99c80a3571fd4a807a019a098fdd2ca695ba90c577ead5c4 SHA512 c72b8b73f89624889a2874c1b2445cb82f0e545fccf6a7761a278f3f659eb19f5f1c8585641b8f89f2bcfc3817ad2c0e267751cfeeab949e287e43af5df57e28
+DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20180816165407-929014505bf4.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
+DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20181121035319-3f7ecaa7e8ca.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2
+DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.mod 266 BLAKE2B a396e867f12af9acaa0ba4901fce9488d91292bbc1395946347017863a80e2ce4c6208e3a21294f970c8fa5e1ff81855a606e9ee44fe17228e79e4bb74569402 SHA512 7cbcd41fd71c39cae85710571902f9cf2a477d8ef8eedcd2b47cca7d8d36056b1c897f790714dd905e0872546eef853cb52b1aa6c39366149e69d912cf26d567
+DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.zip 5556184 BLAKE2B d58f92c3c5f34574c0ac4160077559d60d14fe85fe749ee8e89106859318bcd69f449476dc91c3a1af15a77ad3a99ee0f2e5aac419149f6d16c446f9707092af SHA512 ffa7f573b3bdbb11ff245859c079d63f94c339df8df3018bb1b8b7930fa06e16c42d6b23a9385d977e3e9f814b84bf071ca2ae7707c9b92c36a6b6791e4ffc0b
+DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20181029234149-ec6d1f5cefe6.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
+DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37
+DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.zip 220616 BLAKE2B ee0e947ce59df10c713766f1c8fdf27d37f64da46ffb095e7ff30da8583309f8ee15c9fa38a1790b71da466fadf87b1918600b5610fc632cd051658da32bfa50 SHA512 4439ea5da9742ca27d2ccb0604edae491594299db5b2062a4a117e8f2c08a64c6e3a87c5a3d9a606d816e89aab5eb870c13a0849b79cbb47b2659840efebc355
+DIST gonum.org%2Fv1%2Fplot%2F@v%2Fv0.0.0-20190515093506-e2840ee46a6b.mod 471 BLAKE2B 92356c493b1e94781571e05eb5096e6b40beb88c57927a955f899e8610597192fe82622f8e8f84b4c96ec00b1965552e6d5fb9166a6e3fa4f603d4fba72a4913 SHA512 ee8422d1041c7ba9306c5a49eb3bebb8c8243563250b7b3f19326769a3fb08660414625130cc1941077e7778104f6243aa5a5eb45797b72b4daf4f6abddaa32b
+DIST google.golang.org%2Fapi%2F@v%2Fv0.13.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
+DIST google.golang.org%2Fapi%2F@v%2Fv0.14.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
+DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
+DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.zip 14163585 BLAKE2B 0940d785a478203f50eb465c7e4f8686bdd54b638e21c25b41f2496bbafff66c94ab41a39ef52bb78c2bd2a59df54ca2fc77e378907397d8111e7717c8db3f48 SHA512 b81ba78ba8a62036edba302bd544c285ca5e1200209be27d6aaf62b3b116470a5cb32a1a6957c04537b407f6453057e0bd8ea9acf8fdd588c01ec9e70f8694e7
+DIST google.golang.org%2Fapi%2F@v%2Fv0.4.0.mod 506 BLAKE2B 6933fe30be88a21cca041b800cb9d095b1daf787f3701c0311da2606287d03799df9b556451d9170d02be8028ce686aaf69eaf941d2a8bdb4769c319c50c9905 SHA512 9fa566a26f8345a101dc94986755468b4782d78689d5a163aa5b960b507d4a0e8e435a8ce84073e07187745a156e2c9f586136895db2f08cfc4cd3329fc1e23a
+DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c
+DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
+DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
+DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.zip 13193468 BLAKE2B 26449251871cda35dedc488c3c8c8fc4dc14b1bf79dfa5160b44e6890d5b350111277b1791b18d91a42bd91b6f382baf3caf62584e41c4a928afe17d564e2e6a SHA512 85d4096a7d867d8f4bcc1b3cc582512d94c626023d8abd20ca343009e62b600150076f161f3582ec88c6263695fec0c11de69290a6c6cd04a177272740132be8
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.mod 362 BLAKE2B 2d6d24186c2748c4d8f559feb269b351d4260c9c0e0b9342377f23af9e5ecc02fc7f84f7be299aedb0da1b1a6d6d67c3271a826b776bb7cc034256550479a0f5 SHA512 e3c391dfcc5f14fdc5430d7a1d239d4ebec89399b17851e4d7643b8c0c70077aaec3a1bc1a8dd5e3320d8bc6e1562a26e3fe1121d75ce578f37f5d2e84a4ddf6
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.mod 171 BLAKE2B 09b1ead1721eaa1dab7106f0206fd6f1c1509ddd07f70d7a23f73a1c047b9b33b41bae2519d2ba7e5c6ca632a9082483080dbffe0af3c371934f2ceab9ad334c SHA512 f99bba4e696291aae951ea3865a1cbaf0ba2df7cde4f86e942b2e5f5a4dfc6dfde95c74e52ff31ba69f2aa2a838d21843343b2203c732279eede5936b92d7c8c
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.zip 417678 BLAKE2B cdb4e693ed5fb2bb77ed1ce0e0b1b25dbc3648c00554ade874ce28fffd5824f487fac744f9f2cb0920aad2c94a82024e1d233d1663887f0681790488a3af6f3c SHA512 1ffe3894d8fd004f6c28916e06d8e64708c20321ff914e82d05c50ce4c62b76bcd93e74e45871f7adc779791240ef8e25df08fdaaf2abdce20a3640d8964bb28
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190716160619-c506a9f90610.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191115194625-c23dd37a84c9.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191216164720-4f79533eabd1.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191230161307-f3c370f40bfb.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.zip 8059637 BLAKE2B 3c189a7c546d4c847fd4d804661ad397e2324004d1824e705ce6510f39222889c3cea1c598b62dc732e7f6d8416c097a73da3d8f239d9c4f8d5c6ea76da5c429 SHA512 ac6ffd1e9718fbd7709d6809e69f2e5bb16f8106d23dae8502d9e1eb467eaff5ca7f63ce96a8542bae97d3c7d0a105e2269753bda01e738fb1dbd288c28c4beb
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.zip 1027160 BLAKE2B 9cc654c2155c5306cbea34e57f9c6e527cd8504278921bb46186c9997a3dd15278a6cda877df9cdac8368a03dd793a071fdc55ab7591cb9d6bd26dcfbed469bd SHA512 8cd3c2d502dbf4955b29e3b0bc5439b7c9ea82c0bdbc2749bd378d5dd30eea81631dffb4aa3306ee4633b0c988f45e73103aeb5ef38d6cc63e6622886456fd06
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.zip 1101208 BLAKE2B bee7938f7e39bd6acfe03bf03e1d4787f30384f34fbf292ddabf7e172dcf8736ebc0d32f7d26bdf0021252dcb984766bc3b778312434a4ffc5f515f009fd26ed SHA512 8b90599cca0b31538086a5d65dc124c2e7641ec42b4774b15b3f5cb063b39f3d8f83a7114e89e6aac1dc4cebbac526105378a3cd9504bc723cb26781b5d214fd
+DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.zip 41465 BLAKE2B 9a7183d3ac6591399b5208026208047a670c85e8b6014ad29955b168c63bb4953fa972d31025613c2ab12d7207adeebe9578b3c15b65ebb792f1e41df2668297 SHA512 fa7c68a2b5a6bb14f99cda92a3e77aad0e4160f659c54ea73e9813af9ff9449df6b0cab42ee283971e778b6b9da4a6098df805dd284c3b1aedfcd3a0b8504bde
+DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.zip 78275 BLAKE2B 139c8eb7c405dddbb67321eacd25c0af1e5b3f031831266abf6a8e5a5ed12f6381778868383c03433f8ef760d6b42ffbff40150f2fee91dedd0b312f9fe81c7f SHA512 3214b38f348921f6a6d9ef93d4337bb90abd0d101d69d16ad8e38415c22d3b9a85bda873df2eb7a271f9b973ef38b74731405e522e1bb8083c78932762cb5535
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190418001031-e561f6794a2a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.zip 506912 BLAKE2B a38cb31fd8df49dae4ff187e67704b5586ba78a0dcfe5afa3b820f0ac80f7e12ba4bdb705caa97c6be85407fe97599d1244d2f56f0e9e36554ba43289d9f21d8 SHA512 3285ab90762ee6b771c95e1c842ab308f04ac366ddfa693040c49d8951bb01db33994eb69c2c9dfd6ab2b379b29cbfe31558ca6b6aafe3feea1e693b2a36d0cb
DIST influxdb-1.5.1.tar.gz 1225941 BLAKE2B 6d3639f0c31b885f836e3e97ad943147ba206af4f7798389972f6880d111493633595251a92c540ae23fe0f8a57eb00befb19ddb3d229318b52baebf30301320 SHA512 d536bfd960c8d2145d275da934e1638f425ed168ca3c4b3987084f8dacb2f1b827082c635ad83ad3c3cf105efdbb8465d2f0f552215775f6eb321219280d626e
DIST influxdb-1.6.3.tar.gz 1506621 BLAKE2B e0594a6f9992cabbb7b44ca75b3054a97af22e02278c2b44262ec5c3a00fab35e17b48957625d0ba267e1ef924d7999feed34d2b215ea79067592f50e5dc5941 SHA512 a6bca52223ae084a7d3feef20574b0f6d96105547a17e4cb2713bee18beb0fb31d096779a908d14ceec1510db93841cba5bfd26bc5e6961538351069f1a7a728
DIST influxdb-1.6.4.tar.gz 1510337 BLAKE2B 6bd706101bb2776043d1ce0729276998e090cf57b24f4fbaa3156a673f3fd55b02b8deff3f3e0a1d8bbda446c8fe879633b51b6f52eb0f79bad5f9c19bed0e7e SHA512 19604a1cd33e5d9f81ed46f58ec32b99772077401b6d0789ad00813baaf8a1d488a9d84767fc6021f9f980f8f4e62a3bbe238037fa3a231e81eab8629d9e8838
+DIST influxdb-1.8.0.tar.gz 12064140 BLAKE2B cd3731cbfe5d7b0162dbcd36862bc6efb806e1f345993f5f249992203e6e21ca388e1b86a829333d9da807ee13c577829f27d23071645ad8e98f8da92f388c40 SHA512 d62aa9dc7777d8a1c5d3a9b36937255f783002c762ee3c60bbcb190edb4d4b0f67d99d500f67d726ec4f407b7ca350cb409b58dc6a999648884a286f8160f426
+DIST influxdb-1.8.1.tar.gz 12068325 BLAKE2B dcc5a8291188aa8f0c040dbda89fa0bbd1868f54fb92c0d90f053138839ff045c00d9e948aa1087c3b1dfb1532ba8bfda17082c6c82c92412653fe470b7a78a2 SHA512 46a3629b4cff2bee15659f8cbee125900a03f00bbde8ae1e8c7b86692a28028ff6bfdd009fa92887f08df8ef5bb4e51cef88fadfd4c8b3c87c2955bf63a9a866
+DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774
+DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.zip 450232 BLAKE2B 2d10520e06557fa00e94a1ccd80b9b937bcaf404f81f853a020eed606c7a297db037baf784518e060604319ba5454423e4995ab005be18ae1398c5ef16f24719 SHA512 0a15b90c2a4577cbc298a34f714660e9fdc488b1fb72b33d0ae296cb6f15a691091d5e6d3c801998b9c2b7236b163118577b2816316078d613f74cd803947534
+DIST rsc.io%2Fpdf%2F@v%2Fv0.1.1.mod 18 BLAKE2B 02f32b5a77e5009f179cf1fdc9acbb977fe219698f19ef41acee8129e0de7ad93b0b39ce82ac1538c82a7cdd33776e270f0acec114716c791727b021a4d3e147 SHA512 f911a889614d9177295952c82f8b4a0942fcbb7b4fca7378c0b98a63ed0e37e1319d51905f906ad08144eb0f3f829a2ccc2af04c2147e60cc2ac1ea8d7dab16f
EBUILD influxdb-1.5.1.ebuild 4761 BLAKE2B d9824094d3150e9641876c97cc1fb2001197dc054b563cfeaf822c1ceec75f09280e33b734493f50b2dd510750614b4c7ec48ecd7a7dd7646094ba44759daa17 SHA512 7fbd68bf32c2aba60dbf1f7256b4b75783c23d004a6d44eb51e774a8d854d552049fba4a8bfae54a5bd1d9da88a3ade9914b94bea386ad3b999d99a848cfb699
EBUILD influxdb-1.6.3.ebuild 4761 BLAKE2B d9824094d3150e9641876c97cc1fb2001197dc054b563cfeaf822c1ceec75f09280e33b734493f50b2dd510750614b4c7ec48ecd7a7dd7646094ba44759daa17 SHA512 7fbd68bf32c2aba60dbf1f7256b4b75783c23d004a6d44eb51e774a8d854d552049fba4a8bfae54a5bd1d9da88a3ade9914b94bea386ad3b999d99a848cfb699
EBUILD influxdb-1.6.4.ebuild 5105 BLAKE2B 5e2fa6c4b00acad90084e3ed280343953cdb81da586a83cc47154dc2b3867bffc7996c4d7a560b43121b7fd095d8db6938e2eee238b223b0d742bed97e4bb703 SHA512 681bd4cf91bfea48e74171bca39866efd138f8699eaf61bcec85961f481ec2015bceb2033b9d0bd217d1d95a49dd038474733c0d3e3ff80c2dbacbd0bec3c7fd
-MISC metadata.xml 452 BLAKE2B b1c73f1e86864534f79c9b8e136691660014c6cffda6d92b89d6bf73cbaf17e28ba4989cbb3a48aa29cfd4587d02ac415406fdb49bccfa18c8129b8ae4cd146e SHA512 7100ef74e1dfbc09bf0accecedfeac01ddc257566fe1ea9138c0a0d1d491abe142ae677760704ba207a609d6a94e81367b515905aabd80ac1f78a4eba27d176b
+EBUILD influxdb-1.8.0-r1.ebuild 25798 BLAKE2B 7bd4ee5a275971954a4a7aa0b8319c38ea687bba1169135399929e663ef08aa1bb824b5785d0a96cc4a1addbaa1d640e30d3d55829a1f963b39c52456b9fe1c7 SHA512 474ae4a6ec4c1f313899feebf8938a3b8f7110f0c23bb14ef89274a9f2e42fe4feb7f81a1e0383b3e9266e743f83d2b4afc04b2b5c2522eb7ebd934236a5eda6
+EBUILD influxdb-1.8.0.ebuild 25724 BLAKE2B ebd2c6b119c35826f54845dcde17648d1df3b9f92152c28c800681607dca92efd0a70e2e6207fb53a5571b481b79aec39c42cb807b03242604e5de00f45b2ca4 SHA512 b6a5d24191be1b7c07aa5b2d9f812169ff89bae2fbde42284b2d7e639690a27d2fd7de7021c9c2452f60b92ef50ee641462d132c165eea4793f7f27452dbd026
+EBUILD influxdb-1.8.1.ebuild 25804 BLAKE2B 2a9aee0d99c71cc12559c872de77696aa56517b8e06d1a3b0424413f9bf6139bd96bdb748dae092b548e373d9ddbcd4c461c7bc3ea97295dbedece2095e73343 SHA512 543ac5d915046458fed28707ba1c9af77bc4d139c260c72d3b8e099002912421fcecd364b566cfcc900d1ab4a8217143a63d7d006d909378bc6c11b92668ce65
+MISC metadata.xml 523 BLAKE2B 68689a4f01f7999cdf61d09cfc441f96483699cbbd2543faeaf2d1ceb7961d3c7098e18b78e2fc86ae1d0845bf1077cabb26b94fb4c796a33a20420dec61234b SHA512 f6f16f70b5ab9c58b37c8e126ab6d8f12d727350d301939d8a005c798caa008008666855ab15f2bd47bfa62ffbb2677cd79b88f977f38e6109ee24494966f600
diff --git a/dev-db/influxdb/files/influxdb.confd b/dev-db/influxdb/files/influxdb.confd
index 44e8a9cd3045..7541ad057aeb 100644
--- a/dev-db/influxdb/files/influxdb.confd
+++ b/dev-db/influxdb/files/influxdb.confd
@@ -8,5 +8,11 @@
#This is the influxd output log:
#output_log="/dev/null"
+#The influxd Config file location:
+#config="/etc/influxdb/influxdb.conf"
+
# Extra options to pass to influxd:
#influxd_opts=""
+
+# Uncomment / edit to enable healthchecks
+#INFLUXDB_HEALTHCHECK_URI="127.0.0.1:8086/ping"
diff --git a/dev-db/influxdb/files/influxdb.rc-r1 b/dev-db/influxdb/files/influxdb.rc-r1
new file mode 100644
index 000000000000..7556a506784d
--- /dev/null
+++ b/dev-db/influxdb/files/influxdb.rc-r1
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+
+config="${config:-/etc/influxdb/influxdb.conf}"
+pidfile=${pidfile:-/var/run/influxd.pid}
+influxd_opts=${influxd_opts:-}
+
+supervisor="supervise-daemon"
+command=/usr/bin/influxd
+command_args="-config ${config} -pidfile ${pidfile} ${influxd_opts}"
+command_user="influxdb:influxdb"
+
+retry=SIGTERM/30/SIGKILL/10
+wait=1000
+
+# Logging
+error_log="${error_log:-/var/log/influxdb/influxd.log}"
+output_log="${output_log:-/dev/null}"
+
+# Max open files
+rc_ulimit="-n 65536"
+
+start_pre() {
+ # Check if config file exist
+ if [ ! -r "${config}" ]; then
+ eerror "config file ${config} doesn't exist"
+ return 1
+ fi
+ if [ -n "${error_log}" ] && [ ! -e "${error_log}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${error_log}")"
+ fi
+ if [ -n "${output_log}" ] && [ ! -e "${output_log}" ]; then
+ checkpath -d -o "${command_user}" "$(dirname "${output_log}")"
+ fi
+ return 0
+}
+
+if [ -n "${INFLUXDB_HEALTHCHECK_URI}" ]; then
+ healthcheck_delay=300
+ healthcheck_timer=60
+
+ healthcheck() {
+ command -v wget || return 0
+ wget -Oq- "${INFLUXDB_HEALTHCHECK_URI}"
+ }
+fi
diff --git a/dev-db/influxdb/influxdb-1.8.0-r1.ebuild b/dev-db/influxdb/influxdb-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..658437482efb
--- /dev/null
+++ b/dev-db/influxdb/influxdb-1.8.0-r1.ebuild
@@ -0,0 +1,504 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+inherit go-module systemd
+
+EGO_PN="github.com/influxdata/${PN}"
+EGO_SUM=(
+ "github.com/influxdata/flux v0.65.0" # MIT
+ "github.com/influxdata/influxql v1.1.0" # MIT
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e" # MIT
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9" # Apache-2.0
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6" # Apache-2.0
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368" # MIT
+ "github.com/gogo/protobuf v1.1.1" # BSD
+ "cloud.google.com/go v0.51.0" # Apache-2.0
+ "cloud.google.com/go/bigtable v1.2.0" # Apache-2.0
+ "google.golang.org/appengine v1.6.5" # Apache-2.0
+ "github.com/google/flatbuffers v1.11.0" # Apache-2.0
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db" # Apache-2.0
+ "github.com/c-bata/go-prompt v0.2.2" # MIT
+ "github.com/cespare/xxhash v1.1.0" # MIT
+ "github.com/eclipse/paho.mqtt.golang v1.2.0" # EPL-1.0
+ "github.com/go-sql-driver/mysql v1.4.1" # MPL-2.0
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec" # Apache-2.0
+ "github.com/golang/protobuf v1.3.2" # BSD
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db" # BSD
+ "github.com/google/go-cmp v0.4.0" # BSD
+ "github.com/googleapis/gax-go/v2 v2.0.5" # BSD
+ "github.com/jsternberg/zap-logfmt v1.0.0" # MIT
+ "github.com/lib/pq v1.0.0" # MIT
+ "github.com/mattn/go-isatty v0.0.4" # MIT
+ "github.com/mattn/go-runewidth v0.0.3" # MIT
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1" # Apache-2.0
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947" # Apache-2.0
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f" # MIT
+ "github.com/pkg/errors v0.8.1" # BSD-2
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5" # BSD-2
+ "github.com/prometheus/common v0.6.0" # Apache-2.0
+ "github.com/prometheus/client_golang v1.0.0" # Apache-2.0
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4" # Apache-2.0
+ "github.com/prometheus/procfs v0.0.2" # Apache-2.0
+ "github.com/beorn7/perks v1.0.0" # MIT
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b" # MIT
+ "github.com/segmentio/kafka-go v0.2.0" # MIT
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6" # MIT
+ "go.opencensus.io v0.22.2" # Apache-2.0
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7" # Apache-2.0
+ "go.uber.org/zap v1.9.1" # MIT
+ "go.uber.org/atomic v1.3.2" # MIT
+ "go.uber.org/multierr v1.1.0" # MIT
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550" # BSD
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553" # BSD
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" # BSD
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" # BSD
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50" # BSD
+ "golang.org/x/text v0.3.2" # BSD
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4" # BSD
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178" # BSD
+ "google.golang.org/api v0.15.0" # BSD MIT
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f" # Apache-2.0
+ "google.golang.org/grpc v1.26.0" # Apache-2.0
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8" # MIT
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd" # MIT
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef" # MIT
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52" # BSD
+ "github.com/tinylib/msgp v1.0.2" # MIT
+ "github.com/philhofer/fwd v1.0.0" # MIT
+ "github.com/BurntSushi/toml v0.3.1" # MIT
+ "collectd.org v0.3.0" # ISC
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40" # MIT
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible" # MIT
+ "github.com/spf13/cast v1.3.0" # MIT
+ "github.com/boltdb/bolt v1.3.1" # MIT
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada" # MIT
+ "github.com/klauspost/compress v1.4.0" # BSD
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5" # MIT
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6" # BSD
+ "github.com/paulbellamy/ratecounter v0.2.0" # MIT
+ "github.com/willf/bitset v1.1.3" # BSD
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae" # Apache-2.0
+
+ # Tests
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
+ "gopkg.in/yaml.v2 v2.2.2"
+ "gonum.org/v1/gonum v0.6.0"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
+ "cloud.google.com/go/pubsub v1.1.0"
+ "cloud.google.com/go/datastore v1.0.0"
+ "cloud.google.com/go/bigquery v1.3.0"
+ "cloud.google.com/go/storage v1.5.0"
+ "github.com/google/martian v2.1.0+incompatible"
+ "github.com/google/btree v1.0.0"
+ "github.com/davecgh/go-spew v1.1.1"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
+ "github.com/stretchr/testify v1.4.0"
+ "github.com/OneOfOne/xxhash v1.2.2"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
+ "github.com/smartystreets/goconvey v1.6.4"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3"
+ "github.com/mattn/go-sqlite3 v1.11.0"
+ "github.com/pierrec/lz4 v2.0.5+incompatible"
+ "github.com/kr/pretty v0.1.0"
+ "github.com/kr/text v0.1.0"
+ "github.com/jstemmer/go-junit-report v0.9.1"
+ "github.com/jtolds/gls v4.20.0+incompatible"
+ "github.com/sergi/go-diff v1.0.0"
+ "github.com/pmezard/go-difflib v1.0.0"
+ "github.com/mattn/go-colorable v0.0.9"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
+ "honnef.co/go/tools v0.0.1-2019.2.3" # MIT
+ "rsc.io/binaryregexp v0.2.0"
+
+ "cloud.google.com/go v0.26.0/go.mod"
+ "cloud.google.com/go v0.34.0/go.mod"
+ "cloud.google.com/go v0.38.0/go.mod"
+ "cloud.google.com/go v0.43.0/go.mod"
+ "cloud.google.com/go v0.44.1/go.mod"
+ "cloud.google.com/go v0.44.2/go.mod"
+ "cloud.google.com/go v0.45.1/go.mod"
+ "cloud.google.com/go v0.46.3/go.mod"
+ "cloud.google.com/go v0.50.0/go.mod"
+ "cloud.google.com/go v0.51.0/go.mod"
+ "cloud.google.com/go/bigquery v1.0.1/go.mod"
+ "cloud.google.com/go/bigquery v1.3.0/go.mod"
+ "cloud.google.com/go/bigtable v1.2.0/go.mod"
+ "cloud.google.com/go/datastore v1.0.0/go.mod"
+ "cloud.google.com/go/pubsub v1.0.1/go.mod"
+ "cloud.google.com/go/pubsub v1.1.0/go.mod"
+ "cloud.google.com/go/storage v1.0.0/go.mod"
+ "cloud.google.com/go/storage v1.5.0/go.mod"
+ "collectd.org v0.3.0/go.mod"
+ "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
+ "github.com/BurntSushi/toml v0.3.1/go.mod"
+ "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
+ "github.com/OneOfOne/xxhash v1.2.2/go.mod"
+ "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
+ "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
+ "github.com/beorn7/perks v1.0.0/go.mod"
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
+ "github.com/boltdb/bolt v1.3.1/go.mod"
+ "github.com/c-bata/go-prompt v0.2.2/go.mod"
+ "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
+ "github.com/cespare/xxhash v1.1.0/go.mod"
+ "github.com/chzyer/logex v1.1.10/go.mod"
+ "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
+ "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
+ "github.com/client9/misspell v0.3.4/go.mod"
+ "github.com/dave/jennifer v1.2.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.1/go.mod"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
+ "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
+ "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
+ "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
+ "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
+ "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
+ "github.com/go-kit/kit v0.8.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.3.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.4.0/go.mod"
+ "github.com/go-sql-driver/mysql v1.4.1/go.mod"
+ "github.com/go-stack/stack v1.8.0/go.mod"
+ "github.com/gogo/protobuf v1.1.1/go.mod"
+ "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
+ "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
+ "github.com/golang/mock v1.1.1/go.mod"
+ "github.com/golang/mock v1.2.0/go.mod"
+ "github.com/golang/mock v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.2.0/go.mod"
+ "github.com/golang/protobuf v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.3.2/go.mod"
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
+ "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
+ "github.com/google/btree v1.0.0/go.mod"
+ "github.com/google/flatbuffers v1.11.0/go.mod"
+ "github.com/google/go-cmp v0.2.0/go.mod"
+ "github.com/google/go-cmp v0.3.0/go.mod"
+ "github.com/google/go-cmp v0.3.1/go.mod"
+ "github.com/google/go-cmp v0.4.0/go.mod"
+ "github.com/google/martian v2.1.0+incompatible/go.mod"
+ "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
+ "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
+ "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
+ "github.com/google/renameio v0.1.0/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.0/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.1/go.mod"
+ "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
+ "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
+ "github.com/influxdata/flux v0.65.0/go.mod"
+ "github.com/influxdata/influxql v1.1.0/go.mod"
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
+ "github.com/influxdata/promql/v2 v2.12.0/go.mod"
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
+ "github.com/json-iterator/go v1.1.6/go.mod"
+ "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
+ "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
+ "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
+ "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
+ "github.com/julienschmidt/httprouter v1.2.0/go.mod"
+ "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
+ "github.com/kisielk/gotool v1.0.0/go.mod"
+ "github.com/klauspost/compress v1.4.0/go.mod"
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
+ "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
+ "github.com/kr/pretty v0.1.0/go.mod"
+ "github.com/kr/pty v1.1.1/go.mod"
+ "github.com/kr/text v0.1.0/go.mod"
+ "github.com/lib/pq v1.0.0/go.mod"
+ "github.com/mattn/go-colorable v0.0.9/go.mod"
+ "github.com/mattn/go-isatty v0.0.4/go.mod"
+ "github.com/mattn/go-runewidth v0.0.3/go.mod"
+ "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
+ "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
+ "github.com/modern-go/reflect2 v1.0.1/go.mod"
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
+ "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.2/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
+ "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
+ "github.com/philhofer/fwd v1.0.0/go.mod"
+ "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
+ "github.com/pkg/errors v0.8.0/go.mod"
+ "github.com/pkg/errors v0.8.1/go.mod"
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
+ "github.com/pmezard/go-difflib v1.0.0/go.mod"
+ "github.com/prometheus/client_golang v0.9.1/go.mod"
+ "github.com/prometheus/client_golang v1.0.0/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
+ "github.com/prometheus/common v0.4.1/go.mod"
+ "github.com/prometheus/common v0.6.0/go.mod"
+ "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
+ "github.com/prometheus/procfs v0.0.2/go.mod"
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
+ "github.com/rogpeppe/go-internal v1.3.0/go.mod"
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
+ "github.com/segmentio/kafka-go v0.1.0/go.mod"
+ "github.com/segmentio/kafka-go v0.2.0/go.mod"
+ "github.com/sergi/go-diff v1.0.0/go.mod"
+ "github.com/sirupsen/logrus v1.2.0/go.mod"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
+ "github.com/smartystreets/goconvey v1.6.4/go.mod"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
+ "github.com/spf13/cast v1.3.0/go.mod"
+ "github.com/spf13/cobra v0.0.3/go.mod"
+ "github.com/spf13/pflag v1.0.3/go.mod"
+ "github.com/stretchr/objx v0.1.0/go.mod"
+ "github.com/stretchr/objx v0.1.1/go.mod"
+ "github.com/stretchr/testify v1.2.0/go.mod"
+ "github.com/stretchr/testify v1.2.2/go.mod"
+ "github.com/stretchr/testify v1.3.0/go.mod"
+ "github.com/stretchr/testify v1.4.0/go.mod"
+ "github.com/tinylib/msgp v1.0.2/go.mod"
+ "github.com/willf/bitset v1.1.3/go.mod"
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
+ "go.opencensus.io v0.21.0/go.mod"
+ "go.opencensus.io v0.22.0/go.mod"
+ "go.opencensus.io v0.22.2/go.mod"
+ "go.uber.org/atomic v1.3.2/go.mod"
+ "go.uber.org/multierr v1.1.0/go.mod"
+ "go.uber.org/zap v1.9.1/go.mod"
+ "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
+ "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
+ "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
+ "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
+ "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
+ "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
+ "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
+ "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
+ "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
+ "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
+ "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
+ "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
+ "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
+ "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
+ "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
+ "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
+ "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
+ "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
+ "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
+ "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
+ "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
+ "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
+ "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
+ "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
+ "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
+ "golang.org/x/mod v0.1.0/go.mod"
+ "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
+ "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
+ "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
+ "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
+ "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
+ "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
+ "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
+ "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
+ "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
+ "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
+ "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
+ "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
+ "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
+ "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
+ "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
+ "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
+ "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
+ "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
+ "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
+ "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
+ "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
+ "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
+ "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
+ "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
+ "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
+ "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
+ "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
+ "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
+ "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
+ "golang.org/x/text v0.3.0/go.mod"
+ "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
+ "golang.org/x/text v0.3.2/go.mod"
+ "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
+ "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
+ "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+ "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
+ "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
+ "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
+ "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
+ "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
+ "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
+ "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
+ "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
+ "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
+ "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
+ "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
+ "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
+ "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
+ "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
+ "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
+ "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
+ "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
+ "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
+ "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
+ "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
+ "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
+ "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
+ "gonum.org/v1/gonum v0.6.0/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
+ "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
+ "google.golang.org/api v0.4.0/go.mod"
+ "google.golang.org/api v0.7.0/go.mod"
+ "google.golang.org/api v0.8.0/go.mod"
+ "google.golang.org/api v0.9.0/go.mod"
+ "google.golang.org/api v0.13.0/go.mod"
+ "google.golang.org/api v0.14.0/go.mod"
+ "google.golang.org/api v0.15.0/go.mod"
+ "google.golang.org/appengine v1.1.0/go.mod"
+ "google.golang.org/appengine v1.4.0/go.mod"
+ "google.golang.org/appengine v1.5.0/go.mod"
+ "google.golang.org/appengine v1.6.1/go.mod"
+ "google.golang.org/appengine v1.6.5/go.mod"
+ "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
+ "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
+ "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
+ "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
+ "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
+ "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
+ "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
+ "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
+ "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
+ "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
+ "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
+ "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
+ "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
+ "google.golang.org/grpc v1.19.0/go.mod"
+ "google.golang.org/grpc v1.20.1/go.mod"
+ "google.golang.org/grpc v1.21.1/go.mod"
+ "google.golang.org/grpc v1.23.0/go.mod"
+ "google.golang.org/grpc v1.26.0/go.mod"
+ "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
+ "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
+ "gopkg.in/errgo.v2 v2.1.0/go.mod"
+ "gopkg.in/yaml.v2 v2.2.1/go.mod"
+ "gopkg.in/yaml.v2 v2.2.2/go.mod"
+ "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
+ "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
+ "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
+ "rsc.io/binaryregexp v0.2.0/go.mod"
+ "rsc.io/pdf v0.1.1/go.mod"
+)
+EGIT_COMMIT="781490de48220d7695a05c29e5a36f550a4568f5"
+EGIT_BRANCH="1.8"
+
+go-module_set_globals
+
+SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+
+LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc"
+
+BDEPEND="doc? (
+ >=app-text/asciidoc-8.6.10
+ app-text/xmlto
+)"
+COMMON_DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_compile() {
+ set -- env GOBIN="${S}/bin/" go install -a -installsuffix cgo \
+ -ldflags="-s -X main.version=${PV} -X main.branch=${EGIT_BRANCH} -X main.commit=${EGIT_COMMIT}" \
+ -v -work -x ./...
+ echo "$@"
+ "$@" || die "compile failed"
+ use doc && emake -C man build
+}
+
+src_install() {
+ dobin "${S}"/bin/influx*
+
+ use doc && dodoc *.md
+ use doc && doman man/*.1
+
+ insinto /etc/logrotate.d
+ newins scripts/logrotate influxdb
+
+ systemd_dounit scripts/influxdb.service
+
+ newconfd "${FILESDIR}"/influxdb.confd influxdb
+ newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb
+ insinto /etc/influxdb
+ newins etc/config.sample.toml influxdb.conf
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+}
+
+src_test() {
+ go test ./tests || die
+}
diff --git a/dev-db/influxdb/influxdb-1.8.0.ebuild b/dev-db/influxdb/influxdb-1.8.0.ebuild
new file mode 100644
index 000000000000..9937c0300089
--- /dev/null
+++ b/dev-db/influxdb/influxdb-1.8.0.ebuild
@@ -0,0 +1,505 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module systemd
+
+DESCRIPTION=" Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+EGO_SUM=(
+ "cloud.google.com/go v0.26.0/go.mod"
+ "cloud.google.com/go v0.34.0/go.mod"
+ "cloud.google.com/go v0.38.0/go.mod"
+ "cloud.google.com/go v0.43.0/go.mod"
+ "cloud.google.com/go v0.44.1/go.mod"
+ "cloud.google.com/go v0.44.2/go.mod"
+ "cloud.google.com/go v0.45.1/go.mod"
+ "cloud.google.com/go v0.46.3/go.mod"
+ "cloud.google.com/go v0.50.0/go.mod"
+ "cloud.google.com/go v0.51.0"
+ "cloud.google.com/go v0.51.0/go.mod"
+ "cloud.google.com/go/bigquery v1.0.1/go.mod"
+ "cloud.google.com/go/bigquery v1.3.0"
+ "cloud.google.com/go/bigquery v1.3.0/go.mod"
+ "cloud.google.com/go/bigtable v1.2.0"
+ "cloud.google.com/go/bigtable v1.2.0/go.mod"
+ "cloud.google.com/go/datastore v1.0.0"
+ "cloud.google.com/go/datastore v1.0.0/go.mod"
+ "cloud.google.com/go/pubsub v1.0.1/go.mod"
+ "cloud.google.com/go/pubsub v1.1.0"
+ "cloud.google.com/go/pubsub v1.1.0/go.mod"
+ "cloud.google.com/go/storage v1.0.0/go.mod"
+ "cloud.google.com/go/storage v1.5.0"
+ "cloud.google.com/go/storage v1.5.0/go.mod"
+ "collectd.org v0.3.0"
+ "collectd.org v0.3.0/go.mod"
+ "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
+ "github.com/BurntSushi/toml v0.3.1"
+ "github.com/BurntSushi/toml v0.3.1/go.mod"
+ "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
+ "github.com/OneOfOne/xxhash v1.2.2"
+ "github.com/OneOfOne/xxhash v1.2.2/go.mod"
+ "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
+ "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
+ "github.com/beorn7/perks v1.0.0"
+ "github.com/beorn7/perks v1.0.0/go.mod"
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
+ "github.com/boltdb/bolt v1.3.1"
+ "github.com/boltdb/bolt v1.3.1/go.mod"
+ "github.com/c-bata/go-prompt v0.2.2"
+ "github.com/c-bata/go-prompt v0.2.2/go.mod"
+ "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
+ "github.com/cespare/xxhash v1.1.0"
+ "github.com/cespare/xxhash v1.1.0/go.mod"
+ "github.com/chzyer/logex v1.1.10/go.mod"
+ "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
+ "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
+ "github.com/client9/misspell v0.3.4/go.mod"
+ "github.com/dave/jennifer v1.2.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.1"
+ "github.com/davecgh/go-spew v1.1.1/go.mod"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
+ "github.com/eclipse/paho.mqtt.golang v1.2.0"
+ "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
+ "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
+ "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
+ "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
+ "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
+ "github.com/go-kit/kit v0.8.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.3.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.4.0/go.mod"
+ "github.com/go-sql-driver/mysql v1.4.1"
+ "github.com/go-sql-driver/mysql v1.4.1/go.mod"
+ "github.com/go-stack/stack v1.8.0/go.mod"
+ "github.com/gogo/protobuf v1.1.1"
+ "github.com/gogo/protobuf v1.1.1/go.mod"
+ "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
+ "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
+ "github.com/golang/mock v1.1.1/go.mod"
+ "github.com/golang/mock v1.2.0/go.mod"
+ "github.com/golang/mock v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.2.0/go.mod"
+ "github.com/golang/protobuf v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.3.2"
+ "github.com/golang/protobuf v1.3.2/go.mod"
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
+ "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
+ "github.com/google/btree v1.0.0"
+ "github.com/google/btree v1.0.0/go.mod"
+ "github.com/google/flatbuffers v1.11.0"
+ "github.com/google/flatbuffers v1.11.0/go.mod"
+ "github.com/google/go-cmp v0.2.0/go.mod"
+ "github.com/google/go-cmp v0.3.0"
+ "github.com/google/go-cmp v0.3.0/go.mod"
+ "github.com/google/go-cmp v0.3.1/go.mod"
+ "github.com/google/go-cmp v0.4.0"
+ "github.com/google/go-cmp v0.4.0/go.mod"
+ "github.com/google/martian v2.1.0+incompatible"
+ "github.com/google/martian v2.1.0+incompatible/go.mod"
+ "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
+ "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
+ "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
+ "github.com/google/renameio v0.1.0/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.5"
+ "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.0/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.1/go.mod"
+ "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
+ "github.com/inconshreveable/mousetrap v1.0.0"
+ "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
+ "github.com/influxdata/flux v0.65.0"
+ "github.com/influxdata/flux v0.65.0/go.mod"
+ "github.com/influxdata/influxql v1.1.0"
+ "github.com/influxdata/influxql v1.1.0/go.mod"
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
+ "github.com/influxdata/promql/v2 v2.12.0/go.mod"
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
+ "github.com/json-iterator/go v1.1.6/go.mod"
+ "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
+ "github.com/jstemmer/go-junit-report v0.9.1"
+ "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
+ "github.com/jsternberg/zap-logfmt v1.0.0"
+ "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
+ "github.com/jtolds/gls v4.20.0+incompatible"
+ "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
+ "github.com/julienschmidt/httprouter v1.2.0/go.mod"
+ "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
+ "github.com/kisielk/gotool v1.0.0/go.mod"
+ "github.com/klauspost/compress v1.4.0"
+ "github.com/klauspost/compress v1.4.0/go.mod"
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
+ "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
+ "github.com/kr/pretty v0.1.0"
+ "github.com/kr/pretty v0.1.0/go.mod"
+ "github.com/kr/pty v1.1.1/go.mod"
+ "github.com/kr/text v0.1.0"
+ "github.com/kr/text v0.1.0/go.mod"
+ "github.com/lib/pq v1.0.0"
+ "github.com/lib/pq v1.0.0/go.mod"
+ "github.com/mattn/go-colorable v0.0.9"
+ "github.com/mattn/go-colorable v0.0.9/go.mod"
+ "github.com/mattn/go-isatty v0.0.4"
+ "github.com/mattn/go-isatty v0.0.4/go.mod"
+ "github.com/mattn/go-runewidth v0.0.3"
+ "github.com/mattn/go-runewidth v0.0.3/go.mod"
+ "github.com/mattn/go-sqlite3 v1.11.0"
+ "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
+ "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
+ "github.com/modern-go/reflect2 v1.0.1/go.mod"
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
+ "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.2/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
+ "github.com/paulbellamy/ratecounter v0.2.0"
+ "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
+ "github.com/philhofer/fwd v1.0.0"
+ "github.com/philhofer/fwd v1.0.0/go.mod"
+ "github.com/pierrec/lz4 v2.0.5+incompatible"
+ "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
+ "github.com/pkg/errors v0.8.0/go.mod"
+ "github.com/pkg/errors v0.8.1"
+ "github.com/pkg/errors v0.8.1/go.mod"
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
+ "github.com/pmezard/go-difflib v1.0.0"
+ "github.com/pmezard/go-difflib v1.0.0/go.mod"
+ "github.com/prometheus/client_golang v0.9.1/go.mod"
+ "github.com/prometheus/client_golang v1.0.0"
+ "github.com/prometheus/client_golang v1.0.0/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
+ "github.com/prometheus/common v0.4.1/go.mod"
+ "github.com/prometheus/common v0.6.0"
+ "github.com/prometheus/common v0.6.0/go.mod"
+ "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
+ "github.com/prometheus/procfs v0.0.2"
+ "github.com/prometheus/procfs v0.0.2/go.mod"
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
+ "github.com/rogpeppe/go-internal v1.3.0/go.mod"
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b"
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
+ "github.com/segmentio/kafka-go v0.1.0/go.mod"
+ "github.com/segmentio/kafka-go v0.2.0"
+ "github.com/segmentio/kafka-go v0.2.0/go.mod"
+ "github.com/sergi/go-diff v1.0.0"
+ "github.com/sergi/go-diff v1.0.0/go.mod"
+ "github.com/sirupsen/logrus v1.2.0/go.mod"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
+ "github.com/smartystreets/goconvey v1.6.4"
+ "github.com/smartystreets/goconvey v1.6.4/go.mod"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
+ "github.com/spf13/cast v1.3.0"
+ "github.com/spf13/cast v1.3.0/go.mod"
+ "github.com/spf13/cobra v0.0.3"
+ "github.com/spf13/cobra v0.0.3/go.mod"
+ "github.com/spf13/pflag v1.0.3"
+ "github.com/spf13/pflag v1.0.3/go.mod"
+ "github.com/stretchr/objx v0.1.0/go.mod"
+ "github.com/stretchr/objx v0.1.1/go.mod"
+ "github.com/stretchr/testify v1.2.0/go.mod"
+ "github.com/stretchr/testify v1.2.2/go.mod"
+ "github.com/stretchr/testify v1.3.0/go.mod"
+ "github.com/stretchr/testify v1.4.0"
+ "github.com/stretchr/testify v1.4.0/go.mod"
+ "github.com/tinylib/msgp v1.0.2"
+ "github.com/tinylib/msgp v1.0.2/go.mod"
+ "github.com/willf/bitset v1.1.3"
+ "github.com/willf/bitset v1.1.3/go.mod"
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
+ "go.opencensus.io v0.21.0/go.mod"
+ "go.opencensus.io v0.22.0/go.mod"
+ "go.opencensus.io v0.22.2"
+ "go.opencensus.io v0.22.2/go.mod"
+ "go.uber.org/atomic v1.3.2"
+ "go.uber.org/atomic v1.3.2/go.mod"
+ "go.uber.org/multierr v1.1.0"
+ "go.uber.org/multierr v1.1.0/go.mod"
+ "go.uber.org/zap v1.9.1"
+ "go.uber.org/zap v1.9.1/go.mod"
+ "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
+ "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
+ "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
+ "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
+ "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
+ "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
+ "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
+ "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
+ "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
+ "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
+ "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
+ "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
+ "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
+ "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
+ "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
+ "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
+ "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
+ "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
+ "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
+ "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
+ "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
+ "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
+ "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
+ "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
+ "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
+ "golang.org/x/mod v0.1.0/go.mod"
+ "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
+ "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
+ "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
+ "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
+ "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
+ "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
+ "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
+ "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
+ "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
+ "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
+ "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
+ "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
+ "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
+ "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
+ "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
+ "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
+ "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
+ "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
+ "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
+ "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
+ "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
+ "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
+ "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
+ "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
+ "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
+ "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
+ "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
+ "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
+ "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
+ "golang.org/x/text v0.3.0/go.mod"
+ "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
+ "golang.org/x/text v0.3.2"
+ "golang.org/x/text v0.3.2/go.mod"
+ "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
+ "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
+ "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+ "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
+ "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
+ "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
+ "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
+ "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
+ "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
+ "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
+ "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
+ "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
+ "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
+ "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
+ "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
+ "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
+ "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
+ "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
+ "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
+ "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
+ "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
+ "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
+ "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
+ "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
+ "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
+ "gonum.org/v1/gonum v0.6.0"
+ "gonum.org/v1/gonum v0.6.0/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
+ "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
+ "google.golang.org/api v0.4.0/go.mod"
+ "google.golang.org/api v0.7.0/go.mod"
+ "google.golang.org/api v0.8.0/go.mod"
+ "google.golang.org/api v0.9.0"
+ "google.golang.org/api v0.9.0/go.mod"
+ "google.golang.org/api v0.13.0/go.mod"
+ "google.golang.org/api v0.14.0/go.mod"
+ "google.golang.org/api v0.15.0"
+ "google.golang.org/api v0.15.0/go.mod"
+ "google.golang.org/appengine v1.1.0/go.mod"
+ "google.golang.org/appengine v1.4.0/go.mod"
+ "google.golang.org/appengine v1.5.0/go.mod"
+ "google.golang.org/appengine v1.6.1/go.mod"
+ "google.golang.org/appengine v1.6.5"
+ "google.golang.org/appengine v1.6.5/go.mod"
+ "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
+ "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
+ "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
+ "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
+ "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
+ "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
+ "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
+ "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
+ "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
+ "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
+ "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
+ "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
+ "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
+ "google.golang.org/grpc v1.19.0/go.mod"
+ "google.golang.org/grpc v1.20.1/go.mod"
+ "google.golang.org/grpc v1.21.1"
+ "google.golang.org/grpc v1.21.1/go.mod"
+ "google.golang.org/grpc v1.23.0/go.mod"
+ "google.golang.org/grpc v1.26.0"
+ "google.golang.org/grpc v1.26.0/go.mod"
+ "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
+ "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
+ "gopkg.in/errgo.v2 v2.1.0/go.mod"
+ "gopkg.in/yaml.v2 v2.2.1/go.mod"
+ "gopkg.in/yaml.v2 v2.2.2"
+ "gopkg.in/yaml.v2 v2.2.2/go.mod"
+ "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
+ "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
+ "honnef.co/go/tools v0.0.1-2019.2.3"
+ "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
+ "rsc.io/binaryregexp v0.2.0"
+ "rsc.io/binaryregexp v0.2.0/go.mod"
+ "rsc.io/pdf v0.1.1/go.mod"
+ )
+go-module_set_globals
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+
+LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 MIT-with-advertising BSD-2 ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+BDEPEND=">=app-text/asciidoc-8.6.10
+ app-text/xmlto"
+ COMMON_DEPEND="acct-group/influxdb
+ acct-user/influxdb"
+ DEPEND="${COMMON_DEPEND}"
+ RDEPEND="${COMMON_DEPEND}"
+
+src_compile() {
+ binaries=(
+ ./cmd/influxd
+ ./cmd/influx_stress
+ ./cmd/influx
+ ./cmd/influx_inspect
+ ./cmd/influx_tsm
+ )
+ mkdir bin
+ for x in ${binaries[@]}; do
+ go build -o bin ${x} || die "compile failed"
+ done
+ cd man
+ emake build
+}
+
+src_install() {
+ dobin bin/*
+ dodoc CHANGELOG.md etc/config.sample.toml
+ doman man/*.1
+ insinto /etc/logrotate.d
+ newins scripts/logrotate influxdb
+ systemd_dounit scripts/influxdb.service
+ newconfd "${FILESDIR}"/influxdb.confd influxdb
+ newinitd "${FILESDIR}"/influxdb.rc influxdb
+ insinto /etc/influxdb
+ doins "${FILESDIR}"/influxd.conf
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+}
diff --git a/dev-db/influxdb/influxdb-1.8.1.ebuild b/dev-db/influxdb/influxdb-1.8.1.ebuild
new file mode 100644
index 000000000000..1d9aee6f3de1
--- /dev/null
+++ b/dev-db/influxdb/influxdb-1.8.1.ebuild
@@ -0,0 +1,508 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module systemd
+GIT_COMMIT=af0237819ab9c5997c1c0144862dc762b9d8fc25
+GIT_BRANCH=1.8
+
+DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
+HOMEPAGE="https://www.influxdata.com"
+
+EGO_SUM=(
+ "cloud.google.com/go v0.26.0/go.mod"
+ "cloud.google.com/go v0.34.0/go.mod"
+ "cloud.google.com/go v0.38.0/go.mod"
+ "cloud.google.com/go v0.43.0/go.mod"
+ "cloud.google.com/go v0.44.1/go.mod"
+ "cloud.google.com/go v0.44.2/go.mod"
+ "cloud.google.com/go v0.45.1/go.mod"
+ "cloud.google.com/go v0.46.3/go.mod"
+ "cloud.google.com/go v0.50.0/go.mod"
+ "cloud.google.com/go v0.51.0"
+ "cloud.google.com/go v0.51.0/go.mod"
+ "cloud.google.com/go/bigquery v1.0.1/go.mod"
+ "cloud.google.com/go/bigquery v1.3.0"
+ "cloud.google.com/go/bigquery v1.3.0/go.mod"
+ "cloud.google.com/go/bigtable v1.2.0"
+ "cloud.google.com/go/bigtable v1.2.0/go.mod"
+ "cloud.google.com/go/datastore v1.0.0"
+ "cloud.google.com/go/datastore v1.0.0/go.mod"
+ "cloud.google.com/go/pubsub v1.0.1/go.mod"
+ "cloud.google.com/go/pubsub v1.1.0"
+ "cloud.google.com/go/pubsub v1.1.0/go.mod"
+ "cloud.google.com/go/storage v1.0.0/go.mod"
+ "cloud.google.com/go/storage v1.5.0"
+ "cloud.google.com/go/storage v1.5.0/go.mod"
+ "collectd.org v0.3.0"
+ "collectd.org v0.3.0/go.mod"
+ "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
+ "github.com/BurntSushi/toml v0.3.1"
+ "github.com/BurntSushi/toml v0.3.1/go.mod"
+ "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3"
+ "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod"
+ "github.com/OneOfOne/xxhash v1.2.2"
+ "github.com/OneOfOne/xxhash v1.2.2/go.mod"
+ "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883"
+ "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod"
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db"
+ "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod"
+ "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
+ "github.com/beorn7/perks v1.0.0"
+ "github.com/beorn7/perks v1.0.0/go.mod"
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40"
+ "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod"
+ "github.com/boltdb/bolt v1.3.1"
+ "github.com/boltdb/bolt v1.3.1/go.mod"
+ "github.com/c-bata/go-prompt v0.2.2"
+ "github.com/c-bata/go-prompt v0.2.2/go.mod"
+ "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
+ "github.com/cespare/xxhash v1.1.0"
+ "github.com/cespare/xxhash v1.1.0/go.mod"
+ "github.com/chzyer/logex v1.1.10/go.mod"
+ "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
+ "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
+ "github.com/client9/misspell v0.3.4/go.mod"
+ "github.com/dave/jennifer v1.2.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.1"
+ "github.com/davecgh/go-spew v1.1.1/go.mod"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8"
+ "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod"
+ "github.com/eclipse/paho.mqtt.golang v1.2.0"
+ "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
+ "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
+ "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod"
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd"
+ "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31"
+ "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod"
+ "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
+ "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod"
+ "github.com/go-kit/kit v0.8.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.3.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.4.0/go.mod"
+ "github.com/go-sql-driver/mysql v1.4.1"
+ "github.com/go-sql-driver/mysql v1.4.1/go.mod"
+ "github.com/go-stack/stack v1.8.0/go.mod"
+ "github.com/gogo/protobuf v1.1.1"
+ "github.com/gogo/protobuf v1.1.1/go.mod"
+ "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod"
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec"
+ "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
+ "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
+ "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
+ "github.com/golang/mock v1.1.1/go.mod"
+ "github.com/golang/mock v1.2.0/go.mod"
+ "github.com/golang/mock v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.2.0/go.mod"
+ "github.com/golang/protobuf v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.3.2"
+ "github.com/golang/protobuf v1.3.2/go.mod"
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
+ "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
+ "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
+ "github.com/google/btree v1.0.0"
+ "github.com/google/btree v1.0.0/go.mod"
+ "github.com/google/flatbuffers v1.11.0"
+ "github.com/google/flatbuffers v1.11.0/go.mod"
+ "github.com/google/go-cmp v0.2.0/go.mod"
+ "github.com/google/go-cmp v0.3.0"
+ "github.com/google/go-cmp v0.3.0/go.mod"
+ "github.com/google/go-cmp v0.3.1/go.mod"
+ "github.com/google/go-cmp v0.4.0"
+ "github.com/google/go-cmp v0.4.0/go.mod"
+ "github.com/google/martian v2.1.0+incompatible"
+ "github.com/google/martian v2.1.0+incompatible/go.mod"
+ "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
+ "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
+ "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod"
+ "github.com/google/renameio v0.1.0/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.5"
+ "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.0/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.1/go.mod"
+ "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod"
+ "github.com/inconshreveable/mousetrap v1.0.0"
+ "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
+ "github.com/influxdata/flux v0.65.0"
+ "github.com/influxdata/flux v0.65.0/go.mod"
+ "github.com/influxdata/influxql v1.1.0"
+ "github.com/influxdata/influxql v1.1.0/go.mod"
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e"
+ "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod"
+ "github.com/influxdata/promql/v2 v2.12.0/go.mod"
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6"
+ "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod"
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9"
+ "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod"
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368"
+ "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod"
+ "github.com/json-iterator/go v1.1.6/go.mod"
+ "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
+ "github.com/jstemmer/go-junit-report v0.9.1"
+ "github.com/jstemmer/go-junit-report v0.9.1/go.mod"
+ "github.com/jsternberg/zap-logfmt v1.0.0"
+ "github.com/jsternberg/zap-logfmt v1.0.0/go.mod"
+ "github.com/jtolds/gls v4.20.0+incompatible"
+ "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
+ "github.com/julienschmidt/httprouter v1.2.0/go.mod"
+ "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod"
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef"
+ "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod"
+ "github.com/kisielk/gotool v1.0.0/go.mod"
+ "github.com/klauspost/compress v1.4.0"
+ "github.com/klauspost/compress v1.4.0/go.mod"
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5"
+ "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod"
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6"
+ "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod"
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada"
+ "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
+ "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
+ "github.com/kr/pretty v0.1.0"
+ "github.com/kr/pretty v0.1.0/go.mod"
+ "github.com/kr/pty v1.1.1/go.mod"
+ "github.com/kr/text v0.1.0"
+ "github.com/kr/text v0.1.0/go.mod"
+ "github.com/lib/pq v1.0.0"
+ "github.com/lib/pq v1.0.0/go.mod"
+ "github.com/mattn/go-colorable v0.0.9"
+ "github.com/mattn/go-colorable v0.0.9/go.mod"
+ "github.com/mattn/go-isatty v0.0.4"
+ "github.com/mattn/go-isatty v0.0.4/go.mod"
+ "github.com/mattn/go-runewidth v0.0.3"
+ "github.com/mattn/go-runewidth v0.0.3/go.mod"
+ "github.com/mattn/go-sqlite3 v1.11.0"
+ "github.com/mattn/go-sqlite3 v1.11.0/go.mod"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104"
+ "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
+ "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
+ "github.com/modern-go/reflect2 v1.0.1/go.mod"
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae"
+ "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod"
+ "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.2/go.mod"
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947"
+ "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod"
+ "github.com/paulbellamy/ratecounter v0.2.0"
+ "github.com/paulbellamy/ratecounter v0.2.0/go.mod"
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f"
+ "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod"
+ "github.com/philhofer/fwd v1.0.0"
+ "github.com/philhofer/fwd v1.0.0/go.mod"
+ "github.com/pierrec/lz4 v2.0.5+incompatible"
+ "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod"
+ "github.com/pkg/errors v0.8.0/go.mod"
+ "github.com/pkg/errors v0.8.1"
+ "github.com/pkg/errors v0.8.1/go.mod"
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5"
+ "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod"
+ "github.com/pmezard/go-difflib v1.0.0"
+ "github.com/pmezard/go-difflib v1.0.0/go.mod"
+ "github.com/prometheus/client_golang v0.9.1/go.mod"
+ "github.com/prometheus/client_golang v1.0.0"
+ "github.com/prometheus/client_golang v1.0.0/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
+ "github.com/prometheus/common v0.4.1/go.mod"
+ "github.com/prometheus/common v0.6.0"
+ "github.com/prometheus/common v0.6.0/go.mod"
+ "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
+ "github.com/prometheus/procfs v0.0.2"
+ "github.com/prometheus/procfs v0.0.2/go.mod"
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52"
+ "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod"
+ "github.com/rogpeppe/go-internal v1.3.0/go.mod"
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b"
+ "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod"
+ "github.com/segmentio/kafka-go v0.1.0/go.mod"
+ "github.com/segmentio/kafka-go v0.2.0"
+ "github.com/segmentio/kafka-go v0.2.0/go.mod"
+ "github.com/sergi/go-diff v1.0.0"
+ "github.com/sergi/go-diff v1.0.0/go.mod"
+ "github.com/sirupsen/logrus v1.2.0/go.mod"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
+ "github.com/smartystreets/goconvey v1.6.4"
+ "github.com/smartystreets/goconvey v1.6.4/go.mod"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
+ "github.com/spf13/cast v1.3.0"
+ "github.com/spf13/cast v1.3.0/go.mod"
+ "github.com/spf13/cobra v0.0.3"
+ "github.com/spf13/cobra v0.0.3/go.mod"
+ "github.com/spf13/pflag v1.0.3"
+ "github.com/spf13/pflag v1.0.3/go.mod"
+ "github.com/stretchr/objx v0.1.0/go.mod"
+ "github.com/stretchr/objx v0.1.1/go.mod"
+ "github.com/stretchr/testify v1.2.0/go.mod"
+ "github.com/stretchr/testify v1.2.2/go.mod"
+ "github.com/stretchr/testify v1.3.0/go.mod"
+ "github.com/stretchr/testify v1.4.0"
+ "github.com/stretchr/testify v1.4.0/go.mod"
+ "github.com/tinylib/msgp v1.0.2"
+ "github.com/tinylib/msgp v1.0.2/go.mod"
+ "github.com/willf/bitset v1.1.3"
+ "github.com/willf/bitset v1.1.3/go.mod"
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6"
+ "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod"
+ "go.opencensus.io v0.21.0/go.mod"
+ "go.opencensus.io v0.22.0/go.mod"
+ "go.opencensus.io v0.22.2"
+ "go.opencensus.io v0.22.2/go.mod"
+ "go.uber.org/atomic v1.3.2"
+ "go.uber.org/atomic v1.3.2/go.mod"
+ "go.uber.org/multierr v1.1.0"
+ "go.uber.org/multierr v1.1.0/go.mod"
+ "go.uber.org/zap v1.9.1"
+ "go.uber.org/zap v1.9.1/go.mod"
+ "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
+ "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
+ "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
+ "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod"
+ "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod"
+ "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
+ "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod"
+ "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
+ "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
+ "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
+ "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
+ "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299"
+ "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod"
+ "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod"
+ "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
+ "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
+ "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
+ "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
+ "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
+ "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
+ "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
+ "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
+ "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f"
+ "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod"
+ "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
+ "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
+ "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
+ "golang.org/x/mod v0.1.0/go.mod"
+ "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
+ "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
+ "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
+ "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
+ "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
+ "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
+ "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
+ "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
+ "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
+ "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
+ "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
+ "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
+ "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod"
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
+ "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
+ "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
+ "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
+ "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
+ "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
+ "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
+ "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
+ "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
+ "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
+ "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
+ "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
+ "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
+ "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
+ "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
+ "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod"
+ "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod"
+ "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod"
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
+ "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
+ "golang.org/x/text v0.3.0/go.mod"
+ "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
+ "golang.org/x/text v0.3.2"
+ "golang.org/x/text v0.3.2/go.mod"
+ "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
+ "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod"
+ "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+ "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
+ "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod"
+ "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
+ "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
+ "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
+ "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
+ "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
+ "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
+ "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
+ "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
+ "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
+ "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
+ "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
+ "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
+ "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
+ "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
+ "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod"
+ "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod"
+ "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod"
+ "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod"
+ "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod"
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178"
+ "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod"
+ "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod"
+ "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod"
+ "gonum.org/v1/gonum v0.6.0"
+ "gonum.org/v1/gonum v0.6.0/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0"
+ "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod"
+ "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod"
+ "google.golang.org/api v0.4.0/go.mod"
+ "google.golang.org/api v0.7.0/go.mod"
+ "google.golang.org/api v0.8.0/go.mod"
+ "google.golang.org/api v0.9.0"
+ "google.golang.org/api v0.9.0/go.mod"
+ "google.golang.org/api v0.13.0/go.mod"
+ "google.golang.org/api v0.14.0/go.mod"
+ "google.golang.org/api v0.15.0"
+ "google.golang.org/api v0.15.0/go.mod"
+ "google.golang.org/appengine v1.1.0/go.mod"
+ "google.golang.org/appengine v1.4.0/go.mod"
+ "google.golang.org/appengine v1.5.0/go.mod"
+ "google.golang.org/appengine v1.6.1/go.mod"
+ "google.golang.org/appengine v1.6.5"
+ "google.golang.org/appengine v1.6.5/go.mod"
+ "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
+ "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
+ "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
+ "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
+ "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
+ "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod"
+ "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
+ "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
+ "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
+ "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
+ "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod"
+ "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod"
+ "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f"
+ "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod"
+ "google.golang.org/grpc v1.19.0/go.mod"
+ "google.golang.org/grpc v1.20.1/go.mod"
+ "google.golang.org/grpc v1.21.1"
+ "google.golang.org/grpc v1.21.1/go.mod"
+ "google.golang.org/grpc v1.23.0/go.mod"
+ "google.golang.org/grpc v1.26.0"
+ "google.golang.org/grpc v1.26.0/go.mod"
+ "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
+ "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
+ "gopkg.in/errgo.v2 v2.1.0/go.mod"
+ "gopkg.in/yaml.v2 v2.2.1/go.mod"
+ "gopkg.in/yaml.v2 v2.2.2"
+ "gopkg.in/yaml.v2 v2.2.2/go.mod"
+ "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
+ "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
+ "honnef.co/go/tools v0.0.1-2019.2.3"
+ "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
+ "rsc.io/binaryregexp v0.2.0"
+ "rsc.io/binaryregexp v0.2.0/go.mod"
+ "rsc.io/pdf v0.1.1/go.mod"
+ )
+go-module_set_globals
+SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+
+LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="man"
+
+BDEPEND="man? (
+ app-text/asciidoc
+ app-text/xmlto
+)"
+COMMON_DEPEND="
+ acct-group/influxdb
+ acct-user/influxdb"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_compile() {
+ set -- env GOBIN="${S}/bin/" go install \
+ -ldflags="-X main.version=${PV} -X main.branch=${GIT_BRANCH} -X main.commit=${GIT_COMMIT}" \
+ ./...
+ echo "$@"
+ "$@" || die "compile failed"
+ use man && emake -C man build
+}
+
+src_install() {
+ dobin bin/influx*
+ dodoc *.md
+ use man && doman man/*.1
+ insinto /etc/influxdb
+ newins etc/config.sample.toml influxdb.conf
+ insinto /etc/logrotate.d
+ newins scripts/logrotate influxdb
+ systemd_dounit scripts/influxdb.service
+
+ newconfd "${FILESDIR}"/influxdb.confd influxdb
+ newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb
+ keepdir /var/log/influxdb
+ fowners influxdb:influxdb /var/log/influxdb
+}
+
+src_test() {
+ go test ./tests || die
+}
diff --git a/dev-db/influxdb/metadata.xml b/dev-db/influxdb/metadata.xml
index 893224717480..da3b7249ff46 100644
--- a/dev-db/influxdb/metadata.xml
+++ b/dev-db/influxdb/metadata.xml
@@ -10,4 +10,7 @@
dependencies. It is useful for recording metrics, events, and
performing analytics.
</longdescription>
+ <use>
+ <flag name="man">Build and install man pages</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-db/innotop/Manifest b/dev-db/innotop/Manifest
index b68a02dbf58e..bfb70f58b3c6 100644
--- a/dev-db/innotop/Manifest
+++ b/dev-db/innotop/Manifest
@@ -1,7 +1,3 @@
-DIST innotop-1.11.1.tar.gz 178295 BLAKE2B d863ca92baf30d8570116892bbb3587233bfaf01cd7a3e20d659a0c6f39016c7f735961a94f2b63db2db9f01ab4ed8f87a767157ec6d4b243790c3d2d33cf460 SHA512 49654e8ed81f5690c7e80fb169ad514caedb8d62e22bddc12cc234701875bc8ca7e2cc79061c10557d63dadbb40f2328a58b38dcf8aa60469c0c1558dbf0bed9
-DIST innotop-1.11.4.tar.gz 179683 BLAKE2B 972a5304e97dd430ff59f1683da782b23633a82c47491704b42d46036ca30458ec961b2e071d983905217d18007430f9732e65de2fabf72bf05838af259d30ab SHA512 678d57074fd4fc87c93032052b87dc187cfe273e99fef8ec8f93131f8d885613bacda7b900f56e7572a6cc51c36c26fe1968e55dd1736b8509fb6e269c9d2aff
DIST innotop-1.12.0.tar.gz 182854 BLAKE2B 1470f21fe7882e920966a856365586c37461c955f0d07ea72a9bffa16b1a112fe5daa2dec585f888c90570d28f9af4e88885a36910bf892cc4f69abd044a4494 SHA512 bc650cd8fb5e5b83f12ccccc852802d676500d7241fe0beaa2a67c3dcca90ab06f329f0a6750789b6097ab201630b9ecf494159086d904ce7c1cfe7aefb5a635
-EBUILD innotop-1.11.1.ebuild 636 BLAKE2B 885c065db1f297257955835aedf47c51eb768181a3cad3b17b07cae084935f1dd69b5886b2badc9adbf1f2a77acb9041d1308a5c9db35db4bab286c392cf0af0 SHA512 99631c9b1cc35783b526b46ae23cac85603b67f3aa1edee09a0b931adee9b59e67bebb8c79905c41d1447e0dad12ca791e26ff9d5918797db43c4a865fd27556
-EBUILD innotop-1.11.4.ebuild 636 BLAKE2B 54eadd7a6fdce16f6e7f61347666e9a1489a8218f4e82c9ac9d65cf927913fc04b92a46d4b6e655f5517e241d150b106244467c32d2baeec09ba35b1a810e46b SHA512 7b6c18ac7149d41b54cdd296ad0431dc291ebb6baa23dbba5a0903ea58a384cece14907238e05f31c64be49f18e6f4eda913a62d01ca06ca37173bd53a6a1d7c
EBUILD innotop-1.12.0.ebuild 633 BLAKE2B 7f987ee26b6f469700f107f5b27b5b15e81790656c326c36fec36c3429dac8aa9c982fc62700bf6004103419e1a96c43aa90be83ce01eaf5d6fd8d3937d0224f SHA512 978a673305506a4abf085f6fa5eb9dc2d895e0f550b1f757589cdd3a512ce8ddb881932b478a6096a6a4ddc38c5608286ad0704eb6681069b4df77c845f71931
MISC metadata.xml 446 BLAKE2B 240fcfb51fe22a85a88ced188db07907943c96264440ac9af750eb071cde67ed3178bc32d402dc40dbd157dead3ed604e3193813be0ab5b460e365428f7296e5 SHA512 788b300a652ef6577b92c1db658937f7db9beffe2ae3a94559f0c3a885fbe0a0cfaef2aa6b7bc8fc907823722d4b9016b2e272b47932628b55d4512a7bfc9bf7
diff --git a/dev-db/innotop/innotop-1.11.1.ebuild b/dev-db/innotop/innotop-1.11.1.ebuild
deleted file mode 100644
index cdc2f369ac59..000000000000
--- a/dev-db/innotop/innotop-1.11.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit perl-module
-
-DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features"
-HOMEPAGE="https://github.com/innotop/innotop"
-SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( Artistic GPL-2 )"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes"
-
-DIST_TEST="do parallel"
-
-src_install() {
- perl-module_src_install
-}
diff --git a/dev-db/innotop/innotop-1.11.4.ebuild b/dev-db/innotop/innotop-1.11.4.ebuild
deleted file mode 100644
index bb3180d850d9..000000000000
--- a/dev-db/innotop/innotop-1.11.4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit perl-module
-
-DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features"
-HOMEPAGE="https://github.com/innotop/innotop"
-SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( Artistic GPL-2 )"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes"
-
-DIST_TEST="do parallel"
-
-src_install() {
- perl-module_src_install
-}
diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest
index 52d2e03ee45f..34d4882f3596 100644
--- a/dev-db/mariadb-connector-c/Manifest
+++ b/dev-db/mariadb-connector-c/Manifest
@@ -1,12 +1,6 @@
AUX gentoo-layout-3.0.patch 311 BLAKE2B 4c2f0ae8aa53d605bcaf134274d3b549ec970b43cc68eed1ac71cf089c9fa32a1343d7ebfdf428e7f25032f5782aecfb86fb8f78528ffc708ab15dc7285a24e7 SHA512 4d5a48b4dd66aab04ba597b30e96b4601c6745acca21be1daf051ba6ce1e8fef1a0efa46d8e81da1ecdc893a8ee471bd8c7ed0c5436ee33b8b4f7cd18fdca1a5
AUX mariadb-connector-c-3.1.3-fix-pkconfig-file.patch 616 BLAKE2B 650c5a794da6d3d0095a823917704d52a5f16c349ce7017b93b1bebfec01287929470a89a2e4aec2f9f7cd5135368e43f2a2e89257c0d7042b878e1806ede8aa SHA512 fe621abedaf81d1fa367c52f69ccce1765757db8d9f412aa40b440d7e51d4de3785a90150e76893f7066b1ba656eb1bad020465e58adae13f08245b839bde4de
-DIST mariadb-connector-c-3.1.6-src.tar.gz 742858 BLAKE2B 416cc33cf7a01fee9649f6c35e0a7e16b889a1fad10f2b204e259a2672535d1ad7f9ade9723989a4ce00cf8a2c4660f40357516bfdc4547118a54637911f9b60 SHA512 44309e706cb49451a0d1a91f907ab7cfa1fb1bf95d26cf3bbce1caa367c2fa8ad377a691361e297dd2fcbc444c10115f18aec66dd6d69c458f282ace3025a3e8
-DIST mariadb-connector-c-3.1.7-src.tar.gz 742923 BLAKE2B 641c3c49cf83af918e5dab06f9b8afecd59bd7b6486cc55b33749cd0ef317ab6cff86da9b85829b0309305a190e16f4ecc369210c54070e265387a5818c48ca1 SHA512 0b7f6497b6b88b2bbcb870b7c3a8f3fe0bf547c6b5d9b95cc99423aa8ea02ac510c5fb71079e7cd79a49741c7f26f3e68c39e245b18fab46754e8640f79ff670
-DIST mariadb-connector-c-3.1.8-src.tar.gz 744745 BLAKE2B 24f4f6a8bb3a1fcbdf2c5a7434303e6a2295cb4aed0c59ee4cb776399516a9895eb51d6ef18dde429d7246750cad797f4f89c3838dfd54e835683021d712041b SHA512 005fdacd7e7b353b97b5c1305f973a90744e495d7bf5d407fc6c75d49323e13a743e6c3877c00ada2b3fc49a0f33e5c2dcd70b1f8fe8eb8f579af1bce3b3e6b9
DIST mariadb-connector-c-3.1.9-src.tar.gz 745374 BLAKE2B 47c1bf1ffe888f6c2aefdb4661ad8bfe41c527d6ddc2b2aaf8da8003eebce90da420a52143265510ac47f07286d6dbfa27c4d82ce193c23aa928d0b22f83b87a SHA512 cf7cd3a7592a15e2a4800c6a899e6b515ef899f4525c9f5f7d09faafbd72ac5b70a85e1c60119f58d1b5caa0f0f3657a544555bb47cdc22eabe74308c0c4bf42
-EBUILD mariadb-connector-c-3.1.6.ebuild 2336 BLAKE2B f17769bbdc21d9a16c77f50699931b6b154f19a816a302700ef35c6668aa9145dcb68092a8fbdfc8c726655c391e905fa6836d3711171fac83a5ff7e6e21ac7c SHA512 51c996013e51d496d2225d3299977120ba297e58c48769c9ae644bb889ad4b9647c85584603949a0b05555420ea960c92d6b9f9136dd1c223c2af87733ca22b9
-EBUILD mariadb-connector-c-3.1.7.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f
-EBUILD mariadb-connector-c-3.1.8.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f
EBUILD mariadb-connector-c-3.1.9.ebuild 2343 BLAKE2B 652296c85beb8bc4e6529e8dcddc19d3448559e446092344ea0b86a9b758c81d56c48b05c6bef3df6f55226a3e410009cea42c86c8bc25e43ba0bd31139ea7ff SHA512 414fc4666d6d16b2572416c7e537e27e96112b876c564076d8d80a40c0303e41b7d0ecf61865aa1a2900fc5df1a809417ef22d71ce849733d609022952c1bce8
EBUILD mariadb-connector-c-9999.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f
MISC metadata.xml 243 BLAKE2B f247f748a23e4cda2f518ad7e4e53b9027ff08ec62289010e6dfc8cd2ad49412430c4095e80f2156c8e6f1226bcda0163b4faae83759550f79e9998928398713 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild
deleted file mode 100644
index 8367605fc546..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VCS_INHERIT=""
-if [[ "${PV}" == 9999 ]] ; then
- VCS_INHERIT="git-r3"
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="amd64 arm arm64 hppa ~ia64 ~ppc ppc64 s390 sparc x86"
-fi
-
-inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT}
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos libressl +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild
deleted file mode 100644
index 91e9ba93b995..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VCS_INHERIT=""
-if [[ "${PV}" == 9999 ]] ; then
- VCS_INHERIT="git-r3"
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
-fi
-
-inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT}
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos libressl +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild
deleted file mode 100644
index 91e9ba93b995..000000000000
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VCS_INHERIT=""
-if [[ "${PV}" == 9999 ]] ; then
- VCS_INHERIT="git-r3"
- EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
-else
- MY_PN=${PN#mariadb-}
- MY_PV=${PV/_b/-b}
- SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
- S="${WORKDIR%/}/${PN}-${MY_PV}-src"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
-fi
-
-inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT}
-
-MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mariadb/mariadb_version.h
-)
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://mariadb.org/"
-LICENSE="LGPL-2.1"
-
-SLOT="0/3"
-IUSE="+curl gnutls kerberos libressl +ssl static-libs test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
- virtual/libiconv:=[${MULTILIB_USEDEP}]
- curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
- kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
- app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
- !gnutls? (
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- )
- )
- "
-RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
-)
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DWITH_EXTERNAL_ZLIB=ON
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DWITH_CURL=$(usex curl ON OFF)
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
- -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_LIBDIR="$(get_libdir)"
- -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
- -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
- -DINSTALL_BINDIR=bin
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- )
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${D}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index c7115edb96ba..fb63316fdcf8 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -4,46 +4,38 @@ AUX my.cnf-5.6-r1 4597 BLAKE2B ae7eb874421819b8ce8e3c21e00f21bba1fb508a8d0ea4825
AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2d6b8009183dba6939b978ae8d1b8e0a53e672b8e1a1f621650399231723603fc5f96ef7218db84236e176 SHA512 801f6ab8be3110bb4dc38eaa4367715b8d342b69cadfe13dff987ef6c3aedb67d19449f8f2483e63df5d8b444ca30701b0d96f85e211de6b1e3db923b029acbc
AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882
DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b
-DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8
-DIST mariadb-10.1.44.tar.gz 63660764 BLAKE2B fb88660687c57217c82a05442b1f6e1d85a10fbcdb54b5c455409fd6e280aede27aafe61020eae278a0424b7b21f4afc4e581dd68ce9690948970ef22127ecd0 SHA512 4216524dae5eaf882d3667345fdccc58fa29cb02fb04367900d25c1d120b609d9c7af460dea37ba15ba3fb89f4390f9b15072f5c1ecc434c64b840fa14bab8a9
-DIST mariadb-10.1.45-patches-03.tar.xz 8400 BLAKE2B fe5d04147c3d51877af55c44039d6b480dab1764bfb28a4d7e5d233fef9799a2df2d45880abcbf316ef023e10ecd6aab5be0f2b6b79311f77cd9eae069cae838 SHA512 6e57b5685bdf441ef89391e22f87194095d3819b9c0622991d44707105331881ebad534e0c312d8d4f0e1e32efab12284a8c457c8ff31d23cfd2221565d8d1cf
+DIST mariadb-10.1.45-patches-04.tar.xz 8808 BLAKE2B 79b6ad86665b6ceea990813c1b60937283ccfd572e5aef095df9951fac0a35e10b7cab002a18adcdb4b643a4d881c57ed468a15fc2fe8f0b9755dc07c2c81fc6 SHA512 eba4c39a275a27faec01dcefd36635fb8ed4f9d651e244420ce0856932378196b9daa98c9de339dc84c3e07fb77fda27c2aa46930c741a1c4c53057b4f9b86c6
DIST mariadb-10.1.45.tar.gz 63673824 BLAKE2B 002aedf61282244905256757fe18eebe67f8a05d45496eee4804e5fba9edf58ece15188d6537ed45245b9342bc514376727c91261ec3f3a3d809c569c84a63de SHA512 708daf6cf98a914ca378e3461f3431f13d6274e20ef37de239e5d90db58215c50bfbc450e6b3b00d847cc819ab9de2bc780831009581e43db38d63397a417ace
+DIST mariadb-10.1.46-patches-01.tar.xz 8824 BLAKE2B b30d1c6625d87605fc934007ebfbd449f327969b1f65bb22a1d432691a3927a3f20c55f646f9a4e8cbdcdcadf16a2518e05441ab0088bac876a81f87bb62b925 SHA512 93ef056f697d83ced4d585c31558dded94667447fc6785ed79b15dbbde4df4a3667cefec1f2007649dd0fed3c1cf86cfe5cf626588678d2a851f8c5f7b3d4092
+DIST mariadb-10.1.46.tar.gz 63741294 BLAKE2B 5a2ca06b7ac14896f874bb18a38dcfb2336d0b77160d3295e9a268ffaa6feec2319a5d4e5985851327f1122fa7650749a09c384eeba5ab9369fce993464702f8 SHA512 a45816edfcfb7f33fc4e316cd19d777069358b7cd0968be23922ffee886e9db8600568425e4d81a0e033a255b6c46441fefa4f5bc5da96579527b481a10a7213
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
-DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8
-DIST mariadb-10.2.31.tar.gz 73134720 BLAKE2B a410f71cffd7ff904cb16d9d00bbb4b1d6d17a4931de1635a14dce7c7c66d8dfd097b0c261959809cf2f327d196b11f3196129c2894efb5bab0141aca10ea3c7 SHA512 2cf28e4e049618f633470e7a4cd4f3bc8c2a74bf9796bfd026da7c75812e6d4962323785fdbca7a5b505c2e4fe95e3b47cd2e24e4dec2dcd230ac8a25f49b9b9
DIST mariadb-10.2.32-patches-03.tar.xz 6048 BLAKE2B a6f8f25ec23d1d86d228d719927daa9131779239917b86eab9f82086744294c0a4f03b1a73a3baa599e367775457d6c345fa0820b89063b2e6379c0fb7076ad0 SHA512 324804f13f59593d26cc5fd8c1cdeac2f16cf55012ca65b0a7223512920e1ea94619991fdcb3d19184b6428e4a627fec75532c88ae8297f9b8398fcf730058a9
DIST mariadb-10.2.32.tar.gz 73646729 BLAKE2B 581906d67f0aada9e85aec7bfee03ed8927a4e836f0639fa5f31576f5df70ce2b6ed3da0b96ad616f5ed71d7717531a073cb911c6d92274f6724911e086104af SHA512 824aa94724b639337a5b4c2e86a1f5ceaeaa940eb234f852df1ba0aafd64e269335e2aca0b05d52164e090cfd6f7d14477df9e096473aa5d9286d47944a765b4
-DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3
-DIST mariadb-10.3.22.tar.gz 72050820 BLAKE2B 9e08f1360f8db2c5f466d4f6f967145286412a5598c7de8828eb8f8f3dd113b38f039c38335f9251f3bba19c67c5f62d57808eabc57480338b64dae0c5588774 SHA512 57a6551b8939f54742963202d50a537e69e8ab9b2dca42ce3d2a09c0f7af368fded71f36af26f6cbd956d54fe43853981ba8fe28b7a3ba97c7d52ea4a0d233f6
+DIST mariadb-10.2.33-patches-01.tar.xz 6024 BLAKE2B cb4283a36b303b1422d53c454bc6390ce80f3a88c9f9cd459468cf9bff792a1af197a5e5b3f7e45376024ef78bc6049cecafd8654e1b767f741f35129624ab12 SHA512 ebe9c1295089c04e869516f3ef278673986c1227b92bb9cd96cc561b0392f22870200cf58db91fdfe7e113b04b5b6d66c904b2d1353011cbd89723a8ce83fec2
+DIST mariadb-10.2.33.tar.gz 73769891 BLAKE2B d5d564e6c51a6460247b999ae1d58433f15f5c7a4ffe7c676845857036c766aaf24e66cbbbaebc12cc55be97a22a4dec4916551bde65eac043cc036fc9e731b6 SHA512 336184931688beba5733d510db00d05eceb3909f8fcdf198189ea1fa96af6a401aa4f0b9e13e3fb0211f7be6c14aba8d0a9b245bd3c2a173e5b1f930a7a18460
DIST mariadb-10.3.23-patches-03.tar.xz 5520 BLAKE2B 30bc247ed6d97aefaa1ed48f379fc9aab3df3409aa9a108728313c7c69ab0641b69ccb0289eda9539df367f85b2db494473d3836807dfbf60df1e0c832e57369 SHA512 64bff196d1651348d303571fd551a5666d9514c1ee17cd9296b9d420c4b3d7d9b339644a1cad029bae3c35a666b405d471a37846138f2551f3b1b88d99b80844
DIST mariadb-10.3.23.tar.gz 72582611 BLAKE2B 493605519f714cbe87b938f6ca3243d29189adbfcbb33c4e10a4a3f01b08d875f18b96b647dc92566b785c2cef9862ebacfd55954d13ab0a7a745606e40fb6e9 SHA512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986
-DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71
-DIST mariadb-10.4.12.tar.gz 79120835 BLAKE2B 1c511e788f8ddc9b9d2e580b29c380ada85d7cc46febe6a6bec626fd6239e4f50480b7a31dcd7e1a9474c6ed9626a910e996257ac8366646a22decc0226c45f0 SHA512 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6
+DIST mariadb-10.3.24-patches-01.tar.xz 5508 BLAKE2B c3b75205ecec0b73c85696a3382dd9271d495389f05d1bff66548f5f316f6d5f2ee7204020f265a6dd7ee7c28e1a010d74b056b9c9ab244651ba417e496fb1a9 SHA512 d9d408e6ba08a8a321b9a6e72a6347c4317652e91ade0056ff8621dafbbaf398e33d6b15247e89a2d60b731021d30cba9611356ced2cf848d1807cb3d376c378
+DIST mariadb-10.3.24.tar.gz 72714002 BLAKE2B c25a1546369e8996dea2a4d00022a8a5a4f11727866cb3d377aa534b617b76540fe49871c92d38487b667db68885e7aabe22a7400015f513394f18fdd2899bcd SHA512 cfd0154d984ddc344554cd3df1d02b0811f8e35c90caf745532491688850736d079c67d40e9414daba83f2bd0c06569bfc99213d5280c63cf051c68abd7c56b5
DIST mariadb-10.4.13-patches-03.tar.xz 5520 BLAKE2B 949b7f6ee5a9a6077424264e53d2b7af8ceb56cb38b204800e1c3ec93fc929d57b201e075f8ed735364b5421a3b922ba45fc94ba006f1e6d94494efa17b521ef SHA512 042c3ca8a75ebbb1c2baa508603d4248a178f87b7126b439ef6894eaab979f01c47cd8fbea3c106cce2a951e9308c76e72b4e444dcbee09a991cb524f2b9fac8
DIST mariadb-10.4.13.tar.gz 80608459 BLAKE2B e9ada14da6ec7492311068549a5b6e5a66e1177312013b25472c084a21fbace543ec43b47f2e12190d45432648d508f311198521f42359561f8d75ea60f98205 SHA512 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566
-DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c
-DIST mariadb-5.5.67.tar.gz 45971908 BLAKE2B 494fdc5d13c3560b074514f30a828e6689b820a1eefc0d0ec67f00a9dced6f4d3c305ed81ad39dddbb07659ccfbab418900f822baf502067d706ba84d2e7fd78 SHA512 494b2b0d863e2fed6f02f8d61134a645aa113bb0e17ba08b304350dfa974f6fce2a2fcc231fb413872156f70f08fbd2604f58d642fffe085f3b093176a3e68c9
+DIST mariadb-10.4.14-patches-01.tar.xz 5512 BLAKE2B f32e1d383ffd99de431bc34c36101c71c5e631344527e96b80ca6bd0a68015b45a4c33d6f0518cb4aa2bcfd493b64b6607671450ca045243404c0d65ebbc66fd SHA512 201fe82cbcca705dba52b32405d463b5569d97a5ffd9fd2967ec7fc3c3ff305011b3d2c3c0e9f7c19aaac57b26661bd361f3b6da6f3812f25934ec18856c7051
+DIST mariadb-10.4.14.tar.gz 80789865 BLAKE2B fed455e906af9fe105f52cc7180a6b8d8839fdbffac079f2ced265741c2ab8010c78c0e75ff77740d45a2bd02a15c379bdb3a0237152848a0ce1a7aaac4cbf32 SHA512 c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c
+DIST mariadb-10.5.5-patches-02.tar.xz 6060 BLAKE2B 185a2016836721f76c19228ca39c1c7610c34210e23b42f254e4c4fde34c74d9c77bb0d1a441175c14938ecafea3e9575fa3b7349db826aef63e7d7e7a21901a SHA512 8a26bdbec19d45739ef7accd3cea999bde465714141532d999500df2ebd93bb98a00b8b86b1e855ea4f0cba6984b21ff09beee75372f840282a91f5dc95db432
+DIST mariadb-10.5.5.tar.gz 86880268 BLAKE2B 58430dd4e7199d674bbd4f7381a56129e067ed1bb30c171545fe9fac3a83f7db2c57cc1b577ef242deb99dd69e17a1d3cbf756031711d27b04c97a7e93e14c60 SHA512 09bed291b39142f8e2f40eabbb443f6f384368b331406a09fd92d3d27ecc75644219066850d89495ed65c6f0d3ac32d51e29e65375331dcc2de4801313178d45
DIST mariadb-5.5.68.tar.gz 45969389 BLAKE2B 5b3a647649c614825adccbc83faa40ba330dae0a1f8005b2297cc6a44fbc00bf817f2d854af315f995e1065bd4d14a2f21a9cec44b5c78402524467d876d8157 SHA512 3419790aa88a7e2a5d80e56ca94683d22ca2d5d817dfe19904d11454f34cfc3b9d55e603295ea58580a3c9fe96a6c6f9b650e1058c4e8f2f2e82f09165436865
-DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
-DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa
-DIST mysql-extras-20200203-1749Z.tar.bz2 344999 BLAKE2B 46441f3c210c87b8ce1df89e9480d0bd5be216b0a1380c3ca330294e787bf2fb2b7078438f032dd0381363e756312d7634350a0b02c00b3145d4787a9ad65cad SHA512 210d240efef4d7bb64d356cae240039d9bd65e2bd4af47e01131ab5bf48779f4c0519e50d212d50db998e6b9bf9d73f1a03b0bbf4f7d6dc6f978660c8ac8a21f
DIST mysql-extras-20200523-1221Z.tar.bz2 345015 BLAKE2B 3ad0da663c31831d3b511b88df34b6a28bb781cfd88fd4479b43273aa15946e63c7ae43d5497207edc6cc53a72bd42b8ce2e2058dfb236afd940bd0282190e98 SHA512 8f7b39017efb08e1ae98c4c68728bc86f8427b88b2a22688abf6975c6706122086dc93289beb511bbaf17cd5a790c76406e81315a11830829efe9170ce4f6a42
-EBUILD mariadb-10.1.38-r1.ebuild 29427 BLAKE2B 4817945be76f85f162f6a26381d1e327bd0907304e9376faf3828f9c8e7ac7f0e8bec344b64af6da5bf78dafd1d8d40a44e2554c1862e9adce0666f2e990da61 SHA512 2b611ad16609527f1c5f1857ffc893a48b70a1d52018d0907723be892268d7c64dfcb727e44e64af9ae9f992585990dd13a5af64acb07f3a5ba2abb35562afad
-EBUILD mariadb-10.1.43.ebuild 29830 BLAKE2B 0b105fd2ea914b0e7fe5d47c58784a1c68f5dcb57c90e612bd207bd6ee7cb6b4e7f20e4e3d4e257326742963cd132336939d5bbbff35c669f668dd3f71146aab SHA512 4e6156acf7f78aa79293b6b11c535a862d21ccbe0592c100cba3a5bf4f3db770e2a1e8ab25e914e22a8cb2bbf247dee79fcf686e6357c72a1dfe65e5398713b9
-EBUILD mariadb-10.1.44-r1.ebuild 32167 BLAKE2B ea6304c6e0ef890a5443d4e46bd172876705b93e4c35bbf64935c8ae78d38e7baf44c433317dadac14ffca699df19df744e68ec782945bbf603c092b0cda77fb SHA512 54c45813c42e55b109e27b35d78a2d404ad038db6eefbc90d6c4382c9d30a15164ab1febed3efef03b7cd68012e164ec8bafa6e010eb5838881609d44ba5bc75
-EBUILD mariadb-10.1.45.ebuild 30680 BLAKE2B 65f92516ca54929ee1b8ec0d1d2232de781b98f431d29960517824334b603faa9abeb7adf0e3c11a625fabeaf9f8234e1a5da7b518b56ed7dc7994149d952df5 SHA512 6745875628c333b0df7267fb71c64d0ac99ac298cd42fff1843ab44d6302ee7eb11ab6255dd22853242de3e72bd0ca6d53a4b83f81ecdbe870062ebff2ba423a
-EBUILD mariadb-10.2.22-r1.ebuild 32490 BLAKE2B 1909cd64d969d82cd7826920aa04a9c92c7022d8d0b395f1ca8bf237cd2ad86ec919c9e4412aac3788b7cd5956df5f8d06bc18df345c12f3382405ecc9e920b7 SHA512 d219c571b941e3f3214bef82893507ec8ed233a6623f0cb7dba9e327fef628afca9af610a49378697ba10f14b6137eab50d5f0290fde46871970cf56d31b6e6c
-EBUILD mariadb-10.2.29.ebuild 33063 BLAKE2B 0cbf1bf88713221ef663ebb4e3e7e60e170890177b272a3ed851b192e3f45700b40daaf14de32f2bf752f5820ae75e6fef84ebc21ce56176fcc2f6a9214a47ea SHA512 183ad995db6fc08f3da3913f64510bfa4252c31e8478a19738bb6b421c66555db452a8d77243a5ba8e97e0dd6fdda2b47f29f2fd01abac26b114aaa3b8856f4c
-EBUILD mariadb-10.2.31-r1.ebuild 34996 BLAKE2B 5afbfd085d07291e4e4d92e3d5023fbfc214cebd8075299d122abb929271fa88a3ff635d7b534ee023bd1c2c994251fbdd4fb91cdd195a55333361b5c248d347 SHA512 49224247f852201a0d6df85ecd90f37e5e3b62d3e8b355be003ce998e6aed8a672a3dd2cc302462da5aaf99979feae90d9d9ebc1f6298826b41193bcff354ad0
-EBUILD mariadb-10.2.32.ebuild 33627 BLAKE2B 9b2c680e69fe4b557898431350d742b8ee443b4628159a834c9ab803cff9a825b5425d0ee22afb1e4701074bb584857625868710d0624a19fa5b67dff5a9c437 SHA512 a3127a21336e63e3471f3de8196a6a2f8f0814242eaaa49102a337d86c208fdafcced1d28faf28e24fcb0beefc18c4b4ca9fa4c6fff4d5628e0ec56b39d039b7
-EBUILD mariadb-10.3.20.ebuild 32690 BLAKE2B 35f9eb05a31fa3949464a77b044dc00561c016572a88fc028cb9ff58a1c149db72cd09d9cb0e1cb9e64b055881940adec0bcf990b3cbaa1bf9fb26a3d066ceda SHA512 861f3608796ab075c052e623cb8949adcea2bf49c97e81b70f9236ca8f67d6ca32602c7946f556763b7f421d275845c896f74db8e5ac966a387ccbcc69c29afd
-EBUILD mariadb-10.3.22-r1.ebuild 34771 BLAKE2B c8dca58770e27fce52ed0b492968334cbdf6bc7e6f691dd610a39cfab5261eccd467afa8a832388140d584349db7ce5668c5c0b13a4080f0b8bbe26a077a74b8 SHA512 e860dd7b60b5f6ce5dca20915364fd94f17c0fb80cf1afdd4b791f3c2454cb7240a7bebf91a8fcb4c52a6f5c71d1bec95436b0f662656d2b97387fc1de7ac6ee
-EBUILD mariadb-10.3.23.ebuild 33404 BLAKE2B 5834e850437812705f7fefb9174033bf03dca2cbc7aa88faa79655b051ada65975585d855124441501cf49ffc45097d6e7787a59d6ab74afe7da706928b8189e SHA512 f7f2a4aa95086f4a2dad9626596f704d8c7bdcfe16635f49fa9ad416c06ccc898d5fa67ba81c8edb8c5a3f434eecb9b18e2bc1e12a0bc4f8d8e47a840f86a1a9
-EBUILD mariadb-10.4.10.ebuild 33342 BLAKE2B 8aa25f71b60b596994749905a9af6d0171a259bafba7ab76ff68e855d97de0363a687d4c603fe2ffb1d14196ff51ab5e8706c05d2c2a0dfdcb8f801001b1e0bf SHA512 ac6dcded63450f4a83e1bc41fd5a881bfe7f712cc4e31270d2d1b3015dd48e4a79876acc359e6bd6fd6f1c560a281fad96f4369965d9734b88165a27a5a1a70b
-EBUILD mariadb-10.4.12.ebuild 35329 BLAKE2B 88641f83a0e7e7617834b5bf27249e9ea863eb933be1b04389e4da0af004540f6c1472eb04dc98e4b51a89d81fbb651a88839db514adbf137169a315075fbfcd SHA512 647a0e6651ee8ca4f61bde0a88e9e2de4c3f06f10a7bcc0ce8bf940de830051025c89fa3428f154b14e58c050bf1dccf525804cccb73cdbabe265bf62dd9b595
-EBUILD mariadb-10.4.13.ebuild 33969 BLAKE2B aa7c9f6440a98314f4db6ef6cd3d94b2920c9c7802e7495c1447a3dfc580971de53801ad03e453342ff41a170d383dcf112b4d1d647a603dcfbd2a417f240204 SHA512 9f44d71a2346de4b09b45ec8abeda84679acce9b818e89c1a558067f26a8a57a81ce0f0c2e0012aaa1e6e8bc8272d3769663e819310f31eaf2dff28665dc1041
-EBUILD mariadb-5.5.66.ebuild 27209 BLAKE2B 837dad98c4e35a0e1ab4be51a0452531a33479098dd6706fb2991c617ae0bdb8cbd117f6c598c2eee0a0a63f5ae0b26f7e334d223548782cb5c4a47d31f5ff2d SHA512 be93e099475ca316318db96ba5437a491993440b42c638a52a215b3cc7d66ae14595d024a65efb032e26cf85130247f242d23e659509aa2a175fb6228b30bd3b
-EBUILD mariadb-5.5.67.ebuild 27209 BLAKE2B 80a419eded23bef53857b7554dc528e3196413ee9216c7341904af5d1590758a3017e006a4a67192a0fc37e6af70485f422ada200c99aa82714c08aaa9da8c01 SHA512 cdc301f9ae2cafd19919d10149a09d98f4bd9e106c521e398754e8cc1a770c3951432acec2e5ea19aed958c0233b4ec623bd28a573e085849b4dda860f35b26f
-EBUILD mariadb-5.5.68.ebuild 27216 BLAKE2B 67f60b5c4547a8e656931b76a4a74b87f03c92d0fc845f9258a165b3d001465e501c5cef5b1f4d2faac3e28d5a78e0cc3ec7b4d1fc8d92cdf9d56fdeadb4a06d SHA512 2e02a02cf904cadc4648380ff3c34ce2afbc238172299b76456cb88b5a956564e9256ee5c01421716c7380dbe373f04c12cdc41b3524fc80a8e701691a7d3032
-MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97
+EBUILD mariadb-10.1.38-r2.ebuild 29416 BLAKE2B 283ac8c98ff7f1a0b7bdd8a45e9dc120045ea48d98f25d632d0af3d422bf16c9fb81f853041697e322f98348900c08fe6e6b371605701257b2774f4edad51480 SHA512 08f5e89ea4c4a8a7746bdf8e8bd64e68b441e69e1a2b1e6e7caa726cc79f94f0aa884985234fe38c73cc26b2a91c0694b4da9b589d6e700c697edb78739c9999
+EBUILD mariadb-10.1.45-r1.ebuild 30809 BLAKE2B cbb67ee065fd71cb303cf72142710b20c18618165c8357e6198dfeb011ecc632f9e102fa6fbc53f538653462dfde92f46e087ea5c50d7d4591dffbc96b1c0473 SHA512 99934894513e1ef368b3ea6ce3346c0932cc8c6b6ce4b6db082156e5a5cfdbe3638482b737ff7f0c4599bdfa7ef1ad4c195210fef882712084f6834dd15139be
+EBUILD mariadb-10.1.46.ebuild 30670 BLAKE2B 2488607c934669f9eb3734690822dbb3d6aa31d9b10a6d157454bd1af8c1e3030369a298c00de699e5dcb976f2cb1c31fdc4cb60adc29011124928c49022f0f5 SHA512 83d3a061fa69a1869d7c18833107278e7ae0ca5ea4621f4e1fad1dc2ea13602904c4596563a45538ca183f252d5f21af78521052f436630fe6c317e78c885c55
+EBUILD mariadb-10.2.22-r2.ebuild 32479 BLAKE2B cdb02077582e1f1e0f6c1739b43cfc28e8d03eb96c2c63d992fda2dd1a7da26baaaa8847cec4c6acd57ab0c54359d979015fec16a5faed2b3e4dc7c311eead68 SHA512 94d355a6789b3b44ef71137369d5e7dc0efa02efbfb656c989da0397332a69260031b53d17a93ccee97b3ce07201dcc7d009e500e04ff916619647e2ea14e964
+EBUILD mariadb-10.2.32-r2.ebuild 33739 BLAKE2B c370964efedaf92d05aeaccdf7ef20e2b3274bb1bd5f526c52ebc2c4ae7f6e91cc040958b20fee961e30feef9b770f7a5edf47d205d2643f3ed448e9a23f77c2 SHA512 9ddd9c8ad3247e8cd28eae81ea43a5693a6a5d8f9fc8ff1aec1e3f80af29e60917be2821863d3a5bd81182af7ac3eb9639ac8736a2787bc058b0d8b852ae362d
+EBUILD mariadb-10.2.33.ebuild 33923 BLAKE2B 7162a33040b26b4c69b3e600120035ed6903ac65f32b5c5825c1a3498e49ac327704451794714c9601ae12dcc9ea8c7045827e7d953a08a3ebfa9991d9f31a6e SHA512 5a2f1f7f6d0ef62bf107d9e632ab87f3092070d3f19c1c1f4a2e103470edb25c2532765bf4efdca8cd3ae0bf80914087a85f6f8cbf91dd13f8be51526dc8af47
+EBUILD mariadb-10.3.23-r2.ebuild 33491 BLAKE2B ec161173bfbf306865c912e343e386770fea56502bb66327368bebe263317aa24cabedd3070c8aa52804bfaee475883dafd48b19463cc04931622e062958f063 SHA512 01e7f2d24567d162d18e44550b217f573f92a8da0cb2b4a9fd24e45dc1a385e530bcd2fa5ebe8441d2ebb1262c1854484e593012f44c73a8fceceaf11875a580
+EBUILD mariadb-10.3.24.ebuild 33436 BLAKE2B cd1b2d506f840723eb23d5fc94c8437936bfc8eee80483e02e18e6541ceaa78b11bf6fb5852bd8ac111f135207591b7d34e073e82dd58530b2be31c6b521b352 SHA512 f610b4dee441d4319b2a92e177125fa1c9afbb4bb86f375e229bf573623688f123007b90ed67429ae186ebef7aa096d4c372617cb733a089938e514d56b87364
+EBUILD mariadb-10.4.13-r2.ebuild 34056 BLAKE2B 2fa69c956f8ce97004cc2990d93f1224379eb877a10e37a1a7bdcf1ae4157fa04e8ce918e02c1558297f940d97e060d61b9b5c2e849e30e4dd71ebaa59e1bf4a SHA512 4f7dcf860e5655ace5317f6c1c740b94237efd30dded5bf0d464ec89a277b3402611850185396df6fec78d7278eed2d5c30f3a3720cc90842bba0c57828db803
+EBUILD mariadb-10.4.14.ebuild 34141 BLAKE2B bd40fef84dc3c6c32950be114da95f68aca90d4d4150e117070f9102b441c80cfd105fa06c441e3fcacc965a2f6bd402bb736e957476b41ae77f2e40967bc978 SHA512 95538ccddffd4f47502753bdcb7960c4c11e92c74741bfa3c377fb986d31531c441fa485ffaae09a3b3128da62a70860e74383c37a070db58fc0d93e2b233e61
+EBUILD mariadb-10.5.5.ebuild 34438 BLAKE2B 01da0095da05e50306c5876863b00111e4865f09bc12a3ad4366a280a8512fee85453c0eeb9c09bbe9407663420f25bb3e05c79ee4432171cf90dd744b38c07a SHA512 85075c6c69d9c329671244e601e852d08eddd66f319cb1b76ec57c79bab3f8cafce6a39605e8e48d67881054bd50609f544de83a26d8a3084e10b5bafd0954f8
+EBUILD mariadb-5.5.68-r1.ebuild 27347 BLAKE2B 40224a35a8fc630d75ff56a308884bb32b8e390b5cdb94a1dddc07621815923e537e78186feb4720df770c8843d256a3304fb6bf37819e9ad0c1f5b013656028 SHA512 391dd04f34cd1c9f1f7c2ddfd75a020d386a091accf97c203bafcbfe64e4e2a3875d3cb5c91fe581af93e202f91ff2f929beb292eca1c619187d6de1bf4d657a
+MISC metadata.xml 2735 BLAKE2B 961d1d49f7a6f5b90c731ce710c27e11bd2a1d996de9ae0adbabecd5823053e815397b5930797b66d94e1e767fbcba83fbb25fd002a1b2d346235cb24b6a2c3a SHA512 85a7ca20443ed2630f7ff8da19d74d9f415cd9d8dde25300eb1d6ed44b4d0c73bc34a149bf0471748933aa0200e14ced48c009b99d71a737e38283ed754b75c9
diff --git a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild b/dev-db/mariadb/mariadb-10.1.38-r2.ebuild
index 41ed096c22fb..b205f74ad1b3 100644
--- a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.1.38-r2.ebuild
@@ -26,7 +26,7 @@ fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.1/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
@@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="ppc ppc64"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -119,6 +119,12 @@ DEPEND="virtual/yacc
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
server? ( galera? (
diff --git a/dev-db/mariadb/mariadb-10.1.43.ebuild b/dev-db/mariadb/mariadb-10.1.43.ebuild
deleted file mode 100644
index 4ccb4cfa7329..000000000000
--- a/dev-db/mariadb/mariadb-10.1.43.ebuild
+++ /dev/null
@@ -1,896 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190305-2052Z"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build
-
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
- innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
- +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
- systemd systemtap static static-libs tcmalloc test tokudb xml yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
- "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
- "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
-)
-
-# Be warned, *DEPEND are version-dependant
-# These are used for both runtime and compiletime
-COMMON_DEPEND="
- kernel_linux? (
- sys-process/procps:0=
- dev-libs/libaio:0=
- )
- >=sys-apps/sed-4
- >=sys-apps/texinfo-4.7-r1
- jemalloc? ( dev-libs/jemalloc:0= )
- tcmalloc? ( dev-util/google-perftools:0= )
- systemtap? ( >=dev-util/systemtap-1.3:0= )
- !yassl? (
- !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- sys-libs/zlib[minizip]
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- kerberos? ( virtual/krb5 )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
- >=dev-libs/libpcre-8.41-r1:3=
- !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- ${COMMON_DEPEND}
- server? ( galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- ) )
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
- server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- java-pkg-opt-2_pkg_setup
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
-}
-
-src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
-
- if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit semisync sql_errlog )
- local test_plugins=( audit_null auth_examples daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Collides with mariadb-connector-c bug 655980
- _disable_plugin auth_dialog
-
- # Avoid useless library checks
- use mroonga || _disable_engine mroonga
- use oqgraph || _disable_engine oqgraph
- _disable_engine example
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- cmake-utils_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '')
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_ZLIB=system
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- -DWITH_SSL=$(usex yassl bundled system)
- -DPLUGIN_CLIENT_ED25519=NO
- -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
- )
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_CONNECT=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI_CLIENT=NO
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- -DINSTALL_SQLBENCHDIR=''
- )
-
- if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
- ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
- ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
- ewarn "You MUST file bugs without these variables set."
-
- mycmakeargs+=(
- -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
- -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
- )
-
- elif ! use latin1 ; then
- mycmakeargs+=(
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- )
- else
- mycmakeargs+=(
- -DDEFAULT_CHARSET=latin1
- -DDEFAULT_COLLATION=latin1_swedish_ci
- )
- fi
- mycmakeargs+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DENABLED_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- local mycnf_src="my.cnf-5.6-r1"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR}/${mycnf_src}" \
- > "${TMPDIR}/my.cnf.ok" || die
- use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" my.cnf
-
- if use server ; then
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
-# cmake-utils_src_test
-# retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 10.0 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in plugins.cracklib_password_check plugins.two_password_validations ; do
- _disable_test "$t" "False positive due to varying policies"
- done
-
- for t in main.mysql_client_test main.mysql_client_test_nonblock \
- rpl.rpl_semi_sync_uninstall_plugin main.mysql \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- if ! use client-libs ; then
- _disable_test main.plugin_auth "Needs client libraries built"
- _disable_test plugins.auth_ed25519 "Needs client libraries built"
- fi
-
- _disable_test main.gis_notembedded "Fails when latin1 USE is not set"
-
- _disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
-
- # 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-10.1.45.ebuild b/dev-db/mariadb/mariadb-10.1.45-r1.ebuild
index ada13d31e8b9..616c340d5a83 100644
--- a/dev-db/mariadb/mariadb-10.1.45.ebuild
+++ b/dev-db/mariadb/mariadb-10.1.45-r1.ebuild
@@ -12,7 +12,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake-utils multilib-build
# Patch version
-PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.45-patches-03.tar.xz"
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.45-patches-04.tar.xz"
SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
${PATCH_SET}"
@@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.1/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
@@ -34,7 +34,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -96,6 +96,12 @@ DEPEND="virtual/yacc
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
${COMMON_DEPEND}
server? (
galera? (
diff --git a/dev-db/mariadb/mariadb-10.1.44-r1.ebuild b/dev-db/mariadb/mariadb-10.1.46.ebuild
index 70eec0ce5f04..fd560e8d61a3 100644
--- a/dev-db/mariadb/mariadb-10.1.44-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.1.46.ebuild
@@ -1,33 +1,24 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-MY_EXTRAS_VER="20200203-1749Z"
+EAPI="7"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake-utils multilib-build
+ multiprocessing java-pkg-opt-2 cmake multilib-build
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.46-patches-01.tar.xz"
-# 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
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
+ ${PATCH_SET}"
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.1/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos
innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam
+perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup
@@ -41,33 +32,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch
- "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch
- "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch
- "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch
-)
-
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
@@ -80,11 +50,12 @@ COMMON_DEPEND="
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
!yassl? (
!libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
libressl? ( dev-libs/libressl:0= )
)
- >=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
!bindist? (
sys-libs/binutils-libs:0=
@@ -101,7 +72,6 @@ COMMON_DEPEND="
innodb-lz4? ( app-arch/lz4 )
innodb-lzo? ( dev-libs/lzo )
innodb-snappy? ( app-arch/snappy )
- kerberos? ( virtual/krb5 )
mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
numa? ( sys-process/numactl )
oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
@@ -109,21 +79,27 @@ COMMON_DEPEND="
systemd? ( sys-apps/systemd:= )
tokudb? ( app-arch/snappy )
)
- !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) )
>=dev-libs/libpcre-8.41-r1:3=
!client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
+BDEPEND="virtual/yacc
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+"
+DEPEND="static? ( sys-libs/ncurses[static-libs] )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
test? ( acct-group/mysql acct-user/mysql )
)
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
+ client-libs? ( !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
${COMMON_DEPEND}
server? (
galera? (
@@ -243,19 +219,20 @@ pkg_setup() {
src_unpack() {
unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die
}
src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
+ eapply "${WORKDIR}"/mariadb-patches
+
+ eapply_user
_disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
}
if use tcmalloc; then
@@ -263,9 +240,9 @@ src_prepare() {
fi
# Don't build bundled xz-utils for tokudb
- echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+ 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
# Fix -fno-common error
sed -i -e '/^datasink_t datasink_buffer;$/d' extra/mariabackup/xbstream.c || die
@@ -294,12 +271,7 @@ src_prepare() {
use oqgraph || _disable_engine oqgraph
_disable_engine example
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- cmake-utils_src_prepare
+ cmake_src_prepare
java-pkg-opt-2_src_prepare
}
@@ -457,11 +429,11 @@ src_configure() {
)
fi
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
- cmake-utils_src_compile
+ cmake_src_compile
}
# Official test instructions:
@@ -491,7 +463,7 @@ src_test() {
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
- cmake-utils_src_test
+ cmake_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
@@ -600,7 +572,7 @@ src_test() {
}
src_install() {
- cmake-utils_src_install
+ cmake_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
@@ -665,8 +637,10 @@ src_install() {
doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
}
pkg_preinst() {
@@ -678,7 +652,7 @@ pkg_postinst() {
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}"
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
if use server ; then
if use pam; then
@@ -717,7 +691,7 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
- local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
@@ -822,9 +796,9 @@ pkg_config() {
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
- einfo "Please provide a password for the mysql 'root' user now"
+ einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
@@ -835,6 +809,7 @@ pkg_config() {
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
+
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
@@ -875,19 +850,19 @@ pkg_config() {
# https://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/mariadb/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ local cmd=( "${EROOT}/usr/share/mariadb/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
+ 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"
+ || die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
diff --git a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild b/dev-db/mariadb/mariadb-10.2.22-r2.ebuild
index 4245acdc5024..aca4c6dfa4c3 100644
--- a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.22-r2.ebuild
@@ -27,7 +27,7 @@ fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.2/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -42,7 +42,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="ppc ppc64"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -116,6 +116,12 @@ DEPEND="virtual/yacc
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
diff --git a/dev-db/mariadb/mariadb-10.2.29.ebuild b/dev-db/mariadb/mariadb-10.2.29.ebuild
deleted file mode 100644
index bed0ab679d27..000000000000
--- a/dev-db/mariadb/mariadb-10.2.29.ebuild
+++ /dev/null
@@ -1,985 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190305-2052Z"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- java-pkg-opt-2 user cmake-utils
-
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.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= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? ( galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- ) )
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
- server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? ( ~virtual/mysql-5.6[static=]
- galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- java-pkg-opt-2_pkg_setup
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # 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 [[ -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 use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- 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
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.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() {
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- local malloc
- for malloc in jemalloc tcmalloc ; do
- if use ${malloc}; then
- echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt"
- fi
- done
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- 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
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake-utils_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_CONNECT=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- 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+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 10.0 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in plugins.cracklib_password_check plugins.two_password_validations ; do
- _disable_test "$t" "False positive due to varying policies"
- done
-
- for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- _disable_test main.gis_notembedded "Needs latin1 USE set"
- _disable_test main.plugin_auth "Needs client libraries built"
- _disable_test plugins.auth_ed25519 "Needs client libraries built"
- _disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration"
-
- # Likely environment issues as only number of clients connected fails
- _disable_test rpl.rpl_semi_sync_uninstall_plugin \
- "Fails intermittently on parallel testing"
-
- _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1"
-
- # 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-10.2.31-r1.ebuild b/dev-db/mariadb/mariadb-10.2.31-r1.ebuild
deleted file mode 100644
index 994101f4575f..000000000000
--- a/dev-db/mariadb/mariadb-10.2.31-r1.ebuild
+++ /dev/null
@@ -1,1029 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20200203-1749Z"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake-utils
-
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch
- "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.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= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- server? (
- extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
- test? ( acct-group/mysql acct-user/mysql )
- )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- sst-xtrabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
- )
- 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
-# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? ( ~virtual/mysql-5.6[static=]
- galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
-
-mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
- 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_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
-
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
-
- if has test ${FEATURES} ; then
- # Bug #213475 - MySQL _will_ object strenuously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if ! has userpriv ${FEATURES} ; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- fi
- fi
-
- java-pkg-opt-2_pkg_setup
-}
-
-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_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- local malloc
- for malloc in jemalloc tcmalloc ; do
- if use ${malloc}; then
- echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt"
- fi
- done
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management )
- 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
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake-utils_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO )
- fi
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_CONNECT=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=share/mariadb
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- 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+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
- _disable_test() {
- local rawtestname bug reason
- rawtestname="${1}" ; shift
- bug="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
- echo "${rawtestname} : BUG#${bug} ${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
-
- 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))"
-
- if [[ -z "${MTR_PARALLEL}" ]] ; then
- local -x MTR_PARALLEL=$(makeopts_jobs)
-
- if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
- # Running multiple tests in parallel usually require higher ulimit
- # and fs.aio-max-nr setting. In addition, tests like main.multi_update
- # are known to hit timeout when system is busy.
- # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
- # using "auto".
- local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
- info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
- einfo "${info_msg}"
- unset info_msg
- MTR_PARALLEL=4
- fi
- else
- einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
- 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
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
-
- local -a disabled_tests
- disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
- disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
- disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
- disabled_tests+=( "main.grant;0;Sporadically failing test" )
- disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
- disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
- disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
- disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
- disabled_tests+=( "mariabackup.*;0;Broken test suite" )
- disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
- disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
- disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
- disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
-
- if ! use latin1 ; then
- disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
- disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
- disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
- fi
-
- local test_infos_str test_infos_arr
- for test_infos_str in "${disabled_tests[@]}" ; do
- IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
-
- if [[ ${#test_infos_arr[@]} != 3 ]] ; then
- die "Invalid test data set, not matching format: ${test_infos_str}"
- fi
-
- _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
- done
- unset test_infos_str test_infos_arr
-
- # run mysql-test tests
- pushd "${TESTDIR}" &>/dev/null || die
- 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() {
- 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
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
-}
-
-pkg_preinst() {
- java-pkg-opt-2_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 [[ -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 use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- 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
- if use sst-xtrabackup ; then
- ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
- ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
- ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
- ewarn "sst-xtrabackup is being removed in 10.3 and higher."
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.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
-}
-
-pkg_config() {
- _getoptval() {
- local mypd="${EROOT}"usr/libexec/mariadb/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 | tail -n1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-10.2.32.ebuild b/dev-db/mariadb/mariadb-10.2.32-r2.ebuild
index 1b2e46a6c321..7476d450f208 100644
--- a/dev-db/mariadb/mariadb-10.2.32.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.32-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.2/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -94,6 +94,12 @@ DEPEND="virtual/yacc
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? (
@@ -119,8 +125,13 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? ( ~virtual/mysql-5.6[static=]
- galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
+ server? (
+ galera? (
+ sst-xtrabackup? (
+ || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
+ )
+ )
+ )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
diff --git a/dev-db/mariadb/mariadb-10.2.33.ebuild b/dev-db/mariadb/mariadb-10.2.33.ebuild
new file mode 100644
index 000000000000..636a95ff8695
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.2.33.ebuild
@@ -0,0 +1,1017 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.33-patches-01.tar.xz"
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
+ ${PATCH_SET}"
+
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="10.2/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+# 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= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( sys-libs/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+BDEPEND="virtual/yacc
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+"
+DEPEND="static? ( sys-libs/ncurses[static-libs] )
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
+ !<virtual/mysql-5.6-r11
+ ${COMMON_DEPEND}
+ server? (
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-25*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ sst-xtrabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
+ )
+ 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
+# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? (
+ galera? (
+ sst-xtrabackup? (
+ || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup )
+ )
+ )
+ )"
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ 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_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ if has test ${FEATURES} ; then
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management )
+ 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
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=share/mariadb
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ 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+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname bug reason
+ rawtestname="${1}" ; shift
+ bug="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
+ echo "${rawtestname} : BUG#${bug} ${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
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.grant;0;Sporadically failing test" )
+ disabled_tests+=( "main.join_cache;0;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ fi
+
+ local test_infos_str test_infos_arr
+ for test_infos_str in "${disabled_tests[@]}" ; do
+ IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
+
+ if [[ ${#test_infos_arr[@]} != 3 ]] ; then
+ die "Invalid test data set, not matching format: ${test_infos_str}"
+ fi
+
+ _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
+ done
+ unset test_infos_str test_infos_arr
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ 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() {
+ cmake_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
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+ fi
+
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_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 [[ -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 use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ 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
+ if use sst-xtrabackup ; then
+ ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
+ ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
+ ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
+ ewarn "sst-xtrabackup is being removed in 10.3 and higher."
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.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
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"/usr/libexec/mariadb/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 | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ 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'@'localhost' 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 https://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
+ # https://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/mariadb/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/mariadb/mariadb-10.3.20.ebuild b/dev-db/mariadb/mariadb-10.3.20.ebuild
deleted file mode 100644
index 20aedd4ba8af..000000000000
--- a/dev-db/mariadb/mariadb-10.3.20.ebuild
+++ /dev/null
@@ -1,985 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20190305-2052Z"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- java-pkg-opt-2 user cmake-utils
-
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.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= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
-"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
- server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- server? ( !prefix? ( dev-db/mysql-init-scripts ) )
- !<virtual/mysql-5.6-r11
- ${COMMON_DEPEND}
- server? ( galera? (
- sys-apps/iproute2
- =sys-cluster/galera-25*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- ) )
- perl? ( !dev-db/mytop
- virtual/perl-Getopt-Long
- dev-perl/TermReadKey
- virtual/perl-Term-ANSIColor
- virtual/perl-Time-HiRes )
- server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
-"
-# For other stuff to bring us in
-# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
- server? ( ~virtual/mysql-5.6[static=] )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- java-pkg-opt-2_pkg_setup
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
- # This should come after all of the die statements
- enewgroup mysql 60 || die "problem adding 'mysql' group"
- enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-
- # 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 [[ -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 use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- 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
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.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/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- _disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- 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
- _disable_engine test_sql_discovery
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- cmake-utils_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_CONNECT=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- 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+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- # Remove mytop if perl is not selected
- if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
- rm -f "${ED}/usr/bin/mytop" || die
- fi
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 10.0 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in plugins.cracklib_password_check plugins.two_password_validations ; do
- _disable_test "$t" "False positive due to varying policies"
- done
-
- for t in main.mysql_client_test main.mysql_client_test_nonblock \
- main.mysql main.gis_notembedded \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- _disable_test main.plugin_auth "Needs client libraries built"
- _disable_test plugins.auth_ed25519 "Needs client libraries built"
-
- _disable_test main.func_time "Dependent on time test was written"
- _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1"
-
- # 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-10.3.23.ebuild b/dev-db/mariadb/mariadb-10.3.23-r2.ebuild
index 612ad9bf51ee..815d86f66db1 100644
--- a/dev-db/mariadb/mariadb-10.3.23.ebuild
+++ b/dev-db/mariadb/mariadb-10.3.23-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.3/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -94,6 +94,12 @@ DEPEND="virtual/yacc
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? (
@@ -116,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
"
# 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 )
- server? ( ~virtual/mysql-5.6[static=] )"
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
diff --git a/dev-db/mariadb/mariadb-10.3.22-r1.ebuild b/dev-db/mariadb/mariadb-10.3.24.ebuild
index 3d65b2ca81e0..d32933c9d720 100644
--- a/dev-db/mariadb/mariadb-10.3.22-r1.ebuild
+++ b/dev-db/mariadb/mariadb-10.3.24.ebuild
@@ -1,33 +1,24 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-MY_EXTRAS_VER="20200203-1749Z"
+EAPI="7"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
-# Keeping eutils in EAPI=6 for emktemp in pkg_config
-
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- multiprocessing java-pkg-opt-2 cmake-utils
+ multiprocessing java-pkg-opt-2 cmake
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.24-patches-01.tar.xz"
-# 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
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
+ ${PATCH_SET}"
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.3/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -42,31 +33,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
- "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch
-)
-
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
@@ -110,9 +82,10 @@ COMMON_DEPEND="
)
>=dev-libs/libpcre-8.41-r1:3=
"
-DEPEND="virtual/yacc
- static? ( sys-libs/ncurses[static-libs] )
+BDEPEND="virtual/yacc
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+"
+DEPEND="static? ( sys-libs/ncurses[static-libs] )
server? (
extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
test? ( acct-group/mysql acct-user/mysql )
@@ -120,6 +93,12 @@ DEPEND="virtual/yacc
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
!<virtual/mysql-5.6-r11
${COMMON_DEPEND}
server? (
@@ -142,8 +121,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
"
# 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 )
- server? ( ~virtual/mysql-5.6[static=] )"
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
@@ -236,35 +214,22 @@ pkg_setup() {
java-pkg-opt-2_pkg_setup
}
-pkg_preinst() {
- java-pkg-opt-2_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 [[ -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
-}
-
src_unpack() {
unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
}
src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+
+ eapply_user
+
_disable_plugin() {
- echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
}
_disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
}
if use jemalloc; then
@@ -310,16 +275,11 @@ src_prepare() {
_disable_engine mroonga
fi
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
# Fix galera_recovery.sh script
sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
scripts/galera_recovery.sh || die
- cmake-utils_src_prepare
+ cmake_src_prepare
java-pkg-opt-2_src_prepare
}
@@ -511,11 +471,11 @@ src_configure() {
)
fi
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
- cmake-utils_src_compile
+ cmake_src_compile
}
# Official test instructions:
@@ -545,7 +505,7 @@ src_test() {
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
# Run CTest (test-units)
- cmake-utils_src_test
+ cmake_src_test
retstatus_unit=$?
# Ensure that parallel runs don't die
@@ -648,7 +608,7 @@ src_test() {
}
src_install() {
- cmake-utils_src_install
+ cmake_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
@@ -743,12 +703,27 @@ src_install() {
done
}
+pkg_preinst() {
+ java-pkg-opt-2_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 [[ -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}"
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
if use server ; then
if use pam; then
@@ -799,7 +774,7 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
- local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
@@ -904,9 +879,9 @@ pkg_config() {
# localhost. Also causes weird failures.
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
- if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
- einfo "Please provide a password for the mysql 'root' user now"
+ einfo "Please provide a password for the mysql 'root'@'localhost' user now"
einfo "or through the ${HOME}/.my.cnf file."
ewarn "Avoid [\"'\\_%] characters in the password"
read -rsp " >" pwd1 ; echo
@@ -917,6 +892,7 @@ pkg_config() {
if [[ "x$pwd1" != "x$pwd2" ]] ; then
die "Passwords are not the same"
fi
+
MYSQL_ROOT_PASSWORD="${pwd1}"
unset pwd1 pwd2
fi
@@ -957,19 +933,19 @@ pkg_config() {
# https://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/mariadb/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ local cmd=( "${EROOT}/usr/share/mariadb/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
+ 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"
+ || die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
diff --git a/dev-db/mariadb/mariadb-10.4.10.ebuild b/dev-db/mariadb/mariadb-10.4.10.ebuild
deleted file mode 100644
index 4f28a3ad6b1e..000000000000
--- a/dev-db/mariadb/mariadb-10.4.10.ebuild
+++ /dev/null
@@ -1,1015 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-MY_EXTRAS_VER="20190731-2258Z"
-SUBSLOT="18"
-
-JAVA_PKG_OPT_USE="jdbc"
-
-inherit eutils systemd flag-o-matic prefix toolchain-funcs \
- java-pkg-opt-2 cmake-utils
-
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
- innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
- numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
- sst-rsync sst-mariabackup static systemd systemtap tcmalloc
- test tokudb xml yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="jdbc? ( extraengine server !static )
- server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.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= )
- >=sys-libs/zlib-1.2.3:0=
- kerberos? ( virtual/krb5 )
- yassl? ( net-libs/gnutls:0= )
- !yassl? (
- !libressl? ( >=dev-libs/openssl-1.0.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- sys-libs/ncurses:0=
- !bindist? (
- sys-libs/binutils-libs:0=
- >=sys-libs/readline-4.1:0=
- )
- server? (
- backup? ( app-arch/libarchive:0= )
- cracklib? ( sys-libs/cracklib:0= )
- extraengine? (
- odbc? ( dev-db/unixODBC:0= )
- xml? ( dev-libs/libxml2:2= )
- )
- innodb-lz4? ( app-arch/lz4 )
- innodb-lzo? ( dev-libs/lzo )
- innodb-snappy? ( app-arch/snappy )
- mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
- numa? ( sys-process/numactl )
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam:0= )
- systemd? ( sys-apps/systemd:= )
- tokudb? ( app-arch/snappy )
- )
- >=dev-libs/libpcre-8.41-r1:3=
-"
-BDEPEND="virtual/yacc
- || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-"
-DEPEND="static? ( sys-libs/ncurses[static-libs] )
- server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
- test? ( acct-group/mysql acct-user/mysql ) )
- ${COMMON_DEPEND}"
-RDEPEND="selinux? ( sec-policy/selinux-mysql )
- !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
- !<virtual/mysql-5.6-r11
- !<virtual/libmysqlclient-18-r1
- ${COMMON_DEPEND}
- server? (
- galera? (
- sys-apps/iproute2
- =sys-cluster/galera-26*
- sst-rsync? ( sys-process/lsof )
- sst-mariabackup? ( net-misc/socat[ssl] )
- )
- !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
- extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
- )
- 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 )
- server? ( ~virtual/mysql-5.6[static=] )"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- local GCC_MAJOR_SET=$(gcc-major-version)
- local GCC_MINOR_SET=$(gcc-minor-version)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- java-pkg-opt-2_pkg_setup
- if has test ${FEATURES} && \
- use server && ! has userpriv ${FEATURES} ; then
- eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
-
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Create log directory securely if it does not exist
- [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
-
- if use server ; then
- if use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- if use galera ; then
- 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
- if [[ -n "${REPLACING_VERSIONS}" ]] ; then
- local rver
- for rver in ${REPLACING_VERSIONS} ; do
- if ver_test "${rver}" -lt "10.4.0" ; then
- ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
- ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
- ewarn "for more information"
- fi
- done
- fi
- fi
- fi
-
- # Note about configuration change
- einfo
- elog "This version of mariadb reorganizes the configuration from a single my.cnf"
- elog "to several files in /etc/mysql/${PN}.d."
- elog "Please backup any changes you made to /etc/mysql/my.cnf"
- elog "and add them as a new file under /etc/mysql/${PN}.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/_rc/}" "${S}" || die
-}
-
-src_prepare() {
- _disable_plugin() {
- echo > "${S}/plugin/${1}/CMakeLists.txt" || die
- }
- _disable_engine() {
- echo > "${S}/storage/${1}/CMakeLists.txt" || die
- }
-
- if use jemalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
- elif use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
- fi
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
- locale_info qc_info server_audit sql_errlog auth_ed25519 )
- local test_plugins=( audit_null auth_examples daemon_example fulltext
- debug_key_management example_key_management versioning )
- 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
- _disable_engine test_sql_discovery
- echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
- fi
-
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- if use mroonga ; then
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
- else
- _disable_engine mroonga
- fi
-
- # Fix static bindings in galera replication
- sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
- "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
- sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
- "${S}"/wsrep-lib/src/CMakeLists.txt || die
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- # Fix galera_recovery.sh script
- sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
- scripts/galera_recovery.sh || die
-
- sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
- "${S}"/scripts/mysql_install_db.sh || die
-
- cmake-utils_src_prepare
- java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- # bug 508724 mariadb cannot use ld.gold
- tc-ld-disable-gold
- # Bug #114895, bug #110149
- filter-flags "-O" "-O[01]"
-
- append-cxxflags -felide-constructors
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
-
- CMAKE_BUILD_TYPE="RelWithDebInfo"
-
- # debug hack wrt #497532
- mycmakeargs=(
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
- -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/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DWITH_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_LIBEDIT=0
- -DWITH_ZLIB=system
- -DWITHOUT_LIBWRAP=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_DEFAULT_COMPILER_OPTIONS=0
- -DWITH_DEFAULT_FEATURE_SET=0
- -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
- -DCONC_WITH_EXTERNAL_ZLIB=YES
- -DWITH_EXTERNAL_ZLIB=YES
- -DSUFFIX_INSTALL_DIR=""
- -DWITH_UNITTEST=OFF
- -DWITHOUT_CLIENTLIBS=YES
- -DCLIENT_PLUGIN_DIALOG=OFF
- -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
- -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
- -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
- -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
- else
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
- fi
-
- if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
- else
- mycmakeargs+=( -DWITH_SSL=bundled )
- fi
-
- # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
- mycmakeargs+=(
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
-
- if use server ; then
-
- # Federated{,X} must be treated special otherwise they will not be built as plugins
- if ! use extraengine ; then
- mycmakeargs+=(
- -DPLUGIN_FEDERATED=NO
- -DPLUGIN_FEDERATEDX=NO )
- fi
-
- mycmakeargs+=(
- -DWITH_PCRE=system
- -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
- -DPLUGIN_SPHINX=$(usex sphinx YES NO)
- -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
- -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
- -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
- -DPLUGIN_CASSANDRA=NO
- -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
- -DPLUGIN_SPIDER=$(usex extraengine YES NO)
- -DPLUGIN_CONNECT=$(usex extraengine YES NO)
- -DCONNECT_WITH_MYSQL=1
- -DCONNECT_WITH_LIBXML2=$(usex xml)
- -DCONNECT_WITH_ODBC=$(usex odbc)
- -DCONNECT_WITH_JDBC=$(usex jdbc)
- # Build failure and autodep wrt bug 639144
- -DCONNECT_WITH_MONGO=OFF
- -DWITH_WSREP=$(usex galera)
- -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
- -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
- -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
- -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
- -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
- -DWITH_MARIABACKUP=$(usex backup ON OFF)
- -DWITH_LIBARCHIVE=$(usex backup ON OFF)
- -DINSTALL_SQLBENCHDIR=""
- -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
- # systemd is only linked to for server notification
- -DWITH_SYSTEMD=$(usex systemd yes no)
- -DWITH_NUMA=$(usex numa ON OFF)
- )
-
- # Workaround for MDEV-14524
- use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
-
- if use test ; then
- # This is needed for the new client lib which tests a real, open server
- mycmakeargs+=( -DSKIP_TESTS=ON )
- 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+=(
- -DEXTRA_CHARSETS=all
- -DMYSQL_USER=mysql
- -DDISABLE_SHARED=$(usex static YES NO)
- -DWITH_DEBUG=$(usex debug)
- -DWITH_EMBEDDED_SERVER=OFF
- -DWITH_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -DWITH_EMBEDDED_SERVER=OFF
- -DEXTRA_CHARSETS=none
- -DINSTALL_SQLBENCHDIR=
- -DWITH_SYSTEMD=no
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
- if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
- rm "${ED}/usr/include/mysql/server/private/config.h" || die
- fi
-
- # Make sure the vars are correctly initialized
- mysql_init_vars
-
- # Convenience links
- einfo "Making Convenience links for mysqlcheck multi-call binary"
- dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
- dosym "mysqlcheck" "/usr/bin/mysqlrepair"
- dosym "mysqlcheck" "/usr/bin/mysqloptimize"
-
- # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
- if [[ -d "${ED}/usr/data" ]] ; then
- rm -Rf "${ED}/usr/data" || die
- fi
-
- # Unless they explicitly specific USE=test, then do not install the
- # testsuite. It DOES have a use to be installed, esp. when you want to do a
- # validation of your database configuration after tuning it.
- if ! use test ; then
- rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
- fi
-
- # Configuration stuff
- einfo "Building default configuration ..."
- insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
- cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
- eprefixify "${TMPDIR}/my.cnf"
- doins "${TMPDIR}/my.cnf"
- insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
-
- einfo "Including support files and sample configurations"
- docinto "support-files"
- local script
- for script in \
- "${S}"/support-files/magic
- do
- [[ -f "$script" ]] && dodoc "${script}"
- done
-
- docinto "scripts"
- for script in "${S}"/scripts/mysql* ; do
- [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
- done
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
-
- if use pam ; then
- keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
- fi
- fi
-
- # Remove mytop if perl is not selected
- if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
- rm -f "${ED}/usr/bin/mytop" || die
- fi
-
- # Fix a dangling symlink when galera is not built
- if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
- rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
- fi
-
- # Remove broken SST scripts that are incompatible
- local scriptremove
- for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
- if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
- rm "${ED}/usr/bin/${scriptremove}" || die
- fi
- done
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 10.0 for now and are believed to be
- # false positives:
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock
- # main.mysql_client_test_comp:
- # segfaults at random under Portage only, suspect resource limits.
-
- local t
- for t in plugins.cracklib_password_check plugins.two_password_validations ; do
- _disable_test "$t" "False positive due to varying policies"
- done
-
- for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
- main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
- _disable_test "$t" "False positives in Gentoo"
- done
-
- for t in funcs_1.is_columns_mysql main.gis_notembedded main.information_schema \
- main.mysql_upgrade main.system_mysql_db ; do
- _disable_test "$t" "Failure for difference between latin1 and utf-8"
- done
-
- _disable_test main.plugin_auth "Needs client libraries built"
- _disable_test plugins.auth_ed25519 "Needs client libraries built"
-
- _disable_test main.func_time "Dependent on time test was written"
-
- _disable_test compat/oracle.plugin "Needs example plugin which Gentoo disables"
-
- # 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
- 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'@'localhost' user now"
- einfo "or through the ${HOME}/.my.cnf file."
- ewarn "Avoid [\"'\\_%] characters in the password"
- einfo "Not entering a password defaults to UNIX authentication"
- read -rsp " >" pwd1 ; echo
-
- if [[ -n "${pwd1}" ]] ; then
-
- 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}"
- fi
- unset pwd1 pwd2
- fi
-
- local options
- local sqltmp="$(emktemp)"
-
- # Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see https://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
- # https://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/mariadb/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"
-
- if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
- einfo "Done"
- exit 0
- fi
-
- 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
-
- [[ -S "${socket}" ]] ||
- die "Completely failed to start up mysqld with: ${mysqld}"
-
- if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
- 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" \
- "--socket=${socket}" \
- -hlocalhost \
- -e "${sql}"
- unset sql
- eend $?
- fi
-
- 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/mariadb/mariadb-10.4.13.ebuild b/dev-db/mariadb/mariadb-10.4.13-r2.ebuild
index 69e74409ad54..f879d6f9a0ef 100644
--- a/dev-db/mariadb/mariadb-10.4.13.ebuild
+++ b/dev-db/mariadb/mariadb-10.4.13-r2.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.4/${SUBSLOT:-0}"
IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -33,7 +33,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -93,6 +93,12 @@ DEPEND="static? ( sys-libs/ncurses[static-libs] )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.5
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
${COMMON_DEPEND}
@@ -116,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
"
# 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 )
- server? ( ~virtual/mysql-5.6[static=] )"
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
diff --git a/dev-db/mariadb/mariadb-10.4.12.ebuild b/dev-db/mariadb/mariadb-10.4.14.ebuild
index f413db7d47bc..2f7ec2673f4b 100644
--- a/dev-db/mariadb/mariadb-10.4.12.ebuild
+++ b/dev-db/mariadb/mariadb-10.4.14.ebuild
@@ -2,7 +2,6 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-MY_EXTRAS_VER="20200203-1749Z"
SUBSLOT="18"
JAVA_PKG_OPT_USE="jdbc"
@@ -10,22 +9,16 @@ JAVA_PKG_OPT_USE="jdbc"
inherit eutils systemd flag-o-matic prefix toolchain-funcs \
multiprocessing java-pkg-opt-2 cmake
-SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.14-patches-01.tar.xz"
-# 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
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
+ ${PATCH_SET}"
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="10.4/${SUBSLOT:-0}"
IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -40,31 +33,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
S="${WORKDIR}/mysql"
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- 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}"/20015_all_mariadb-pkgconfig-location.patch
- "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
- "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
- "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
- "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch
-)
-
# Be warned, *DEPEND are version-dependant
# These are used for both runtime and compiletime
COMMON_DEPEND="
@@ -119,6 +93,12 @@ DEPEND="static? ( sys-libs/ncurses[static-libs] )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.5
!<virtual/mysql-5.6-r11
!<virtual/libmysqlclient-18-r1
${COMMON_DEPEND}
@@ -142,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql )
"
# 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 )
- server? ( ~virtual/mysql-5.6[static=] )"
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
mysql_init_vars() {
MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
@@ -238,13 +217,15 @@ pkg_setup() {
src_unpack() {
unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
}
src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+
+ eapply_user
+
_disable_plugin() {
echo > "${S}/plugin/${1}/CMakeLists.txt" || die
}
@@ -302,11 +283,6 @@ src_prepare() {
sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
"${S}"/wsrep-lib/src/CMakeLists.txt || die
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
# Fix galera_recovery.sh script
sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
scripts/galera_recovery.sh || die
@@ -602,6 +578,7 @@ src_test() {
disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
@@ -929,15 +906,16 @@ pkg_config() {
read -rsp " >" pwd1 ; echo
if [[ -n "${pwd1}" ]] ; then
-
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}"
fi
+
unset pwd1 pwd2
fi
@@ -989,7 +967,7 @@ pkg_config() {
fi
popd &>/dev/null || die
[[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
- || die "MySQL databases not installed"
+ || die "MySQL databases not installed"
if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
einfo "Done"
@@ -1022,8 +1000,9 @@ pkg_config() {
done
eend $rc
- [[ -S "${socket}" ]] ||
+ if ! [[ -S "${socket}" ]]; then
die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
ebegin "Setting root password"
diff --git a/dev-db/mariadb/mariadb-10.5.5.ebuild b/dev-db/mariadb/mariadb-10.5.5.ebuild
new file mode 100644
index 000000000000..a7ee7f47d3ed
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.5.5.ebuild
@@ -0,0 +1,1051 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ multiprocessing java-pkg-opt-2 cmake
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.5-patches-02.tar.xz"
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz
+ ${PATCH_SET}"
+
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="10.5/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=dev-libs/libpcre-8.41-r1:3=
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kerberos? ( virtual/krb5 )
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ server? (
+ app-arch/bzip2
+ app-arch/xz-utils
+ backup? ( app-arch/libarchive:0= )
+ columnstore? (
+ app-arch/snappy
+ dev-libs/boost:0=
+ dev-libs/libxml2:2=
+ )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( sys-libs/pam:0= )
+ s3? ( net-misc/curl )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+"
+BDEPEND="virtual/yacc
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+"
+DEPEND="${COMMON_DEPEND}
+ server? (
+ extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
+ test? ( acct-group/mysql acct-user/mysql )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:5.5
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !<virtual/mysql-5.6-r11
+ !<virtual/libmysqlclient-18-r1
+ selinux? ( sec-policy/selinux-mysql )
+ server? (
+ columnstore? ( dev-db/mariadb-connector-c )
+ extraengine? ( jdbc? ( >=virtual/jre-1.6 ) )
+ galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-26*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ )
+ !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql )
+ )
+ 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 )"
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ 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_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ if has test ${FEATURES} ; then
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ fi
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mariadb-patches
+
+ eapply_user
+
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ 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
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Fix galera_recovery.sh script
+ sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \
+ scripts/galera_recovery.sh || die
+
+ sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \
+ "${S}"/scripts/mysql_install_db.sh || die
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ # It fails on alpha without this
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ 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')"
+ -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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_S3=$(usex s3 YES NO)
+ -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ 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+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname bug reason
+ rawtestname="${1}" ; shift
+ bug="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
+ echo "${rawtestname} : BUG#${bug} ${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
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ 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
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
+
+ local -a disabled_tests
+ disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" )
+ disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" )
+ disabled_tests+=( "main.func_time;0;Dependent on time test was written" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" )
+ disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" )
+ disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" )
+ disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" )
+
+ if ! use latin1 ; then
+ disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" )
+ disabled_tests+=( "main.information_schema;0;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ fi
+
+ local test_infos_str test_infos_arr
+ for test_infos_str in "${disabled_tests[@]}" ; do
+ IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
+
+ if [[ ${#test_infos_arr[@]} != 3 ]] ; then
+ die "Invalid test data set, not matching format: ${test_infos_str}"
+ fi
+
+ _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
+ done
+ unset test_infos_str test_infos_arr
+
+ # run mysql-test tests
+ pushd "${TESTDIR}" &>/dev/null || die
+ 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() {
+ cmake_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
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.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
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ 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
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.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
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"/usr/libexec/mariadb/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 | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ 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'@'localhost' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ einfo "Not entering a password defaults to UNIX authentication"
+ read -rsp " >" pwd1 ; echo
+
+ if [[ -n "${pwd1}" ]] ; then
+ 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}"
+ fi
+
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see https://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
+ # https://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/mariadb/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"
+
+ if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
+ einfo "Done"
+ exit 0
+ fi
+
+ 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
+
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ 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" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ unset sql
+ eend $?
+ fi
+
+ 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/mariadb/mariadb-5.5.66.ebuild b/dev-db/mariadb/mariadb-5.5.66.ebuild
deleted file mode 100644
index 4e6a03430f24..000000000000
--- a/dev-db/mariadb/mariadb-5.5.66.ebuild
+++ /dev/null
@@ -1,835 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20180809-1700Z"
-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://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
- oqgraph pam +perl profiling selinux +server sphinx
- static static-libs systemtap tcmalloc
- test tokudb yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
- "${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch"
- "${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch"
- "${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
- "${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.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-1.1.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- !bindist? (
- >=sys-libs/readline-4.1:0=
- )
- server? (
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam: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/mysql !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)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- 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 use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${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
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog )
- local test_plugins=( audit_null auth_examples daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Collides with mariadb-connector-c bug 655980
- _disable_plugin auth_dialog
-
- # Don't build example
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
-
-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')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_ZLIB=system
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/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
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
- -D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
- -D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
- -DINSTALL_SQLBENCHDIR=share/mariadb
- )
-
- 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_EMBEDDED_SERVER=OFF
- -DENABLED_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -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
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 5.5 for now and are believed to be
- # false positives:
- #
- # main.information_schema, binlog.binlog_statement_insert_delayed,
- # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
- # funcs_1.is_columns_mysql
- # fails due to USE=-latin1 / utf8 default
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock:
- # segfaults at random under Portage only, suspect resource limits.
- #
- # archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
- # fails due to bad cleanup of previous tests when run in parallel
- # The tool is deprecated anyway
- # Bug 532288
-
- local t
- for t in main.mysql_client_test main.mysql_client_test_nonblock \
- binlog.binlog_statement_insert_delayed main.information_schema \
- main.mysqld--help \
- archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
- funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n 1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-5.5.67.ebuild b/dev-db/mariadb/mariadb-5.5.67.ebuild
deleted file mode 100644
index 73874428bb31..000000000000
--- a/dev-db/mariadb/mariadb-5.5.67.ebuild
+++ /dev/null
@@ -1,835 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20200203-1749Z"
-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://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
-
-# Gentoo patches to MySQL
-if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
- SRC_URI="${SRC_URI}
- mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
- https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
-fi
-
-HOMEPAGE="https://mariadb.org/"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL"
-LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
-IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
- oqgraph pam +perl profiling selinux +server sphinx
- static static-libs systemtap tcmalloc
- test tokudb yassl"
-
-# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )"
-
-REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) )
- ?? ( tcmalloc jemalloc )
- static? ( yassl !pam )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-
-# Shorten the path because the socket path length must be shorter than 107 chars
-# and we will run a mysql server during test phase
-S="${WORKDIR}/mysql"
-
-if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
- inherit git-r3
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
- EGIT_CLONE_TYPE=shallow
-else
- MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
-fi
-
-PATCHES=(
- "${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch"
- "${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch"
- "${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch"
- "${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch"
- "${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.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-1.1.0:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- >=sys-libs/zlib-1.2.3:0=
- sys-libs/ncurses:0=
- !bindist? (
- >=sys-libs/readline-4.1:0=
- )
- server? (
- oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
- pam? ( sys-libs/pam: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/mysql !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)
- if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
- # non x86{,_64} arches
- if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
- ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later."
- eerror "Please use gcc-config to switch to gcc-4.7 or later version."
- die
- fi
- fi
- 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 use pam; then
- einfo
- elog "This install includes the PAM authentication plugin."
- elog "To activate and configure the PAM plugin, please read:"
- elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
- einfo
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- einfo
- elog "You might want to run:"
- elog "\"emerge --config =${CATEGORY}/${PF}\""
- elog "if this is a new install."
- elog
- elog "If you are switching server implentations, you should run the"
- elog "mysql_upgrade tool."
- einfo
- else
- einfo
- elog "If you are upgrading major versions, you should run the"
- elog "mysql_upgrade tool."
- einfo
- fi
-
- einfo
- elog "Be sure to edit the my.cnf file to activate your cluster settings."
- elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
- elog "The first time the cluster is activated, you should add"
- elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
- elog "This option should then be removed for subsequent starts."
- einfo
- fi
-}
-
-src_unpack() {
- unpack ${A}
- # Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
-
- mv -f "${WORKDIR%/}/${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
-
- # Don't build bundled xz-utils for tokudb
- echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
- sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
- sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die
-
- local plugin
- local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog )
- local test_plugins=( audit_null auth_examples daemon_example fulltext )
- if ! use server; then # These plugins are for the server
- for plugin in "${server_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- if ! use test; then # These plugins are only used during testing
- for plugin in "${test_plugins[@]}" ; do
- _disable_plugin "${plugin}"
- done
- fi
-
- # Collides with mariadb-connector-c bug 655980
- _disable_plugin auth_dialog
-
- # Don't build example
- _disable_engine example
-
- if ! use oqgraph ; then # avoids extra library checks
- _disable_engine oqgraph
- fi
-
- # Don't clash with dev-db/mysql-connector-c
- sed -i -e 's/ my_print_defaults.1//' \
- -e 's/ perror.1//' \
- "${S}"/man/CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
-
-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')"
- -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql"
- -DINSTALL_BINDIR=bin
- -DINSTALL_DOCDIR=share/doc/${PF}
- -DINSTALL_DOCREADMEDIR=share/doc/${PF}
- -DINSTALL_INCLUDEDIR=include/mysql
- -DINSTALL_INFODIR=share/info
- -DINSTALL_LIBDIR=$(get_libdir)
- -DINSTALL_MANDIR=share/man
- -DINSTALL_MYSQLSHAREDIR=share/mariadb
- -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
- -DINSTALL_SCRIPTDIR=share/mariadb/scripts
- -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
- -DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
- -DWITH_UNIT_TESTS=$(usex test ON OFF)
- -DWITH_ZLIB=system
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- # The build forces this to be defined when cross-compiling. We pass it
- # all the time for simplicity and to make sure it is actually correct.
- -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
- -DWITHOUT_CLIENTLIBS=YES
- -DWITH_READLINE=$(usex bindist 1 0)
- -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
- -DENABLE_DTRACE=$(usex systemtap)
- )
- if use test ; then
- mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/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
-
- mycmakeargs+=(
- -DWITH_JEMALLOC=$(usex jemalloc system)
- -D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1
- -D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1
- -D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1
- -DINSTALL_SQLBENCHDIR=share/mariadb
- )
-
- 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_EMBEDDED_SERVER=OFF
- -DENABLED_PROFILING=$(usex profiling)
- )
-
- if use static; then
- mycmakeargs+=( -DWITH_PIC=1 )
- fi
-
- if use jemalloc || use tcmalloc ; then
- mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
- fi
-
- # Storage engines
- mycmakeargs+=(
- -DWITH_ARCHIVE_STORAGE_ENGINE=1
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1
- -DWITH_CSV_STORAGE_ENGINE=1
- -DWITH_HEAP_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MYISAMMRG_STORAGE_ENGINE=1
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_PARTITION_STORAGE_ENGINE=1
- )
-
- else
- mycmakeargs+=(
- -DWITHOUT_SERVER=1
- -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
- # Manually install supporting files that conflict with other packages
- # but are needed for galera and initial installation
- exeinto /usr/libexec/mariadb
- doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
- fi
-
- #Remove mytop if perl is not selected
- [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
-}
-
-# Official test instructions:
-# USE='extraengine perl server' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild mariadb-X.X.XX.ebuild \
-# digest clean package
-src_test() {
-
- _disable_test() {
- local rawtestname reason
- rawtestname="${1}" ; shift
- reason="${@}"
- ewarn "test '${rawtestname}' disabled: '${reason}'"
- echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
- }
-
- local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
- local retstatus_tests
-
- if ! use server ; then
- einfo "Skipping server tests due to minimal build."
- return 0
- fi
-
- # Bug #213475 - MySQL _will_ object strenously if your machine is named
- # localhost. Also causes weird failures.
- [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
- if [[ $UID -eq 0 ]]; then
- die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
- fi
- has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
-
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
- # Run CTest (test-units)
- cmake-utils_src_test
- retstatus_unit=$?
-
- # Ensure that parallel runs don't die
- export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
- # Enable parallel testing, auto will try to detect number of cores
- # You may set this by hand.
- # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
- export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
- # create directories because mysqladmin might run out of order
- mkdir -p "${T}"/var-tests{,/log} || die
-
- # Run mysql tests
- pushd "${TESTDIR}" > /dev/null || die
-
- touch "${T}/disabled.def"
- # These are failing in MariaDB 5.5 for now and are believed to be
- # false positives:
- #
- # main.information_schema, binlog.binlog_statement_insert_delayed,
- # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
- # funcs_1.is_columns_mysql
- # fails due to USE=-latin1 / utf8 default
- #
- # main.mysql_client_test, main.mysql_client_test_nonblock:
- # segfaults at random under Portage only, suspect resource limits.
- #
- # archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam
- # fails due to bad cleanup of previous tests when run in parallel
- # The tool is deprecated anyway
- # Bug 532288
-
- local t
- for t in main.mysql_client_test main.mysql_client_test_nonblock \
- binlog.binlog_statement_insert_delayed main.information_schema \
- main.mysqld--help \
- archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
- funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; 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/mariadb"}
- 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/libexec/mariadb/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 | tail -n 1)"
- # These are dir+prefix
- MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)"
- MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
- MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)"
- 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 https://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
- # https://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/mariadb/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/mariadb/mariadb-5.5.68.ebuild b/dev-db/mariadb/mariadb-5.5.68-r1.ebuild
index 87e9a50bd381..017c5030683b 100644
--- a/dev-db/mariadb/mariadb-5.5.68.ebuild
+++ b/dev-db/mariadb/mariadb-5.5.68-r1.ebuild
@@ -24,7 +24,7 @@ fi
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2"
-SLOT="0/${SUBSLOT:-0}"
+SLOT="5.5/${SUBSLOT:-0}"
IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
oqgraph pam +perl profiling selinux +server sphinx
static static-libs systemtap tcmalloc
@@ -95,6 +95,12 @@ DEPEND="virtual/yacc
RDEPEND="selinux? ( sec-policy/selinux-mysql )
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
!dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mariadb:0
+ !dev-db/mariadb:10.1
+ !dev-db/mariadb:10.2
+ !dev-db/mariadb:10.3
+ !dev-db/mariadb:10.4
+ !dev-db/mariadb:10.5
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
${COMMON_DEPEND}
perl? ( !dev-db/mytop
diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index 3419b52226ee..74d8b5649ce9 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -8,6 +8,7 @@
<use>
<flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag>
<flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag>
+ <flag name="columnstore">Build the ColumnStore storage engine</flag>
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="galera">Enables galera replication</flag>
<flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag>
@@ -28,6 +29,7 @@
<flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag>
<flag name="sst-xtrabackup">Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag>
<flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="s3">Build the S3 storage engine</flag>
<flag name="test">Install upstream testsuites for end use.</flag>
<flag name="tokudb">Add support for TokuDB storage engine</flag>
<flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest
index a0aef261a3a5..40c01344cd89 100644
--- a/dev-db/mycli/Manifest
+++ b/dev-db/mycli/Manifest
@@ -1,4 +1,7 @@
+AUX mycli-1.21.1-fix-test-install.patch 456 BLAKE2B 3f4eafe405a2151b1b2897ac60347a5fdce45747f927a40367943ad78ef96753ad106bdefe516b76946fa509b17a31d9423cf0b5cf311e79174ce5e4f6320428 SHA512 90c53b12baee1339cdc629615a021ff0290e6350f3358491cd163c4405d49be02340a56a73475623a6b49877cef53e3c5bd9aa93897aa91769a402e8f4c0b88a
DIST mycli-1.20.1.tar.gz 265264 BLAKE2B d00b1713132609b0a5ec6e8b78785fdab5c6b4db5937bc0b9bc69ddde90ad3dc75aeb99ccf6b5e7fe5e78e9bf4819f03fb454825e5182bc5d2c44356032343d1 SHA512 82ee642b2a4c158b0e2ea275941650125e15004ec1c70b2ab90ae0825090efccb4910a14fd46bcdf795a74adba5689b46de5668447308de63d1cbbbe2e6b0e9d
+DIST mycli-1.21.1.tar.gz 267646 BLAKE2B e0678974949ae219236b89fbe9ebdacfee9c1efc8f92853c937150dbb841680664432e9f5c79181545df8b3321480cf784e45a83139351cc93256d26dcdd66f0 SHA512 beb3888ff8abc2a79e591516d7f0f76d0c18f186bd0dca3b4aadcf93b3045de53ac7f135553ad509273c85ea364e81df5dcadf9eacf1dbef8ceff7345aa5ed6d
EBUILD mycli-1.20.1.ebuild 1285 BLAKE2B fea26ada4e62c0d97237d8e28076d7ce4ccd818e6e3c38b32c6f4b36c35b0e4bebda5d53972120306a6f14d8d30aec13f4ecc4967b2871a154014a7621a2e034 SHA512 a85982ab2b7751ed4e2fe180920fb3edf8118cbabe37b255e689b6e40c9350d5674109c4d6dc4447b7e7cc295fc8c2e51e05d336464fcb3b8b48801964837b11
-EBUILD mycli-9999.ebuild 1265 BLAKE2B 697f31b84b19e2630147a5e354bf183e720d86d56ea8bd108c57b165f287003575d9433d2ec02aaef454eb04df8721589277d3ac8b277154f982bbbc6ef0d921 SHA512 9dd324eb4e345fe079a81b6a2720e1ad5a6048448d2fdb9b2561946b6ef48835a7a98650bd82f2dbc925181631e5d03db6dfefea0a273037b953c4b0fe37060c
+EBUILD mycli-1.21.1-r1.ebuild 1579 BLAKE2B 374463b3c1671a25868ef4cf0e58496e0c15912088b225518eb8d36cb009b12245dcab81e7c9e92a6fd1a924eee6e979a4999f3169ec73aeb918d64a393e732a SHA512 e1ed0950ee2bd525623c59e8a4b2e7abc96baec3ce0bf400ee8dd26075da2b622ba6f628ecbc4e649abbe54af588477312feba6b2beed7521ca8c37feee2fb2b
+EBUILD mycli-9999.ebuild 1560 BLAKE2B 624da8139f363002c3ffd6f045a349cec30a7e3d8917bf4b2a482969eaf8b594da7996f7f164ac1883ce44819e67733fc9ac6e91e8f3a3c8a95a28caa879fcfc SHA512 84f246aba80728a62e11267ea415c00e898a3ac1041eaa8508f05672f029157cf459e2199a25ce104aa8cbbd16e1f36560046e3381f42a2e89f1166b15f3dfcd
MISC metadata.xml 406 BLAKE2B d46b17f9f36fc9851f36d4deadf52ca52d6df621245e521f66386ff3deed3b863188875dd2207c3cf78474cd8a04aebf03dad6564251581b8f9d09fb7bdf5ba8 SHA512 b88e9469cfd9287df46b84c62b27fd60f3cf84abfe93aba4ca7b46d668b0ed855c17ccccd95a49bc102bc2d9c054846ff33e094fe0351c598a9b55f494618e57
diff --git a/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch b/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch
new file mode 100644
index 000000000000..7c802a803337
--- /dev/null
+++ b/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2020-04-19 16:15:15.000000000 -0400
++++ b/setup.py 2020-07-07 13:56:25.181039348 -0400
+@@ -85,7 +85,7 @@
+ author_email='mycli-dev@googlegroups.com',
+ version=version,
+ url='http://mycli.net',
+- packages=find_packages(),
++ packages=find_packages(exclude=["*.test","*.test.*","test.*","test"]),
+ package_data={'mycli': ['myclirc', 'AUTHORS', 'SPONSORS']},
+ description=description,
+ long_description=description,
diff --git a/dev-db/mycli/mycli-1.21.1-r1.ebuild b/dev-db/mycli/mycli-1.21.1-r1.ebuild
new file mode 100644
index 000000000000..042db5617483
--- /dev/null
+++ b/dev-db/mycli/mycli-1.21.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{3_6,3_7} )
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_USE_SETUPTOOLS=rdepend
+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="ssh test"
+RESTRICT="!test? ( test )"
+RDEPEND="$(python_gen_cond_dep '
+ >=dev-python/cli_helpers-1.1.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/configobj-5.0.6[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/prompt_toolkit-2.0.6[${PYTHON_MULTI_USEDEP}]
+ <dev-python/prompt_toolkit-3.0.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/pymysql-0.9.2[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/sqlparse-0.3.0[${PYTHON_MULTI_USEDEP}]
+ <dev-python/sqlparse-0.4.0[${PYTHON_MULTI_USEDEP}]
+ ssh? ( dev-python/paramiko[${PYTHON_MULTI_USEDEP}] )')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_MULTI_USEDEP}]') )"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
+
+python_test() {
+ pytest --capture=sys \
+ --showlocals \
+ --doctest-modules \
+ --doctest-ignore-import-errors \
+ --ignore=setup.py \
+ --ignore=mycli/magic.py \
+ --ignore=mycli/packages/parseutils.py \
+ --ignore=test/features
+}
diff --git a/dev-db/mycli/mycli-9999.ebuild b/dev-db/mycli/mycli-9999.ebuild
index 829a69b455bf..9fcacbc962c2 100644
--- a/dev-db/mycli/mycli-9999.ebuild
+++ b/dev-db/mycli/mycli-9999.ebuild
@@ -4,6 +4,8 @@
EAPI=7
PYTHON_COMPAT=( python{3_6,3_7} )
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_USE_SETUPTOOLS=rdepend
EGIT_REPO_URI="https://github.com/dbcli/mycli.git"
inherit distutils-r1 git-r3
@@ -16,20 +18,26 @@ SLOT="0"
KEYWORDS=""
IUSE="ssh test"
RESTRICT="!test? ( test )"
-RDEPEND="
- >=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/sqlparse-0.3.0[${PYTHON_USEDEP}]
- <dev-python/sqlparse-0.4.0[${PYTHON_USEDEP}]
- ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] )
+RDEPEND="$(python_gen_cond_dep '
+ >=dev-python/cli_helpers-1.1.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/configobj-5.0.6[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/prompt_toolkit-3.0.0[${PYTHON_MULTI_USEDEP}]
+ <dev-python/prompt_toolkit-4.0.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/pymysql-0.9.2[${PYTHON_MULTI_USEDEP}]
+ >=dev-python/sqlparse-0.3.0[${PYTHON_MULTI_USEDEP}]
+ <dev-python/sqlparse-0.4.0[${PYTHON_MULTI_USEDEP}]
+ ssh? ( dev-python/paramiko[${PYTHON_MULTI_USEDEP}] )')
"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/pytest[${PYTHON_USEDEP}] ${RDEPEND} )"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_MULTI_USEDEP}]') )"
+
+PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
python_test() {
pytest --capture=sys \
diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest
index b9fbb6735fb8..902a632385ee 100644
--- a/dev-db/myodbc/Manifest
+++ b/dev-db/myodbc/Manifest
@@ -1,23 +1,7 @@
-AUX 5.3-cmake-doc-path.patch 1480 BLAKE2B 5f89253a86fa97fbf4103fbe797f60449245195e9c8d0f6d7f065e654a402de0461459dd11d9d878f0794089261ee5ee9fac3240bf90f7c8382edb54d84b27a6 SHA512 aa2303161af2b53608acc127464951cf77492a1a90e869a58893ba10a014077d7f8f319325b77713fffceeaa002943f4ce52b6cb9571b0b3d3d7ab562601968d
-AUX 5.3.10-cxxlinkage.patch 1027 BLAKE2B b3df78658e4fb3243debb6f95cea6c5530db309ffc50f3a6afaff8bce143d147b4645a4bef4a54f6d04203ea132d4245812f5a2473ad7e9899f6e6b3c0799213 SHA512 f4d6df55313ccba995c8bd2e182397ce2652c2fbc0f0706474386654fb890fc47cad3a18f306206e840a47b729569e9a0ccb1cc2401c5280792afc4f544b41fd
-AUX 5.3.10-mariadb.patch 1744 BLAKE2B a9e33c86f999394d77757f69f1f314238123fa4158297961b4ce0f501e6fb743927e892c1f6640945842e843da56a826e5da1a968d84f7e5dcf3b2b4a590c0e8 SHA512 ebf62a2e0cc901fce81d0ad358f62d1c41494a5e35fb5a4df6913d1f4d5b8bbb638a23cabfe483818efa39688744b7be8b98d922b4bdff830de701c665da0fa0
AUX 8.0-cmake-doc-path.patch 1384 BLAKE2B 96f2bb290e48363c9cfababb845732291f709a4f996f13ea39cb2dd5fc0a19a68dd87cbf3454fd48c5f2281ebb0f786f2415b6e45f5714c967e5ba5b5005bd5d SHA512 d2a007d9c6846ad22a1f43c621f0376085802f3b15ca846fa1dd5bc8c3fb6ec1dc913240cb1135ab16f9dd369c8680aba5f600c7d28660dd28bb06873d97cce3
-AUX 8.0.16-cxxlinkage.patch 1890 BLAKE2B 0b19115acada4abea75466891cced6979011736de9a64686b8ef5ec1f9bfad8c6297ac48f26d3297f24b6817cfaced033a3d42120bfb948cc1e9e7204665abc4 SHA512 460aad29170b8694cc6776553fef8ac15ca715f7dceea392f4a0c75fef98ac6e7a40cdd57c86ae4bcd216b942fa0a2ea92862defc54f8466ea32c74f6a6832e5
-AUX cmake-doc-path.patch 1498 BLAKE2B b79110c92b7fc80c64fdf05b469c4bb333d68610ff4fadc78bd307689651e41bcd66f33fd782db1b69c863ef81faee3d5eb485d5c9bd284db8be3948d2bec7e7 SHA512 2e48af11efb55a1508402d5d1d717a3dfc9897bf0ccce5aa190792fb673ac78b27a9480e951a6347a2c8d0e2fe08a28c11fd08c55dbea835a93f525decaaf09e
AUX myodbc-8.0.19-cxxlinkage.patch 812 BLAKE2B 18e0f62ceb6bb33ad282972a8aae2f755c0324dbff09b450230d7eafb054a37b2f2ea47d6ab9eed42b0ce0682383c6a9e00d222dd5d7c81bb0ea4f4fe470808e SHA512 f4eb1f8c2182a1a6002548a3ef1fa37e859613b8ab31c67c34d6d7f237f435fe2cdada05e75a518d67c05175e5a6535ece55541bfde477df9820a871e83347d3
AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521
AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8
-DIST mysql-connector-odbc-5.3.10-src.tar.gz 2646571 BLAKE2B e85e179ee8a54c8c98dd254e949c08227adc72141d52bc15935eafd60edaf95f47c12ca51fa9472ae29c761d5de2149277c58e6d3f02a566668be17f595ca7ba SHA512 ebe56b95a1690332959a7a37e8ed381b46730fb9f6fbd6522ddc1a6961e4c8cdac59681a957b33abeb6cae12f210278e4063daa59ce952d92acf427bc188e22b
-DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B e41dd65d940c0c91c67e6ec4c46ea2c3327e96d372c493635d05833862f2aa73919410a9e9a9c090a6fa65fd29e022a9b088c07a5e11089aee04b3b86005ad1e SHA512 02fcf6ac88f6052206aa55b6fc2b37f499da26e596e8e64b1c20e87dc4a24f745416da56c6e1268feff60321f54cb45864b8d34e055ea2f99da37b6efeedc844
-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
-DIST mysql-connector-odbc-8.0.19-src.tar.gz 3770465 BLAKE2B 7c57d85c13c17c08e1aed1deff3d60851ff68474c42971ea796fc50e3b766d7c49e5d993527691534c30f4007a94be852ac240bf50244cd3adf0f9500fbfc68c SHA512 4761d9d3eeccc932bfd76b9b27be4672e65b6125e85312dcfcb0b8b3cfe0ccf19982d40b2f85ae26e936e968d35d3136bab201b7dcb47eb4ad460c178c0d9f88
-DIST mysql-connector-odbc-8.0.20-src.tar.gz 3734268 BLAKE2B 606e8fe88712371da74bee8f44b21a56a2572603b1af693733fdd9ccd7ab62cb16a224593b368a40a021ed87ee433213a1a03b775c07b6bd28bbc44b7f905288 SHA512 483eb5c1d4a75ec4ec8681b33633bf89db708737191d149e1fed3c8bf0f839ab70951982a664fbf078c73fdfc114b126b5146682238faa244c904becf80858d7
-EBUILD myodbc-5.3.10-r3.ebuild 3591 BLAKE2B 0b7fb7976b32eb39b4e77c1d95011a623eab9ae83f02414911e7408614126a6a838d9ad8142092505c060d4142f1ac3f22f561ab6997e548999626c8c7b1e783 SHA512 73827923259949c1054f52727ec692312c37d887a6f56b8116d83dc9a91a2928ec2bacad723d9b41a32be56aea654cd94959f93237591d0aeb67df69ea563b41
-EBUILD myodbc-5.3.9.ebuild 3071 BLAKE2B 505f2c1707196ce3cf18a6923e06a441b61586658456fd4c7785ad8ce05e66794084c72d010a0ec00ee980fa8ec343e1df277ec2547573b81ad10607ba68a694 SHA512 abbc5624fbe6aac4a6dfb2483e697141f6c16ea3ce3060fb5b4e12c3c9c78a50cb1d0678f8967b9383944ae3a3c94d9d9f6f4bdb4b9103ee9d26cc182bdee86a
-EBUILD myodbc-8.0.16.ebuild 3101 BLAKE2B 28664fd845b3bfb251e2f754c06b1b21ac1fb0ce85fbcaf620ff4ebea4ee181fe3c2f7c00ff8b47a084dc2e31a893c35f2d28e6176a4a40d508a6b0ebdfd57cd SHA512 856408b130fad4e4fc70fd48d841a2969aa85df46eeebb1d1476e5054b5d78af8e799463a7314f6db4131e4868146d6838c528b85f5bec1c569230231516a2cc
-EBUILD myodbc-8.0.17.ebuild 3111 BLAKE2B 4b0f0391bb0b71fc277da100630891bfca04d4ca87c3852eb728c1ba19c3de875654ee7fc1c5c66de1071f9c732c5bd2203ebd83f3654d616617895fa7a936ed SHA512 c5f960395fdb30f398dd182dafd4b75fcb6d7270ac327637e3d2fe169727cb377ee66a4e46e1a14221fc6c7aa34a617d5da636bc96f909eef772f73ec56b6a00
-EBUILD myodbc-8.0.19.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652
-EBUILD myodbc-8.0.20.ebuild 3116 BLAKE2B e1d9057d6619769695a2035f3c130c4a7568a61f7ebdbdd95536d958ccdb0059324a2eecdaa5c9a24e71f3d0ef705218f1d9ff0f7f83f9f8211e58eb9332040c SHA512 89da191c673dd03bdc1189a1b79230158b3dc3d67644a1242e70db4f202b9f5d39aec001c04abe5d6da00f7aab41c1a36fd4815d5484f2373aed6f8a072c1f9a
+DIST mysql-connector-odbc-8.0.21-src.tar.gz 3744268 BLAKE2B d43942cc94858023ae0c2140ffba8a0a676a763b167ef4cbf500b2b9c14d2b3486696f68d03b2cc4607cb7f302e2af25f1e5ce564441ecf6d44a03874e489c07 SHA512 dca83db2ae25e08e44eaf814cad7234c8b17c2935de69bec7d238881404b2bc062fd7e28c626b594a062ee488123be545b9384742e09168e64a1423425a41c40
+EBUILD myodbc-8.0.21.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/myodbc/files/5.3-cmake-doc-path.patch b/dev-db/myodbc/files/5.3-cmake-doc-path.patch
deleted file mode 100644
index 54f35d41d96a..000000000000
--- a/dev-db/myodbc/files/5.3-cmake-doc-path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-=== modified file 'CMakeLists.txt'
---- a/CMakeLists.txt 2013-03-09 09:51:06 +0000
-+++ b/CMakeLists.txt 2013-03-09 11:05:27 +0000
-@@ -33,6 +33,12 @@
-
- INCLUDE(version.cmake)
-
-+IF(WITH_DOCUMENTATION_INSTALL_PATH)
-+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH})
-+ELSE(WITH_DOCUMENTATION_INSTALL_PATH)
-+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR})
-+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH)
-+
- #Default is to build both drivers
- IF(UNICODE OR NOT ANSI)
- MESSAGE(STATUS "Configuring to build Unicode driver")
-@@ -329,19 +335,17 @@
-
- ELSE(WIN32)
-
-- INSTALL(FILES ChangeLog DESTINATION .)
-- INSTALL(FILES README DESTINATION .)
-- INSTALL(FILES README.debug DESTINATION .)
-- INSTALL(FILES INSTALL DESTINATION .)
-+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH})
- IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
-- INSTALL(FILES COPYING DESTINATION .)
- ELSE()
-- INSTALL(FILES LICENSE.mysql DESTINATION .)
- ENDIF()
-
- ENDIF(WIN32)
-
--INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .)
-+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-
- INCLUDE(CPack)
-
-
-
diff --git a/dev-db/myodbc/files/5.3.10-cxxlinkage.patch b/dev-db/myodbc/files/5.3.10-cxxlinkage.patch
deleted file mode 100644
index 796a13754f86..000000000000
--- a/dev-db/myodbc/files/5.3.10-cxxlinkage.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
---- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500
-+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500
-@@ -747,7 +747,7 @@
- endif()
-
- if(NOT MYSQL_CXXFLAGS)
-- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603)
-+ if(MYSQL_CXX_LINKAGE)
- _mysql_conf(MYSQL_CXXFLAGS "--cxxflags")
- set(MYSQL_CXX_LINKAGE 1)
- else()
-diff -aurN a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500
-+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500
-@@ -379,10 +379,9 @@
- SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
- SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib")
-
--SET(LIB_SUBDIR "lib")
--IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)")
-- SET(LIB_SUBDIR "lib64")
--ENDIF()
-+IF(NOT LIB_SUBDIR)
-+ MESSAGE(ERROR "LIB_SUBDIR is not set")
-+ENDIF(NOT LIB_SUBDIR)
-
- MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}")
-
diff --git a/dev-db/myodbc/files/5.3.10-mariadb.patch b/dev-db/myodbc/files/5.3.10-mariadb.patch
deleted file mode 100644
index c860349e4b71..000000000000
--- a/dev-db/myodbc/files/5.3.10-mariadb.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- a/include/sys_main.h 2018-01-19 05:36:38.000000000 -0500
-+++ b/include/sys_main.h 2018-03-01 11:40:04.554713079 -0500
-@@ -20,6 +20,8 @@
- extern "C" {
- #endif
-
-+#include "sys/mysql/psi/psi_memory.h"
-+
- #define MY_FAE 8 /* Fatal if any error */
- #define MY_WME 16 /* Write message on error */
- #define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */
---- a/driver/connect.c 2018-01-19 05:36:38.000000000 -0500
-+++ b/driver/connect.c 2018-03-01 11:39:51.458676373 -0500
-@@ -179,7 +179,7 @@
- /* Set other connection options */
-
- if (ds->allow_big_results || ds->safe)
--#if MYSQL_VERSION_ID >= 50709
-+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION)
- mysql_options(mysql, MYSQL_OPT_MAX_ALLOWED_PACKET, &max_long);
- #else
- /* max_allowed_packet is a magical mysql macro. */
-@@ -252,7 +252,7 @@
- ds_get_utf8attr(ds->rsakey, &ds->rsakey8));
- }
- #endif
--#if MYSQL_VERSION_ID >= 50710
-+#if MYSQL_VERSION_ID >= 50710 && !defined(MARIADB_BASE_VERSION)
- {
- char tls_options[128] = { 0 };
- if (!ds->no_tls_1)
-@@ -323,7 +323,7 @@
- #endif
-
- mysql->options.use_ssl = !ds->disable_ssl_default;
--#if MYSQL_VERSION_ID >= 50703
-+#if MYSQL_VERSION_ID >= 50703 && !defined(MARIADB_BASE_VERSION)
- {
- if (ds->ssl_enforce)
- {
-@@ -332,7 +332,7 @@
- }
- #endif
-
--#if MYSQL_VERSION_ID >= 50711
-+#if MYSQL_VERSION_ID >= 50711 && !defined(MARIADB_BASE_VERSION)
- if (ds->sslmode)
- {
- unsigned int mode = 0;
-@@ -510,7 +510,7 @@
- }
- }
-
--#if MYSQL_VERSION_ID >= 50709
-+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION)
- mysql_get_option(mysql, MYSQL_OPT_NET_BUFFER_LENGTH, &dbc->net_buffer_len);
- #else
- // for older versions just use net_buffer_length() macro
diff --git a/dev-db/myodbc/files/8.0.16-cxxlinkage.patch b/dev-db/myodbc/files/8.0.16-cxxlinkage.patch
deleted file mode 100644
index 326036c0b88d..000000000000
--- a/dev-db/myodbc/files/8.0.16-cxxlinkage.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
---- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500
-+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500
-@@ -747,7 +747,7 @@
- endif()
-
- if(NOT MYSQL_CXXFLAGS)
-- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603)
-+ if(MYSQL_CXX_LINKAGE)
- _mysql_conf(MYSQL_CXXFLAGS "--cxxflags")
- set(MYSQL_CXX_LINKAGE 1)
- else()
-diff -aurN a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500
-+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500
-@@ -379,10 +379,9 @@
- SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
- SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib")
-
--SET(LIB_SUBDIR "lib")
--IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64|aarch64)")
-- SET(LIB_SUBDIR "lib64")
--ENDIF()
-+IF(NOT LIB_SUBDIR)
-+ MESSAGE(ERROR "LIB_SUBDIR is not set")
-+ENDIF(NOT LIB_SUBDIR)
-
- MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}")
-
-diff -aurN a/driver/CMakeLists.txt b/driver/CMakeLists.txt
---- a/driver/CMakeLists.txt 2019-06-11 13:46:37.863345781 -0400
-+++ b/driver/CMakeLists.txt 2019-06-11 14:04:25.758997218 -0400
-@@ -194,29 +194,3 @@
-
- ENDWHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
-
--IF(MYSQL8)
-- SET(ssl_libs_to_find
-- libcrypto.*
-- libssl.*
-- libeay32.*
-- ssleay32.*
-- )
--
-- SET(_SSL_PATH)
--
-- IF(WIN32)
-- SET(_SSL_PATH ${MYSQL_DIR}/bin/)
-- ELSE(WIN32)
-- SET(_SSL_PATH ${MYSQL_DIR}/lib/)
-- ENDIF(WIN32)
--
-- FOREACH(_lib_to_find IN LISTS ssl_libs_to_find)
-- INSTALL(DIRECTORY ${_SSL_PATH} DESTINATION ${LIB_SUBDIR}
-- FILES_MATCHING
-- PATTERN "mecab" EXCLUDE
-- PATTERN "pkgconfig" EXCLUDE
-- PATTERN "plugin" EXCLUDE
-- PATTERN ${_lib_to_find})
-- ENDFOREACH()
--
--ENDIF(MYSQL8)
-\ No newline at end of file
diff --git a/dev-db/myodbc/files/cmake-doc-path.patch b/dev-db/myodbc/files/cmake-doc-path.patch
deleted file mode 100644
index c7f7d9d37ce7..000000000000
--- a/dev-db/myodbc/files/cmake-doc-path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-=== modified file 'CMakeLists.txt'
---- CMakeLists.txt 2013-03-09 09:51:06 +0000
-+++ CMakeLists.txt 2013-03-09 11:05:27 +0000
-@@ -33,6 +33,12 @@
- SET(CONNECTOR_MAJOR "5")
- SET(CONNECTOR_MINOR "2")
-
-+IF(WITH_DOCUMENTATION_INSTALL_PATH)
-+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH})
-+ELSE(WITH_DOCUMENTATION_INSTALL_PATH)
-+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR})
-+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH)
-+
- IF(CONNECTOR_MINOR LESS 10)
- SET(CONNECTOR_MINOR_PADDED "0${CONNECTOR_MINOR}")
- ELSE(CONNECTOR_MINOR LESS 10)
-@@ -329,19 +335,17 @@
-
- ELSE(WIN32)
-
-- INSTALL(FILES ChangeLog DESTINATION .)
-- INSTALL(FILES README DESTINATION .)
-- INSTALL(FILES README.debug DESTINATION .)
-- INSTALL(FILES INSTALL DESTINATION .)
-+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH})
- IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
-- INSTALL(FILES COPYING DESTINATION .)
- ELSE()
-- INSTALL(FILES LICENSE.mysql DESTINATION .)
- ENDIF()
-
- ENDIF(WIN32)
-
--INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .)
-+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH})
-
- INCLUDE(CPack)
-
-
-
diff --git a/dev-db/myodbc/myodbc-5.3.10-r3.ebuild b/dev-db/myodbc/myodbc-5.3.10-r3.ebuild
deleted file mode 100644
index ffae941ae9e1..000000000000
--- a/dev-db/myodbc/myodbc-5.3.10-r3.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Build is broken with ninja
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit cmake-multilib flag-o-matic versionator
-
-MAJOR="$(get_version_component_range 1-2 $PV)"
-MY_PN="mysql-connector-odbc"
-MY_P="${MY_PN}-${PV/_p/r}-src"
-
-DESCRIPTION="ODBC driver for MySQL"
-HOMEPAGE="http://www.mysql.com/products/myodbc/"
-SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="${MAJOR}"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-# Does not build with libmariadb
-RDEPEND="
- dev-db/unixODBC[${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(-)]
-"
-DEPEND="${RDEPEND}"
-S=${WORKDIR}/${MY_P}
-
-# Careful!
-DRIVER_NAME="${PN}-${SLOT}"
-
-# Patch document path so it doesn't install files to /usr
-PATCHES=(
- "${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
- "${FILESDIR}/5.3.10-cxxlinkage.patch"
- "${FILESDIR}/5.3.10-mariadb.patch"
-)
-
-src_prepare() {
- # Remove Tests
- sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
- "${S}/CMakeLists.txt"
-
- # Fix as-needed on the installer binary
-# echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- # MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB
- mycmakeargs+=(
- -DMYSQL_CXX_LINKAGE=0
- -DWITH_UNIXODBC=1
- -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
- -DMYSQL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
- -DMYSQL_INCLUDE_DIR="$(mysql_config --variable=pkgincludedir)"
- -DMYSQLCLIENT_NO_THREADS=ON
- -DDISABLE_GUI=ON
- # The NUMA and LIBWRAP options are not really used.
- # They are just copied from the server code
- -DWITH_NUMA=OFF
- -DWITH_LIBWRAP=OFF
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
- debug-print-function ${FUNCNAME} "$@"
-
- dodir /usr/share/${PN}-${SLOT}
- for i in odbc.ini odbcinst.ini; do
- einfo "Building $i"
- sed \
- -e "s,__PN__,${DRIVER_NAME},g" \
- -e "s,__PF__,${MAJOR},g" \
- -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
- >"${D}"/usr/share/${PN}-${SLOT}/${i} \
- <"${FILESDIR}"/${i}.m4 \
- || die "Failed to build $i"
- done;
- mv "${D}/usr/bin/myodbc-installer" \
- "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
-}
-
-pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
- die 'Sorry, non-standard ROOT setting is not supported :-('
-
- local msg='MySQL ODBC driver'
- local drivers=$(/usr/bin/odbcinst -q -d)
-
- if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-
- local sources=$(/usr/bin/odbcinst -q -s)
- msg='sample MySQL ODBC DSN'
- if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-}
-
-pkg_postinst() {
-
- elog "If this is a new install, please run the following command"
- elog "to configure the MySQL ODBC drivers and sources:"
- elog "emerge --config =${CATEGORY}/${PF}"
- elog "Please note that the driver name used to form the DSN now includes the SLOT."
- elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
-}
diff --git a/dev-db/myodbc/myodbc-5.3.9.ebuild b/dev-db/myodbc/myodbc-5.3.9.ebuild
deleted file mode 100644
index af3037935451..000000000000
--- a/dev-db/myodbc/myodbc-5.3.9.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-inherit multilib-minimal versionator
-
-MAJOR="$(get_version_component_range 1-2 $PV)"
-MY_PN="mysql-connector-odbc"
-MY_P="${MY_PN}-${PV/_p/r}-linux-debian9-x86"
-
-DESCRIPTION="ODBC driver for MySQL"
-HOMEPAGE="http://www.mysql.com/products/myodbc/"
-BASE_URI="https://cdn.mysql.com/Downloads/Connector-ODBC/${MAJOR}/${MY_P}"
-#https://cdn.mysql.com//Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.8-linux-debian8-x86-64bit.tar.gz
-SRC_URI="amd64? ( ${BASE_URI}-64bit.tar.gz abi_x86_32? ( ${BASE_URI}-32bit.tar.gz ) )
- x86? ( ${BASE_URI}-32bit.tar.gz )"
-
-LICENSE="GPL-2"
-SLOT="${MAJOR}"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- dev-db/unixODBC[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-S=${WORKDIR}
-
-#src_configure() { :; }
-
-src_compile() { :; }
-
-multilib_src_install() {
- cd "${S}" || die
- local prefix
- if use amd64 && multilib_is_native_abi ; then
- prefix="${MY_P}-64bit"
- else
- prefix="${MY_P}-32bit"
- fi
- exeinto /usr/$(get_libdir)/${PN}-${MAJOR}
- doexe ${prefix}/lib/libmyodbc5a.so ${prefix}/lib/libmyodbc5w.so
-# use gtk && doexe ${prefix}/lib/libmyodbc5S.so
-}
-
-multilib_src_install_all() {
- local DRIVER_NAME="${PN}-${SLOT}"
- local prefix
- if use amd64 ; then
- prefix="${MY_P}-64bit"
- else
- prefix="${MY_P}-32bit"
- fi
- exeinto /usr/bin
- newexe "${prefix}/bin/myodbc-installer" myodbc-installer-${MAJOR}
-
- dodir /usr/share/${PN}-${SLOT}
- for i in odbc.ini odbcinst.ini; do
- einfo "Building $i"
- sed \
- -e "s,__PN__,${DRIVER_NAME},g" \
- -e "s,__PF__,${MAJOR},g" \
- -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \
- -e "s,lib/libmyodbc,$(get_libdir)/${DRIVER_NAME}/libmyodbc,g" \
- >"${D}/usr/share/${DRIVER_NAME}/${i}" \
- <"${FILESDIR}"/${i}.m4 \
- || die "Failed to build $i"
- done;
-
- dodoc ${prefix}/{ChangeLog,INSTALL,README,Licenses_for_Third-Party_Components.txt}
-}
-
-pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
- die 'Sorry, non-standard ROOT setting is not supported :-('
-
- local msg='MySQL ODBC driver'
- local drivers=$(/usr/bin/odbcinst -q -d)
-
- if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-
- local sources=$(/usr/bin/odbcinst -q -s)
- msg='sample MySQL ODBC DSN'
- if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-}
-
-pkg_postinst() {
-
- elog "If this is a new install, please run the following command"
- elog "to configure the MySQL ODBC drivers and sources:"
- elog "emerge --config =${CATEGORY}/${PF}"
- elog "Please note that the driver name used to form the DSN now includes the SLOT."
- elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
-}
diff --git a/dev-db/myodbc/myodbc-8.0.16.ebuild b/dev-db/myodbc/myodbc-8.0.16.ebuild
deleted file mode 100644
index a5db40b27ad7..000000000000
--- a/dev-db/myodbc/myodbc-8.0.16.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-MAJOR="$(ver_cut 1-2)"
-MY_PN="mysql-connector-odbc"
-MY_P="${MY_PN}-${PV/_p/r}-src"
-
-DESCRIPTION="ODBC driver for MySQL"
-HOMEPAGE="http://www.mysql.com/products/myodbc/"
-SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="${MAJOR}"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-# Broken when built dynamically against libmysqlclient.so
-RDEPEND="
- dev-db/unixODBC[${MULTILIB_USEDEP}]
- >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-S=${WORKDIR}/${MY_P}
-
-# Careful!
-DRIVER_NAME="${PN}-${SLOT}"
-
-# Patch document path so it doesn't install files to /usr
-PATCHES=(
- "${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
- "${FILESDIR}/8.0.16-cxxlinkage.patch"
-)
-
-src_prepare() {
- # Remove Tests
- sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
- "${S}/CMakeLists.txt"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- mycmakeargs+=(
- -DMYSQLCLIENT_STATIC_LINKING=1
- -DMYSQL_CXX_LINKAGE=1
- -DWITH_UNIXODBC=1
- -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
- -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
- -DMYSQLCLIENT_NO_THREADS=ON
- -DDISABLE_GUI=ON
- # The NUMA and LIBWRAP options are not really used.
- # They are just copied from the server code
- -DWITH_NUMA=OFF
- -DWITH_LIBWRAP=OFF
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
- debug-print-function ${FUNCNAME} "$@"
-
- dodir /usr/share/${PN}-${SLOT}
- for i in odbc.ini odbcinst.ini; do
- einfo "Building $i"
- sed \
- -e "s,__PN__,${DRIVER_NAME},g" \
- -e "s,__PF__,${MAJOR},g" \
- -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
- >"${D}"/usr/share/${PN}-${SLOT}/${i} \
- <"${FILESDIR}"/${i}.m4 \
- || die "Failed to build $i"
- done;
- mv "${D}/usr/bin/myodbc-installer" \
- "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
-}
-
-pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
- die 'Sorry, non-standard ROOT setting is not supported :-('
-
- local msg='MySQL ODBC driver'
- local drivers=$(/usr/bin/odbcinst -q -d)
-
- if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-
- local sources=$(/usr/bin/odbcinst -q -s)
- msg='sample MySQL ODBC DSN'
- if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-}
-
-pkg_postinst() {
-
- elog "If this is a new install, please run the following command"
- elog "to configure the MySQL ODBC drivers and sources:"
- elog "emerge --config =${CATEGORY}/${PF}"
- elog "Please note that the driver name used to form the DSN now includes the SLOT."
- elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
-}
diff --git a/dev-db/myodbc/myodbc-8.0.17.ebuild b/dev-db/myodbc/myodbc-8.0.17.ebuild
deleted file mode 100644
index aabca64a42ab..000000000000
--- a/dev-db/myodbc/myodbc-8.0.17.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-MAJOR="$(ver_cut 1-2)"
-MY_PN="mysql-connector-odbc"
-MY_P="${MY_PN}-${PV/_p/r}-src"
-
-DESCRIPTION="ODBC driver for MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
-SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="${MAJOR}"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-# Broken when built dynamically against libmysqlclient.so
-RDEPEND="
- dev-db/unixODBC[${MULTILIB_USEDEP}]
- >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-S=${WORKDIR}/${MY_P}
-
-# Careful!
-DRIVER_NAME="${PN}-${SLOT}"
-
-# Patch document path so it doesn't install files to /usr
-PATCHES=(
- "${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
- "${FILESDIR}/8.0.16-cxxlinkage.patch"
-)
-
-src_prepare() {
- # Remove Tests
- sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
- "${S}/CMakeLists.txt"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- mycmakeargs+=(
- -DMYSQLCLIENT_STATIC_LINKING=1
- -DMYSQL_CXX_LINKAGE=1
- -DWITH_UNIXODBC=1
- -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
- -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
- -DMYSQLCLIENT_NO_THREADS=ON
- -DDISABLE_GUI=ON
- # The NUMA and LIBWRAP options are not really used.
- # They are just copied from the server code
- -DWITH_NUMA=OFF
- -DWITH_LIBWRAP=OFF
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
- debug-print-function ${FUNCNAME} "$@"
-
- dodir /usr/share/${PN}-${SLOT}
- for i in odbc.ini odbcinst.ini; do
- einfo "Building $i"
- sed \
- -e "s,__PN__,${DRIVER_NAME},g" \
- -e "s,__PF__,${MAJOR},g" \
- -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
- >"${D}"/usr/share/${PN}-${SLOT}/${i} \
- <"${FILESDIR}"/${i}.m4 \
- || die "Failed to build $i"
- done;
- mv "${D}/usr/bin/myodbc-installer" \
- "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
-}
-
-pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
- die 'Sorry, non-standard ROOT setting is not supported :-('
-
- local msg='MySQL ODBC driver'
- local drivers=$(/usr/bin/odbcinst -q -d)
-
- if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-
- local sources=$(/usr/bin/odbcinst -q -s)
- msg='sample MySQL ODBC DSN'
- if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-}
-
-pkg_postinst() {
-
- elog "If this is a new install, please run the following command"
- elog "to configure the MySQL ODBC drivers and sources:"
- elog "emerge --config =${CATEGORY}/${PF}"
- elog "Please note that the driver name used to form the DSN now includes the SLOT."
- elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
-}
diff --git a/dev-db/myodbc/myodbc-8.0.20.ebuild b/dev-db/myodbc/myodbc-8.0.20.ebuild
deleted file mode 100644
index 4577fecc2341..000000000000
--- a/dev-db/myodbc/myodbc-8.0.20.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-MAJOR="$(ver_cut 1-2)"
-MY_PN="mysql-connector-odbc"
-MY_P="${MY_PN}-${PV/_p/r}-src"
-
-DESCRIPTION="ODBC driver for MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/"
-SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="${MAJOR}"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-# Broken when built dynamically against libmysqlclient.so
-RDEPEND="
- dev-db/unixODBC[${MULTILIB_USEDEP}]
- >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-S=${WORKDIR}/${MY_P}
-
-# Careful!
-DRIVER_NAME="${PN}-${SLOT}"
-
-# Patch document path so it doesn't install files to /usr
-PATCHES=(
- "${FILESDIR}/${MAJOR}-cmake-doc-path.patch"
- "${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch"
-)
-
-src_prepare() {
- # Remove Tests
- sed -i -e "s/ADD_SUBDIRECTORY(test)//" \
- "${S}/CMakeLists.txt"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- mycmakeargs+=(
- -DMYSQLCLIENT_STATIC_LINKING=1
- -DMYSQL_CXX_LINKAGE=1
- -DWITH_UNIXODBC=1
- -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF}
- -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
- -DMYSQLCLIENT_NO_THREADS=ON
- -DDISABLE_GUI=ON
- # The NUMA and LIBWRAP options are not really used.
- # They are just copied from the server code
- -DWITH_NUMA=OFF
- -DWITH_LIBWRAP=OFF
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
- debug-print-function ${FUNCNAME} "$@"
-
- dodir /usr/share/${PN}-${SLOT}
- for i in odbc.ini odbcinst.ini; do
- einfo "Building $i"
- sed \
- -e "s,__PN__,${DRIVER_NAME},g" \
- -e "s,__PF__,${MAJOR},g" \
- -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \
- >"${D}"/usr/share/${PN}-${SLOT}/${i} \
- <"${FILESDIR}"/${i}.m4 \
- || die "Failed to build $i"
- done;
- mv "${D}/usr/bin/myodbc-installer" \
- "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
-}
-
-pkg_config() {
-
- [ "${ROOT}" != "/" ] && \
- die 'Sorry, non-standard ROOT setting is not supported :-('
-
- local msg='MySQL ODBC driver'
- local drivers=$(/usr/bin/odbcinst -q -d)
-
- if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-
- local sources=$(/usr/bin/odbcinst -q -s)
- msg='sample MySQL ODBC DSN'
- if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then
- ebegin "Installing ${msg}"
- /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini
- rc=$?
- eend $rc
- [ $rc -ne 0 ] && die
- else
- einfo "Skipping already installed ${msg}"
- fi
-}
-
-pkg_postinst() {
- elog "If this is a new install, please run the following command"
- elog "to configure the MySQL ODBC drivers and sources:"
- elog "emerge --config =${CATEGORY}/${PF}"
- elog "Please note that the driver name used to form the DSN now includes the SLOT."
- elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
-}
diff --git a/dev-db/myodbc/myodbc-8.0.19.ebuild b/dev-db/myodbc/myodbc-8.0.21.ebuild
index 93159f140c95..93159f140c95 100644
--- a/dev-db/myodbc/myodbc-8.0.19.ebuild
+++ b/dev-db/myodbc/myodbc-8.0.21.ebuild
diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest
index cd91da2d9b43..36eb46771889 100644
--- a/dev-db/mysql++/Manifest
+++ b/dev-db/mysql++/Manifest
@@ -1,16 +1,6 @@
-AUX mysql++-2.3.2-gcc-4.3.patch 358 BLAKE2B 708dd145194b3faed302109cfe11e48d9a65975e7ffc64e45907d92cdad9d438de20cd1101aa0e015d0f304762e03b8d4e4aac4e000bcfcd465855a5800c54ce SHA512 09ef458ea4e85e251bca585fec84b53c5b7937d06b9843ddb7d12fef9250c042a46738f6fa27866e171f0107de48df9b5b22416c0eeb86eebdff583438404a51
AUX mysql++-3.2.1-gold.patch 196 BLAKE2B d4bd1e259cdd8a4c52f0900ddc42a0001156f94e3aaf7d62515c120316b7affc821a3e7c30ecbcb7e2d4611154d54462531e4e87cf609734a0761c3d41ac41e6 SHA512 34cd99548f5f23371fd02074017329ec4814c59ab02b114a6fd4c811d30015e1e3192a8d5d6a6847f57a076dd606d44e74d69dae6f5581d5b8d252ea359ce658
-AUX mysql++-3.2.3-as-needed.patch 19502 BLAKE2B e3c65824c54c8bb0a06f88ab75a60103c47103d21b8a0de74e5f0cd0a824f27de375464c9c8b6bd0ec705f02a026f2d7ceae2656195d8d5e4b88ff10604bf708 SHA512 7b8674d6e1b3ce462e01f2f2d32782c83cdd56ec6288855ea5ff419afc8b139530e1ae4dc104475786856cda4834b11cec3342b8d0447d14f1ae3e77a61580c9
-AUX mysql++-3.2.3-mariadb-10.2.patch 630 BLAKE2B ca95d9f9d62368b91ecab34a8a78a52240908bc27536430de6d8610361e69de95746ae6f1e3f9a7ace2e995fb21d41c06a9bceec668ae9cbdc7ba1ccd034d1ac SHA512 550e5adbdaf04dd6460aeafd0e6cad6cd29124c85f4222216574cc41c7df8559b33ce3eda484eba620a7b97c16bc63e56e744770feccf92348ff066173ad8297
-AUX mysql++-3.2.4-as-needed.patch 18441 BLAKE2B e752974f029ffbf0dba21d9dff5fc3979abef49a517900345ea4ed632f854cfe5fdbe1c41760df05c5e3109ff14ee7ce7bbd30ac37c27c4d42c58e2bf84fbb45 SHA512 789e07b85d3908cc7956b29e8135653eac280de0736002566377cdf3d81ac11a13c0c7a4899343e44fb260bd49c93bb4b04a0ce3f2324f95293b74ee6de487b9
AUX mysql++-3.2.4-only-unit-tests.patch 331 BLAKE2B d3bee079ad466aa3f2e21d831a4ee77959c8a1f2d1ea9124f17dd081a7d39a99433c9c8dba10a8638fe72f4e0ccd8cf02751c3b036c9082a1351374a19e089e4 SHA512 02bb7a370a3f7eafd9111c01e6073a71d33f53d59eb7d8e04a40415ab2fc88011a1b2c79cba455b976b03613597d49f9256cdacfb3b984767959a707bf3ba7b0
AUX mysql++-3.2.5-as-needed.patch 18594 BLAKE2B 39baa700bd643205974e1e96e48f0595eb001421a6701e8905a6f2f9394b93ee1d107d984cb2df99ac8b65a97651c152fee15d2c75a56e917a488ccf3b755159 SHA512 6ece46847bccbf9612d1575eafe995f48133860c942b7acd99cd459dcd3a4964bf767b7c1963596d1c68e6738eae2fa07b699a4ec775547ee6905fa682e383f3
-DIST mysql++-2.3.2.tar.gz 1627115 BLAKE2B 058ed41485474e4283a7200aa57398e85162f697f017ccfde7974b85457bb827d17bfdd522ef46818d42a75751a0eeb6ade39ded73e0265ee6811eb2769df3ea SHA512 b546c8369550e541c1a0b1b0e301fdd298a771cb709ad6c6ea3450a8f8bbe7533989a82d1c19cd9bf9a261d7a1fc4c3760919d3d5e3e43b5d698b75b7abf07f7
-DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b23d33983a719c892bbd1002f3986206df6cfef54316f11aa480f18dbc0a2cf6944f9572f3a7dca24cdb73099eb9 SHA512 b6b0a9856ede9e5e08be0f5ed1689b1256f8cf31c3afbb9c9e7f68d0734380e25909ef31cd04be6b253c86b2f881df10f3793a2d3e32042375dbbab4b0700d0a
-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-r1.ebuild 1559 BLAKE2B f5faa6065871e79a3b87eb9ed77ee1ae1274db27b8603f69e22c8fce93176556171a92bffd95e909e1a0d8bd13e1bc6cee418f9c4eefd273e38efb504ac78c1d SHA512 c30655c82d474252029bdc09b6c75a3c9c508fd705e1623b1d4dfc8ce2daf48644b8c4158d4af28c0b5ea3f1fbed272ab4c5a49665e412d7b25ac50dba3893b8
-EBUILD mysql++-3.2.4.ebuild 1702 BLAKE2B 5b488b561b208e280ad4080a1d35786dbc79eaed1a6c130bcba2e82a8cf01144303b4cb9be5ce82dbb9c856896287d8d2739139e597111516c5ca6dbd7932bc6 SHA512 d7b0966941723d503fb8c05dfd91fa3ce0e0efbbbee469d2d036d616f499bbe2e17442deb05378f7b900824da0c4c76f144214ab93f4ce7e5af5401ec4b49401
EBUILD mysql++-3.2.5.ebuild 1699 BLAKE2B 9193f99cab83e4b9d3c37c36fc612956972bce8a0523edbf1e15d1f3224ff1c900dda7e92b89a97ab1e15ab469324abc50fe36f014ab6ff4405bf9b8494c0274 SHA512 c3872fe3d94db81dc9b1a22f75e0d121b8406aa43e466569327ef3688839c70fffb6f43e4ae1401366c7034f35003b7298f7ca04a759fa73b285dac85fcf9a1c
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch b/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch
deleted file mode 100644
index f9456e8f88e5..000000000000
--- a/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur mysql++-2.3.2-orig/lib/const_string.h mysql++-2.3.2/lib/const_string.h
---- mysql++-2.3.2-orig/lib/const_string.h 2008-03-22 16:16:39.000000000 -0600
-+++ mysql++-2.3.2/lib/const_string.h 2008-03-22 16:18:47.000000000 -0600
-@@ -35,6 +35,7 @@
- #include <iostream>
- #include <stdexcept>
- #include <string>
-+#include <cstring>
-
- namespace mysqlpp {
-
diff --git a/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch b/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch
deleted file mode 100644
index f4172076eec0..000000000000
--- a/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch
+++ /dev/null
@@ -1,254 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -529,87 +529,87 @@
- $(RANLIB) $@
-
- ssqlsxlat$(EXEEXT): $(SSQLSXLAT_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT)
-- $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqlsxlat___mac_setfilecmd)
-
- test_array_index$(EXEEXT): $(TEST_ARRAY_INDEX_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_array_index___mac_setfilecmd)
-
- test_cpool$(EXEEXT): $(TEST_CPOOL_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_cpool___mac_setfilecmd)
-
- test_datetime$(EXEEXT): $(TEST_DATETIME_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_datetime___mac_setfilecmd)
-
- test_inttypes$(EXEEXT): $(TEST_INTTYPES_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_inttypes___mac_setfilecmd)
-
- test_insertpolicy$(EXEEXT): $(TEST_INSERTPOLICY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_insertpolicy___mac_setfilecmd)
-
- test_manip$(EXEEXT): $(TEST_MANIP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_MANIP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_MANIP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_manip___mac_setfilecmd)
-
- test_null_comparison$(EXEEXT): $(TEST_NULL_COMPARISON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_null_comparison___mac_setfilecmd)
-
- test_query_copy$(EXEEXT): $(TEST_QUERY_COPY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_query_copy___mac_setfilecmd)
-
- test_qssqls$(EXEEXT): $(TEST_QSSQLS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_qssqls___mac_setfilecmd)
-
- test_qstream$(EXEEXT): $(TEST_QSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_qstream___mac_setfilecmd)
-
- test_sqlstream$(EXEEXT): $(TEST_SQLSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_sqlstream___mac_setfilecmd)
-
- test_ssqls2$(EXEEXT): $(TEST_SSQLS2_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT)
-- $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_ssqls2___mac_setfilecmd)
-
- test_string$(EXEEXT): $(TEST_STRING_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_STRING_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_STRING_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_string___mac_setfilecmd)
-
- test_tcp$(EXEEXT): $(TEST_TCP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_TCP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_TCP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_tcp___mac_setfilecmd)
-
- test_uds$(EXEEXT): $(TEST_UDS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_UDS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_UDS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_uds___mac_setfilecmd)
-
- test_wnp$(EXEEXT): $(TEST_WNP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_WNP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_WNP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__test_wnp___mac_setfilecmd)
-
-@@ -619,122 +619,122 @@
- $(RANLIB) $@
-
- cgi_jpeg$(EXEEXT): $(CGI_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CGI_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CGI_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__cgi_jpeg___mac_setfilecmd)
-
- cpool$(EXEEXT): $(CPOOL_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__cpool___mac_setfilecmd)
-
- dbinfo$(EXEEXT): $(DBINFO_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DBINFO_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DBINFO_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__dbinfo___mac_setfilecmd)
-
- deadlock$(EXEEXT): $(DEADLOCK_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DEADLOCK_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DEADLOCK_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__deadlock___mac_setfilecmd)
-
- fieldinf$(EXEEXT): $(FIELDINF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FIELDINF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FIELDINF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__fieldinf___mac_setfilecmd)
-
- for_each$(EXEEXT): $(FOR_EACH_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FOR_EACH_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FOR_EACH_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__for_each___mac_setfilecmd)
-
- load_jpeg$(EXEEXT): $(LOAD_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__load_jpeg___mac_setfilecmd)
-
- multiquery$(EXEEXT): $(MULTIQUERY_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(MULTIQUERY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(MULTIQUERY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__multiquery___mac_setfilecmd)
-
- resetdb$(EXEEXT): $(RESETDB_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(RESETDB_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(RESETDB_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__resetdb___mac_setfilecmd)
-
- simple1$(EXEEXT): $(SIMPLE1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__simple1___mac_setfilecmd)
-
- simple2$(EXEEXT): $(SIMPLE2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__simple2___mac_setfilecmd)
-
- simple3$(EXEEXT): $(SIMPLE3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__simple3___mac_setfilecmd)
-
- ssqls1$(EXEEXT): $(SSQLS1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls1___mac_setfilecmd)
-
- ssqls2$(EXEEXT): $(SSQLS2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls2___mac_setfilecmd)
-
- ssqls3$(EXEEXT): $(SSQLS3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls3___mac_setfilecmd)
-
- ssqls4$(EXEEXT): $(SSQLS4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls4___mac_setfilecmd)
-
- ssqls5$(EXEEXT): $(SSQLS5_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS5_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS5_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls5___mac_setfilecmd)
-
- ssqls6$(EXEEXT): $(SSQLS6_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS6_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS6_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__ssqls6___mac_setfilecmd)
-
- store_if$(EXEEXT): $(STORE_IF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(STORE_IF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(STORE_IF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__store_if___mac_setfilecmd)
-
- tquery1$(EXEEXT): $(TQUERY1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__tquery1___mac_setfilecmd)
-
- tquery2$(EXEEXT): $(TQUERY2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__tquery2___mac_setfilecmd)
-
- tquery3$(EXEEXT): $(TQUERY3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__tquery3___mac_setfilecmd)
-
- tquery4$(EXEEXT): $(TQUERY4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__tquery4___mac_setfilecmd)
-
- transaction$(EXEEXT): $(TRANSACTION_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TRANSACTION_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TRANSACTION_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(__transaction___mac_setfilecmd)
-
diff --git a/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch b/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch
deleted file mode 100644
index ff814650e001..000000000000
--- a/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/lib/dbdriver.cpp
-+++ b/lib/dbdriver.cpp
-@@ -257,7 +257,11 @@
- }
-
- if ((n == 1) &&
-+#ifdef CLIENT_LONG_PASSWORD
- (o >= CLIENT_LONG_PASSWORD) &&
-+#else
-+ (o >= CLIENT_MYSQL) &&
-+#endif
- #if MYSQL_VERSION_ID > 40000 // highest flag value varies by version
- (o <= CLIENT_MULTI_RESULTS)
- #else
---- a/lib/common.h
-+++ b/lib/common.h
-@@ -130,12 +130,6 @@
- #define MYSQLPP_PATH_SEPARATOR '/'
- #endif
-
--#if defined(MYSQLPP_MYSQL_HEADERS_BURIED)
--# include <mysql/mysql_version.h>
--#else
--# include <mysql_version.h>
--#endif
--
- namespace mysqlpp {
-
- /// \brief Alias for 'true', to make code requesting exceptions more
diff --git a/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch b/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch
deleted file mode 100644
index 0de56d992943..000000000000
--- a/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-https://bugs.gentoo.org/635414
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -408,55 +408,55 @@ $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT): $(SSQLS2PARSE_OBJECTS) $(DLLPREFIX)mys
- $(RANLIB) $@
-
- ssqlsxlat$(EXEEXT): $(SSQLSXLAT_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT)
-- $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_array_index$(EXEEXT): $(TEST_ARRAY_INDEX_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_cpool$(EXEEXT): $(TEST_CPOOL_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_datetime$(EXEEXT): $(TEST_DATETIME_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_inttypes$(EXEEXT): $(TEST_INTTYPES_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_insertpolicy$(EXEEXT): $(TEST_INSERTPOLICY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_manip$(EXEEXT): $(TEST_MANIP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_MANIP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_MANIP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_null_comparison$(EXEEXT): $(TEST_NULL_COMPARISON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_query_copy$(EXEEXT): $(TEST_QUERY_COPY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_qssqls$(EXEEXT): $(TEST_QSSQLS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_qstream$(EXEEXT): $(TEST_QSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_sqlstream$(EXEEXT): $(TEST_SQLSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_ssqls2$(EXEEXT): $(TEST_SSQLS2_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT)
-- $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_string$(EXEEXT): $(TEST_STRING_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_STRING_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_STRING_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_tcp$(EXEEXT): $(TEST_TCP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_TCP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_TCP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_uds$(EXEEXT): $(TEST_UDS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_UDS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_UDS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- test_wnp$(EXEEXT): $(TEST_WNP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TEST_WNP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TEST_WNP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
- rm -f $@
-@@ -464,76 +464,76 @@ $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$(
- $(RANLIB) $@
-
- cgi_jpeg$(EXEEXT): $(CGI_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CGI_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CGI_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- cpool$(EXEEXT): $(CPOOL_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- dbinfo$(EXEEXT): $(DBINFO_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DBINFO_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DBINFO_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- deadlock$(EXEEXT): $(DEADLOCK_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(DEADLOCK_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(DEADLOCK_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- fieldinf$(EXEEXT): $(FIELDINF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FIELDINF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FIELDINF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- for_each$(EXEEXT): $(FOR_EACH_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(FOR_EACH_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(FOR_EACH_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- load_jpeg$(EXEEXT): $(LOAD_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- multiquery$(EXEEXT): $(MULTIQUERY_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(MULTIQUERY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(MULTIQUERY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- resetdb$(EXEEXT): $(RESETDB_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(RESETDB_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(RESETDB_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple1$(EXEEXT): $(SIMPLE1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple2$(EXEEXT): $(SIMPLE2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- simple3$(EXEEXT): $(SIMPLE3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SIMPLE3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SIMPLE3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls1$(EXEEXT): $(SSQLS1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls2$(EXEEXT): $(SSQLS2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls3$(EXEEXT): $(SSQLS3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls4$(EXEEXT): $(SSQLS4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls5$(EXEEXT): $(SSQLS5_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS5_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS5_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- ssqls6$(EXEEXT): $(SSQLS6_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(SSQLS6_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(SSQLS6_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- store_if$(EXEEXT): $(STORE_IF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(STORE_IF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(STORE_IF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery1$(EXEEXT): $(TQUERY1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery2$(EXEEXT): $(TQUERY2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery3$(EXEEXT): $(TQUERY3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- tquery4$(EXEEXT): $(TQUERY4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TQUERY4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TQUERY4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- transaction$(EXEEXT): $(TRANSACTION_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3)
-- $(CXX) -o $@ $(TRANSACTION_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS)
-+ $(CXX) -o $@ $(TRANSACTION_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@
-
- Makefile: configure.ac install.hta.in mysql++.bkl mysql++.spec.in doc/userman/userman.dbx.in lib/Doxyfile.in lib/mysql++.h.in ssx/Doxyfile.in
- bakefile_gen
diff --git a/dev-db/mysql++/mysql++-2.3.2-r1.ebuild b/dev-db/mysql++/mysql++-2.3.2-r1.ebuild
deleted file mode 100644
index 6fc8b2c27451..000000000000
--- a/dev-db/mysql++/mysql++-2.3.2-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="C++ API interface to the MySQL database"
-HOMEPAGE="http://tangentsoft.net/mysqlpp/"
-SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
-IUSE=""
-
-RDEPEND="dev-db/mysql-connector-c:="
-DEPEND="${RDEPEND}"
-
-HTML_DOCS=( doc/html/{refman,userman} )
-DOCS=( README{,.cygwin,.examples,.mingw,.unix,.vc} CREDITS ChangeLog
- HACKERS Wishlist doc/pdf doc/README.devel doc/README.manuals
- doc/refman doc/ssqls-pretty doc/userman )
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-gcc-4.3.patch
-
- for i in "${S}"/lib/*.h ; do
- sed -i \
- -e '/#include </s,mysql.h,mysql/mysql.h,g' \
- -e '/#include </s,mysql_version.h,mysql/mysql_version.h,g' \
- "${i}" || die "Failed to sed ${i} for fixing MySQL includes"
- done
- sed -i 's/mysqlclient_r/mysqlclient/' "${S}/configure" || die
- eapply_user
-}
-
-src_configure() {
- local myconf
- # we want C++ exceptions turned on
- myconf="--enable-exceptions"
- # give threads a try
- myconf="${myconf} --enable-thread-check"
- # not including the directives to where MySQL is because it seems to
- # find it just fine without
-
- # force the cflags into place otherwise they get totally ignored by
- # configure
- CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
- econf ${myconf}
-}
diff --git a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild
deleted file mode 100644
index 9a15b6e90ae3..000000000000
--- a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool flag-o-matic
-
-DESCRIPTION="C++ API interface to the MySQL database"
-HOMEPAGE="http://tangentsoft.net/mysql++/"
-SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0/3"
-KEYWORDS="~alpha amd64 hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc"
-
-RDEPEND="dev-db/mysql-connector-c:="
-DEPEND="${RDEPEND}"
-DOCS=( CREDITS.txt HACKERS.txt Wishlist doc/ssqls-pretty )
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-gold.patch
- "${FILESDIR}"/${PN}-3.2.3-mariadb-10.2.patch
- "${FILESDIR}"/${PN}-3.2.3-as-needed.patch
-)
-
-src_prepare() {
- # Bug filed upstream about deprecated std::auto_ptr
- append-cxxflags $(test-flags-CXX -Wno-deprecated-declarations)
- # Bad symlink for libtool in the archive
- rm "${S}/ltmain.sh" || die
-
- default
-
- _elibtoolize --auto-ltdl --install --copy --force
- elibtoolize
- # Current MySQL libraries are always with threads and slowly being removed
- sed -i -e "s/mysqlclient_r/mysqlclient/" "${S}/configure" || die
- rm "${S}/doc/"README-*-RPM.txt || die
-}
-
-src_configure() {
- local myconf=(
- --enable-thread-check
- --with-mysql="${EPREFIX}/usr"
- --with-mysql-lib="${EPREFIX}$(mysql_config --variable=pkglibdir)"
- --with-mysql-include="${EPREFIX}$(mysql_config --variable=pkgincludedir)"
- )
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- # install the docs and HTML pages
- use doc && dodoc -r doc/pdf/ doc/refman/ doc/userman/ doc/html/
-}
diff --git a/dev-db/mysql++/mysql++-3.2.4.ebuild b/dev-db/mysql++/mysql++-3.2.4.ebuild
deleted file mode 100644
index 2edd2c0ee989..000000000000
--- a/dev-db/mysql++/mysql++-3.2.4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool flag-o-matic
-
-DESCRIPTION="C++ API interface to the MySQL database"
-HOMEPAGE="https://tangentsoft.net/mysql++/"
-SRC_URI="https://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0/3"
-KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc"
-
-RDEPEND="|| ( dev-db/mysql-connector-c dev-db/mariadb-connector-c )"
-DEPEND="${RDEPEND}"
-DOCS=( CREDITS.txt HACKERS.md doc/ssqls-pretty )
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-gold.patch
- "${FILESDIR}"/${PN}-3.2.4-as-needed.patch
- "${FILESDIR}"/${PN}-3.2.4-only-unit-tests.patch
-)
-
-src_prepare() {
- # Bug filed upstream about deprecated std::auto_ptr
- append-cxxflags $(test-flags-CXX -Wno-deprecated-declarations)
- # Bad symlink for libtool in the archive
- rm "${S}/ltmain.sh" || die
-
- default
-
- # we don't use eautoreconf to avoid dev-util/bakefile
- _elibtoolize --auto-ltdl --install --copy --force
- elibtoolize
-
- # Current MySQL libraries are always with threads and slowly being removed
- sed -i -e "s/mysqlclient_r/mysqlclient/" "${S}/configure" || die
- rm "${S}/doc/"README-*-RPM.txt || die
-}
-
-src_configure() {
- local myconf=(
- --enable-thread-check
- --with-mysql="${EPREFIX}/usr"
- --with-mysql-lib="${EPREFIX}$(mysql_config --variable=pkglibdir)"
- --with-mysql-include="${EPREFIX}$(mysql_config --variable=pkgincludedir)"
- )
- econf "${myconf[@]}"
-}
-
-src_test() {
- ONLY_UNIT_TESTS=1 "${S}"/dtest || die
-}
-
-src_install() {
- default
- # install the docs and HTML pages
- use doc && dodoc -r doc/pdf/ doc/refman/ doc/userman/ doc/html/
-}
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 70b205e2539b..f9e3570f344f 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -6,7 +6,9 @@ AUX mysql-connector-c++-8.0.20-fix-libressl-support.patch 3299 BLAKE2B a78d87ed7
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d562818ada25fe15901991a896a46ecdd9304e03066c4e7a3804287540559df1c74dbd1b3983b450ab783ee8cb7f0d7ec152f3cdc6b0 SHA512 5987ae31cda3a5db18ceded201ccbe66263b8ab7665ceacf70af6bb6b99130377b40514b96644b0768fd809b36ee02580520923c11c1edecccc75da15d7bb0bd
DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b
+DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e3044eea2c1d3c8fdb0a319e3758ca44686b79e917a65617e2cfd0e4b698d858ed9ef12c892b4f658eb287f2a8505a5daeeb79d9544c25 SHA512 8a64dff2efd16d2891f613fd416ec42ecba2490b428b1778e99822a3051d9c5af3b94006577e9f38a6ebd146d2f3be522cb876f1e42fbf0ac82001b0a62ffa62
EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1636 BLAKE2B e0e977f956845c46bc99a003b5e74fe5d085e1d5e2b9648474f27028b0d99b1764438fb07da8008c3fdef677fc35310342ad2988ada1f54a8c7a9583f5904a41 SHA512 5a80daba3b6038b57c284e409284106b19bcbb426fc2ba56d73d3c65fbad4343d150e7714782f558a94160dec90482cd88426ba5771bafc02300fa722b065778
EBUILD mysql-connector-c++-8.0.19.ebuild 1067 BLAKE2B 8407348e0e4da0ea8acca8ec0caa33a0c2e863c9a95d6951ce500b6306b77687e76ca867eeeb580dc5e9b8a9df3dff7ca0a8cb8ae95403a9a117d50d2dc8d869 SHA512 83d72ab1104a0ebd014d8b3e1f475944f16a18dc4836386e3ebf7b16df547f35cf7db42c586411fcef80ec6273f15a0f9531b197eaecb991a62301d9a9d3ff4b
EBUILD mysql-connector-c++-8.0.20.ebuild 1070 BLAKE2B bd6b438aa0a660bc19a50695ed77fa5f952aabfb6ff1996244eed5846476bb0c725cf2d4899105c88f1409725ebe80970655ac4f51b7012d1fccc3539a69a062 SHA512 d54363d3172c98ef6d500a336fc98c8d8abdd28e443e09e2ce50e85353c374cdd95739b9d6ab636d4aad3a8647bca1eb99329a761a10ff3ffb2040c1ec3796e8
+EBUILD mysql-connector-c++-8.0.21.ebuild 1055 BLAKE2B 7a85e4631367e2a34989a8fc998d80d87c5b6b0220296e7f2f75121766db9c10f66b8838e633c0fc51b43c8314e3521a7cbc1fc0ed2a6fec87e67a6a18b0e91c SHA512 7661f1404a55a3342d90c26fbc36e0f1dc060301f82aadf4b814eedfdeeb7a9698f05e3ab8c552b1be03490e6a4591ac36ca28a7a60604a98844a9136ae063cc
MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild
new file mode 100644
index 000000000000..679e73b030ff
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
+URI_DIR="Connector-C++"
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
+
+LICENSE="Artistic GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~sparc x86"
+IUSE="+legacy libressl"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ legacy? (
+ dev-libs/boost:=
+ >=dev-db/mysql-connector-c-6.1.8:=
+ )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.19-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_SSL=system
+ -DWITH_JDBC=$(usex legacy ON OFF)
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest
index 45c8544954b0..1c0d7f64fa63 100644
--- a/dev-db/mysql-connector-c/Manifest
+++ b/dev-db/mysql-connector-c/Manifest
@@ -1,15 +1,7 @@
-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 mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch 684 BLAKE2B 10007011b38462ffa8b539f9ac531c715fcead4e6bb1d1c04ea8055decc0aa6eda8b22e3967d91773316d04062ca231cf8561ce72ab2b5aaeaf37a0bb425c7f5 SHA512 d0e60dff5faa7b6c71878803d598b46266021029c874c8f6834d496de10ddf42d3b806fae3c6d532c1890cb5f491bbd69235bd1ac919848011a9ca57c465ce1c
AUX mysql-connector-c-8.0.18-always-build-decompress-utilities.patch 874 BLAKE2B 1622ba22ebb68d8b72499efec3075bbbe157b1ceaab5651dbc6dea996c831159161878a859972119dd4d5c20bb631681efb00b8d9715b3097890def8016898f4 SHA512 02ae005e8ac710dcc75f07011006df63a6d22f030b4eff0c6d28f78b083b1d7385190c9080812b5c9c2a84ad66972594b7d79a1485285c9ad76245577d42e528
AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d4fb9a38ac418476f4b7738caa1f2a5dc633ad5921859793983c7b42acd87263ce2703df5a8c7d3bc3d7a60efb28a3ff17c311d89cc7b12edd22574f SHA512 cbb9be24a67a649b68230fe3482063d2d16fb629233e070289eb1ab0011bd8c43b0c056e4b6ca430a62ce0e8f47bb9490cb6746b7dc3fe06a05670b078cd084f
-AUX mysql-connector-c-8.0.19-libressl.patch 10501 BLAKE2B 73a31afdbbb591cadd45f158ca16c39344f540459b20683e5998f0e0f0d593dfd06e7198d3d8a5e06f8e65ff6b7a5f79435a1face9997f3316e487ef1e081459 SHA512 1d8e75e8ba6866ff4d0dced7211607e41033bbdfabd0f8a670ac221e7366e272cfc2b9c4d0f259e5d33ed486e9697bcefbdb0e6a0cd65ed2811b63e9cf1610f3
-AUX mysql-connector-c-8.0.20-libressl.patch 11923 BLAKE2B a545f2570e744cce7e4e59109daebfd2f29d2065bfeadbb48f9d910c3d2d24e5fe24064e6453e6f423a241b59a69f26492a0cd82801e81f2eec13674291a4abe SHA512 cee40efd1ce9806fb36d0d36374b2d231a45553a2ff595d5e752f1b0ae80a9bb61cfeaa7a280f51f290580de777517524eac563028c747dbc2ac7b269cc1dcb4
-AUX mysql_com.patch 1787 BLAKE2B 4fbd40325f400586926072927b3f07231d577f18c1e30951c34c36ded9b9e42b7c3dc47ca51df974265c28b40116e30274d8a73d6a843e5d9d0074430bc17b08 SHA512 340365b05d72045af0ef12fd5c260a796be547d9abb97a6ef3d6aaf30aecf29368c1dfa28f1284da544a81656f0436f11ada2f8c5cb481540d1f1c90dd354b49
-DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01
-DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99
-DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6
-EBUILD mysql-connector-c-6.1.11-r2.ebuild 2287 BLAKE2B 831b0960af0f087357840434bf61ef773df2a98357fec736c9279fff8f44e9d68384aca45381aa9b332137f5ba6b3ab9478fb3c21169893a520f9017508ee827 SHA512 f06aef9d2d5e2bc0a607d66d10b7cd755e34cf5167f0fb2b2ed5595f50b8f8d6f41e839879c343ec272121f4c1c1d71ff6ada70e40f7cd9ea69b8fd385b85abd
-EBUILD mysql-connector-c-8.0.19.ebuild 2927 BLAKE2B 37b57beb51549b94d75bf1695b93914042303f933e5294e9b73804ab7a6bae986ac89db6e648f78e9b1fcf106cfab143f4942da76ed930cf71b5f14fde9c7709 SHA512 d6404f3558f254a08702dea0036d346155e83dc6695b1237e0da9d17cb5aa85e32a3c60195d461cf33d976be2ec9af2519abb16aab16a1b73c27c34e38bd88b2
-EBUILD mysql-connector-c-8.0.20.ebuild 2936 BLAKE2B cc7571d0d64f102259368c247f8c992997965f985b3582c72d36457798e6341844f349b4de635dd0a94bb2092505e071eff4de64b8e96f90f145123a8f6b462a SHA512 5b7b0134429713e44c6c4f98ce8b04cdd0bedc9520c72772a274cb522a3590e856455553cbb83d868b3fee606e9a00fff233a6358bb0d635811d4c2a0b1f5450
+AUX mysql-connector-c-8.0.21-libressl.patch 13288 BLAKE2B 5aad519f99103e579356d89ae92dda1e2496268cebdfe8dd3797138a5efe03370365225581399bb2373b847f61e2b4be726d940cde624d3cdda94b5c69904a3a SHA512 f4d057ce159153133e100c71c65f75bd558ba1ea914cd878023dc4e4a628d63b60d0ac671a97d26863b3f48c3dc8984317bb09362378c3b96b8ed47f08c1f6ea
+AUX mysql-connector-c-8.0.21-survive-malformed-charset-files.patch 580 BLAKE2B 76ea04058e14dce1cdd057b51e17d358ff582c82f27a537fb47aa66d58c88327231ca10755a6e02d0c1dab5c67d6eb92d9e9d5d74038595a203b65d3372d4577 SHA512 d8075a712bf12697499b1da2df7f43662bcce073113193e4b29261f965f10af43b1d529f1fe14ffed6c7c9bda3d3b0a61a2b3462e865724496d3d80f10c5264e
+DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1
+EBUILD mysql-connector-c-8.0.21-r2.ebuild 3002 BLAKE2B bd309386636ee9e1e6cb5f2019e06718036ada58e0dfd6b6b9f94228ea129d348dd8f08306af2ae85b3d68bcb7f936e06dfe2a889483dd62f148fa299bf57efd SHA512 ee1811c9c6c4e1dd27ece9a70d6e6ca174f2d0419704a4612a97e7421505884adee9e2db97282e9ecc341c09bd6381a3d7572d32dc4ce9031793977583720921
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch b/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch
deleted file mode 100644
index cf8caedb7f1b..000000000000
--- a/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/sql-common/client_authentication.cc b/sql-common/client_authentication.cc
-index eaeb2d4..035ecd2 100644
---- a/sql-common/client_authentication.cc
-+++ b/sql-common/client_authentication.cc
-@@ -84,7 +84,7 @@ RSA *rsa_init(MYSQL *mysql)
-
- if (mysql->options.extension != NULL &&
- mysql->options.extension->server_public_key_path != NULL &&
-- mysql->options.extension->server_public_key_path != '\0')
-+ mysql->options.extension->server_public_key_path[0] != '\0')
- {
- pub_key_file= fopen(mysql->options.extension->server_public_key_path,
- "r");
diff --git a/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch b/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch
deleted file mode 100644
index 3459206e4f76..000000000000
--- a/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch
+++ /dev/null
@@ -1,300 +0,0 @@
-From 7961393dd45e4ad1cdc7544b4bba2e98a5d2760c Mon Sep 17 00:00:00 2001
-From: eroen <eroen@occam.eroen.eu>
-Date: Fri, 20 Jan 2017 14:43:53 +0100
-Subject: [PATCH] Don't use deprecated API with openssl 1.1
-
-If openssl 1.1.0 is built with `--api=1.1 disable-deprecated`, using
-deprecated APIs causes build errors.
-
-X-Gentoo-Bug: 606600
-X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606600
----
- mysys_ssl/my_aes_openssl.cc | 54 ++++++++++++++++++++++++++++++++-------------
- sql-common/client.c | 16 ++++++++++++--
- vio/viossl.c | 8 +++++++
- vio/viosslfactories.c | 23 +++++++++++++++++++
- 4 files changed, 84 insertions(+), 17 deletions(-)
-
-diff --git a/mysys_ssl/my_aes_openssl.cc b/mysys_ssl/my_aes_openssl.cc
-index 261ba8a..59a95e3 100644
---- a/mysys_ssl/my_aes_openssl.cc
-+++ b/mysys_ssl/my_aes_openssl.cc
-@@ -22,6 +22,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
- #include <openssl/evp.h>
- #include <openssl/err.h>
- #include <openssl/bio.h>
-+#include <openssl/opensslv.h>
-+
-+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
-+#undef OPENSSL_VERSION_NUMBER
-+#define OPENSSL_VERSION_NUMBER 0x1000107fL
-+#endif
-
- /*
- xplugin needs BIO_new_bio_pair, but the server does not.
-@@ -122,7 +128,7 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
- enum my_aes_opmode mode, const unsigned char *iv,
- bool padding)
- {
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- const EVP_CIPHER *cipher= aes_evp_type(mode);
- int u_len, f_len;
- /* The real key to be used for encryption */
-@@ -132,23 +138,31 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
- if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
- return MY_AES_BAD_DATA;
-
-- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
-+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
- goto aes_error; /* Error */
-- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
-+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
- goto aes_error; /* Error */
-- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
-+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
- goto aes_error; /* Error */
-
-- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
-+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
- goto aes_error; /* Error */
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif
- return u_len + f_len;
-
- aes_error:
- /* need to explicitly clean up the error if we want to ignore it */
- ERR_clear_error();
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif
- return MY_AES_BAD_DATA;
- }
-
-@@ -159,7 +173,7 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
- bool padding)
- {
-
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- const EVP_CIPHER *cipher= aes_evp_type(mode);
- int u_len, f_len;
-
-@@ -170,24 +184,34 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
- if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
- return MY_AES_BAD_DATA;
-
-- EVP_CIPHER_CTX_init(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_init(ctx);
-+#endif
-
-- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
-+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
- goto aes_error; /* Error */
-- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
-+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
- goto aes_error; /* Error */
-- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
-+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
- goto aes_error; /* Error */
-- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
-+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
- goto aes_error; /* Error */
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif
- return u_len + f_len;
-
- aes_error:
- /* need to explicitly clean up the error if we want to ignore it */
- ERR_clear_error();
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif
- return MY_AES_BAD_DATA;
- }
-
-diff --git a/sql-common/client.c b/sql-common/client.c
-index 9e88e9f..fe7daf7 100644
---- a/sql-common/client.c
-+++ b/sql-common/client.c
-@@ -86,6 +86,14 @@ my_bool net_flush(NET *net);
- # include <sys/un.h>
- #endif
-
-+#ifdef HAVE_OPENSSL
-+#include <openssl/opensslv.h>
-+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
-+#undef OPENSSL_VERSION_NUMBER
-+#define OPENSSL_VERSION_NUMBER 0x1000107fL
-+#endif
-+#endif
-+
- #ifndef _WIN32
- #include <errno.h>
- #define SOCKET_ERROR -1
-@@ -2685,7 +2693,7 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
- {
- SSL *ssl;
- X509 *server_cert= NULL;
-- char *cn= NULL;
-+ const char *cn= NULL;
- int cn_loc= -1;
- ASN1_STRING *cn_asn1= NULL;
- X509_NAME_ENTRY *cn_entry= NULL;
-@@ -2757,7 +2765,11 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
- goto error;
- }
-
-- cn= (char *) ASN1_STRING_data(cn_asn1);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ cn= (const char *) ASN1_STRING_data(cn_asn1);
-+#else
-+ cn= (const char *) ASN1_STRING_get0_data(cn_asn1);
-+#endif
-
- // There should not be any NULL embedded in the CN
- if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
-diff --git a/vio/viossl.c b/vio/viossl.c
-index 5622cb7..94b0f09 100644
---- a/vio/viossl.c
-+++ b/vio/viossl.c
-@@ -24,6 +24,12 @@
-
- #ifdef HAVE_OPENSSL
-
-+#include <openssl/opensslv.h>
-+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
-+#undef OPENSSL_VERSION_NUMBER
-+#define OPENSSL_VERSION_NUMBER 0x1000107fL
-+#endif
-+
- #ifndef DBUG_OFF
-
- static void
-@@ -310,8 +316,10 @@ void vio_ssl_delete(Vio *vio)
- }
-
- #ifndef HAVE_YASSL
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ERR_remove_thread_state(0);
- #endif
-+#endif
-
- vio_delete(vio);
- }
-@@ -427,7 +427,12 @@
- for (j = 0; j < n; j++)
- {
- SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ DBUG_PRINT("info",
-+ (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c)));
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- }
- }
- #endif
-diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c
-index da5449a..87b30c3 100644
---- a/vio/viosslfactories.c
-+++ b/vio/viosslfactories.c
-@@ -16,6 +16,14 @@
- #include "vio_priv.h"
-
- #ifdef HAVE_OPENSSL
-+#include <openssl/bn.h>
-+#include <openssl/dh.h>
-+#include <openssl/opensslv.h>
-+
-+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
-+#undef OPENSSL_VERSION_NUMBER
-+#define OPENSSL_VERSION_NUMBER 0x1000107fL
-+#endif
-
- #define TLS_VERSION_OPTION_SIZE 256
- #define SSL_CIPHER_LIST_SIZE 4096
-@@ -121,10 +129,18 @@ static DH *get_dh2048(void)
- DH *dh;
- if ((dh=DH_new()))
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
- if (! dh->p || ! dh->g)
- {
-+#else
-+ if (! DH_set0_pqg(dh,
-+ BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL),
-+ NULL,
-+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)))
-+ {
-+#endif
- DH_free(dh);
- dh=0;
- }
-@@ -247,6 +263,8 @@ typedef struct CRYPTO_dynlock_value
- } openssl_lock_t;
-
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
- /* Array of locks used by openssl internally for thread synchronization.
- The number of locks is equal to CRYPTO_num_locks.
- */
-@@ -389,9 +407,11 @@ static void deinit_lock_callback_functions()
- {
- set_lock_callback_functions(FALSE);
- }
-+#endif
-
- void vio_ssl_end()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int i= 0;
-
- if (ssl_initialized) {
-@@ -409,6 +429,7 @@ void vio_ssl_end()
-
- ssl_initialized= FALSE;
- }
-+#endif
- }
-
- #endif //OpenSSL specific
-@@ -419,6 +440,7 @@ void ssl_start()
- {
- ssl_initialized= TRUE;
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_library_init();
- OpenSSL_add_all_algorithms();
- SSL_load_error_strings();
-@@ -427,6 +449,7 @@ void ssl_start()
- init_ssl_locks();
- init_lock_callback_functions();
- #endif
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- }
- }
-
---
-2.11.0
-
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
deleted file mode 100644
index 8fabd9952cc4..000000000000
--- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-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/files/mysql-connector-c-8.0.19-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.19-libressl.patch
deleted file mode 100644
index 1fc949ae8564..000000000000
--- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.19-libressl.patch
+++ /dev/null
@@ -1,297 +0,0 @@
---- a/cmake/ssl.cmake
-+++ b/cmake/ssl.cmake
-@@ -229,13 +229,14 @@ MACRO (MYSQL_CHECK_SSL)
- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
- )
- ENDIF()
-- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
-+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
-+ IF(HAVE_TLS1_3_VERSION)
- ADD_DEFINITIONS(-DHAVE_TLSv13)
- ENDIF()
- IF(OPENSSL_INCLUDE_DIR AND
- OPENSSL_LIBRARY AND
- CRYPTO_LIBRARY AND
-- OPENSSL_MAJOR_VERSION STREQUAL "1"
-+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
- )
- SET(OPENSSL_FOUND TRUE)
- FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
---- a/mysys/my_md5.cc
-+++ b/mysys/my_md5.cc
-@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
- int compute_md5_hash(char *digest, const char *buf, int len) {
- int retval = 0;
- int fips_mode = 0;
-+#ifndef LIBRESSL_VERSION_NUMBER
- fips_mode = FIPS_mode();
-+#endif
- /* If fips mode is ON/STRICT restricted method calls will result into abort,
- * skipping call. */
- if (fips_mode == 0) {
---- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
-+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
-@@ -329,6 +329,7 @@ error:
- return 1;
- }
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- #define OPENSSL_ERROR_LENGTH 512
- static int configure_ssl_fips_mode(const uint fips_mode) {
- int rc = -1;
-@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
- EXIT:
- return rc;
- }
-+#endif
-
- static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
- const char *ca_path) {
-@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
- int verify_server = SSL_VERIFY_NONE;
- int verify_client = SSL_VERIFY_NONE;
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
- G_ERROR("Error setting the ssl fips mode");
- goto error;
- }
-+#endif
-
- SSL_library_init();
- SSL_load_error_strings();
-@@ -622,7 +626,7 @@ error:
- void xcom_cleanup_ssl() {
- if (!xcom_use_ssl()) return;
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- ERR_remove_thread_state(0);
- #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- }
---- a/plugin/x/client/xconnection_impl.cc
-+++ b/plugin/x/client/xconnection_impl.cc
-@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
- return XError(CR_SSL_CONNECTION_ERROR, buffer);
- }
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- /**
- Set fips mode in openssl library,
- When we set fips mode ON/STRICT, it will perform following operations:
-@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode,
- EXIT:
- return rc;
- }
-+#endif
-
- XError Connection_impl::activate_tls() {
- if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
-@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() {
- if (!m_context->m_ssl_config.is_configured())
- return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- char err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- if (set_fips_mode(
- static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode),
- err_string) != 1) {
- return XError{CR_SSL_CONNECTION_ERROR, err_string, true};
- }
-+#endif
- auto ssl_ctx_flags = process_tls_version(
- details::null_when_empty(m_context->m_ssl_config.m_tls_version));
-
---- a/router/src/http/src/tls_client_context.cc
-+++ b/router/src/http/src/tls_client_context.cc
-@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
-
- void TlsClientContext::cipher_suites(const std::string &ciphers) {
- // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites()
--#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
-+#ifdef TLS1_3_VERSION
- if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
- throw TlsError("set-cipher-suites");
- }
---- a/router/src/http/src/tls_context.cc
-+++ b/router/src/http/src/tls_context.cc
-@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
- return TLS1_1_VERSION;
- case TlsVersion::TLS_1_2:
- return TLS1_2_VERSION;
--#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1)
-+#ifdef TLS1_3_VERSION
- case TlsVersion::TLS_1_3:
- return TLS1_3_VERSION;
- #endif
-@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) {
- switch (min_version) {
- default:
- // unknown, leave all disabled
-+#ifdef TLS1_3_VERSION
- // fallthrough
- case TlsVersion::TLS_1_3:
- opts |= SSL_OP_NO_TLSv1_2;
-+#endif
- // fallthrough
- case TlsVersion::TLS_1_2:
- opts |= SSL_OP_NO_TLSv1_1;
-@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
- return TlsVersion::TLS_1_1;
- case TLS1_2_VERSION:
- return TlsVersion::TLS_1_2;
-+#ifdef TLS1_3_VERSION
- case TLS1_3_VERSION:
- return TlsVersion::TLS_1_3;
-+#endif
- case 0:
- return TlsVersion::AUTO;
- default:
-@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const {
- }
-
- int TlsContext::security_level() const {
--#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
-+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
-+ !defined(LIBRESSL_VERSION_NUMBER)
- return SSL_CTX_get_security_level(ssl_ctx_.get());
- #else
- return 0;
---- a/router/src/http/src/tls_server_context.cc
-+++ b/router/src/http/src/tls_server_context.cc
-@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
- }
-
- } else {
--#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0)
-+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \
-+ !defined(LIBRESSL_VERSION_NUMBER)
- dh2048.reset(DH_get_2048_256());
- #else
- /*
---- a/sql-common/client.cc
-+++ b/sql-common/client.cc
-@@ -7730,7 +7730,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
- #endif
- break;
- case MYSQL_OPT_SSL_FIPS_MODE: {
--#if defined(HAVE_OPENSSL)
-+#if defined(HAVE_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER)
- char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- ENSURE_EXTENSIONS_PRESENT(&mysql->options);
- mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
---- a/sql/mysqld.cc
-+++ b/sql/mysqld.cc
-@@ -4818,7 +4818,7 @@ static int init_thread_environment() {
-
- static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- #define FILE_LINE_ARGS
- #else
- #define FILE_LINE_ARGS , const char *, int
-@@ -4854,12 +4854,14 @@ static void init_ssl() {
- }
-
- static int init_ssl_communication() {
-+#ifndef LIBRESSL_VERSION_NUMBER
- char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
- if (ret_fips_mode != 1) {
- LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string);
- return 1;
- }
-+#endif
- if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
-
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
---- a/sql/sys_vars.cc
-+++ b/sql/sys_vars.cc
-@@ -4417,6 +4417,7 @@ static Sys_var_ulong Sys_max_execution_time(
- HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
- VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
- char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
- if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
-@@ -4427,15 +4428,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
- return false;
- }
- }
-+#endif
-
-+#if defined(LIBRESSL_VERSION_NUMBER)
-+static const char *ssl_fips_mode_names[] = {"OFF", 0};
-+#else
- static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0};
-+#endif
- static Sys_var_enum Sys_ssl_fips_mode(
- "ssl_fips_mode",
- "SSL FIPS mode (applies only for OpenSSL); "
-+#ifndef LIBRESSL_VERSION_NUMBER
- "permitted values are: OFF, ON, STRICT",
-+#else
-+ "permitted values are: OFF",
-+#endif
- GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE),
- ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG,
-- ON_CHECK(NULL), ON_UPDATE(update_fips_mode), NULL);
-+ ON_CHECK(NULL),
-+#ifndef LIBRESSL_VERSION_NUMBER
-+ ON_UPDATE(update_fips_mode),
-+#else
-+ ON_UPDATE(NULL),
-+#endif
-+ NULL);
-
- #if defined(HAVE_OPENSSL)
- static Sys_var_bool Sys_auto_generate_certs(
---- a/vio/viossl.cc
-+++ b/vio/viossl.cc
-@@ -45,7 +45,7 @@
- BIO_set_callback_ex was added in openSSL 1.1.1
- For older openSSL, use the deprecated BIO_set_callback.
- */
--#if OPENSSL_VERSION_NUMBER >= 0x10101000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
- #define HAVE_BIO_SET_CALLBACK_EX
- #endif
-
-@@ -637,7 +637,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
- #if !defined(DBUG_OFF)
- {
- STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
-- ssl_comp_methods = SSL_COMP_get_compression_methods();
-+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods();
- n = sk_SSL_COMP_num(ssl_comp_methods);
- DBUG_PRINT("info", ("Available compression methods:\n"));
- if (n == 0)
-@@ -645,7 +645,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
- else
- for (j = 0; j < n; j++) {
- SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
- #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- DBUG_PRINT("info",
---- a/vio/viosslfactories.cc
-+++ b/vio/viosslfactories.cc
-@@ -420,6 +420,7 @@ void ssl_start() {
- }
- }
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- /**
- Set fips mode in openssl library,
- When we set fips mode ON/STRICT, it will perform following operations:
-@@ -473,6 +474,7 @@ EXIT:
- @returns openssl current fips mode
- */
- uint get_fips_mode() { return FIPS_mode(); }
-+#endif
-
- long process_tls_version(const char *tls_version) {
- const char *separator = ",";
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.20-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-libressl.patch
index 88f32419239a..78f3e78fd6d4 100644
--- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.20-libressl.patch
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-libressl.patch
@@ -1,4 +1,4 @@
-From 2108922a8292d74874ede834158c208d81c3cf76 Mon Sep 17 00:00:00 2001
+From 4aadff7b08f6a69160a44c1742d5a12fb5abc059 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Thu, 30 Apr 2020 20:01:48 +0200
Subject: [PATCH 5/5] Add LibreSSL support
@@ -7,7 +7,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
cmake/ssl.cmake | 5 +++--
mysys/my_md5.cc | 2 ++
- .../bindings/xcom/xcom/xcom_ssl_transport.c | 6 +++++-
+ .../bindings/xcom/xcom/xcom_ssl_transport.cc | 6 +++++-
plugin/x/client/xconnection_impl.cc | 4 ++++
router/src/http/src/tls_client_context.cc | 2 +-
router/src/http/src/tls_context.cc | 9 ++++++--
@@ -19,6 +19,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
vio/viosslfactories.cc | 2 ++
12 files changed, 54 insertions(+), 14 deletions(-)
+diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
+index 52feadeaa..3b8332695 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL)
@@ -38,6 +40,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
)
SET(OPENSSL_FOUND TRUE)
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
+diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc
+index dea997b25..531696329 100644
--- a/mysys/my_md5.cc
+++ b/mysys/my_md5.cc
@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf,
@@ -50,9 +54,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
/* If fips mode is ON/STRICT restricted method calls will result into abort,
* skipping call. */
if (fips_mode == 0) {
---- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
-+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
-@@ -329,6 +329,7 @@ error:
+diff --git a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
+index 8bf63ce14..02f91b44e 100644
+--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
++++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
+@@ -325,6 +325,7 @@ error:
return 1;
}
@@ -60,7 +66,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
#define OPENSSL_ERROR_LENGTH 512
static int configure_ssl_fips_mode(const uint fips_mode) {
int rc = -1;
-@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
+@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) {
EXIT:
return rc;
}
@@ -68,7 +74,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
const char *ca_path) {
-@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
+@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file,
int verify_server = SSL_VERIFY_NONE;
int verify_client = SSL_VERIFY_NONE;
@@ -81,7 +87,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
SSL_library_init();
SSL_load_error_strings();
-@@ -622,7 +626,7 @@ error:
+@@ -611,7 +615,7 @@ error:
void xcom_cleanup_ssl() {
if (!xcom_use_ssl()) return;
@@ -90,9 +96,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
ERR_remove_thread_state(0);
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
}
+diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc
+index 13bc6794e..5223169db 100644
--- a/plugin/x/client/xconnection_impl.cc
+++ b/plugin/x/client/xconnection_impl.cc
-@@ -511,6 +511,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
+@@ -498,6 +498,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
return XError(CR_SSL_CONNECTION_ERROR, buffer);
}
@@ -100,7 +108,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
/**
Set fips mode in openssl library,
When we set fips mode ON/STRICT, it will perform following operations:
-@@ -550,6 +551,7 @@ int set_fips_mode(const uint32_t fips_mode,
+@@ -537,6 +538,7 @@ int set_fips_mode(const uint32_t fips_mode,
EXIT:
return rc;
}
@@ -108,7 +116,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
XError Connection_impl::activate_tls() {
if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET);
-@@ -560,12 +562,14 @@ XError Connection_impl::activate_tls() {
+@@ -547,12 +549,14 @@ XError Connection_impl::activate_tls() {
if (!m_context->m_ssl_config.is_configured())
return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true};
@@ -123,6 +131,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
auto ssl_ctx_flags = process_tls_version(
details::null_when_empty(m_context->m_ssl_config.m_tls_version));
+diff --git a/router/src/http/src/tls_client_context.cc b/router/src/http/src/tls_client_context.cc
+index 297ceee30..7c1157289 100644
--- a/router/src/http/src/tls_client_context.cc
+++ b/router/src/http/src/tls_client_context.cc
@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) {
@@ -134,6 +144,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) {
throw TlsError("set-cipher-suites");
}
+diff --git a/router/src/http/src/tls_context.cc b/router/src/http/src/tls_context.cc
+index 60ed7e6ca..388ef8f28 100644
--- a/router/src/http/src/tls_context.cc
+++ b/router/src/http/src/tls_context.cc
@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) {
@@ -178,6 +190,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
return SSL_CTX_get_security_level(ssl_ctx_.get());
#else
return 0;
+diff --git a/router/src/http/src/tls_server_context.cc b/router/src/http/src/tls_server_context.cc
+index 0f4472419..707d7de86 100644
--- a/router/src/http/src/tls_server_context.cc
+++ b/router/src/http/src/tls_server_context.cc
@@ -167,7 +167,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) {
@@ -190,9 +204,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
dh2048.reset(DH_get_2048_256());
#else
/*
+diff --git a/sql-common/client.cc b/sql-common/client.cc
+index ffb136b5b..8a0c7b834 100644
--- a/sql-common/client.cc
+++ b/sql-common/client.cc
-@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+@@ -7766,6 +7766,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
return 1;
break;
case MYSQL_OPT_SSL_FIPS_MODE: {
@@ -200,7 +216,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg);
-@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+@@ -7777,6 +7778,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
"Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
return 1;
}
@@ -208,9 +224,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
} break;
case MYSQL_OPT_SSL_MODE:
ENSURE_EXTENSIONS_PRESENT(&mysql->options);
+diff --git a/sql/mysqld.cc b/sql/mysqld.cc
+index 682e8d5ae..96a922d7a 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
-@@ -4857,7 +4857,7 @@ static int init_thread_environment() {
+@@ -5109,7 +5109,7 @@ static int init_thread_environment() {
static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED;
@@ -219,7 +237,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
#define FILE_LINE_ARGS
#else
#define FILE_LINE_ARGS , const char *, int
-@@ -4891,12 +4891,14 @@ static void init_ssl() {
+@@ -5143,12 +5143,14 @@ static void init_ssl() {
}
static int init_ssl_communication() {
@@ -231,12 +249,14 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
return 1;
}
+#endif
- if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1;
-
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ if (TLS_channel::singleton_init(&mysql_main, mysql_main_channel, opt_use_ssl,
+ &server_main_callback, opt_initialize))
+ return 1;
+diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
+index 5b1a82d2f..4e2dff865 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
-@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time(
+@@ -4474,6 +4474,7 @@ static Sys_var_ulong Sys_max_execution_time(
HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1));
@@ -244,7 +264,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) {
-@@ -4469,15 +4470,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
+@@ -4484,15 +4485,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
return false;
}
}
@@ -278,6 +298,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
static Sys_var_bool Sys_auto_generate_certs(
"auto_generate_certs",
+diff --git a/vio/viossl.cc b/vio/viossl.cc
+index 0e9594741..3a589c64b 100644
--- a/vio/viossl.cc
+++ b/vio/viossl.cc
@@ -45,7 +45,7 @@
@@ -309,9 +331,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
DBUG_PRINT("info",
+diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
+index 6c04029cc..f27221463 100644
--- a/vio/viosslfactories.cc
+++ b/vio/viosslfactories.cc
-@@ -472,6 +472,7 @@ void ssl_start() {
+@@ -473,6 +473,7 @@ void ssl_start() {
}
}
@@ -319,7 +343,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
/**
Set fips mode in openssl library,
When we set fips mode ON/STRICT, it will perform following operations:
-@@ -525,6 +526,7 @@ EXIT:
+@@ -526,6 +527,7 @@ EXIT:
@returns openssl current fips mode
*/
uint get_fips_mode() { return FIPS_mode(); }
@@ -328,5 +352,5 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
long process_tls_version(const char *tls_version) {
const char *separator = ",";
--
-2.26.2
+2.27.0
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch
new file mode 100644
index 000000000000..72799f009c89
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch
@@ -0,0 +1,18 @@
+Description: don't crash on malformed charset files
+Origin: https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1877504/comments/19
+Bug: https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1884809
+Bug: https://bugs.gentoo.org/737002
+Forwarded: workaround, not needed
+
+--- a/mysys/charset.cc
++++ b/mysys/charset.cc
+@@ -922,7 +922,7 @@ size_t escape_quotes_for_mysql(CHARSET_I
+
+ void charset_uninit() {
+ for (CHARSET_INFO *cs : all_charsets) {
+- if (cs && cs->coll->uninit) {
++ if (cs && cs->coll && cs->coll->uninit) {
+ cs->coll->uninit(cs);
+ }
+ }
+
diff --git a/dev-db/mysql-connector-c/files/mysql_com.patch b/dev-db/mysql-connector-c/files/mysql_com.patch
deleted file mode 100644
index 36a7d5a23791..000000000000
--- a/dev-db/mysql-connector-c/files/mysql_com.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/include/mysql_com.h 2014-06-10 23:10:43.000000000 -0400
-+++ b/include/mysql_com.h 2015-08-11 15:20:54.487091000 -0400
-@@ -179,7 +171,7 @@
- #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
- #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
- #define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
--#define CLIENT_RESERVED2 32768 /* Old flag for 4.1 authentication */
-+#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
- #define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
- #define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
- #define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */
-@@ -226,7 +216,7 @@
- | CLIENT_IGNORE_SIGPIPE \
- | CLIENT_TRANSACTIONS \
- | CLIENT_RESERVED \
-- | CLIENT_RESERVED2 \
-+ | CLIENT_SECURE_CONNECTION \
- | CLIENT_MULTI_STATEMENTS \
- | CLIENT_MULTI_RESULTS \
- | CLIENT_PS_MULTI_RESULTS \
---- a/libmysql/client_settings.h 2015-02-25 16:09:49.000000000 -0500
-+++ b/libmysql/client_settings.h 2015-08-11 15:44:10.804091000 -0400
-@@ -31,7 +31,7 @@
- CLIENT_LONG_FLAG | \
- CLIENT_TRANSACTIONS | \
- CLIENT_PROTOCOL_41 | \
-- CLIENT_RESERVED2 | \
-+ CLIENT_SECURE_CONNECTION | \
- CLIENT_MULTI_RESULTS | \
- CLIENT_PS_MULTI_RESULTS | \
- CLIENT_PLUGIN_AUTH | \
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild
deleted file mode 100644
index 90eb839cd3e1..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-MULTILIB_WRAPPED_HEADERS+=(
- /usr/include/mysql/my_config.h
-)
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/connector/c/"
-LICENSE="GPL-2"
-
-SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz"
-S="${WORKDIR}/${P}-src"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
-
-SUBSLOT="18"
-SLOT="0/${SUBSLOT}"
-IUSE="libressl static-libs"
-
-CDEPEND="
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- "
-RDEPEND="${CDEPEND}
- !dev-db/mariadb-connector-c[mysqlcompat]
- "
-DEPEND="${CDEPEND}"
-
-DOCS=( README )
-PATCHES=(
- "${FILESDIR}/mysql_com.patch"
- "${FILESDIR}/20028_all_mysql-5.6-gcc7.patch"
- "${FILESDIR}/6.1.11-openssl-1.1.patch"
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
- fi
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DINSTALL_LAYOUT=RPM
- -DINSTALL_LIBDIR=$(get_libdir)
- -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
- -DWITH_DEFAULT_FEATURE_SET=OFF
- -DENABLED_LOCAL_INFILE=ON
- -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
- -DWITH_ZLIB=system
- -DENABLE_DTRACE=OFF
- -DWITH_SSL=system
- -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
- -DSHARED_LIB_PATCH_VERSION="0"
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install_all() {
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
-
-pkg_preinst() {
- if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- 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 libmysqlclient.so.${SUBSLOT}"
- ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
- fi
-}
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild
deleted file mode 100644
index db0c6dcd3c15..000000000000
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-# wrap the config script
-MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
-
-DESCRIPTION="C client library for MariaDB/MySQL"
-HOMEPAGE="https://dev.mysql.com/downloads/"
-LICENSE="GPL-2"
-
-SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-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}] )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- "
-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.18-always-build-decompress-utilities.patch
- "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
- "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
- "${FILESDIR}"/${PN}-8.0.20-libressl.patch
-)
-
-src_prepare() {
- sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die
-
- # All these are for the server only.
- # Disable rpm call which would trigger sandbox, #692368
- sed -i \
- -e '/MYSQL_CHECK_LIBEVENT/d' \
- -e '/MYSQL_CHECK_RAPIDJSON/d' \
- -e '/MYSQL_CHECK_ICU/d' \
- -e '/MYSQL_CHECK_EDITLINE/d' \
- -e '/MYSQL_CHECK_CURL/d' \
- -e '/ADD_SUBDIRECTORY(man)/d' \
- -e '/ADD_SUBDIRECTORY(share)/d' \
- -e '/INCLUDE(cmake\/boost/d' \
- -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
- CMakeLists.txt || die
-
- # Skip building clients
- echo > client/CMakeLists.txt || die
-
- # Forcefully disable auth plugin
- if ! use ldap ; then
- sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die
- echo > libmysql/authentication_ldap/CMakeLists.txt || die
- fi
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DINSTALL_LAYOUT=RPM
- -DINSTALL_LIBDIR=$(get_libdir)
- -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
- -DWITH_DEFAULT_FEATURE_SET=OFF
- -DENABLED_LOCAL_INFILE=ON
- -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
- -DWITH_ZLIB=system
- -DWITH_SSL=system
- -DWITH_NUMA=OFF
- -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
- -DSHARED_LIB_PATCH_VERSION="0"
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- -DWITHOUT_SERVER=ON
- )
- cmake-utils_src_configure
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-}
-
-multilib_src_install_all() {
- doman \
- man/my_print_defaults.1 \
- man/perror.1 \
- man/zlib_decompress.1
-
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.19.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.21-r2.ebuild
index b48adece2a67..c79b084636c2 100644
--- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.19.ebuild
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.21-r2.ebuild
@@ -19,7 +19,8 @@ SLOT="0/21"
IUSE="ldap libressl static-libs"
RDEPEND="
- >=app-arch/lz4-0_p131:=
+ >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}]
+ app-arch/zstd:=[${MULTILIB_USEDEP}]
sys-libs/zlib:=[${MULTILIB_USEDEP}]
ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
@@ -42,9 +43,9 @@ S="${WORKDIR}/mysql-${PV}"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch
- "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch
"${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
- "${FILESDIR}"/${PN}-8.0.19-libressl.patch
+ "${FILESDIR}"/${PN}-8.0.21-libressl.patch
+ "${FILESDIR}"/${PN}-8.0.21-survive-malformed-charset-files.patch
)
src_prepare() {
@@ -84,9 +85,11 @@ multilib_src_configure() {
-DWITH_DEFAULT_FEATURE_SET=OFF
-DENABLED_LOCAL_INFILE=ON
-DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
- -DWITH_ZLIB=system
- -DWITH_SSL=system
+ -DWITH_LZ4=system
-DWITH_NUMA=OFF
+ -DWITH_SSL=system
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
-DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient
-DSHARED_LIB_PATCH_VERSION="0"
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index 1aebe0ec3b27..6c74e32dd9d3 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -1,8 +1,11 @@
AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b
AUX mysql-workbench-8.0.19-mysql-connector-8.patch 624 BLAKE2B 0cb899a8b0127664471877bb9cdcda946c35ed7a159646b94891a791a618c77201cc7696d6f2893e95fd78dbc13325cef752740f76e69974e10c0f88084594fb SHA512 09c2349cb42393f6d32f24804e2c3438a5d846fc9611e0684ccf2139fd30b0abcb0f2aa7b205c60a081259e073fb345cd72837dab1a216e6a8aaaba5ec3decf7
+AUX mysql-workbench-8.0.21-boost-1.73.0.patch 4579 BLAKE2B 2e39180d9c4ac6fb87b03bdb4cbff5b2f09df9334cbf83465c4a79705f060a18dc7a1a2520857ff262e8f5d599498234be84cba57f77b70659f14c7ba9d19fb6 SHA512 eab05b945c9e5217619748d3bce6909d15dc4a40e40017a735fe13610ae2731c97696c4b8bfe285d4eb62773b1534f24c8a5c50897dd61c99073ce5915be36b7
DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1
DIST mysql-workbench-community-8.0.19-src.tar.gz 19391463 BLAKE2B f9374c234a75851784c940f8288a783ee1c02fe4be2973b174a0d3768a60dd5318ceea7d2dacb083376c83c33bed8fca02768bcf4f3b8ba6284ca78fc7910cfe SHA512 986a34328ec3b9aba1532cfd8792fb970fe3c71eda577988a17a6bca25e783a520878067acd097a74ca3f274f02d271af16d7d6beb6970bca48332721021eebc
DIST mysql-workbench-community-8.0.20-src.tar.gz 19391920 BLAKE2B 9baf37dec18002ebf7956979fa1e3e45b69a7061bd85d6b2ef25f058ce7595a6847ea314b7443dadf7524ff985ff4e87869e91ea7a012e6cf07a6d139a6c733b SHA512 b31314fac018959a008b283c795df5a676d6c667827e87a98379ce1de172b98cfdf8dd5cac009e2fb78241358afcb318abfed0178d73840bf6b4432b85b6a4e7
+DIST mysql-workbench-community-8.0.21-src.tar.gz 19211633 BLAKE2B 452ac946d478acb1d0e358d2bc44125f0b7d1f1bc2943d2b03ce6767e659df71b7525b7a51ed1cd5560f02a7a1047e2cd35477a71ddd91f71992e5becc3d1c0d SHA512 40c1144f801424c3b46eb033c9d1174c9bd903cd17672924eacd3ff58daa91b0d09f6045af4746ce7490f5ab2b0973b6d7f44ee8ae022607057cb0f09fc59a3f
EBUILD mysql-workbench-8.0.19-r1.ebuild 2629 BLAKE2B 3796fddc98646419abf3b497862b1e3eecbd3d846dc4654bb4629adab10679738d2434b48b5fbc221c3383bbc59cc94ef0bc25b22beb18a8cb73628a7560c26a SHA512 4ef8643322b88a123a0cac098f5835e64581ab21e1eefa339b92bc1d507f03a9976bfa67a75a14e58165e90cf8ad1aa16e259db32ccc22c172a82b7f15fe3df4
EBUILD mysql-workbench-8.0.20.ebuild 2639 BLAKE2B cada322f63595aaf9a6add80d1db5f160f616f4026cb65f8bd3bb968def8348ff8cc89b7fbc1f6c550780b5df332ef6f814dbf9f1578734671eedcd07276b334 SHA512 ce59a3350cae3f4714e139553f824aa29992ea374bdfcf4a9b881ef9a875f069845d4e4655597aacc7c4ed05105536b79a8dabdef430efa57703f29af7422be0
+EBUILD mysql-workbench-8.0.21.ebuild 2678 BLAKE2B b4beba334812494af029c372321999d65fe0c8b613ebd3aa3eed95f1fc85366b15159f7af27cdb35faf0d4acff5d3d06fb6f5606f25b99eeb122651716a7fae1 SHA512 077105f1bf95a827df03cd56dcbe27e3f2b953115ac3415cab2381d8bd05bfddc8df3b6b17d65b0dd3359dc8e159ee63ac1d68bc96623f3a186e5952f0f8a882
MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch
new file mode 100644
index 000000000000..85825f14c047
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch
@@ -0,0 +1,123 @@
+Patch from Alt Linux as provided in https://bugs.gentoo.org/723432
+
+diff --git a/library/forms/swig/mforms.i b/library/forms/swig/mforms.i
+index cb74ba41..05535e56 100644
+--- a/library/forms/swig/mforms.i
++++ b/library/forms/swig/mforms.i
+@@ -3,6 +3,7 @@
+ #pragma SWIG nowarn=401,402,509
+
+ %{
++#include <boost/bind.hpp>
+ #include <boost/signals2/signal.hpp>
+ #include <sstream>
+ #include <frameobject.h>
+diff --git a/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp b/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp
+index 24db3d63..d997c410 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp
++++ b//modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp
+@@ -31,6 +31,7 @@
+ #include "base/string_utilities.h"
+ #include <sstream>
+ #include <boost/lambda/bind.hpp>
++#include <boost/bind.hpp>
+
+ using namespace grt;
+ using namespace base;
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp
+index 3da58757..a9b082ac 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp
+@@ -27,6 +27,7 @@
+
+ #include "mysql_sql_inserts_loader.h"
+ #include "mysql_sql_parser_utils.h"
++#include <boost/bind.hpp>
+ #include <boost/foreach.hpp>
+
+ using namespace grt;
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp
+index 0c0f72bc..baf3d897 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp
+@@ -22,6 +22,7 @@
+ */
+
+ #include <glib.h>
++#include <boost/bind.hpp>
+ #include <boost/signals2.hpp>
+ #include <cctype>
+
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp
+index ef51d77c..68f397ae 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp
+@@ -39,6 +39,7 @@
+ #include "base/string_utilities.h"
+ #include <sstream>
+ #include <iterator>
++#include <boost/bind.hpp>
+ #include <boost/lambda/bind.hpp>
+
+ using namespace grt;
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h b/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h
+index 9e790dfb..2addd87e 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h
+@@ -30,6 +30,8 @@
+
+ #include "base/string_utilities.h"
+
++#include <boost/bind.hpp>
++
+ using namespace grt;
+
+ template <typename T>
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp
+index 617487b5..9614ad9c 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp
+@@ -22,6 +22,7 @@
+ */
+
+ #include <glib.h>
++#include <boost/bind.hpp>
+ #include <boost/signals2.hpp>
+
+ #include "mysql_sql_schema_rename.h"
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp
+index bbbb733a..51c3215d 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp
+@@ -28,6 +28,7 @@
+ #include "mysql_sql_parser_fe.h"
+ #include "grtdb/charset_utils.h"
+ #include "base/string_utilities.h"
++#include <boost/bind.hpp>
+ #include <boost/scoped_array.hpp>
+ #include <sstream>
+
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp
+index b87535a0..3900b7a8 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp
+@@ -29,6 +29,7 @@
+ #include "mysql_sql_parser_fe.h"
+ #include "base/string_utilities.h"
+ #include <boost/foreach.hpp>
++#include <boost/bind.hpp>
+ #include <boost/lambda/bind.hpp>
+
+ using namespace grt;
+diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp
+index 0f9f80ad..1cb5f78a 100644
+--- a/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp
++++ b/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp
+@@ -28,6 +28,7 @@
+ #include "mysql_sql_parser_fe.h"
+ #include "grtdb/charset_utils.h"
+ #include "base/string_utilities.h"
++#include <boost/bind.hpp>
+ #include <boost/lambda/bind.hpp>
+
+ using namespace grt;
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild
new file mode 100644
index 000000000000..d811ec775a6e
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GCONF_DEBUG="no"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+ANTLR_VERSION=4.7.1
+
+inherit gnome2 flag-o-matic python-single-r1 cmake-utils
+
+MY_P="${PN}-community-${PV}-src"
+
+DESCRIPTION="MySQL Workbench"
+HOMEPAGE="https://www.mysql.com/products/workbench/"
+SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz
+ https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# glibc: deprecated mutex functions, removed in 2.36.0
+CDEPEND="${PYTHON_DEPS}
+ app-crypt/libsecret
+ dev-libs/glib:2
+ dev-cpp/antlr-cpp:4
+ dev-cpp/atkmm
+ dev-cpp/pangomm
+ >=dev-cpp/glibmm-2.14:2
+ dev-cpp/gtkmm:3.0
+ dev-libs/atk
+ >=net-libs/libssh-0.8.5[server]
+ x11-libs/pango
+ x11-libs/gtk+:3
+ gnome-base/libglade:2.0
+ >=x11-libs/cairo-1.5.12[glib,svg]
+ >=dev-libs/rapidjson-1.1.0
+ dev-libs/libsigc++:2
+ >=dev-libs/boost-1.55.0[nls]
+ >=dev-cpp/ctemplate-0.95
+ >=dev-libs/libxml2-2.6.2:2
+ dev-libs/libzip
+ dev-libs/libpcre[cxx]
+ >=sci-libs/gdal-1.11.1-r1
+ virtual/opengl
+ || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
+ dev-libs/tinyxml[stl]
+ >=dev-db/mysql-connector-c++-1.1.8 =dev-db/mysql-connector-c++-1*
+ dev-db/vsqlite++
+ || ( dev-db/libiodbc dev-db/unixODBC )
+ dev-python/pexpect
+ >=dev-python/paramiko-1.7.4
+"
+
+RDEPEND="${CDEPEND}
+ app-admin/sudo
+ >=sys-apps/net-tools-1.60_p20120127084908"
+
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ virtual/jre
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/"${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
+ "${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch"
+ "${FILESDIR}/${P}-boost-1.73.0.patch"
+)
+
+src_unpack() {
+ unpack ${PN}-community-${PV}-src.tar.gz
+}
+
+src_prepare() {
+ ## remove hardcoded CXXFLAGS
+ sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
+ ## And avoid -Werror
+ sed -i -e 's/-Werror//' CMakeLists.txt || die
+
+ ## package is very fragile...
+ strip-flags
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ if has_version dev-db/libiodbc ; then
+ IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
+ fi
+
+ append-cxxflags -std=c++11
+ ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar"
+ local mycmakeargs=(
+ -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH}
+ -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DIODBC_INCLUDE_PATH="/usr/include/iodbc"
+ ${IODBC}
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index eefaf29b9b6c..c905dfe757ca 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -1,24 +1,27 @@
-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.6.45.tar.gz 32525559 BLAKE2B 3c629aed1de808acdea6654c7413e6851507c9c5be939ca4b4f5e2796da317e9b518a749bfc03d2b0ef05bd604b39f72e24b751076b9f206b462d21fa5db4f50 SHA512 f9d8bb72e96cc83f1064fe7df2e5fe8317ca9d44c4e776cf7827a61292fbcfccec716806c80d565958383d78fef93a19d61c726687b57680d5f93299291ff168
DIST mysql-5.7.30-patches-01.tar.xz 6684 BLAKE2B 9350280094619fda0d91eacae573396198954fceb5dc039669d236b1dad98eef306702550b517ef30ee3d0e6721667b6f5549df91e3c15cef68888079c00d9ba SHA512 74e8e8794fe54b73776b38296aa42c65547311b80bfe65c88b2f961bd44083e9628eb47da4ebcf4c20e2d7c694f514223bcbf29cce27853cca500710ae97778d
+DIST mysql-5.7.31-patches-01.tar.xz 6664 BLAKE2B 8225f286f0090653f9714545daa95ccdadaa58812e55284d1ee52ad2dcca18960b9266797630762595d832aa1dda1d9e2df691f0c728102f162b376346c99b3c SHA512 c6260e688da6e8f049ba7ac0553ad442e76829deaca32c1b7a101ec927a36b1571cb24982391f05545a9f62d94502efc09530d444e4abfc08350ab4c19fbfd37
DIST mysql-8.0.20-patches-01.tar.xz 7176 BLAKE2B 2fc51986c0a4da60521d0e64b9f8705caf8ec3869af930c9729359c3710059fc78aae176523fdf17d10173b404431f31f9bb23ee5c82fba7cbbb4cb39881c005 SHA512 bf8211cf3873f8672b9d3d1dc42b68a1c635690ffdc2d3393eafa83f060ada9f2eaa63f859bf8eecc24976a733d8c7c3b9632ac70f28b5facf48eae921c7ceeb
+DIST mysql-8.0.21-patches-01.tar.xz 7212 BLAKE2B 2f1b38b3f84a124e3636cb726f3fcef82d71d933e90429dc78be44afeb4f456a37104359c5fd58ab50f0c03c1698e6c79f9b1e07640f0411c0024f558b4e9595 SHA512 3edcbb529b0623adaed30150d88c9b54d1a3e402faf5c7cff4ed626bbf4e5f50838d8f3c79bd2173439d748ded13412ff7fe37e3742c55879ff28907b9eb5660
DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52
DIST mysql-boost-5.7.29.tar.gz 51417554 BLAKE2B 652ce9f99419387e9bcc37afeb1b46438784752e963c3aa1877f17650c31d8b058b4052da97c3a7e9454e758c259d6c311e0518f9a75909fce9741150b82164c SHA512 38acf7c2a10b20c59230ad05cd2cd6996c4c582233c1be573ead08e5c6684275790da07a036570363f89b4d61547b306589b0b98ed5fca70723a3f2cbc21fe11
DIST mysql-boost-5.7.30.tar.gz 51363998 BLAKE2B 7897ad74b685c3b30e7ecdf132fdfa72f3416c05e8d0086cb8f7674b6c4f377fff9abc51ed258cc4dfeab50a2cb393af9076d9c1f9a83a26521facbaf223afa1 SHA512 b75d41d0c72d16c6f8d5393dab6e476b7993d296eb5683c12417ce2da3db2052fdab2a152f6e7c545315d21bfa35f26a247cb6cdab83d3418b5d34ed7f5f9560
+DIST mysql-boost-5.7.31.tar.gz 51382559 BLAKE2B 86430ee01b0b066ffbd1c876c7d09afecdd57f99cfe07417f406345bcdb14cc6fd33a2d4d92dfe15e87f34ec476bf34d62508ac3f99fb3e11957458e0d6ec20b SHA512 d7fc1927c860562d121658031bcbd58d36a942340423bf7b692cef84c29e67b56d009c9f9bb10cde8acabd6f9db58c67eb542349eccc4719fb38c8570738700a
DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01
DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99
+DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1
DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8
DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1
DIST mysql-extras-20200317-0103Z.tar.bz2 344905 BLAKE2B c4c8bb2acea16663ab32cf291d0a2d52af04448a507ad3a6dc22dfdef4d6ba427582d66e5923d05cd51565286f85c8df5ccabef9a67a4a500574d21e1f708f27 SHA512 d1d34817faf0a1271f906213eea9081c204d745b14f96166f17d5c60a29ec58c05926e7216f135b6e9d5df2ceab373f10fc4e6a652514d99ba34a336571dce1f
-EBUILD mysql-5.6.45-r2.ebuild 27244 BLAKE2B 09077b737c88aeb95632be7c8e92ea5e69d84763567b5d0b489d06e7b1816f246fc2461e100929a896e1ed27c7129842e36a41645289b4c4a0605e644cab1637 SHA512 3967bc8f033d64c70aebcb7e251bde7caba187ce51daa3e1865bc862f094a2489000b2fc90ae1b84425081c1430984bdb9615045d46bb8efe1fcbd2808a4c96f
-EBUILD mysql-5.7.27-r1.ebuild 31684 BLAKE2B 9ff6937c77124bc8b6a01f6b56f23941599a517b1d89519045ede1c67312c78e594ece5ad0a0ce3fa2b93594dc6eaf811a85867e1c6a29c4e931f6b1c7000429 SHA512 725c6023e23d8341cc474b29c5929d920795abaa2d7d0af995eacbd4d7f8fef20bf054226f3756960e1be7f45c87242f331aa70add9af3cd43501b7dc9189148
-EBUILD mysql-5.7.29.ebuild 31420 BLAKE2B 7afa9f1af981304087cd0c1d6fbddf3031b1b0b9493e528acbc6befbf32432934a4920d6345a4ff18d3ea7973da0233d278f104295c75d232be3353960eb3922 SHA512 80a092af7eb3633973edf413ab07de355bc928648b7f42e89fc432e4143d3afcd34aec83f64329587ff4988a8d301006f43a32b1e3a2096c397e97be92b838e1
-EBUILD mysql-5.7.30.ebuild 30645 BLAKE2B 085102ee102234cc8f44754496a936a985bbb33afa3e3bc70be014ddd9daff716c40d10424814f41d4ba00b7a604cfaab9034d46df7923388f4c9ee7097b331e SHA512 d89f6a403f408c7bd1c3943be03cd5f552f59213629cf60c2a81496b5c2f9e994eee30889a671d94b592fe9a2542ccecacc2f77a62d059644845d00fb7d114d9
-EBUILD mysql-8.0.19-r1.ebuild 37911 BLAKE2B 90a40972a8cd9de954aa6c89ceb81276f68f541809ba4d0484043878163ae0ccce7144cec51a262b84a2a7bd9cd53c50f7fac48abac5cf006d01a40bb5918563 SHA512 07bdddbb4b82eed2b383c2eae03cbe1e58c06a3bdc1b595703d6e32c839d17d34e8b1c8d4d2a7c4bdde2c6a04992fe8ad4758a3124d8b432dc2c2f23048a9d17
-EBUILD mysql-8.0.20.ebuild 37179 BLAKE2B 023e2f80e351cc3ea2daf0350783e05afdd59bd655f54b57b50d30e5acd3218e430ca404b7d4eb7e70c1f800ebacc65f183a344838a5441788a54a9a04521b56 SHA512 f5c03367c7ccb1b6c5acb42a3c344d8bf7f07d4f559b7fcda6dee78b5cd932b902cbccb9d335e9b6caa5c2a6b5091c176e4148bfc283839207ae8f63975f2079
+EBUILD mysql-5.7.27-r2.ebuild 31722 BLAKE2B b19b37cb6840d6cd20d64807a2324190325cc607827173a3ee6270fa167fdeb0b370a488c3391861601323b5979fe5803a955ebcd645eaf96edf45ee2af73ca3 SHA512 0f7ffadb2841a6553f443aaca8bb133fb6e35b3af5d3781156a335baaf44c585f843bb6332e5946d333dd0455c051bd8820810814740d00efd29bec471b4ef7f
+EBUILD mysql-5.7.29-r1.ebuild 31458 BLAKE2B 5f68d00d9c52432b249be3dcd5c6847d5507700e58d53381a7397babe49681dadb4c39daa59850d353855abbaef59f648cef95a19a11da815200bb60b7f6f55b SHA512 7dd0e4ce9b9b1d7d28f9dced9647664d6ec1f50d9f2a31b41c7f67be4bb8cd2018638fb9b15d06ef5ec29a78b3258dec18757f404717e01d57a7c04caa137c5c
+EBUILD mysql-5.7.30-r1.ebuild 30683 BLAKE2B fb6c808884b175e231c782c80e7fb6993ee6bed6fec8263fef23d5e1b2e92e2d990b9ed45bc2fb6aba06620e6825fbd9d60a1fd48c68ad1b2fe251089ee9280c SHA512 9fe9e04a60e3aa4945861c13a5f828325cbc23311d9a412e5434551ca384479e5b72d181292c0cb4730b3da1d331eec6379ff483f6da66dd682754680851377a
+EBUILD mysql-5.7.31.ebuild 37543 BLAKE2B 7f6917087e7adc41aebf4957a3cdfdaefd0dcf0c9fc5d039acc56cba70f4c31c0fe26e534e5c8a3d6d8e14505f4e797c8b102f8f24709bca4a6661323f88502f SHA512 b708b8901ae990765a94c31b2362bec5f2178684573caad7a7805f1f50f1f4b947b2cf23cc42d42275fd7f301ce065b35e0089bea5f8940bcdbbce8046252f2c
+EBUILD mysql-8.0.19-r2.ebuild 37949 BLAKE2B c0ae41237387d4c58bac1f0f218fa467eba25a79e44605489f3835a1508c94423ea31c7d7d3f39e00f91a56a2320ffcca4fd968a425a3f898c9b7c2b9713f902 SHA512 434b40517a183a8bbb877ad79661ccc3ee1a89d40a374823c8778d87f75593f295c7a635496be1cb6376036da9c3acd5f82bfa2b62a88165b9c4b4b0ffd6469f
+EBUILD mysql-8.0.20-r1.ebuild 37217 BLAKE2B 2aef6bce1bd7f8e5e55b64caa304b427c84fcd365e265a6ce0d2458491349cd8c04c17a50644d1be7fca9218e17ad748b9307fe7b32270c6ba936077e2746d9b SHA512 ca65ad63a374696e4adc2d73176de71a0b27e267b91dfba20641303c4b9e8cfa1241375c7cd69af660b2d2632c629ab0658d1ed6e2454032a689f2995a2c505c
+EBUILD mysql-8.0.21-r1.ebuild 38166 BLAKE2B 8ccb2b69f0073fe4f4ebbcd6ebe3ea40a3459c91a5b38af9136631b5aebab07dce9a7ab61ae4e7febaeabc24a239b09e9fb71f86c728610e057d63c6044f0c4a SHA512 473a44a1e5f7333d6e7683da0396384e3f1b800211ce851d094504f8864f77dfd436ccef3f740464dda729ef211df6023e17e8e8ae8d1f6abd2168a406a74091
MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7
diff --git a/dev-db/mysql/files/my.cnf-5.6 b/dev-db/mysql/files/my.cnf-5.6
deleted file mode 100644
index df462ab69a14..000000000000
--- a/dev-db/mysql/files/my.cnf-5.6
+++ /dev/null
@@ -1,139 +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 = 4M
-table_open_cache = 400
-sort_buffer_size = 512K
-net_buffer_length = 16K
-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 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 = 128M
-#
-# 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 = 48M
-# 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/mysql-5.6.45-r2.ebuild b/dev-db/mysql/mysql-5.6.45-r2.ebuild
deleted file mode 100644
index 87c3e81d6358..000000000000
--- a/dev-db/mysql/mysql-5.6.45-r2.ebuild
+++ /dev/null
@@ -1,855 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-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 \
- 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="!test? ( test ) libressl? ( test )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-
-KEYWORDS="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}"/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
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.44-fix-libressl-support.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.44-add-openssl-1.1-support.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-2.6.5*: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? (
- 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? (
- acct-group/mysql acct-user/mysql
- 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
-}
-
-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
-
- # Don't clash with dev-db/mysql-connector-c
- rm \
- man/my_print_defaults.1 \
- man/perror.1 \
- || 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
-
- 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')"
- -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
-
- if [[ -d "${ED%/}/usr/sql-bench" ]] ; then
- mv "${ED%/}/usr/sql-bench" "${ED%/}/usr/share/mysql/" || 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
-
- if ! use latin1 ; then
- for t in \
- binlog.binlog_mysqlbinlog_filter \
- binlog.binlog_statement_insert_delayed \
- funcs_1.is_columns_mysql \
- funcs_1.is_tables_mysql \
- funcs_1.is_triggers \
- main.information_schema \
- main.mysql_client_test \
- main.mysqld--help-notwin \
- perfschema.binlog_edge_mix \
- perfschema.binlog_edge_stmt \
- ; do
- _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
- done
- fi
-
- if has_version '>=dev-libs/openssl-1.1.0' ; then
- # Tests are expecting <openssl-1.1 default cipher
- for t in \
- main.openssl_1 \
- main.plugin_auth_sha256_tls \
- main.ssl \
- main.ssl_8k_key \
- main.ssl_ca \
- main.ssl_cipher\
- main.ssl_compress \
- main.ssl_crl \
- main.ssl-sha512 \
- ; do
- _disable_test "$t" "Requires <dev-libs/openssl-1.1.0"
- done
- fi
-
- _disable_test main.gis-precise "Known rounding error with latest AMD processors"
-
- # 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 section="$1"
- local flag="--${2}="
- local extra_options="${3}"
- local cmd=(
- "${EROOT%/}/usr/bin/my_print_defaults"
- "${extra_options}"
- "${section}"
- )
- local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
-
- if [[ ${#results[@]} -gt 0 ]] ; then
- # When option is set multiple times only return last value
- echo "${results[-1]}"
- fi
- }
- 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 "${EROOT%/}/tmp")"
-
- # 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.7.27-r1.ebuild b/dev-db/mysql/mysql-5.7.27-r2.ebuild
index 39229edf0528..7a585b7a7032 100644
--- a/dev-db/mysql/mysql-5.7.27-r1.ebuild
+++ b/dev-db/mysql/mysql-5.7.27-r2.ebuild
@@ -25,7 +25,7 @@ fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
-SLOT="0/18"
+SLOT="5.7/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test yassl"
@@ -119,6 +119,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:8.0
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? (
diff --git a/dev-db/mysql/mysql-5.7.29.ebuild b/dev-db/mysql/mysql-5.7.29-r1.ebuild
index 1bab98a18ca1..87956f8d8f85 100644
--- a/dev-db/mysql/mysql-5.7.29.ebuild
+++ b/dev-db/mysql/mysql-5.7.29-r1.ebuild
@@ -25,7 +25,7 @@ fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
-SLOT="0/18"
+SLOT="5.7/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test"
@@ -115,6 +115,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:8.0
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? (
diff --git a/dev-db/mysql/mysql-5.7.30.ebuild b/dev-db/mysql/mysql-5.7.30-r1.ebuild
index 71716b437ae5..8220f3146cae 100644
--- a/dev-db/mysql/mysql-5.7.30.ebuild
+++ b/dev-db/mysql/mysql-5.7.30-r1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
-SLOT="0/18"
+SLOT="5.7/18"
IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
selinux +server static static-libs systemtap tcmalloc test"
@@ -90,6 +90,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:8.0
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? (
diff --git a/dev-db/mysql/mysql-5.7.31.ebuild b/dev-db/mysql/mysql-5.7.31.ebuild
new file mode 100644
index 000000000000..3dc370d1040e
--- /dev/null
+++ b/dev-db/mysql/mysql-5.7.31.ebuild
@@ -0,0 +1,1235 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs cmake flag-o-matic linux-info \
+ multiprocessing prefix toolchain-funcs multilib-minimal
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.31-patches-01.tar.xz"
+
+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
+ ${PATCH_SET}"
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="5.7/18"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling
+ selinux +server static static-libs systemtap tcmalloc test"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!test? ( test ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+KEYWORDS="~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
+S="${WORKDIR}/mysql"
+
+# 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="
+ sys-libs/ncurses:0=
+ client-libs? (
+ >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=
+ dev-libs/protobuf:=
+ net-libs/libtirpc:=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ numa? ( sys-process/numactl )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools: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? (
+ 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
+ !dev-db/mysql:0
+ !dev-db/mysql:8.0
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
+ selinux? ( sec-policy/selinux-mysql )
+ 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 )"
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test $FEATURES ; then
+ CHECKREQS_DISK_BUILD="9G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="9G"
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+ && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux ; then
+ if use numa ; then
+ linux-info_get_any_version
+
+ 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
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+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}
+
+ mv -f "${WORKDIR}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mysql-patches
+
+ 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}"/extra/libevent \
+ "${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
+
+ 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
+
+ cmake_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
+
+ 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')"
+ -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_SSL=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 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_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake_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
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ fi
+
+ # 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_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_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_non_direct_stm_mixing_engines \
+ ; do
+ _disable_test "$t" "Unstable test"
+ done
+
+ 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_distance \
+ gis.spatial_utility_function_distance_sphere \
+ gis.spatial_utility_function_simplify \
+ gis.spatial_analysis_functions_centroid \
+ main.with_recursive \
+ ; do
+ _disable_test "$t" "Known rounding error with latest AMD processors"
+ done
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # no need to force dep app-arch/zip for one test
+ _disable_test "innodb.partition_upgrade_create" "Requires app-arch/zip"
+ 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
+
+ if has_version '>=dev-libs/openssl-1.1.1' ; then
+ # Tests are expecting <openssl-1.1.1 default cipher
+ for t in \
+ auth_sec.cert_verify \
+ auth_sec.mysql_ssl_connection \
+ auth_sec.openssl_cert_generation \
+ auth_sec.ssl_auto_detect \
+ auth_sec.ssl_mode \
+ auth_sec.tls \
+ binlog.binlog_grant_alter_user \
+ encryption.innodb_onlinealter_encryption \
+ main.grant_alter_user_qa \
+ main.grant_user_lock_qa \
+ main.mysql_ssl_default \
+ main.openssl_1 \
+ main.plugin_auth_sha256_tls \
+ main.ssl \
+ main.ssl_8k_key \
+ main.ssl_bug75311 \
+ main.ssl_ca \
+ main.ssl_cipher \
+ main.ssl_compress \
+ main.ssl_crl \
+ main.ssl_ecdh \
+ main.ssl_verify_identity \
+ x.connection_tls_version \
+ x.connection_openssl \
+ ; do
+ _disable_test "$t" "Requires <dev-libs/openssl-1.1.1"
+ 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_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 section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # 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 "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please 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
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_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
+
+ local opt optexp optfull
+ 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}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --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=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ 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 BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/mysql/mysql-8.0.19-r1.ebuild b/dev-db/mysql/mysql-8.0.19-r2.ebuild
index 827c57daf940..b81fdbc4fc1b 100644
--- a/dev-db/mysql/mysql-8.0.19-r1.ebuild
+++ b/dev-db/mysql/mysql-8.0.19-r2.ebuild
@@ -28,7 +28,7 @@ fi
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
-SLOT="0"
+SLOT="8.0"
IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling
router selinux +server tcmalloc test"
@@ -102,6 +102,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:5.7
selinux? ( sec-policy/selinux-mysql )
!prefix? (
acct-group/mysql acct-user/mysql
diff --git a/dev-db/mysql/mysql-8.0.20.ebuild b/dev-db/mysql/mysql-8.0.20-r1.ebuild
index 055853424359..0bddb13566ea 100644
--- a/dev-db/mysql/mysql-8.0.20.ebuild
+++ b/dev-db/mysql/mysql-8.0.20-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz
HOMEPAGE="https://www.mysql.com/"
DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
LICENSE="GPL-2"
-SLOT="0"
+SLOT="8.0"
IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling
router selinux +server tcmalloc test"
@@ -77,6 +77,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql:0
+ !dev-db/mysql:5.7
selinux? ( sec-policy/selinux-mysql )
!prefix? (
acct-group/mysql acct-user/mysql
diff --git a/dev-db/mysql/mysql-8.0.21-r1.ebuild b/dev-db/mysql/mysql-8.0.21-r1.ebuild
new file mode 100644
index 000000000000..be1a0381245a
--- /dev/null
+++ b/dev-db/mysql/mysql-8.0.21-r1.ebuild
@@ -0,0 +1,1168 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit check-reqs cmake flag-o-matic linux-info \
+ multiprocessing prefix toolchain-funcs
+
+MY_PV="${PV//_pre*}"
+MY_P="${PN}-${MY_PV}"
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.21-patches-01.tar.xz"
+
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz
+ https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-${MY_PV}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-8.0/${PN}-boost-${MY_PV}.tar.gz
+ ${PATCH_SET}"
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="8.0"
+IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling
+ router selinux +server tcmalloc test"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!test? ( test ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ cjk? ( server )
+ jemalloc? ( server )
+ numa? ( server )
+ profiling? ( server )
+ router? ( server )
+ tcmalloc? ( server )"
+
+KEYWORDS="~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
+S="${WORKDIR}/mysql"
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=app-arch/lz4-0_p131:=
+ app-arch/zstd:=
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ server? (
+ dev-libs/icu:=
+ dev-libs/libevent:=
+ >=dev-libs/protobuf-3.8:=
+ net-libs/libtirpc:=
+ cjk? ( app-text/mecab:= )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ numa? ( sys-process/numactl )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ virtual/yacc
+ server? ( net-libs/rpcsvc-proto )
+ 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
+ !dev-db/mysql:0
+ !dev-db/mysql:5.7
+ selinux? ( sec-policy/selinux-mysql )
+ !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 )"
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test $FEATURES ; then
+ CHECKREQS_DISK_BUILD="9G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="9G"
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+ && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux ; then
+ if use numa ; then
+ linux-info_get_any_version
+
+ 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
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mysql-patches
+
+ # Avoid rpm call which would trigger sandbox, #692368
+ sed -i \
+ -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
+ 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
+
+ # Remove man pages for client-lib tools we don't install
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ cmake_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')"
+ -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_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)
+ # Using bundled editline to get CTRL+C working
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_SSL=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)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DWITH_CURL=system
+ -DWITH_BOOST="${S}/boost"
+ -DWITH_ROUTER=$(usex router ON OFF)
+ )
+
+ if is-flagq -fno-lto ; then
+ einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
+ mycmakeargs+=( -DWITH_LTO=OFF )
+ elif is-flagq -flto ; then
+ einfo "LTO forced via {C,CXX,F,FC}FLAGS"
+ myconf+=( -DWITH_LTO=ON )
+ else
+ # Disable automagic
+ myconf+=( -DWITH_LTO=OFF )
+ fi
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+
+ mycmakeargs+=(
+ -DWITH_ICU=system
+ -DWITH_LZ4=system
+ # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex
+ -DWITH_RAPIDJSON=bundled
+ -DWITH_ZSTD=system
+ )
+
+ 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."
+ ewarn "Tests will probably fail!"
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+ elif use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci
+ )
+ fi
+
+ if use server ; then
+ mycmakeargs+=(
+ -DWITH_EXTRA_CHARSETS=all
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_LIBEVENT=system
+ -DWITH_PROTOBUF=system
+ -DWITH_NUMA=$(usex numa ON 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
+
+ # 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
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='perl server' \
+# FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname bug reason
+ rawtestname="${1}" ; shift
+ bug="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
+ echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ fi
+
+ # 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"
+
+ local -a disabled_tests
+ disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" )
+ disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "main.mysql_load_data_local_dir;0;Known test failure - no upstream bug yet" )
+ disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" )
+ disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Known failure - no upstream bug yet" )
+ disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware")
+ disabled_tests+=( "x.connection;0;Known failure - no upstream bug yet" )
+ disabled_tests+=( "main.mysqlpump_basic_lz4;0;Extra tool output causes false positive" )
+ disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" )
+ disabled_tests+=( "x.message_protobuf_nested;0;False positive caused by protobuff-3.11+" )
+
+ # Known test failures due to expired SSL certificates -- fixed in 8.0.22
+ disabled_tests+=( "auth_sec.admin_ssl_crl_crlpath;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "auth_sec.admin_ssl_crl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "auth_sec.server_withssl_client_withssl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl_clients_valid;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl_crlpath;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_ca;100055;Fixed in 8.0.22" )
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # no need to force dep app-arch/zip for one test
+ disabled_tests+=( "innodb.discarded_partition_create;0;Requires app-arch/zip" )
+ disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" )
+ fi
+
+ local test_infos_str test_infos_arr
+ for test_infos_str in "${disabled_tests[@]}" ; do
+ IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
+
+ if [[ ${#test_infos_arr[@]} != 3 ]] ; then
+ die "Invalid test data set, not matching format: ${test_infos_str}"
+ fi
+
+ _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
+ done
+ unset test_infos_str test_infos_arr
+
+ # 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() {
+ cmake_src_install
+
+ # 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 "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/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-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ mycnf_src="my.cnf-8.0.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|utf8mb4|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+
+ if use router ; then
+ rm -rf \
+ "${ED}/usr/LICENSE.router" \
+ "${ED}/usr/README.router" \
+ "${ED}/usr/run" \
+ "${ED}/usr/var" \
+ || die
+ fi
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ # NOTE: $MY_LOGDIR contains $EPREFIX by default
+ [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}"
+
+ # 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
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog " \"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ einfo
+ else
+ einfo
+ elog "Upgrade process for ${PN}-8.x has changed. Please read"
+ elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html"
+ einfo
+ fi
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # 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 "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_TMPDIR=${MYSQL_TMPDIR%/}
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ local -a config_files
+
+ local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..."
+ fi
+
+ config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..."
+ fi
+
+ if [[ ${#config_files[@]} -gt 0 ]] ; then
+ if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then
+ local user_answer
+
+ echo
+ einfo "Please select default authentication plugin (enter number or plugin name):"
+ einfo "1) caching_sha2_password [MySQL 8.0 default]"
+ einfo "2) mysql_native_password [MySQL 5.7 default]"
+ einfo
+ einfo "For details see:"
+ einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password"
+ read -p " >" user_answer
+ echo
+
+ case "${user_answer}" in
+ 1|caching_sha2_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password
+ ;;
+ 2|mysql_native_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
+ ;;
+ '')
+ die "No authentication plugin selected!"
+ ;;
+ *)
+ die "Authentication plugin '${user_answer}' is unknown/unsupported!"
+ ;;
+ esac
+
+ echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
+ unset user_answer
+ fi
+
+ local cfg_option cfg_option_tabs cfg_section
+ for config_file in "${config_files[@]}" ; do
+ cfg_option="default-authentication-plugin"
+ cfg_section="mysqld"
+ cfg_option_tabs="\t\t"
+ if [[ "${config_file}" == *client.cnf ]] ; then
+ cfg_option="default-auth"
+ cfg_section="client"
+ cfg_option_tabs="\t\t\t\t"
+ fi
+
+ if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then
+ einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \
+ "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!"
+ else
+ einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \
+ "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!"
+ fi
+ done
+ unset cfg_option cfg_option_tabs cfg_section
+ fi
+ unset config_files config_file
+
+ echo
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please 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
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_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
+
+ local opt optexp optfull
+ 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}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --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=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ 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 BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index eeb22d98068c..63a9178225c8 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -9,6 +9,9 @@ DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d898281
DIST percona-server-5.7.27-30.tar.gz 84672298 BLAKE2B 8431d231f602b704195868110e8eb73adb3db7c761906c15eff182e54634ef091a3ffa0d4f3498a93dbfbf65cd5cdd12102871abaaaa0f32378ba3068d083b2b SHA512 d62c66de3128df87dce52292ad1671e01fe2c923e668ef0faf9cb663c11c9cd0b976345aea1de6ea2bc458d0e1066b42c022849e422121d96cea082ed12c8f4b
DIST percona-server-8.0.19-10.tar.gz 490703179 BLAKE2B 731e9498c4934eb53451c202e8b1de93618190d9b6334b761428ab223756d515d958db77515517e6b5db3ba6cd908c8b238c18b63f4c73b256ec251f8b161ff3 SHA512 39aa805474c6655980e70c97e0d2c0f21ae16e2c1e2e9c7e1d615f46320f1615620368fbdfc24f5d1784aae856090856c3ccda3d6f09ed86c6c9ffe3197be90e
DIST percona-server-8.0.19.10-patches-01.tar.xz 8288 BLAKE2B 2f79c538ac1512b052210439a27b71491917cb9eab08ac3a3b21c188458c2989f0c998d973b8dd654a7d7606acd70ccf374f1e2f5e0088d0c6b96a794dc4c4a5 SHA512 43313797ec405be82f15745185bfab25fda093045f981a8caa8a019522e432415e4b3cca4ca5ffb735d102f98b3c2fccafccbd4695bd2d1f011707f709fcc2b3
-EBUILD percona-server-5.7.27.30.ebuild 37216 BLAKE2B 980cf1ea9aeb005335ea7f7fe8d373b8b0b5c663525cfa69b6df043baa7a4e669e4c1b94d4d9b220290654761f33115ec477ac45f1a482af2baa6ee15a1e5200 SHA512 673a01611f23a5b47be6eebf42c8654d9863b167a1ec7fd35deee59336386021a4fe11391e892e68f50dd44cb2b2025f1187726ad586443ba2992027c8eb2866
-EBUILD percona-server-8.0.19.10.ebuild 38953 BLAKE2B c49bb1aa4e07ac2b191e676aab2ee4ba573768e973708d002e6b72e9815d39a21b7209acff39faf9f41d87fccafdd10a4eb5e3cd701fbab3ae6c7da4e13ead3f SHA512 6732fdfb9a226f5a582a83a3efe429a40da715b152b62c30742ebc809cb659c6869fdb9f1b97c25ea5a05922e7eda682bc0b7fef6f5276a2e3d20caa846fbaf2
+DIST percona-server-8.0.20-11.tar.gz 494288758 BLAKE2B 202f0cbd7395a6b8ae367ed96d1b6d2c6ae2a56ba6d85e8aad55a6b36a6966a0c3285836dc829e1583a46e28fd2903540e520f6347b1e8c18d99b08f58daef8b SHA512 cf8aa999bd0205bded526838246d023eae5dfadeec1aaf0be99565def5a1cdcc8041bcff90ba6a49f5e903e4f436d416181a9f134555d5c71b7cf44d2ba58a6d
+DIST percona-server-8.0.20.11-patches-01.tar.xz 8668 BLAKE2B 1f598c1b381de3efe8b8605d915b0b63d04214ba4f6e51ce154a020f3e2c4d76a3b4e96b4c9c958c6949b4bdf8cc2b754875049beccdafc99b3a3ad8abf0b315 SHA512 4ca0f58bf1cbf6e7a5a33b46efa5250c28226fa7f23c1327bda050e7de3ec0f16dc46c1cd1c481d50f8b167a4c07653db8a3daf44e8f3f96bbb0aa8f8f66d5b2
+EBUILD percona-server-5.7.27.30-r1.ebuild 37272 BLAKE2B 637049d8fcae905ad4cb4d41651e53fcc0980cf307602879e8d5f0d6bcf0505ff0a9c38a7450f539db0106f4ed406f96e1e212bd2f34eb2510bb137714cd69fd SHA512 feda2f9ccb3b58a03577126aabe0483c3217ce5e0618028d442c98aa2ace7ba527dd10aafde2f679ddabe9f86c65648ea445081d78eb360d02e42cb072733425
+EBUILD percona-server-8.0.19.10-r1.ebuild 39009 BLAKE2B d7ff1b52a7e04d3158461494503cf2af8f3bf7775fbeb9d91e58a3cd85094d093aef085522af221e3b6037ec958cf4ffafbbdaf808343b8a23f5b1be40e82750 SHA512 4ffb5d0e7611cd5b388cc5846d12d2eb020325d99a14c10e42c204425360f6d5109352ea8d6dad8926fadba84df810fb10a8f21179ebd79c0e1e0b18e4c3c3e4
+EBUILD percona-server-8.0.20.11-r1.ebuild 40211 BLAKE2B d3ab946880a0ef1b96a93e740af4c10ab615df6aaea3b9655f7afd894e5ddf1e7fbfe5a1b7ef64567a9fddf52c9fc107b7ff68dd7b44a14e31f6a72fcbc8723b SHA512 df0eba7a543aec9bde21b1329c976442cc86989b838602d7beca1b9d2d0f1b91cbf6f1a778743e52c46ac44f48f01231f77956224688cfbb0878e9530cc3ed7d
MISC metadata.xml 1476 BLAKE2B 45302733bbb03e6e999d60db72bed7382f664d9b46772904a35a1a8bfceccc89008e739fcead55bfb6a056523f0ff84fd22c638de859236f47a01eb8ac6c45eb SHA512 e53b29f9d78e895a26f228b7719a023dbd5957d1e10f384376b75b539a211425be143c229378af2ade5314f6b414d891bafc7e1fffde9bb88b59ff24de31a2c2
diff --git a/dev-db/percona-server/percona-server-5.7.27.30.ebuild b/dev-db/percona-server/percona-server-5.7.27.30-r1.ebuild
index 300c67c70366..86283b34ba4b 100644
--- a/dev-db/percona-server/percona-server-5.7.27.30.ebuild
+++ b/dev-db/percona-server/percona-server-5.7.27.30-r1.ebuild
@@ -34,7 +34,7 @@ fi
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"
+SLOT="5.7/18"
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"
@@ -142,6 +142,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ !dev-db/percona-server:0
+ !dev-db/percona-server:8.0
client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
selinux? ( sec-policy/selinux-mysql )
server? (
diff --git a/dev-db/percona-server/percona-server-8.0.19.10.ebuild b/dev-db/percona-server/percona-server-8.0.19.10-r1.ebuild
index 58abf336ca0c..44544aaf5cc7 100644
--- a/dev-db/percona-server/percona-server-8.0.19.10.ebuild
+++ b/dev-db/percona-server/percona-server-8.0.19.10-r1.ebuild
@@ -27,7 +27,7 @@ SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY
HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server https://github.com/percona/percona-server"
DESCRIPTION="Fully compatible, enhanced and open source drop-in replacement for MySQL"
LICENSE="GPL-2"
-SLOT="0"
+SLOT="8.0"
IUSE="cjk cracklib debug jemalloc latin1 libressl numa pam +perl profiling
rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin"
@@ -84,6 +84,8 @@ DEPEND="${COMMON_DEPEND}
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ !dev-db/percona-server:0
+ !dev-db/percona-server:5.7
selinux? ( sec-policy/selinux-mysql )
!prefix? (
acct-group/mysql acct-user/mysql
diff --git a/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild b/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild
new file mode 100644
index 000000000000..dd3addaa154d
--- /dev/null
+++ b/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild
@@ -0,0 +1,1214 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit cmake flag-o-matic linux-info \
+ multiprocessing prefix toolchain-funcs check-reqs
+
+MY_BOOST_VERSION="1.70.0"
+MY_PV=$(ver_rs 3 '-')
+MY_PV="${MY_PV//_pre*}"
+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/${MY_MAJOR_PV}/"
+
+# Patch version
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/percona-server/${PN}-8.0.20.11-patches-01.tar.xz"
+
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
+ https://dl.bintray.com/boostorg/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2
+ ${PATCH_SET}
+"
+
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server https://github.com/percona/percona-server"
+DESCRIPTION="Fully compatible, enhanced and open source drop-in replacement for MySQL"
+LICENSE="GPL-2"
+SLOT="8.0"
+IUSE="cjk cracklib debug jemalloc latin1 ldap libressl numa pam +perl profiling
+ rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!test? ( test ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ cjk? ( server )
+ jemalloc? ( server )
+ numa? ( server )
+ profiling? ( server )
+ router? ( server )
+ tcmalloc? ( server )"
+
+KEYWORDS="~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
+S="${WORKDIR}/mysql"
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ >=app-arch/lz4-0_p131:=
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ server? (
+ dev-libs/icu:=
+ dev-libs/libevent:=
+ >=dev-libs/protobuf-3.8:=
+ net-libs/libtirpc:=
+ net-misc/curl:=
+ cjk? ( app-text/mecab:= )
+ ldap? (
+ dev-libs/cyrus-sasl
+ net-nds/openldap
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ numa? ( sys-process/numactl )
+ pam? ( sys-libs/pam:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ virtual/yacc
+ server? ( net-libs/rpcsvc-proto )
+ test? (
+ acct-group/mysql acct-user/mysql
+ dev-perl/JSON
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ !dev-db/percona-server:0
+ !dev-db/percona-server:5.7
+ selinux? ( sec-policy/selinux-mysql )
+ !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 )"
+
+CHECKREQS_DISK_BUILD="9G"
+
+mysql_init_vars() {
+ : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use server ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test $FEATURES ; then
+ CHECKREQS_DISK_BUILD="9G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ CHECKREQS_DISK_BUILD="3G"
+
+ if has test ${FEATURES} ; then
+ CHECKREQS_DISK_BUILD="9G"
+
+ # Bug #213475 - MySQL _will_ object strenuously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! has userpriv ${FEATURES} ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null)
+ [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \
+ && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!"
+
+ if use latin1 ; then
+ # Upstream only supports tests with default charset
+ die "Testing with USE=latin1 is not supported."
+ fi
+ fi
+
+ if use kernel_linux ; then
+ if use numa ; then
+ linux-info_get_any_version
+
+ 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
+ fi
+
+ use server && check-reqs_pkg_setup
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}"/mysql-patches
+
+ # Avoid rpm call which would trigger sandbox, #692368
+ sed -i \
+ -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \
+ 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
+
+ # Remove man pages for client-lib tools we don't install
+ rm \
+ man/my_print_defaults.1 \
+ man/perror.1 \
+ man/zlib_decompress.1 \
+ || die
+
+ cmake_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')"
+ -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_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)
+ # Using bundled editline to get CTRL+C working
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_SSL=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)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ -DWITH_CURL=system
+ -DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})"
+ -DWITH_ROUTER=$(usex router ON OFF)
+ )
+
+ if is-flagq -fno-lto ; then
+ einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
+ mycmakeargs+=( -DWITH_LTO=OFF )
+ elif is-flagq -flto ; then
+ einfo "LTO forced via {C,CXX,F,FC}FLAGS"
+ myconf+=( -DWITH_LTO=ON )
+ else
+ # Disable automagic
+ myconf+=( -DWITH_LTO=OFF )
+ fi
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+
+ mycmakeargs+=(
+ -DWITH_ICU=system
+ -DWITH_LZ4=system
+ # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex
+ -DWITH_RAPIDJSON=bundled
+ )
+
+ 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."
+ ewarn "Tests will probably fail!"
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+ elif use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci
+ )
+ fi
+
+ if use server ; then
+ mycmakeargs+=(
+ -DWITH_AUTHENTICATION_LDAP=$(usex ldap system OFF)
+ -DWITH_EXTRA_CHARSETS=all
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_MECAB=$(usex cjk system OFF)
+ -DWITH_LIBEVENT=system
+ -DWITH_PROTOBUF=system
+ -DWITH_NUMA=$(usex numa ON OFF)
+ -DWITH_PAM=$(usex pam)
+ )
+
+ 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
+
+ # 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_ROCKSDB=$(usex rocksdb 1 0)
+ -DWITH_TOKUDB=$(usex tokudb 1 0)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='perl server' \
+# FEATURES='test userpriv' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname bug reason
+ rawtestname="${1}" ; shift
+ bug="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})"
+ echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ # Run CTest (test-units)
+ cmake_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+
+ if [[ -z "${MTR_PARALLEL}" ]] ; then
+ local -x MTR_PARALLEL=$(makeopts_jobs)
+
+ if [[ ${MTR_PARALLEL} -gt 4 ]] ; then
+ # Running multiple tests in parallel usually require higher ulimit
+ # and fs.aio-max-nr setting. In addition, tests like main.multi_update
+ # are known to hit timeout when system is busy.
+ # To avoid test failure we will limit MTR_PARALLEL to 4 instead of
+ # using "auto".
+ local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})"
+ info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!"
+ einfo "${info_msg}"
+ unset info_msg
+ MTR_PARALLEL=4
+ fi
+ else
+ einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'"
+ fi
+
+ # 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"
+
+ local -a disabled_tests
+ disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" )
+ disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "group_replication.gr_ssl_options2;0;Sporadic failing test" )
+ disabled_tests+=( "innodb.percona_changed_page_bmp_flush;6807;False positive on Gentoo (PS)" )
+ disabled_tests+=( "innodb.percona_changed_page_bmp_log_resize;0;Sporadic failing test" )
+ disabled_tests+=( "innodb.percona_log_encrypt_failure;0;Requires proper keyring setup" )
+ disabled_tests+=( "innodb.percona_log_encrypt_change_mk;6039;False positive on Gentoo (PS)" )
+ disabled_tests+=( "innodb.percona_log_encrypt_change_rk;6805;False positive on Gentoo (PS)" )
+ disabled_tests+=( "innodb.upgrade_orphan;0;Sporadic failing test" )
+ disabled_tests+=( "main.myisam-blob;0;Sporadic failing test" )
+ disabled_tests+=( "main.mysqlpump_basic_lz4;6042;Extra tool output causes false positive" )
+ disabled_tests+=( "main.ssl_bug75311;5996;Known test failure" )
+ disabled_tests+=( "main.ssl_san;6808;False positive on IPv6-enabled hosts" )
+ disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.with_recursive;6804;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" )
+ disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know failure - no upstream bug yet" )
+ disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware" )
+ disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" )
+ disabled_tests+=( "x.message_protobuf_nested;6803;False positive caused by protobuff-3.11+" )
+
+ # Known test failures due to expired SSL certificates -- fixed in 8.0.22
+ disabled_tests+=( "auth_sec.admin_ssl_crl_crlpath;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "auth_sec.admin_ssl_crl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "auth_sec.server_withssl_client_withssl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl_clients_valid;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_crl_crlpath;100055;Fixed in 8.0.22" )
+ disabled_tests+=( "main.ssl_ca;100055;Fixed in 8.0.22" )
+
+ if ! hash zip 1>/dev/null 2>&1 ; then
+ # no need to force dep app-arch/zip for one test
+ disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" )
+ fi
+
+ local test_ds
+ for test_infos_str in "${disabled_tests[@]}" ; do
+ IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}"
+
+ if [[ ${#test_infos_arr[@]} != 3 ]] ; then
+ die "Invalid test data set, not matching format: ${test_infos_str}"
+ fi
+
+ _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}"
+ done
+ unset test_ds test_infos_str test_infos_arr
+
+ if [[ -z "${MTR_VAULT_TOKEN}" ]] ; then
+ local impossible_test
+ for impossible_test in \
+ encryption.default_table_encryption_var \
+ keyring_vault.innodb_online_alter_encryption \
+ keyring_vault.innodb_row_log_encryption \
+ keyring_vault.install_keyring_vault \
+ keyring_vault.keyring_udf \
+ keyring_vault.keyring_vault_config \
+ keyring_vault.keyring_vault_config_qa \
+ keyring_vault.keyring_vault_timeout \
+ keyring_vault.key_rotation_qa \
+ keyring_vault.rpl_key_rotation \
+ keyring_vault.table_encrypt_2 \
+ keyring_vault.table_encrypt_2_directory \
+ keyring_vault.table_encrypt_2_keyring \
+ keyring_vault.table_encrypt_5 \
+ keyring_vault.table_encrypt_5_directory \
+ keyring_vault.table_encrypt_kill \
+ keyring_vault.temp_table_encrypt_keyring_vault \
+ ; do
+ _disable_test "${impossible_test}" "0" "MTR_VAULT_TOKEN is not 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() {
+ cmake_src_install
+
+ # 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 "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/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-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ mycnf_src="my.cnf-8.0.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|utf8mb4|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+
+ if use router ; then
+ rm -rf \
+ "${ED}/usr/LICENSE.router" \
+ "${ED}/usr/README.router" \
+ "${ED}/usr/run" \
+ "${ED}/usr/var" \
+ || die
+ fi
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ # NOTE: $MY_LOGDIR contains $EPREFIX by default
+ [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}"
+
+ # 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
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog " \"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ einfo
+ else
+ einfo
+ elog "Upgrade process for ${PN}-8.x has changed. Please read"
+ elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html"
+ einfo
+ fi
+}
+
+pkg_config() {
+ _getoptval() {
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+ local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
+
+ if [[ ${#results[@]} -gt 0 ]] ; then
+ # When option is set multiple times only return last value
+ echo "${results[-1]}"
+ fi
+ }
+
+ _mktemp_dry() {
+ # emktemp has no --dry-run option
+ local template="${1}"
+
+ if [[ -z "${template}" ]] ; then
+ if [[ -z "${T}" ]] ; then
+ template="/tmp/XXXXXXX"
+ else
+ template="${T}/XXXXXXX"
+ fi
+ fi
+
+ local template_wo_X=${template//X/}
+ local n_X
+ let n_X=${#template}-${#template_wo_X}
+ if [[ ${n_X} -lt 3 ]] ; then
+ echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2
+ return
+ fi
+
+ local attempts=0
+ local character tmpfile
+ while [[ true ]] ; do
+ let attempts=attempts+1
+
+ new_file=
+ while read -n1 character ; do
+ if [[ "${character}" == "X" ]] ; then
+ tmpfile+="${RANDOM:0:1}"
+ else
+ tmpfile+="${character}"
+ fi
+ done < <(echo -n "${template}")
+
+ if [[ ! -f "${tmpfile}" ]]
+ then
+ echo "${tmpfile}"
+ return
+ fi
+
+ if [[ ${attempts} -ge 100 ]] ; then
+ echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2
+ return
+ fi
+ done
+ }
+
+ local mysqld_binary="${EROOT}/usr/sbin/mysqld"
+ if [[ ! -x "${mysqld_binary}" ]] ; then
+ die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults"
+ if [[ ! -x "${my_print_defaults_binary}" ]] ; then
+ die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!"
+ fi
+
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ MYSQL_USER=mysql
+ if use prefix ; then
+ MYSQL_USER=$(id -u -n 2>/dev/null)
+ if [[ -z "${MYSQL_USER}" ]] ; then
+ die "Failed to determine current username!"
+ fi
+ fi
+ fi
+
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ MYSQL_GROUP=mysql
+ if use prefix ; then
+ MYSQL_GROUP=$(id -g -n 2>/dev/null)
+ if [[ -z "${MYSQL_GROUP}" ]] ; then
+ die "Failed to determine current user groupname!"
+ fi
+ fi
+ fi
+
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ local -x HOME="${EROOT}/root"
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Read currently set data directory
+ MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+
+ # 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 "${MY_DATADIR}" ]] ; then
+ die "Sorry, unable to find MY_DATADIR!"
+ elif [[ -d "${MY_DATADIR}/mysql" ]] ; then
+ ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!"
+ ewarn "Please rename or delete its content if you wish to initialize a new data directory."
+ die "${PN} data directory at '${MY_DATADIR}' looks already initialized!"
+ fi
+
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ # These are dir+prefix
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+
+ # Create missing directories.
+ # Always check if mysql user can write to directory even if we just
+ # created directory because a parent directory might be not
+ # accessible for that user.
+ PID_DIR="${EROOT}/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ einfo "Creating ${PN} PID directory '${PID_DIR}' ..."
+ install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \
+ || die "Failed to create PID directory '${PID_DIR}'!"
+ fi
+
+ local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_pid_dir_testfile}" ]] \
+ && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_pid_dir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!"
+ else
+ rm "${_pid_dir_testfile}" || die
+ unset _pid_dir_testfile
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ einfo "Creating ${PN} data directory '${MY_DATADIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \
+ || die "Failed to create ${PN} data directory '${MY_DATADIR}'!"
+ fi
+
+ local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_datadir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_datadir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!"
+ else
+ rm "${_my_datadir_testfile}" || die
+ unset _my_datadir_testfile
+ fi
+
+ if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then
+ einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \
+ || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!"
+ fi
+
+ if [[ -z "${MYSQL_TMPDIR}" ]] ; then
+ MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")"
+ [[ -z "${MYSQL_TMPDIR}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!"
+
+ mkdir "${MYSQL_TMPDIR}" || die
+ chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die
+ fi
+
+ # Now we need to test MYSQL_TMPDIR...
+ local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_tmpdir_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_tmpdir_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!"
+ else
+ rm "${_my_tmpdir_testfile}" || die
+ unset _my_tmpdir_testfile
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \
+ || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'"
+ fi
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_logbin_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_logbin_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!"
+ else
+ rm "${_my_logbin_testfile}" || die
+ unset _my_logbin_testfile
+ fi
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..."
+ install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \
+ || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")"
+ [[ -z "${_my_relaylog_testfile}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!"
+
+ if use prefix ; then
+ touch "${_my_relaylog_testfile}" &>/dev/null
+ else
+ su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null
+ fi
+
+ if [[ $? -ne 0 ]] ; then
+ die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!"
+ else
+ rm "${_my_relaylog_testfile}" || die
+ unset _my_relaylog_testfile
+ fi
+ fi
+
+ local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")"
+ if [[ -z "${mysql_install_log}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysql_install_log}" || die
+ chown ${MYSQL_USER} "${mysql_install_log}" || die
+ fi
+
+ local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")"
+ if [[ -z "${mysqld_logfile}" ]] ; then
+ die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!"
+ else
+ # make sure file is writable for MYSQL_USER...
+ touch "${mysqld_logfile}" || die
+ chown ${MYSQL_USER} "${mysqld_logfile}" || die
+ fi
+
+ echo ""
+ einfo "Detected settings:"
+ einfo "=================="
+ einfo "MySQL User:\t\t\t\t${MYSQL_USER}"
+ einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}"
+ einfo "MySQL DATA directory:\t\t${MY_DATADIR}"
+ einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}"
+
+ if [[ -n "${MYSQL_LOG_BIN}" ]] ; then
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then
+ einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}"
+ fi
+
+ einfo "PID DIR:\t\t\t\t${PID_DIR}"
+ einfo "Install db log:\t\t\t${mysql_install_log}"
+ einfo "Install server log:\t\t\t${mysqld_logfile}"
+
+ local -a config_files
+
+ local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..."
+ fi
+
+ config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf"
+ if [[ -f "${config_file}" ]] ; then
+ config_files+=( "${config_file}" )
+ else
+ ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..."
+ fi
+
+ if [[ ${#config_files[@]} -gt 0 ]] ; then
+ if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then
+ local user_answer
+
+ echo
+ einfo "Please select default authentication plugin (enter number or plugin name):"
+ einfo "1) caching_sha2_password [MySQL 8.0 default]"
+ einfo "2) mysql_native_password [MySQL 5.7 default]"
+ einfo
+ einfo "For details see:"
+ einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password"
+ read -p " >" user_answer
+ echo
+
+ case "${user_answer}" in
+ 1|caching_sha2_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password
+ ;;
+ 2|mysql_native_password)
+ MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
+ ;;
+ '')
+ die "No authentication plugin selected!"
+ ;;
+ *)
+ die "Authentication plugin '${user_answer}' is unknown/unsupported!"
+ ;;
+ esac
+
+ echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}"
+
+ unset user_answer
+ fi
+
+ local cfg_option cfg_option_tabs cfg_section
+ for config_file in "${config_files[@]}" ; do
+ cfg_option="default-authentication-plugin"
+ cfg_section="mysqld"
+ cfg_option_tabs="\t\t"
+ if [[ "${config_file}" == *client.cnf ]] ; then
+ cfg_option="default-auth"
+ cfg_section="client"
+ cfg_option_tabs="\t\t\t\t"
+ fi
+
+ if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then
+ einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \
+ "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!"
+ else
+ einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..."
+ sed -i \
+ -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \
+ "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!"
+ fi
+ done
+ unset cfg_option cfg_option_tabs cfg_section
+ fi
+ unset config_files config_file
+
+ echo
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local pwd1="a"
+ local pwd2="b"
+
+ echo
+ einfo "No password for mysql 'root' user was specified via environment"
+ einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config"
+ einfo "file like '${HOME}/.my.cnf'."
+ einfo "To continue please provide a password for the mysql 'root' user"
+ einfo "now on console:"
+ ewarn "NOTE: Please 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
+
+ echo
+ fi
+
+ local -a mysqld_options
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && mysqld_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
+
+ local opt optexp optfull
+ 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}" && mysqld_options+=( "${optfull}" )
+ done
+
+ # Prepare timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")"
+ [[ -z "${tz_sql}" ]] \
+ && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!"
+
+ echo "USE mysql;" >"${tz_sql}"
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null
+ if [[ $? -ne 0 ]] ; then
+ die "mysql_tzinfo_to_sql failed!"
+ fi
+
+ # --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=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--initialize-insecure"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2
+ die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!"
+ fi
+
+ rm "${tz_sql}" || die
+
+ local x=${RANDOM}
+ local socket="${EROOT}${PID_DIR}/mysqld${x}.sock"
+ local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid"
+ unset x
+
+ cmd=(
+ "${mysqld_binary}"
+ "${mysqld_options[@]}"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ --max_allowed_packet=8M
+ --net_buffer_length=16K
+ "--socket='${socket}'"
+ "--pid-file='${pidfile}'"
+ "--log-error='${mysqld_logfile}'"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Starting mysqld to finalize initialization: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 &
+
+ echo -n "Waiting for mysqld to accept connections "
+ local maxtry=15
+ while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ if [[ -S "${socket}" ]] ; then
+ # Even with a socket we don't know if mysqld will abort
+ # start due to an error so just wait a little bit more...
+ maxtry=5
+ while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ fi
+
+ echo
+
+ if [[ ! -S "${socket}" ]] ; then
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2
+ die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!"
+ fi
+
+ local mysql_logfile="${TMPDIR}/set_root_pw.log"
+ touch "${mysql_logfile}" || die
+
+ 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 BY '${MYSQL_ROOT_PASSWORD}'"
+ cmd=(
+ "${mysql_binary}"
+ --no-defaults
+ "--socket='${socket}'"
+ -hlocalhost
+ "-e \"${sql}\""
+ )
+ eval "${cmd[@]}" >"${mysql_logfile}" 2>&1
+ local rc=$?
+ eend ${rc}
+
+ if [[ ${rc} -ne 0 ]] ; then
+ # Poor man's solution which tries to avoid having password
+ # in log. NOTE: sed can fail if user didn't follow advice
+ # and included character which will require escaping...
+ sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null
+
+ grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}"
+ die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!"
+ fi
+
+ # Stop the server
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ echo -n "Stopping the server "
+ pkill -F "${pidfile}" &>/dev/null
+
+ maxtry=10
+ while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ echo
+
+ if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then
+ # We somehow failed to stop server.
+ # However, not a fatal error. Just warn the user.
+ ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!"
+ fi
+ fi
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/pg_activity/Manifest b/dev-db/pg_activity/Manifest
index 8eac9e4b860d..c6d71beb56c3 100644
--- a/dev-db/pg_activity/Manifest
+++ b/dev-db/pg_activity/Manifest
@@ -1,3 +1,3 @@
DIST pg_activity-1.5.0.tar.gz 92392 BLAKE2B ffe39f602773e0e63ca9bc8a5c96a5dad6a0862aa622b7bf4f3073d869c33bf6e4b79a152a3c956e780d70852aaedf3172a693536436ecbbf89e6943e41ba654 SHA512 01e3d2a1f0c839e40d1da79197dd8a405dee302d46495b972f11e3672e52becceb6211cccc6e1a5c711ca36247dcead6e959435d5f4eb1735556073b6c834904
EBUILD pg_activity-1.5.0.ebuild 634 BLAKE2B 6626868b56015cf8df504c7bd785974a2dff3cfb43adfa315498c25922521902b4b6ccde199d21f37f52409bf56bdbd4b4e2d0e42c05c10cc43b0ee9624afbcd SHA512 c7e548efcae3b1412c80b237028f8126b0e4bc2e0d8f4b8d8142d3c4646dfbe5afad0849d5a7009f87e5e36ec2fb613bed39faeca4330f255cb57c002a176612
-MISC metadata.xml 339 BLAKE2B e80c6ca98d1020eb5d6dffdd9cc41239d8dee1131c977d54666293044bd1804e08b3d88a439e867df26e541bc75a084752a19287591643a1cd20e687e9f7e223 SHA512 db6f9da66f99eb53ef5c118ebb7e6d2ecde79c118a0a7b3094375405cf02700bb2f423b830d23ad4819819557bf35a1073a67bafe0de01654f9651e956840355
+MISC metadata.xml 339 BLAKE2B 216c15e347a9dd6061fa95a90fe2a6b5b14f9dcfe7dce8a36376f28dc1c30bad6ae505247d1a5133bf9d8c1d0d61aa07b0f827f1547d563a5046a40e300896ef SHA512 e4b44855c8acd726e3e43cf79e4706077edb2cbccb955ed70c3fe44ee91ed604a057d8b612e4f3950387ee8c96b3fc77fd8e5696e63b896280a243506c7c8853
diff --git a/dev-db/pg_activity/metadata.xml b/dev-db/pg_activity/metadata.xml
index 77dc3c3999e2..0aa52cbf1860 100644
--- a/dev-db/pg_activity/metadata.xml
+++ b/dev-db/pg_activity/metadata.xml
@@ -6,6 +6,6 @@
<name>Agostino Sarubbo</name>
</maintainer>
<upstream>
- <remote-id type="github">julmon/pg_activity</remote-id>
+ <remote-id type="github">dalibo/pg_activity</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index 0c4fb51c8f47..68d41114c1f9 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -6,7 +6,7 @@ AUX pgpool2.initd 2162 BLAKE2B b04f6b952507b8e4815c7b27f09b59ffe64f6262719c54903
AUX pgpool_run_paths-3.7.10.patch 14548 BLAKE2B 89a18a3c3d4426d82978e303836ff4fafc8d7b4c36154a015c0dadf2e3eb1fa8f19ecf75f39a513b15bca8bfb543ea99e718fff0fa8ef5fde39ecbbe40469df9 SHA512 ea9541a5f9d27011005ab0fd04e2945dea1befaf060429c6a66e0c2091ac8b73a74b01174e5e409c189420405734e73fe2458fce56f4d7b56303957c450bd42d
DIST pgpool-II-3.7.10.tar.gz 3375419 BLAKE2B 96d589e9a3eff631bd4bffdcf321b3b532e5f0985dd4a5948fabc3228400305dc98fbf17ba64e162ecbaecca400e1bb3cad6fc954b2d624292f6f22deb48a789 SHA512 a89c392e336f5dd608c6876011f996fa1e4d7cb4b0eef31c24b2338ac287b72b73948e82429715d38fd9a7a6598f56828192722a2a8ee0d473738b804c4a2a48
DIST pgpool-II-4.0.5.tar.gz 3768842 BLAKE2B 2756d23db950a037a9203aae41293535de25d11bf9860f509040bf5b483ae5fb9e651c8189ee5f0a9398a45d20d2c54566769945e38c52361c160a1162a8e3af SHA512 897df553dba3a1800adae5d22ed4f4fe210a3013fb533730837591244877eeaf0e4090d1a0c65e189b71798b5c303ea22e2198f6317b54f74f10ba48fa2188c6
-EBUILD pgpool2-3.7.10.ebuild 2640 BLAKE2B 706f1648357185590654e6c8ed30a0660e811f716ac66c6e210c986246a0e7d69c6ccad29e70c3eb89729dc06b3452009ad888eae1f89d53ed50ec2b02befb5a SHA512 22b822a9bb249d3370eeed47d7dd14ee8c073a1ebfe80a47fc4b59137d5339119843f5623b8882bb6ce53b19813dad271639b3b6ff10656b1f70cdba36e36c81
-EBUILD pgpool2-4.0.5.ebuild 2646 BLAKE2B 5baae984a5bbe47e9866f29da69c95d955c71fdb42ec140bff2d0c7736285526279654547af311dcbd07ac439d390e5d91c0e1225ea3c4ad18d097afb03dfbda SHA512 1cfed6e9f01955d0580845d63172a571ade0fa254302aac8ad376c59374228c83290f302861d8553341bb5c88bd4171916d386c51b055c2acab947deafd7303f
-EBUILD pgpool2-9999.ebuild 2723 BLAKE2B 4c593cebf5c8f46ffe83697d500b3bb0151c27a58c1aff005f4668d88ddb35d41ce2b18078cff1bd90b6ea4b2b1010ef40ea313f20595d5e1def107b2bae9cf7 SHA512 5a90ab19128765d850037360b7595338364875a4b17e18d91fff167371a3cf8b0439706388fcbc9a89f54909b5dc4d46129e326acabb1e8dbea488b9b452b5ef
+EBUILD pgpool2-3.7.10.ebuild 2640 BLAKE2B 34a3a8a7a0c24f8bd357fc2929f4ea565be60c8c0cf22b3f30cbe94ae46f22d9fd2a8911f93fb5d0df483cae30cc3c658a28c5cea8c3e21fcdc54938bc195ae3 SHA512 af618abfbb7f5a11e8b83e6ff0b5a6c52f424edcdc44211dda557973b09fe67cee5a6a6494dabd8783333981e2ab30410c2a20486489108d51b1a2444c4502e2
+EBUILD pgpool2-4.0.5.ebuild 2646 BLAKE2B ec1fb6883162ddf238c4b8c812d234ee190cbd72030c0157cff601fdadeb60756bcb0a3547b7bd356f51b96a6f8cb0a7ece67e8bb3e803127b3f861d35878993 SHA512 992a4c52dc6eb33c7125ce073b79aefc9baafb9eb0bf4d9dec2ad2ea10f48267138649309e68acf1291dd3f084d93e6455d28c124cf1deea4061520e3ca0664c
+EBUILD pgpool2-9999.ebuild 2723 BLAKE2B 78d14708c61e3f5f8a36d1c8822c7c3fa59eb4dc2a86c118ac73fa2b99859c54f46488d9775ca5bb3fb2a7e83bf745ac1c5e282a9718d6d8ec93f13344eaabda SHA512 731de61fccb5b793c9a451359cbb3f8b730eea5b69525a02ada0f2772b2bbb3c64e7714d51a00c2b27add38ece48b30dc24060971a6f0b3ca321038d150429d9
MISC metadata.xml 390 BLAKE2B d6a0560051449e95bb43e81589eee966a477a75d7ec8211ae96b15f2d51ce9555181b8640d9d830f2b42f8159989e9126423c6ccbbc2bf2dd8121f4920a87a16 SHA512 ce26ee116c3c7ff77a771294ed07f38d8f940dc380915c339eb4c543d86fa5bde025ba83e70af2b7bf4a1bef1e51957f151131836855e0dae2e1daed73ffae8d
diff --git a/dev-db/pgpool2/pgpool2-3.7.10.ebuild b/dev-db/pgpool2/pgpool2-3.7.10.ebuild
index b4e21052dd4e..888fe8b89df6 100644
--- a/dev-db/pgpool2/pgpool2-3.7.10.ebuild
+++ b/dev-db/pgpool2/pgpool2-3.7.10.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} 10 )
+POSTGRES_COMPAT=( 9.{5..6} 10 )
inherit autotools postgres-multi
diff --git a/dev-db/pgpool2/pgpool2-4.0.5.ebuild b/dev-db/pgpool2/pgpool2-4.0.5.ebuild
index 8934e8bcb858..fa0a7f045690 100644
--- a/dev-db/pgpool2/pgpool2-4.0.5.ebuild
+++ b/dev-db/pgpool2/pgpool2-4.0.5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} {10..11} )
+POSTGRES_COMPAT=( 9.{5..6} {10..11} )
inherit autotools postgres-multi
diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild
index 1e3475f6c7e6..042e87ed4a92 100644
--- a/dev-db/pgpool2/pgpool2-9999.ebuild
+++ b/dev-db/pgpool2/pgpool2-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGIT_REPO_URI="https://git.postgresql.org/git/pgpool2.git"
-POSTGRES_COMPAT=( 9.{4..6} {10..11} )
+POSTGRES_COMPAT=( 9.{5..6} {10..11} )
inherit autotools git-r3 postgres-multi
diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest
index b6896078ad15..79c75c7489c2 100644
--- a/dev-db/pgrouting/Manifest
+++ b/dev-db/pgrouting/Manifest
@@ -1,3 +1,3 @@
DIST pgrouting-2.6.2.tar.gz 6065517 BLAKE2B e27e28cf988040de1e894a857e3d210bc7676271f69d898afc2d6116d5b88d87404723b2cb1283ef77b4449b4aa62a03e2dbcd489ac641a4721a596d29f8fecd SHA512 6e37f66e631d0cc87e135be7d095822aae21656bb56b3d18afa5bececaad8cee6324d37e8e152bbf69e3374ded1f10aa4b9a4c52b873e3a4c43e73cd877fddcb
-EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B 0f0494dd66f0bd712f5994f57b401daa883b6bb1b190797102d6c0ec5a91b9de0ebdef3e3ae3b29f4ba786ad8541afe5bf766004dc8b4fb119fcbc20e2f94fa3 SHA512 f6d1667a40d3d8c169b9b974cb48d23026a399e7c6609f7996dfa4d1b808d8d6649886134c8a8c7e67690d8c339ef784a63a91a4bc9c664f1e6631a5f0ae8f59
+EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B d1f10f219e584e2167fbb3351cc35424fb35f10def7e7ba115aa4bec54c259f43e771e47f52d7fddf19c838117d0d265252d4886599ec401020287f590223d35 SHA512 6087d2e8e20c815defe78c440d5ba58e30de353e8ee0722b7347bff79c32ae7abc1d46d48b95c32c0b28db55043f198609217053012134dbfe27b1e879c06eb4
MISC metadata.xml 457 BLAKE2B d2432768e9244c7648720e1569195498ffa3bda4f862a5b5a2edbbd4383d3ca0ab83063c1004680ea6eb662d74f13c2ec4991baa25365ae9ae8f513b93c973b1 SHA512 bbfc5eec69256ba3addfe5c3158b11b4561b347682474ac2f5ac4cb3be8ca30df130957c751f09d761d3a3d8ad62cf3e59193414a31a9b46d793084285c9406d
diff --git a/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild b/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild
index fb64a94eecbf..00807308c211 100644
--- a/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild
+++ b/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} 10 11 )
+POSTGRES_COMPAT=( 9.{5..6} 10 11 )
POSTGRES_USEDEP="server"
inherit postgres cmake-utils
diff --git a/dev-db/pgtap/Manifest b/dev-db/pgtap/Manifest
index 6603fadbe42b..86b020d7ad41 100644
--- a/dev-db/pgtap/Manifest
+++ b/dev-db/pgtap/Manifest
@@ -1,3 +1,3 @@
DIST pgtap-0.99.0.zip 275915 BLAKE2B 33499dacc0019ecbe85ff3dc4fcc243b6102e0b7e7018d70b17cda44b8d22d8260229ab732db9900296232e0801070722bf97a752734ea7d389dc8ae57198b6f SHA512 c1b39bf2c041d759006d692229a67af1520b6a3d23fdac43f0781cac9ce69e7714fc854d1e45f1cb3ee188a20dccfb7904bc4dd1513699189fae70f425c13b5f
-EBUILD pgtap-0.99.0.ebuild 589 BLAKE2B 20b17f6bf809dc3a7cf6e247038ce55a4ff21930180d6cd962321d2772ebb956cf51bac6dcf65b60faabd0d7b0bec7053ee7b31820adfcfa34bc6ccfb796d977 SHA512 8391a114028dfe412150d5721409bb253489256adf2d10a34266ca9ed899f1080891d7b67bad8819bb3e07ce00a6e263db34d484d2369cea8e4552cddb8eb27b
+EBUILD pgtap-0.99.0.ebuild 589 BLAKE2B 9c9a64f61ba3c47eafe05eba813cda3dd2c73e4d192096d89bb075c2bcaf85b7fa7324cd8054503adefc9abc257c31a3246423a6e6f1ab708640099eef88e5a5 SHA512 79319d9dbd3c9dc9cac54fb55f0e087b91fde987fdc844f4ea0ab5adad2cacf433b504aedef0c79bfc05ebcb2675885f619f33453d01eaffc48cb993672c2501
MISC metadata.xml 628 BLAKE2B 8a671273bb0de6f11d5ea56a3bf38e9eee05c0a70ff8cefe183f0eb798afbead29e96d5a45f764e2afc437cc97d91590e648c6716a8dd8fa7a6cc9f072332e0c SHA512 1c06c14ea5af9248950e6c10ab877b0725c4885082211db94b8a195fdf0dd115dc584a325655b7155895ec4382008e03511aa238d43179310fbe3dc835f5270a
diff --git a/dev-db/pgtap/pgtap-0.99.0.ebuild b/dev-db/pgtap/pgtap-0.99.0.ebuild
index 1a16121aa4af..4e6f68067a89 100644
--- a/dev-db/pgtap/pgtap-0.99.0.ebuild
+++ b/dev-db/pgtap/pgtap-0.99.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} {10..11} )
+POSTGRES_COMPAT=( 9.{5..6} {10..11} )
inherit postgres-multi
diff --git a/dev-db/phppgadmin/Manifest b/dev-db/phppgadmin/Manifest
new file mode 100644
index 000000000000..e08cb6609b67
--- /dev/null
+++ b/dev-db/phppgadmin/Manifest
@@ -0,0 +1,4 @@
+AUX postinstall-en.txt 162 BLAKE2B d08f1f1064e8f268fe92ee622d0b5a756e20d80a6376abf1bfc7e8bb88c90d7b3c1b7c3c3291d3189791cca9766feb05b9831ddcba2e84f69e295f7048d440e7 SHA512 3aa9e4b58ffd97cc9bc990e0ca8444e8be012fb56859b28705e7ed3d5ffae74bcfab19c55e415785c9f09fabcc20ea5a493ee2f03fb380a351c02fe958231bd8
+DIST phpPgAdmin-7.12.1.tar.bz2 579723 BLAKE2B 58d4992424fb6c9bf8565843c6d76ceecb68212cc311d15d43303fd6b63fe2a611ce146761b8f6b8f992798060d065a0b0e528aed5df217a3078cef9e56c49da SHA512 d64b4796c5acad990ef81b12ebd377474d04c1a65adc41a91a2d278bb975812389bb6eae23490de3f5ce09502d36adea3cacfdec0e868c6a0e0bcb639b8a94db
+EBUILD phppgadmin-7.12.1.ebuild 904 BLAKE2B 5edf5c459e40fee4acad3bf7f07a58e9dc48619696e7d9d639ea87ba69df3c50d510239e8b7e6350c148de88255f7f15d8e94edecc17462a96b584a398bc800f SHA512 e29a5deb56a2825f16547ccb8b1d086cb6b3ec7ae037a8a994e92acc488a7da56db5698f816933f24ca0dcc17099a0c9387cd44ba458b70b94674efd4d9b9cf8
+MISC metadata.xml 327 BLAKE2B 3dae61a226e7d8c513f4a6675fec1f61489750f2ad21c0d36600fe6e08b4dabf990182bb74a01176e55b4a4b4fe429b7c7830c17bb574e0daf5788f81504ba59 SHA512 ef827397746f3666035223238cf33a7a92bce8addaab1958e94e85f0c4f64ec396db0498264928e717210fb9711c15b059c203cd05e412bbaf3c2b9abb914e28
diff --git a/dev-db/phppgadmin/files/postinstall-en.txt b/dev-db/phppgadmin/files/postinstall-en.txt
new file mode 100644
index 000000000000..003fe5003bbd
--- /dev/null
+++ b/dev-db/phppgadmin/files/postinstall-en.txt
@@ -0,0 +1,4 @@
+Make sure you edit ${MY_INSTALLDIR}/conf/config.inc.php
+
+To use the reports database, you have to manually execute
+psql -f ${MY_INSTALLDIR}/sql/reports-pgsql.sql
diff --git a/dev-db/phppgadmin/metadata.xml b/dev-db/phppgadmin/metadata.xml
new file mode 100644
index 000000000000..8390195bb165
--- /dev/null
+++ b/dev-db/phppgadmin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">phppgadmin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild b/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild
new file mode 100644
index 000000000000..e0ec4521ab80
--- /dev/null
+++ b/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit webapp
+
+MY_P="phpPgAdmin-${PV}"
+
+DESCRIPTION="Web-based administration for Postgres database in php"
+HOMEPAGE="http://phppgadmin.sourceforge.net/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/REL_$(ver_rs 1- -)/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-lang/php[postgres,session]"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ webapp_src_preinst
+
+ local doc
+ local docs="CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS"
+ dodoc ${docs}
+ mv conf/config.inc.php-dist conf/config.inc.php
+
+ cp -r * "${D}"${MY_HTDOCSDIR}
+ for doc in ${docs} INSTALL LICENSE; do
+ rm -f "${D}"${MY_HTDOCSDIR}/${doc}
+ done
+
+ webapp_configfile ${MY_HTDOCSDIR}/conf/config.inc.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_src_install
+}
diff --git a/dev-db/plr/Manifest b/dev-db/plr/Manifest
index 4051b74f01cf..0b3498e52ab4 100644
--- a/dev-db/plr/Manifest
+++ b/dev-db/plr/Manifest
@@ -1,3 +1,3 @@
DIST plr-8.3.0.17.tar.gz 74017 BLAKE2B 314b4cfa2c3ca8ed31e80a72233a6dc8cdb9f3811dad6e9f3eb5147c17cdf5a039436598b0fc2b30c6702b02dd3cb2da33543764aee3199c6864aae22be875ce SHA512 d7080c62349d1dcdd17008a7be3643b54678e0f66bf721068df73057394496d025c4fe01e52945c3acf9cc21eb90241512667772ef3fe519a3c9081efe92dd40
-EBUILD plr-8.3.0.17.ebuild 1700 BLAKE2B eba66d47b01119e81c551b61113b8d86b70a899737147c5c5b8d7bdb27b4c0e42112447d3c2fcdb352676a62abc481de2fb5de83714d04a177c1f3e0c72edd2c SHA512 8e83a07a85a7c8ae3d3ed34578c147b639ff7a5b9e86d9e55336e3b7d752666fd00ed36321c043f8e7ec47ad143db4ac362640fb62bb5e02283be80b38794bf9
+EBUILD plr-8.3.0.17.ebuild 1700 BLAKE2B 441f233545359ab8d171834c88564883acdb1470ffc88e01c8b617cded8af24b2dbce943a23ae4ab7275908f809b805773915e96c9788b1be71ccf9fd65cb07f SHA512 deb87ada7c10d6fd263f0a1261e31444c1034dcfd603ad3ef1287f1f5fb30c040953d64de5ba0a58ef7c7036b38923cfb4beb94518a25e5e363a6dc2bed87563
MISC metadata.xml 800 BLAKE2B b12bbd609b12d63306bdc9af15f788d91847ae4a8960b26f92d1d8ca000291a047424f2632d22798855a1b61cad2a9d46095f214ba9f7c41616c5a90ee4dddbf SHA512 23728ed4ec8bd27a2ccf2081f4b0ddd2d8ecf47fd9c44f999406c8f3bd7c2f86545dbf837c99dc0e9ef9100b2028a9ae3f10a6d60a21bafbbc7231c445a9c85a
diff --git a/dev-db/plr/plr-8.3.0.17.ebuild b/dev-db/plr/plr-8.3.0.17.ebuild
index e6b36b80a867..01de417db497 100644
--- a/dev-db/plr/plr-8.3.0.17.ebuild
+++ b/dev-db/plr/plr-8.3.0.17.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} 10 )
+POSTGRES_COMPAT=( 9.{5..6} 10 )
POSTGRES_USEDEP="server"
inherit postgres-multi
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index 46ab02004cb3..23469e7de30a 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -1,7 +1,15 @@
AUX postgis-2.2.0-arflags.patch 535 BLAKE2B 6420573e9623d4e2115ed3616bc3b8648ae7782bf4624ee60d3827a4d61cbdac1dc62b4937f36113ed6d0856af4728f5cc1b544d502512e88dd87a7b590135ab SHA512 7f8b92a582dd11b3040832278b75e65036315ca0e438cb9b19cc5b63a7b5c5bcae8ec274a487a29abadfbbc31cdfacf6c668e46f249d4bf88c09607501cacf66
DIST postgis-2.5.3.tar.gz 16424752 BLAKE2B 94c2ccd41eb88a39c6db48ad7f4d142742a1b0791e3abe57adb2c778406dcc8286afc6d55c80067e0b94a1300eff1c76a227d3cfd813e12541c715edeea11a9b SHA512 1c9f873ba8f8ff4aeae248c68c001eb4174416de1e00ce6a0d0c9ea129b475e887a83235027068d52f587ab95c549adbfaa7e5dccdda77855e39c55dac0fdc2d
+DIST postgis-2.5.4.tar.gz 15882033 BLAKE2B 317e6f3857dce8b1c054b5cdb6c6b215b015b89266aeaa0187803b9355cdc3cbb62be89f36ffe29e2fcbc1e7b693a7f88fb23b5c172fcefea376f6afea3c064d SHA512 767c146245ae11545ce4e0764f9bd313cfdf2eed78c485c5aa5530517edb8e433bcdbaffcf4d92b0c0f3c997de9831b5e3beed7638fc3bc773f264b45e5d8ab4
+DIST postgis-2.5.5.tar.gz 15936193 BLAKE2B df5d0e51bb5042a72ecd070273c4a87738b2ba482993d39948137c8ba2da0a47845393023a6b4e45f01a91d37ef8fc9f89302203c639fb32b4451cb905fd08b3 SHA512 407c9ddf5b73aaa8d36ec606f974b86c16c9ed4aafbfd4a0b7f96cfc7a9f8a8fa38528cb4787bdd50de479416dbfb09934a85d189463cec549da66863060292e
DIST postgis-3.0.0.tar.gz 17359802 BLAKE2B aa83bdc2d1950c517f99cbdd877eb7261f6c29ce2cbd9f67f1e606c290080fc3d02ab0b7ceb68ce852e0c0d3d4b7753f03cb5b0921da164ab65d68e23d1df538 SHA512 82c233681fa6444686f9979768e5d6d3a9b6ca9cbd4fc2b14bd0a5d1269a8d0f45ee067e64984077063407c7abc13fa0e37a29928d7ccbfe3a61b694f592bed2
-EBUILD postgis-2.5.3-r1.ebuild 3173 BLAKE2B 2ee5f83da6a5ef3719df540516dcc4ba0cd487d1e84836e6857123864ad01ab558963fa9d0d9d20151183ed3abb5c73ce3fa0759731e3f5d49ae2b016381f2a7 SHA512 ec758fb314c0613442fe189bb8bdbc47589b92efdc0dc4a4a3fa23b02b7de455f05c8f9a46ee62d7690f38786b56ec25ea95e20a077b862c8942ff21ef603c88
+DIST postgis-3.0.1.tar.gz 16839923 BLAKE2B 6888fa49562ab71929e92007de305fd6610c74988faaf08fbeabbf1d13029ebbb5da788826dc63d03ae5c873fbe408ae6c0f108b2975755d2b13bc69bed53558 SHA512 5ebce2303d672bb342f7fae6cade08140c8a687fc38e82e5b41eebb8465cdf3dc7bdbeae53b1179df8112a01842dd65f362fc107b381e2a1fa6e161b77a50227
+DIST postgis-3.0.2.tar.gz 16855299 BLAKE2B 99ee872abf52651ab53e4dd6203d99d428d366f60b949fabcae938980f5c17809872e9b23f7ab1f3480a60242e735c926e54122492e1b8966ed8c748eb7c4fe6 SHA512 763d7818d195eca0b07d94a864b13da68e5734ae57b7c93c285dc2d0fa4a155715745e5da67e1a3bca49d8d4f89dc495ed3912c079722290ce9f220afca33f4d
+EBUILD postgis-2.5.3-r1.ebuild 3173 BLAKE2B b2fa30ecc6cefbd80e56ae55a991484fbb5a114a797d739bafe23467f23be7c76e19f4b307837b517af0e9385630030e1624c42415b59ec62711460b6d70143d SHA512 b3cc79b9b259836bed713d658c1dc0a7c4de95ded55210898329876b4296d9116321bc96637e89c90e2e7c98ddb9cf5151076d3ef66ad62aabd10724b3638eee
+EBUILD postgis-2.5.4.ebuild 3195 BLAKE2B 55cbf1823a6c2f04a1ee11b5e9506db868ee2f1a4ef47ce703b9effef47c476ae2ff1f28ad436ec4aa80675259b327fb007fcb8744fb12421cff6ca157c2c5b1 SHA512 28f1e5c505992c3ddc7fa7947e4e699672a46acde36363bb76abc4ec1b3f3add7028878767877aa541fc4fcb36bfac80928c57865cfdf5f4e1b5237c55e71d9d
+EBUILD postgis-2.5.5.ebuild 3195 BLAKE2B 55cbf1823a6c2f04a1ee11b5e9506db868ee2f1a4ef47ce703b9effef47c476ae2ff1f28ad436ec4aa80675259b327fb007fcb8744fb12421cff6ca157c2c5b1 SHA512 28f1e5c505992c3ddc7fa7947e4e699672a46acde36363bb76abc4ec1b3f3add7028878767877aa541fc4fcb36bfac80928c57865cfdf5f4e1b5237c55e71d9d
EBUILD postgis-3.0.0-r1.ebuild 3201 BLAKE2B 099dcddb6188239cd7738cb265e73e5b218265aec531e957b5db791149a5c8e3c3bd425b3a169fafdd451028ba29b21cdfa3031bad8f6b78958f1131ae2958b1 SHA512 0b343e8a7e6afdd0bc5d999a44f1f117eac7191360af83c535dd476408a4661aff61da697e0d48098e4e7403821402405a43e81ff2df5afa2d5163c2d0361e63
+EBUILD postgis-3.0.1.ebuild 3191 BLAKE2B 90839e4df5c915d0450e9e7943bd6a87dcf48c27760d3ebac75a826720099b2e0e0044dfbe932225aba8e80abc3b5211173709252d6779e75bbd80507204e7f5 SHA512 4680c28c2f38b9a1c812121ce8fe9df171042bb19bc790abf92a9d0401ad7c58c4118721d6a0cd345d22d33332ebc0d72941fc7bd825e5781382e957d2ce90ec
+EBUILD postgis-3.0.2.ebuild 3191 BLAKE2B 6c97ff25a22159ab9bda13f8014aa626a650bede7a4bc9a649c9c21f086f2d1f4b0f936f8e38c3025c75dab236fea876eff86a230173d7f8683a952b0ca64c4d SHA512 7f8dd7a7b0e14700d02061e13cdec5b5028606e3000743946a2f9e8936cde51990d41fd655d80ffd6604642451a7db29525c161a4da191b003dde7cf17e70f84
EBUILD postgis-9999.ebuild 3201 BLAKE2B 099dcddb6188239cd7738cb265e73e5b218265aec531e957b5db791149a5c8e3c3bd425b3a169fafdd451028ba29b21cdfa3031bad8f6b78958f1131ae2958b1 SHA512 0b343e8a7e6afdd0bc5d999a44f1f117eac7191360af83c535dd476408a4661aff61da697e0d48098e4e7403821402405a43e81ff2df5afa2d5163c2d0361e63
MISC metadata.xml 779 BLAKE2B 9dfbc86514c5f6e0c859dc41a46890e4f518f23c572786bf340112eadf21b35f5f583a3835f6ba58bef8c99a7ef8483f3a98898d372d1c0e5cc537bb9ecc2b12 SHA512 33ad2ddabf49e97af2cf188f2c0f72e1a936c228b43d8d3637230c43be0df82ec2aa20b63cb5f2385e936c215263fcd009332afe504bc5f30746a387b9b37ada
diff --git a/dev-db/postgis/postgis-2.5.3-r1.ebuild b/dev-db/postgis/postgis-2.5.3-r1.ebuild
index 13a85904de82..540d66ffadb5 100644
--- a/dev-db/postgis/postgis-2.5.3-r1.ebuild
+++ b/dev-db/postgis/postgis-2.5.3-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-POSTGRES_COMPAT=( 9.{4..6} {10..12} )
+POSTGRES_COMPAT=( 9.{5..6} {10..12} )
POSTGRES_USEDEP="server"
inherit autotools eapi7-ver postgres-multi
diff --git a/dev-db/postgis/postgis-2.5.4.ebuild b/dev-db/postgis/postgis-2.5.4.ebuild
new file mode 100644
index 000000000000..1cdbc058b8d9
--- /dev/null
+++ b/dev-db/postgis/postgis-2.5.4.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.{5..6} {10..12} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk mapbox static-libs test topology"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c
+ >=sci-libs/geos-3.5.0
+ >=sci-libs/proj-4.6.0:=
+ >=sci-libs/gdal-1.10.0
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+ mapbox? ( dev-libs/protobuf-c:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+ test? ( dev-util/cunit )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-protobuf
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with mapbox)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-2.5.5.ebuild b/dev-db/postgis/postgis-2.5.5.ebuild
new file mode 100644
index 000000000000..1cdbc058b8d9
--- /dev/null
+++ b/dev-db/postgis/postgis-2.5.5.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.{5..6} {10..12} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk mapbox static-libs test topology"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c
+ >=sci-libs/geos-3.5.0
+ >=sci-libs/proj-4.6.0:=
+ >=sci-libs/gdal-1.10.0
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+ mapbox? ( dev-libs/protobuf-c:= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+ test? ( dev-util/cunit )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-protobuf
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with mapbox)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.0.1.ebuild b/dev-db/postgis/postgis-3.0.1.ebuild
new file mode 100644
index 000000000000..b272f3d2031a
--- /dev/null
+++ b/dev-db/postgis/postgis-3.0.1.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.{5..6} {10..12} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs test topology"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.6.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+ test? ( dev-util/cunit )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-protobuf # funky misdetection if enabled but --without-protobuf
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-3.0.2.ebuild b/dev-db/postgis/postgis-3.0.2.ebuild
new file mode 100644
index 000000000000..3e05e061edf1
--- /dev/null
+++ b/dev-db/postgis/postgis-3.0.2.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.{5..6} {10..13} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git"
+else
+ PGIS="$(ver_cut 1-2)"
+ SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs test topology"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ dev-libs/protobuf-c:=
+ >=sci-libs/geos-3.6.0
+ >=sci-libs/proj-4.9.0:=
+ >=sci-libs/gdal-1.10.0:=
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ virtual/imagemagick-tools[png]
+ )
+ test? ( dev-util/cunit )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} = *9999* ]] ; then
+ source "${S}"/Version.config
+ PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+ fi
+
+ # These modules are built using the same *FLAGS that were used to build
+ # dev-db/postgresql. The right thing to do is to ignore the current
+ # *FLAGS settings.
+ QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-protobuf # funky misdetection if enabled but --without-protobuf
+ $(use_with address-standardizer)
+ $(use_with gtk gui)
+ $(use_with topology)
+ )
+ postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ local base_uri="https://postgis.net/docs/manual-"
+ if [[ ${PV} = *9999* ]] ; then
+ base_uri+="dev"
+ else
+ base_uri+="${PGIS}"
+ fi
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 1a1e414f3717..b141f2fca048 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,7 +1,7 @@
AUX postgresql-10.2-no-server.patch 3117 BLAKE2B 399e295e393aa84aeaefbe236bf63e091414c9f3d9238ef8f4af3ec955cc0ded6324f4241ee4e78ee1aa775524768f65b15d5064cf4330f5b3149bed2e13aad3 SHA512 1888985a0fa67241b18d3c21c1ededc34666c55f6f4f3806efbe4dcb5a2e30d6d08c955a3bbcc52f589bc5bb857d1c09bd82b555069637a71afe9062994199fd
AUX postgresql-11_beta1-no-server.patch 3080 BLAKE2B 29d4f5d8e26e9360490876d2d51cb29cc340128fe77c0bd76248073157c9e5be09c788cc4344e09c0c2bf2f57e274d5f31f211d1950ee3f47660dfdc4cb7b455 SHA512 42c39e602a019d1d44c39795904fb37a7f14b4623fa90b066f4f26a743d80b6eeaef2e8c7de4c47dddf53d7e89cbe5a2a3473b456ddc76fc0e96f57ff6a9df69
AUX postgresql-12.1-no-server.patch 2965 BLAKE2B 168f39c02f0614c57a60c0ce3bb540e0d29dc407c569661d0cd29ddb57657bfada44aa90ca915c8474ca5541ac1f4cc152fbd70c105efcbe83f9e5b9f918eeb5 SHA512 5e025da1cb5f696821b19093ab893667426a08b1bbc8e3f748d34207730026625b61a8cfd2596af124080a4a292363546dce5b703ce6164efceceabc6b170aa2
-AUX postgresql-9.4.10-no-server.patch 3868 BLAKE2B 060385a4bcd9cd558fffed1caafddcd5784c8c08138ca30b709e9949395f8c546c5db6a8fbdd4d268b34d03996642339ffd00cef6f66633c2234c658a38e0625 SHA512 129b631e5a1d5f198041b07d00ff3c4880342ee08c1db5da59d4d514a959381788bd152857b60c66dd93d9f790f55b5d950fa3b7bd08c13cb105860f3b35bb53
+AUX postgresql-13_beta1-no-server.patch 3787 BLAKE2B 35a01d479262cf21699043d65bb0d71539198ca30e8a627fc134183fa57ac6e1cc3856848bbbe9916a99569c79f4af1e2b6ed50b3d029bdb8f58d050e08552d3 SHA512 2fbd07eb865bac3e9381a0b851f7c92c1c08c2e6521a02a42cc7435bccdce70823eb752afc67aa221b804ff4baee1a2fd5a2762a6b82b14a6f77ef739233bca1
AUX postgresql-9.5.5-no-server.patch 3870 BLAKE2B eaf8f510c5dcfb9e9575eed98a1697022bd2510cd700336d74219fd486b9c9b718d8f1abd124be6d34f4363f3393d9884546ca6502fd61fd55e7b6deda273202 SHA512 0ec80d0b18d77f40584747ad96081a990135066133d43efb7c272ebddf32e9cb8224d3dd277ac417bd1260f550a4e6fca1d8e1a23f478409d750e5f76f85053c
AUX postgresql-9.6.3-no-server.patch 3067 BLAKE2B 49822723f1e90b05b56bd4714a2480b366a1fad8d6db23cd2e99ad74eb389310077e12580c312a8ccefe0058218e8354a8665e82bcb7b27be6f744433425b0ec SHA512 314f5cea74dde55d054b43cf890dbbd216b65843f2a863a32cf8ba9fdaead1f74ad01905b7f93d2996068addd8705ff2119e1efc709cf84c18f6685937e969bc
AUX postgresql-check-db-dir 1013 BLAKE2B 2be45942d0442822113879708c11dfde267938b6e7118bd225f567ca9fdacb11082792eabcb40b8a39cd6017fdedb18100576fea0895dae2dcda83c2d51de34d SHA512 2f34ee0cb6a889500ccfca7621ada6ee1bb06dc146f3c556938152dd3d7c0312266bb4db5f4099838d93ade26e2b8866dfddb3576cb5a737431ea2befd0cec6f
@@ -12,27 +12,37 @@ AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4
AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8
DIST postgresql-10.12.tar.bz2 19020488 BLAKE2B 2177e9b63e21a634e1d8ea060b5bd0a7360d81ece64f50dd614e6cdd6b0cf0dcbd3896ef2c11bd1431ce7a964ac8876d24f368d7f7eb309e3d432856d7546f2a SHA512 6accc66cbbae811509095c33e8a8d17ddd11d9e307267312e3d09df90469db4700a5806166d66f25d77769d3ef88653c98dfc7d05dd053f10434b03e0a9e33b7
DIST postgresql-10.13.tar.bz2 19028339 BLAKE2B 8adb1be902863778ca6a0396f1bc3ffa3e69b9e27bd830523472f4895e225831ba98716c07dc3f8dcab68623d434fc3d2d7b71f753f4105c69ecb05365c94789 SHA512 7b268aa4476ed9b168814891e8b19d182683ab4994d4a9b30e75eec93ffd9c860f8a0979ba1b7408acf8e217437b5cc20037b6ebf6ef01e9cf5ee99f091c8c92
+DIST postgresql-10.14.tar.bz2 19042154 BLAKE2B addddf00179190780bd30ed97cf6881670d18fda77062cdb5dc7cc161c64c3d5522db288902d0612db30fc6fcc1b619c7a102887ed438e27739e936bf5659425 SHA512 eecd2aa8df7e4779606ec547b7bf0207ebb2be10a4b332f06c3b72116f0619fe27fb651f2fd4504c73b740ab7f92468919244a615d460bb9c35085174a0dbc78
DIST postgresql-11.7.tar.bz2 19890063 BLAKE2B 461c372567ff0b4ff4da52889be5d2822b56889e4890b33c9a71f1105ad629b4f5bec95c4fbf5aebbdd4445e0ff451a7d8df04ae7b5bf7cf0075c3226a41b19b SHA512 32c7ace228f9895241ce0d925fbfc60c0cd39f4cd35368fb10dc7db046151ffd59a9895b4c30a529627f0103051e84b4992ed60312cccd292489f3037076ca1e
DIST postgresql-11.8.tar.bz2 19922770 BLAKE2B a646b585bbafc95957fa60c7d119c02b69b727759d2189588508f8a690dc97a0ed1429a3379bc6fd48fb22ee92f3d811dedbf8aa43271361f9b7ac2c8d42a31b SHA512 fc3d0ebd224de60bda3fa71b6832958698238e9088cf46a80c376b8996cc3b2d017fde5dce1c1da1e5e6e23b78054aafad7ee1caa744bfb12c52317ccc8a1922
+DIST postgresql-11.9.tar.bz2 19959019 BLAKE2B 655d1c9e6eebde19402a4c220ee674c589641c5b6f4e6298c8c06d3330069178952455f5af58f90b9af196ba9c8fd03db0ccd70b8bc49335e465f0ed537eaf59 SHA512 2c5c2f51aa01f02af4aa0849441767383e30fef69dd52efa442892f39d2456bfa8bf01f633a265e00eca0745e792609d2c1d33f77d8f29a02f5f374c84f2bf6e
DIST postgresql-12.2.tar.bz2 20363545 BLAKE2B 7b0cfe841d46b117ff5dd793be5537e916f92255eb0d000681ed62c497eef34c5d1261126be408f2b7f95274485e2787869cd4063461ab248b650c168b62548d SHA512 0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee
DIST postgresql-12.3.tar.bz2 20439892 BLAKE2B f7a44725f235c55a2849acd444de3a9c932314e2ae8c68d7f8e827439263b052bdf0fd5b6cdaa8197c4ce9ad1d4fbb02b5ec1af030365363993a36d8d95a4231 SHA512 68e2d244ae2a9f2138d7569bcadc1cf6f62a410fa56ad1d4ac53206f2adefabb5ae136110b41ca9246df0f8b8cb039918997e0f8a81fc7e6efb7ad10b3a59ba1
-DIST postgresql-13beta1.tar.bz2 21361108 BLAKE2B be5e41d49159ec5932ce958aab3b015b33ce02ef56abf47930754219e220672770785f6eed7966cd57fa9f3fd0d4527f5cb2813a4221443b56d70b7db7178b31 SHA512 8d8c13d7abf2127b0b0c04f080303906e8b0829d390530b308cbfa26e07cd2443a32281ef218a147499de5abe1fde8ab8818f581c68bf550cae1fbd235f46b80
-DIST postgresql-9.4.26.tar.bz2 16871195 BLAKE2B f26fd335293669a815a51ceb994b66e154c66f96f91e4c68d7df3490ad25f4b0366ebf7bfe2b209ff34965ea27a08562ace050f40d49cec94eb576d7a1becd1c SHA512 7d379d139c7b2bdac1df38743cbb46a1790a8d5174e8cf1141b7b4febcbc8f612e347bf4d355684eef24dfc73bb2796f85fc532908f26ba7195c685f198cbb72
+DIST postgresql-12.4.tar.bz2 20669776 BLAKE2B fb3f865a8a5e5280e7cc5da43f8658029170cd15dae8cc5fb1e741a122ea1f13418ac7743ec417ab4436976bc0ce12753fc8a301200143c975e8739d59816fa7 SHA512 36daf10878ca153370829178786dd6ee366ab4d4d6dc9c527536740fdb14b688ae4c33f850eb4243a7667d23f87e4bfd1ddee0755447ad4f3996e423e391c2f3
+DIST postgresql-13beta2.tar.bz2 21365208 BLAKE2B db223d769e378af40a41d1bfa8aa2f05a31b325c80e375aad6ee6e30c35f8e3dadc7865ff1b19c685032c1714da34aa2630c4ac190ee5450734ff436575131b2 SHA512 7307b26422e78d3ebf4fead25a8ba7de181406490a5d354decb0324fc2d9216de94cfc19fc4eaba7eef51153f159606fc40d8650eb57131cdbc8e6948299e40f
+DIST postgresql-13beta3.tar.bz2 21411847 BLAKE2B 6195e246f683c0da8b7fc8bb185474cfec9d556897f8a9f9ebf6138a644760c2e74fd9981de236280879bd78f9aba25c765ed065c84b7789b8ff0776fe9532ae SHA512 62804ab44dbfaad8f3d498eacc687620077023d4ce27fe817185a85ebea3aa55f673f2d83eb5477efbe980e3c536f328369c906b4ba71fc0702393bffb6fe2c0
DIST postgresql-9.5.21.tar.bz2 17640928 BLAKE2B 8ffcf0befc331317a32d63d3cdfe44f7743f72f18b4bc46bee5ee80f8c489b4b1ef26abc8219f277acc922657fc21e3dc31f3fc9838621f44d95cc9405fca43b SHA512 8527356ee3b4f151c832aef50a8b96e923e0a6c77e5fe6ad597f50527f9d084a8feab7bede8fdbe29aab44383577d3f86e5286fb34e2d2b696cde34bd922e69d
DIST postgresql-9.5.22.tar.bz2 17667386 BLAKE2B 6fe8ccf638af466e57f239c9d7f1a19bb6c33f6019955824f54f2fe63870675d841811318fb28707cc85ab8a9db550e6655773db0d89d801e26459c9d0d01a43 SHA512 489321fa49e17308d3a78353edf73a16295c1377ad429a94636df069d2bf55f538ba6570e3d2991dd28bcca45fee77c6c41fa9bade35ea7f9e581abff4c9a401
+DIST postgresql-9.5.23.tar.bz2 17682366 BLAKE2B 74713d6483ae1ad3d2dfc4b1ac9d30a6785ff34f61b735924f2d469861516ad5160cbfda9c09b96adf264237b6f3ad8fd6ddeef60b6af6b5b63d6c1a36fb9354 SHA512 b7a1e936a0043b57b3ece79610855820d2ea6a86e4a4be0c4c8358bf3e1ef8fa88bc60106d6b865d86231d16b5e3c098b4dbd93125a125b3cc5d468ffea64db1
DIST postgresql-9.6.17.tar.bz2 18812282 BLAKE2B 0bb48445201aae1d6b4f5a77652aefaaa629799a019c3b81a14e554a88167530002931c2b0d658731b26a38bd09487f79a6ef514b0955982d6037b383c021819 SHA512 a76f328523517f664e4fc59a4d27e476bc6300e49370712030caae40aa160acb1e6aecc7cd3b3440125713069932df812eb8d75377a3df63e59c9292419c2aa8
DIST postgresql-9.6.18.tar.bz2 18836490 BLAKE2B 43f2d8a14e4fcad72af1f2e2814546368f7c2c0bb3c9957527e96df0ae6984d6b05008619855cf74fefeab0f35b13de4f0a437f79fa13c6e3a4ca2c8bc272aab SHA512 78aad7042d22be4486511a9f3b5df2578b65a911b9e969e6196c945d84b9d9a79b40c01a8bdd3859cc67cd9a5d023cca5d83c1360cb14a9bb076ff3b5c1fff70
+DIST postgresql-9.6.19.tar.bz2 18880036 BLAKE2B ad9c5684e2c0fb276589560f7dbe01241b5caf763f5a20991244ad7b473397576c9530658eb91e085e8416156b0ac81750f08ed85d5e5a689321891d10b6e114 SHA512 4d8d4a0e4645d71683a5fccb9cd88917e1870ba139f102e0ea82da9c8d1ad669f029e0feb6d409e2016dfd247229ec7daf04f7f2de3ab6c5b4053834ac244a26
EBUILD postgresql-10.12.ebuild 13833 BLAKE2B c255fd95d1948451496a85e44ab1853697a6d5adc6d85e442e2589acd21880c00b7e9b1ad31ad3a8a53ed33935b56e0ae418035521773ed2bd82c8380bac6204 SHA512 14a1e4cb181ded8e6689b4c3adf3717c8ae259284863dc676874244a1928af5ea5559243d27dd9d271b433dada172fa75368eaddc218c1a12786dedac79240c7
EBUILD postgresql-10.13.ebuild 13543 BLAKE2B cde9c3b3b834de3c034afb6a3e34091ff1965be756c69d498ea2f0edc8ec10268594e4769aefa32c1f6a9399733778b41034190b43e9ee86990dbdb591a88fc3 SHA512 ecc51aaf49b83a3a526fd77e6bbc166b1309b33102d1f7c80cc069699f8114798fa267e6c1bdd6ee6c8830979abb13e8f07a133c9b7b3ad046a217db96a29977
+EBUILD postgresql-10.14.ebuild 13537 BLAKE2B f6c71b81625807985d74a869ea421d065bffffda986498d81b575ccc1e435b8e02b851fb89207c3b06a3dce34ff3a14e019ada8daf21c853b1be71bb017d1b66 SHA512 23e8a397a0e391cfccdf568124dc59f583d703b02af29cb8b257c4a0cc8015fb7666c0594258a1310eb5a5259f699afdf9cba00e90366e5c33037e51533a9481
EBUILD postgresql-11.7.ebuild 13964 BLAKE2B cd59290c8f0a9a49083eb324b003b69f01167011c21e6b2d77d7500f78ddbd68ff4bf4e6022d197b448902934a21612aa81bc5868aeed9af699bc254c99ce0a3 SHA512 418d5bb589ce950cbe3600692ea9c2db9f21bf9cb01621d1d6c3c502cbea8300de774f98a98f0435c63e8424424fc7ac03e743eb0ac1fa0a82e9c3ce76cfb5c9
EBUILD postgresql-11.8.ebuild 13674 BLAKE2B 1612347e1088bce1bf8fb0d97238f8efcb57ab32652aa3d69e7cc9abf779a1292804e9199626235dca8a57893ee7b643397664b08518c5a017296624bbdfa5cc SHA512 1fc08751d1d04f8eedab56d46a73436c3194ea5f6997ddf2b4627013b017f2fb31a91858add46ae8bad13b86ce61fd0aef34a66cafba23fe11a955ae3f12b84c
+EBUILD postgresql-11.9.ebuild 13668 BLAKE2B 9d18c2b80955ce436de672bdb9d7b93896240c9b018251f8edf5af77a362078cdb9a68471b1595e474900513469ec5981d0c69660485e2334603d9ca4c219b5d SHA512 ea8b24dcda086168558c1bfa69030e3cce44f11ce78807013478acbe82c48f97635f37c441df5593b6140f56a2f23f13f1ff29e3be5232a0cd40acc39fffde87
EBUILD postgresql-12.2.ebuild 13936 BLAKE2B a94d56317f2229a5b07e4e994c97ad390715e50579c6d11246bc39a958fedba564bce5a2db0c69b361b689a8d082dd9f24670324f3806bd823bf40864644182c SHA512 247fc090c0a11fd1b9c9bb657bef10a3447bb16fd8e22858491c4e569dbddec6817c68751ac7e8077dc57107824a611e92d02b0bd3493822756925d6b67dccb4
EBUILD postgresql-12.3.ebuild 13646 BLAKE2B f5d5877a6aaceb7e5be0d5edd4fe7474fcf90228346ee3620f84ae84e5f04a794947dd6b0c94fe118381037f9bc01daf35c4a6c888dadd3b334d577b2c944219 SHA512 203d6bdccfd702616ba321caacc311d9378602f5578e3abc2bc46705ff689a7538b57687193a355d0abf5a6aa4e4249b2e065f73623bf2aa336893c2e694b730
-EBUILD postgresql-13_beta1.ebuild 13458 BLAKE2B 5cf7f7249eb3243204c44b93fe5df4e8f069195d275159a3f27fb3bd632fe81a495647cd1598562593767080f6c4e66da0edc23ec4df6d9f5e9ad6760ee13f64 SHA512 a4cbb379dc6ca0f4b2dd7a2b92e7665661057f678883cd018bbf8b9851c3f2384dd27c4d35583ff924afa672bb952ae5aee52feb60a202ac0edc29fe90d28ad6
-EBUILD postgresql-9.4.26.ebuild 14434 BLAKE2B 7b3953845d43f0bcf33f4839c45679f62804b9360d7ca956a36014a9e745eee81e026f7d1e51bd41259f81d77b48540ab1e6c2309fe78fcd48b7bf10625a762b SHA512 c377a08cdfa25edc1090890052c73f614ea976c6ef89dc65ea953e39b17024c51b0484275a9e7d7dcdaafa3f14bd867ac0177f43ee05aba449235bc75baa4617
+EBUILD postgresql-12.4.ebuild 13640 BLAKE2B ae1d94731dadc970397a2a9bce9499af7618392a7a44646e26695f2c600161588038011c140b035ae337790249a82e8b8ea9c50cad43935e4517b4f1e28df591 SHA512 6e843220fa493518f19fc9a3f32bab1ec5eff8671d001543061afbd0205504e77df909a0f7ec1edb8cc7059f5803c662c04e6207de7d9eac7f751a4f86fe06eb
+EBUILD postgresql-13_beta2.ebuild 13458 BLAKE2B 5cf7f7249eb3243204c44b93fe5df4e8f069195d275159a3f27fb3bd632fe81a495647cd1598562593767080f6c4e66da0edc23ec4df6d9f5e9ad6760ee13f64 SHA512 a4cbb379dc6ca0f4b2dd7a2b92e7665661057f678883cd018bbf8b9851c3f2384dd27c4d35583ff924afa672bb952ae5aee52feb60a202ac0edc29fe90d28ad6
+EBUILD postgresql-13_beta3.ebuild 13462 BLAKE2B 57f75f15da71e3bf0ce48b15a52e378f753c03ea9dd59f16a5630f2abd3705df9c270a061f6729d541cbcf1c73ef861b4179000459b4aa2dfed39d686b7fb043 SHA512 c43bbbff4fad1f343a845b499305001d7b1e6d933fd2141625e3bbe4a3ebb2fe1cbd8051bf50ee33b5608be25b95c9716b3f09d0d10fb628eb447e7fedbfbf97
EBUILD postgresql-9.5.21.ebuild 14655 BLAKE2B cf7d690e04b4ea1f291592214673aa41af62b75fe033b47b5f5a15e134e0adb4b6610156af57a255f3cca375f9749e3694cadb1b882089909ad8326a0a4ffa15 SHA512 d92da5ad29a1490a42f82b7ebdb7eef63763bcecd4730d4f9532a80eb39a0244a2d345f6450b0b0c68f1792f31af910c1e7b4082007e969d60aa4d15af0a050d
EBUILD postgresql-9.5.22.ebuild 14364 BLAKE2B dca6b5544443ae23804383318c78ccad2cd2f4893576ddfa9884c7dc3c8934958599b3e9384e380173cb5b93808763e4e18fd0f6c3831c8f4ab46e49e6d87c12 SHA512 a21309712520216d545ce9e57939a86012bda865586e9684ded29febf2e7c79458ddbc601c29365324fb5363ac506a801f208925ac88f90bc998306d032b5f72
+EBUILD postgresql-9.5.23.ebuild 14358 BLAKE2B 87ddbf54290b76755062122767f757aa0872c2e275b9ee225350261c8d28dc526b81391ce3702d15c5f29790e241497a9f3cc8b1cde565d1475563a64e58dc49 SHA512 d612a50ee0fda8be55115fccb834a58957e06028be11677acfb8951a92383604778f064f92ea39d11f67ef8a75126f2aa15ece45f40d11e25092b22783a58580
EBUILD postgresql-9.6.17.ebuild 14888 BLAKE2B 673996dddde1ce63a20d1b444e49982fb070ba8701caa9e452c3e068460b3bf44b810f19d552f2bd6e721499a08f2ae2e93001c2fb5837f6077852d0ca42e59e SHA512 1abd26b230e345ebf491333e6594c232e2fd8d9ef26acafbd148bf5d088c4332dfeffec66ba1d58fe6809dbb7cf0d2bbe47bd005024e1270e3ad2db8b994cce6
EBUILD postgresql-9.6.18.ebuild 14597 BLAKE2B 15c5ea6f83c7b92c560e0077a73da7ee7a2fabf98b42a4501ff459ee368dd048ef8b4174c6de88e7149532960b007df415a24678f93b45717e70c5e4b4c825e9 SHA512 f79341c17fb27f09bd369c0a6022a2874a70638bcb35c24d50001d3311d8f3f6d61c0f11dcb3a9c92fca4772fd0c03521a6190fc5d04e61164b360ecaa126cfd
+EBUILD postgresql-9.6.19.ebuild 14591 BLAKE2B c34afe5f2cd8b06bbd6f8d12d9dec1dd6c36594e117295a915cfdaec1fab8bac59ae5b51394ac15a99ca047f4ab1797f8ee18ddd18b72c43041f9a6072944e82 SHA512 c1b9a6de517c760b84c85c393b36f8ff096adbf83fe13de2f7f92119eeea0a987a53bab4a52768d1a3a1e2c1118d8fd2e2202ec34a44fdd7efd1ba106a3ac57a
EBUILD postgresql-9999.ebuild 13812 BLAKE2B f0eb8f0d79c3d4d9f0bdd0fe49f9b8354ce0bbd237b286e1509b9d9573cb6c023a855c10c97d836909495a0e23fc785716820e6e54e86b0f31765e0aef53a645 SHA512 3e56a9b619e4a94658035121d71a5e86c115f7dd3a13318ff0b6c341b59ad0cb836376b7f0074a3e28e7b17f93c3e2b9317a6662de19f77d6f6c4e6b4bc1066b
MISC metadata.xml 715 BLAKE2B 71b868113676bdbb1996ecc8e3727b0cc16a559c5906e6459a41c330bcb5a5f4b3f4b5c4473a81905713c2f0735f185cd14612c69108b6bb602a7d8a92d6f3ce SHA512 4148c9c11ffaea5d30cd18befb06af914147d41eec4a8f905127f0abc5317ca370a745e0fd51b03c4583efde927fe9c1b3333853e80c2aa3e7677de65cd5d1ba
diff --git a/dev-db/postgresql/files/postgresql-9.4.10-no-server.patch b/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch
index 0eb750847cfa..ceb0e3a61d25 100644
--- a/dev-db/postgresql/files/postgresql-9.4.10-no-server.patch
+++ b/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch
@@ -1,21 +1,22 @@
---- a/contrib/Makefile
-+++ b/contrib/Makefile
-@@ -5,64 +5,10 @@
+diff -Naruw postgresql-13beta1.orig/contrib/Makefile postgresql-13beta1/contrib/Makefile
+--- postgresql-13beta1.orig/contrib/Makefile 2020-05-18 16:09:19.000000000 -0400
++++ postgresql-13beta1/contrib/Makefile 2020-05-22 19:56:42.560113731 -0400
+@@ -5,56 +5,9 @@
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
- adminpack \
+- amcheck \
- auth_delay \
- auto_explain \
+- bloom \
- btree_gin \
- btree_gist \
-- chkpass \
- citext \
- cube \
- dblink \
- dict_int \
- dict_xsyn \
-- dummy_seclabel \
- earthdistance \
- file_fdw \
- fuzzystrmatch \
@@ -28,35 +29,26 @@
oid2name \
- pageinspect \
- passwordcheck \
-- pg_archivecleanup \
- pg_buffercache \
- pg_freespacemap \
- pg_prewarm \
- pg_standby \
- pg_stat_statements \
-- pg_test_fsync \
-- pg_test_timing \
- pg_trgm \
-- pg_upgrade \
-- pg_upgrade_support \
- pgbench \
- pgcrypto \
- pgrowlocks \
- pgstattuple \
-- pg_xlogdump \
+- pg_visibility \
- postgres_fdw \
- seg \
- spi \
- tablefunc \
- tcn \
- test_decoding \
-- test_parser \
-- test_shm_mq \
-- tsearch2 \
+- tsm_system_rows \
+- tsm_system_time \
- unaccent \
-- vacuumlo \
-- worker_spi
-+ vacuumlo
+ vacuumlo
-ifeq ($(with_openssl),yes)
-SUBDIRS += sslinfo
@@ -66,27 +58,19 @@
ifneq ($(with_uuid),no)
SUBDIRS += uuid-ossp
---- a/src/backend/Makefile
-+++ b/src/backend/Makefile
-@@ -47,7 +47,7 @@
+diff -Naruw postgresql-13beta1.orig/src/backend/Makefile postgresql-13beta1/src/backend/Makefile
+--- postgresql-13beta1.orig/src/backend/Makefile 2020-05-18 16:09:19.000000000 -0400
++++ postgresql-13beta1/src/backend/Makefile 2020-05-22 19:58:14.403299909 -0400
+@@ -56,7 +56,7 @@
##########################################################################
--all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP)
-+all: someheaders
+-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP)
++all: generated-headers
ifneq ($(PORTNAME), cygwin)
ifneq ($(PORTNAME), win32)
-@@ -106,7 +106,7 @@
- endif # aix
-
- # Update the commonly used headers before building the subdirectories
--$(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h
-+someheaders $(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h
-
- # run this unconditionally to avoid needing to know its dependencies here:
- submake-schemapg:
-@@ -199,23 +199,7 @@
+@@ -195,23 +195,7 @@
##########################################################################
@@ -103,29 +87,44 @@
-endif
- $(MAKE) -C catalog install-data
- $(MAKE) -C tsearch install-data
+- $(MAKE) -C utils install-data
- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
+install:
- install-bin: postgres $(POSTGRES_IMP) installdirs
- $(INSTALL_PROGRAM) postgres$(X) '$(DESTDIR)$(bindir)/postgres$(X)'
---- a/src/bin/Makefile
-+++ b/src/bin/Makefile
-@@ -13,8 +13,7 @@
- top_builddir = ../..
+ ifeq ($(with_llvm), yes)
+ install-bin: install-postgres-bitcode
+diff -Naruw postgresql-13beta1.orig/src/bin/Makefile postgresql-13beta1/src/bin/Makefile
+--- postgresql-13beta1.orig/src/bin/Makefile 2020-05-18 16:09:19.000000000 -0400
++++ postgresql-13beta1/src/bin/Makefile 2020-05-22 19:59:11.399875256 -0400
+@@ -14,22 +14,8 @@
include $(top_builddir)/src/Makefile.global
--SUBDIRS = initdb pg_ctl pg_dump \
-- psql scripts pg_config pg_controldata pg_resetxlog pg_basebackup
-+SUBDIRS = pg_dump psql scripts pg_config
+ SUBDIRS = \
+- initdb \
+- pg_archivecleanup \
+- pg_basebackup \
+- pg_checksums \
+ pg_config \
+- pg_controldata \
+- pg_ctl \
+ pg_dump \
+- pg_resetwal \
+- pg_rewind \
+- pg_test_fsync \
+- pg_test_timing \
+- pg_upgrade \
+- pg_verifybackup \
+- pg_waldump \
+- pgbench \
+ psql \
+ scripts
- ifeq ($(PORTNAME), win32)
- SUBDIRS += pgevent
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -15,18 +15,11 @@
+diff -Naruw postgresql-13beta1.orig/src/Makefile postgresql-13beta1/src/Makefile
+--- postgresql-13beta1.orig/src/Makefile 2020-05-18 16:09:19.000000000 -0400
++++ postgresql-13beta1/src/Makefile 2020-05-22 19:59:59.656464613 -0400
+@@ -15,21 +15,12 @@
SUBDIRS = \
common \
port \
@@ -136,12 +135,15 @@
include \
interfaces \
- backend/replication/libpqwalreceiver \
+- backend/replication/pgoutput \
+ fe_utils \
bin \
- pl \
- makefiles \
- test/regress \
+- test/isolation \
- test/perl
+ makefiles
- # There are too many interdependencies between the subdirectories, so
- # don't attempt parallel make here.
+ ifeq ($(with_llvm), yes)
+ SUBDIRS += backend/jit/llvm
diff --git a/dev-db/postgresql/postgresql-10.14.ebuild b/dev-db/postgresql/postgresql-10.14.ebuild
new file mode 100644
index 000000000000..8d442461446f
--- /dev/null
+++ b/dev-db/postgresql/postgresql-10.14.ebuild
@@ -0,0 +1,456 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl
+ python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ libressl? ( dev-libs/libressl:= )
+)
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
+BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Work around PPC{,64} compilation bug where bool is already defined
+ sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
+
+ if use pam ; then
+ sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY doc/{TODO,bug.template}
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "${DATA_DIR}"
+ chown -Rf postgres:postgres "${DATA_DIR}"
+ chmod 0700 "${DATA_DIR}"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-11.9.ebuild b/dev-db/postgresql/postgresql-11.9.ebuild
new file mode 100644
index 000000000000..9a8ffb7251a0
--- /dev/null
+++ b/dev-db/postgresql/postgresql-11.9.ebuild
@@ -0,0 +1,458 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap )
+llvm? (
+ sys-devel/llvm:=
+ sys-devel/clang:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ libressl? ( dev-libs/libressl:= )
+)
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
+BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY doc/{TODO,bug.template}
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-12.4.ebuild b/dev-db/postgresql/postgresql-12.4.ebuild
new file mode 100644
index 000000000000..19a21c0e6899
--- /dev/null
+++ b/dev-db/postgresql/postgresql-12.4.ebuild
@@ -0,0 +1,458 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap )
+llvm? (
+ sys-devel/llvm:=
+ sys-devel/clang:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ libressl? ( dev-libs/libressl:= )
+)
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
+BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-13_beta1.ebuild b/dev-db/postgresql/postgresql-13_beta2.ebuild
index 000f3085aa8e..000f3085aa8e 100644
--- a/dev-db/postgresql/postgresql-13_beta1.ebuild
+++ b/dev-db/postgresql/postgresql-13_beta2.ebuild
diff --git a/dev-db/postgresql/postgresql-13_beta3.ebuild b/dev-db/postgresql/postgresql-13_beta3.ebuild
new file mode 100644
index 000000000000..210d6e3dfda1
--- /dev/null
+++ b/dev-db/postgresql/postgresql-13_beta3.ebuild
@@ -0,0 +1,458 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
+
+KEYWORDS=""
+
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
+ perl python +readline selinux +server systemd ssl static-libs tcl
+ threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+icu? ( dev-libs/icu:= )
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap )
+llvm? (
+ sys-devel/llvm:=
+ sys-devel/clang:=
+)
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
+ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ libressl? ( dev-libs/libressl:= )
+)
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
+BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-13_beta1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with icu) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with llvm) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ serverman=(
+ initdb
+ pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+ pg_{test_{fsync,timing},upgrade,waldump}
+ post{gres,master}
+ )
+ for m in ${serverman[@]} ; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ # Make slot specific links to programs
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+
+ if [[ -n ${REPLACING_VERSIONS} ]] ; then
+ ewarn "If your system is using 'pg_stat_statements' and you are running a"
+ ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+ ewarn "the following command after upgrading:"
+ ewarn
+ ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+ mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+ chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/postgresql/postgresql-9.4.26.ebuild b/dev-db/postgresql/postgresql-9.5.23.ebuild
index c662926d91f3..7449d534183a 100644
--- a/dev-db/postgresql/postgresql-9.4.26.ebuild
+++ b/dev-db/postgresql/postgresql-9.5.23.ebuild
@@ -5,13 +5,9 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
- zh_TW"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
- systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
SLOT=$(ver_cut 1-2)
@@ -29,6 +25,8 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
CDEPEND="
>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
sys-apps/less
virtual/libintl
kerberos? ( virtual/krb5 )
@@ -70,7 +68,6 @@ uuid? (
)"
DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
sys-devel/bison
sys-devel/flex
nls? ( sys-devel/gettext )
@@ -78,18 +75,12 @@ xml? ( virtual/pkgconfig )
"
RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
selinux? ( sec-policy/selinux-postgresql )
"
pkg_setup() {
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
use python && python-single-r1_pkg_setup
}
@@ -106,7 +97,7 @@ src_prepare() {
# hardened and non-hardened environments. (Bug #528786)
sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
- use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch"
+ use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch"
if use pam ; then
sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
@@ -147,6 +138,7 @@ src_configure() {
--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
--with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
$(use_enable !pg-legacytimestamp integer-datetimes) \
$(use_enable debug) \
$(use_enable threads thread-safety) \
@@ -162,7 +154,7 @@ src_configure() {
$(use_with xml libxml) \
$(use_with xml libxslt) \
$(use_with zlib) \
- $(use_enable nls nls "'$(l10n_get_locales)'")
+ $(use_enable nls)
}
src_compile() {
@@ -306,6 +298,11 @@ pkg_postinst() {
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
postgresql-config update
+ if use alpha && use server ; then
+ ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
+ ewarn "As a result, performance will be extremely degraded."
+ fi
+
elog "If you need a global psqlrc-file, you can place it in:"
elog " ${EROOT}/etc/postgresql-${SLOT}/"
diff --git a/dev-db/postgresql/postgresql-9.6.19.ebuild b/dev-db/postgresql/postgresql-9.6.19.ebuild
new file mode 100644
index 000000000000..f5ccbb9888c8
--- /dev/null
+++ b/dev-db/postgresql/postgresql-9.6.19.ebuild
@@ -0,0 +1,481 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+SLOT=$(ver_cut 1-2)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
+
+LICENSE="POSTGRESQL GPL-2"
+DESCRIPTION="PostgreSQL RDBMS"
+HOMEPAGE="https://www.postgresql.org/"
+
+IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
+ -pg-legacytimestamp python +readline selinux +server systemd ssl
+ static-libs tcl threads uuid xml zlib"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+CDEPEND="
+>=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
+sys-apps/less
+virtual/libintl
+kerberos? ( virtual/krb5 )
+ldap? ( net-nds/openldap )
+pam? ( sys-libs/pam )
+perl? ( >=dev-lang/perl-5.8:= )
+python? ( ${PYTHON_DEPS} )
+readline? ( sys-libs/readline:0= )
+ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
+ libressl? ( dev-libs/libressl:= )
+)
+server? ( systemd? ( sys-apps/systemd ) )
+tcl? ( >=dev-lang/tcl-8:0= )
+xml? ( dev-libs/libxml2 dev-libs/libxslt )
+zlib? ( sys-libs/zlib )
+"
+
+# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
+# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
+# the libc includes UUID functions.
+UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
+BSD_LIBC=( elibc_{Free,Net,Open}BSD )
+
+nest_usedep() {
+ local front back
+ while [[ ${#} -gt 1 ]]; do
+ front+="${1}? ( "
+ back+=" )"
+ shift
+ done
+ echo "${front}${1}${back}"
+}
+
+IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
+CDEPEND+="
+uuid? (
+ ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
+ $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
+)"
+
+DEPEND="${CDEPEND}
+sys-devel/bison
+sys-devel/flex
+nls? ( sys-devel/gettext )
+xml? ( virtual/pkgconfig )
+"
+
+RDEPEND="${CDEPEND}
+selinux? ( sec-policy/selinux-postgresql )
+"
+
+pkg_setup() {
+ use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Work around PPC{,64} compilation bug where bool is already defined
+ sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch"
+
+ if use pam ; then
+ sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --includedir="${PO}/usr/include/postgresql-${SLOT}" \
+ --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
+ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
+ --with-system-tzdata="${PO}/usr/share/zoneinfo" \
+ $(use_enable !alpha spinlocks) \
+ $(use_enable !pg-legacytimestamp integer-datetimes) \
+ $(use_enable debug) \
+ $(use_enable threads thread-safety) \
+ $(use_with kerberos gssapi) \
+ $(use_with ldap) \
+ $(use_with pam) \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with readline) \
+ $(use_with ssl openssl) \
+ $(usex server "$(use_with systemd)" '--without-systemd') \
+ $(use_with tcl) \
+ ${uuid_config} \
+ $(use_with xml libxml) \
+ $(use_with xml libxslt) \
+ $(use_with zlib) \
+ $(use_enable nls)
+}
+
+src_compile() {
+ emake
+ emake -C contrib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install -C contrib
+
+ dodoc README HISTORY doc/{TODO,bug.template}
+
+ # man pages are already built, but if we have the target make them,
+ # they'll be generated from source before being installed so we
+ # manually install man pages.
+ # We use ${SLOT} instead of doman for postgresql.eselect
+ insinto /usr/share/postgresql-${SLOT}/man/
+ doins -r doc/src/sgml/man{1,3,7}
+ if ! use server; then
+ # Remove man pages for non-existent binaries
+ for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
+ rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+ done
+ fi
+ docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
+
+ # Create slot specific man pages
+ local bn f mansec slotted_name
+ for mansec in 1 3 7 ; do
+ local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
+
+ mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
+ pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
+
+ for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
+ bn=$(basename "${f}")
+ slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
+ case ${bn} in
+ TABLE.7|WITH.7)
+ echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
+ ;;
+ *)
+ echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
+ ;;
+ esac
+ done
+
+ popd > /dev/null
+ done
+
+ insinto /etc/postgresql-${SLOT}
+ newins src/bin/psql/psqlrc.sample psqlrc
+
+ # Don't delete libpg{port,common}.a (Bug #571046). They're always
+ # needed by extensions utilizing PGXS.
+ use static-libs || \
+ find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+ -delete
+
+ local f bn
+ for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+ -mindepth 1 -maxdepth 1)
+ do
+ bn=$(basename "${f}")
+ # Temporarily tack on tmp to workaround a file collision
+ # issue. This is only necessary for 9.7 and earlier. 10 never
+ # had this issue.
+ dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+ "/usr/bin/${bn}${SLOT/.}tmp"
+ done
+
+ if use doc ; then
+ docinto html
+ dodoc doc/src/sgml/html/*
+
+ docinto sgml
+ dodoc doc/src/sgml/*.{sgml,dsl}
+ fi
+
+ if use server; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+ if use systemd; then
+ sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+ "${FILESDIR}/${PN}.service-9.6-r1" | \
+ systemd_newunit - ${PN}-${SLOT}.service
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+ fi
+
+ newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+
+ use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+ if use prefix ; then
+ keepdir /run/postgresql
+ fperms 1775 /run/postgresql
+ fi
+ fi
+}
+
+pkg_preinst() {
+ # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
+ # /usr/bin/psql96). They may have been created by the
+ # postgresql.eselect module, but they're handled within this ebuild
+ # now. It's alright if we momentarily delete /usr/bin/psql as it
+ # will be recreated by the eselect module in pkg_ppostinst(). This
+ # is only necessary for 9.7 and earlier. 10 and later were never
+ # handled in this manner.
+ local canonicalise
+ if type -p realpath > /dev/null; then
+ canonicalise=realpath
+ elif type -p readlink > /dev/null; then
+ canonicalise='readlink -f'
+ else
+ # can't die, subshell
+ die "No readlink nor realpath found, cannot canonicalise"
+ fi
+
+ local l
+ # First remove any symlinks in /usr/bin that may have been created
+ # by the old eselect
+ for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
+ if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
+ rm "${l}" || ewarn "Couldn't remove ${l}"
+ fi
+ done
+
+ # Then move the symlinks created by the ebuild to their proper place.
+ for l in "${ED}"/usr/bin/*tmp ; do
+ mv "${l}" "${l%tmp}" \
+ || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
+ done
+}
+
+pkg_postinst() {
+ use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+ postgresql-config update
+
+ elog "If you need a global psqlrc-file, you can place it in:"
+ elog " ${EROOT}/etc/postgresql-${SLOT}/"
+
+ if use server ; then
+ elog
+ elog "Gentoo specific documentation:"
+ elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+ elog
+ elog "Official documentation:"
+ elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+ elog
+ elog "The default location of the Unix-domain socket is:"
+ elog " ${EROOT}/run/postgresql/"
+ elog
+ elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+ elog "so that it contains your preferred locale in:"
+ elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ elog
+ elog "Then, execute the following command to setup the initial database"
+ elog "environment:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+ fi
+}
+
+pkg_prerm() {
+ if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
+ ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
+ ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
+
+ ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
+ sleep 10
+ eend 0
+ fi
+}
+
+pkg_postrm() {
+ postgresql-config update
+}
+
+pkg_config() {
+ use server || die "USE flag 'server' not enabled. Nothing to configure."
+
+ [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
+ && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
+ [[ -z "${DATA_DIR}" ]] \
+ && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
+
+ # environment.bz2 may not contain the same locale as the current system
+ # locale. Unset and source from the current system locale.
+ if [ -f "${EROOT}/etc/env.d/02locale" ]; then
+ unset LANG
+ unset LC_CTYPE
+ unset LC_NUMERIC
+ unset LC_TIME
+ unset LC_COLLATE
+ unset LC_MONETARY
+ unset LC_MESSAGES
+ unset LC_ALL
+ source "${EROOT}/etc/env.d/02locale"
+ [ -n "${LANG}" ] && export LANG
+ [ -n "${LC_CTYPE}" ] && export LC_CTYPE
+ [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
+ [ -n "${LC_TIME}" ] && export LC_TIME
+ [ -n "${LC_COLLATE}" ] && export LC_COLLATE
+ [ -n "${LC_MONETARY}" ] && export LC_MONETARY
+ [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
+ [ -n "${LC_ALL}" ] && export LC_ALL
+ fi
+
+ einfo "You can modify the paths and options passed to initdb by editing:"
+ einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}"
+ einfo
+ einfo "Information on options that can be passed to initdb are found at:"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+ einfo
+ einfo "PG_INITDB_OPTS is currently set to:"
+ if [[ -z "${PG_INITDB_OPTS}" ]] ; then
+ einfo " (none)"
+ else
+ einfo " ${PG_INITDB_OPTS}"
+ fi
+ einfo
+ einfo "Configuration files will be installed to:"
+ einfo " ${PGDATA}"
+ einfo
+ einfo "The database cluster will be created in:"
+ einfo " ${DATA_DIR}"
+ einfo
+
+ ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
+ sleep 5
+ eend 0
+
+ if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
+ eerror "The given directory, '${DATA_DIR}', is not empty."
+ eerror "Modify DATA_DIR to point to an empty directory."
+ die "${DATA_DIR} is not empty."
+ fi
+
+ einfo "Creating the data directory ..."
+ if [[ ${EUID} == 0 ]] ; then
+ mkdir -p "${DATA_DIR}"
+ chown -Rf postgres:postgres "${DATA_DIR}"
+ chmod 0700 "${DATA_DIR}"
+ fi
+
+ einfo "Initializing the database ..."
+
+ if [[ ${EUID} == 0 ]] ; then
+ su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
+ else
+ "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
+ fi
+
+ if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
+ mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
+ ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
+ fi
+
+ # unix_socket_directory has no effect in postgresql.conf as it's
+ # overridden in the initscript
+ sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
+
+ cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
+ # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
+ # On the off-chance that you might need to work with UTF-8 encoded
+ # characters in PL/Perl
+ plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
+ EOF
+
+ einfo "The autovacuum function, which was in contrib, has been moved to the main"
+ einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
+ einfo "by default. You can disable it in the cluster's:"
+ einfo " ${PGDATA%/}/postgresql.conf"
+ einfo
+ if ! use systemd; then
+ einfo "The PostgreSQL server, by default, will log events to:"
+ einfo " ${DATA_DIR%/}/postmaster.log"
+ einfo
+ fi
+ if use prefix ; then
+ einfo "The location of the configuration files have moved to:"
+ einfo " ${PGDATA}"
+ einfo "To start the server:"
+ einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
+ einfo "To stop:"
+ einfo " pg_ctl stop -D ${DATA_DIR}"
+ einfo
+ einfo "Or move the configuration files back:"
+ einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
+ elif use systemd; then
+ einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ else
+ einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
+ einfo "instead of 'pg_ctl'."
+ fi
+}
+
+src_test() {
+ if use server && [[ ${UID} -ne 0 ]] ; then
+ emake check
+
+ einfo "If you think other tests besides the regression tests are necessary, please"
+ einfo "submit a bug including a patch for this ebuild to enable them."
+ else
+ use server || \
+ ewarn 'Tests cannot be run without the "server" use flag enabled.'
+ [[ ${UID} -eq 0 ]] || \
+ ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
+ ewarn 'Skipping.'
+ fi
+}
diff --git a/dev-db/pspg/Manifest b/dev-db/pspg/Manifest
index 033be45a704d..9fcdd9c9525b 100644
--- a/dev-db/pspg/Manifest
+++ b/dev-db/pspg/Manifest
@@ -9,5 +9,5 @@ EBUILD pspg-1.6.8.ebuild 377 BLAKE2B 59e6f8cefb4a9347304231161958a8915a8cf375dd2
EBUILD pspg-2.5.4.ebuild 417 BLAKE2B e546c8ac11ad8abeb004a3471ef1aa09c8c75c14d84e8598d1743227183c9bba787280aad2c168e8db72ff5b0fdf6517e9941179de55b47bbb0756338bc16d34 SHA512 59a6ae7ac90bc01e5628133110a63f00ab5bdde45c8b21d886efc1a9e7209dee24ebc2f1e30a63fdabb06ab04242c4bc16df2b7fa34086de52d1d3fac3171f6f
EBUILD pspg-2.5.5.ebuild 417 BLAKE2B e546c8ac11ad8abeb004a3471ef1aa09c8c75c14d84e8598d1743227183c9bba787280aad2c168e8db72ff5b0fdf6517e9941179de55b47bbb0756338bc16d34 SHA512 59a6ae7ac90bc01e5628133110a63f00ab5bdde45c8b21d886efc1a9e7209dee24ebc2f1e30a63fdabb06ab04242c4bc16df2b7fa34086de52d1d3fac3171f6f
EBUILD pspg-2.6.6.ebuild 415 BLAKE2B b60c5abaf49da08566e205a33fa33030a041b3df0882348dc5eb0ea3a0b90fcb885c4ac2f41ffb054ee80bd105c9f707f4f576bff71c2e4dca3e80a4ad0ed594 SHA512 243e3124bd436d36081aa7a7b0250329a2c772b94d55438faefcb6d4c4e923a9e5c102c37ab5011cd2e057c3b24535d11822a862956a8d0e59f92ea929e9a6ec
-EBUILD pspg-3.1.2.ebuild 417 BLAKE2B 0ec9f20546abc9e992a1f02b26fdfc2a84f506a285528f4a83c360512362a5440e3843aaf8bc9391ea9ffe8cf409b35aa484cb8526087c9e5ef5573905dbb6a1 SHA512 0622265d4550b2fe99cb42f3204bf8338d1399a9eaf8a16f93e948c7933fbcc742f315ee942dc74a04b6ca96267d53949d0a435af0d36b671da347506fed7600
+EBUILD pspg-3.1.2.ebuild 415 BLAKE2B e39731cc67c2684c649d2fd54c52fa00c972f151018f0033ce85064020630fee1065c55cbbd6b83a974592844dae17692f8c7c1160a2fd31bb75a3522d392ea1 SHA512 9a108eb787dd60342bb60c5a377ba6430a3f5995215fe7ef2ac702c099a905c4e847d14f8a297acd2d1faaebb83aa4ac22d1abfa86a87bfb3015aec8b65126cb
MISC metadata.xml 298 BLAKE2B 40abb765b052aa2cbbf749c54c686f1c98968cb1af2e93c149bfbfe6244d3c17e827189d7a1da90a566016758bfbed63b16ad0a0328725349748d1b18b2437b1 SHA512 167896d1d92ccb4b171cce16d63405369a9e28b0d01c12b2ed94fcec1f982892e179c007287fc3386e1c00393d6570a2ae9e8efe9420e53a82308426075d5c89
diff --git a/dev-db/pspg/pspg-3.1.2.ebuild b/dev-db/pspg/pspg-3.1.2.ebuild
index 67b53cc4d812..6115ff94a544 100644
--- a/dev-db/pspg/pspg-3.1.2.ebuild
+++ b/dev-db/pspg/pspg-3.1.2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="sys-libs/ncurses:*
dev-db/postgresql:=
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index bf70ab727ac4..6e4c2e067924 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,12 +1,9 @@
AUX configure.ac-3.2 1882 BLAKE2B b8bc3e04c3203977218ee1d6d68e9f841b84fe82ab8803027034237275fb548cde282748a2f96bc25532e61f8e25a50cba9e165aac578d5db634a7ffc587ee9e SHA512 13d9f16cde8a95c96bcd726056d670d390dea6e2752ac607bc68eefb6214f0ab18b0e27d3283f2b219febd2da82e6489bd434215c9380c3c85c711aa00cb2be5
AUX redis-3.2.3-config.patch 1495 BLAKE2B 9f3c04dfd97845dcd364b75e2e5f543bc40ec0221a5ce19ab3c194e55ceaf24f13c307276f616d9a7742662d9e4fa76152c7036f7728f787bbac55f2b1a00999 SHA512 d71c918ea4952ecb55cc4c87649745ee468587c289d60bd1bee87a2948a6e882d42afe36bb113392b5aaab17d315732cabfc472804204d3a043305a5488a4124
-AUX redis-4.0.1-shared.patch 866 BLAKE2B 55531d6437ba89e37674377795ed8f7b4a34982571358d3ac73071951929ba96f101dfc9f9336f04d3851b4d360023c50d7832d9ae5ba9cfa405f317ec70b983 SHA512 f58ae83d3370949187325b1f1f75feb7d85d3112ae65e7cd330d193490c42aa6288f05cd4d2309dbde5d32015a067ec831255a3dab937cd0889970c8eecfb3f1
-AUX redis-4.0.1-sharedlua.patch 2568 BLAKE2B dc943602aba26455b94536571ee6be2969cbdf04da63805db0da0de5c5da3eb5fe16bb3c9e282020cf5a0d2cb9ac02244614fb8929847ce930c2ed25f4c4b8ff SHA512 c7c08b67c09425876da513bbeb52667fe5917b56a43749a914dac356fa37c091b696765eabca100f2506cf461107abdbf22bce075879a8aa82a0e8d54f696fee
AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1
AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425
AUX redis-5.0.8-ppc-atomic.patch 495 BLAKE2B a995c1b1e327416705151dd888b98fe02fdea8126359f3ffa2cce4d5794d7677ffc4dc7f628d076bc0ed341dac4010ffb9409ee25113fe9cac2298658e94802e SHA512 f4f2c2aad5d09e9fafa58946fdc79aa49d8f16ce6d389dd653522295dc397796c58c87f4fb92016af8c261aa4b00a7eab09d33a19eded496807444d234a9abd9
AUX redis-6.0.3-sharedlua.patch 2815 BLAKE2B 323c13cd06ee50cc86a6f4b4896ab3c887c55a4ec836b6c40e509b166207075ced4cc35b0e9d3490fb893405fc6b4cd325e2e1688acec61a15ef1d34cfc78be1 SHA512 a4e2c54ec9fbaa594290178af26430b5e139b1fb12d44327074077e3e2bff45b9e999d8911f3bc0ac10f5b0afba4ef0993bba610355cb8701bce72a48a6ec634
-AUX redis-sentinel-4.0.6-config.patch 285 BLAKE2B 97b8fb6c2af74e6d2736e9dcdd9faa579800fecec53752168fc5e5e43c509fc00a1192215b5fef89af915456e5ab0d7c438df51e2b214399a4482f7683525a8b SHA512 12fd77b38fbcc3bf4b25f519a8f40e43c5d2f32be341155f5e6d08f2a4513043917452d45a20608dc56c0e92e324cef8480d42d670752056c821b4ffca93e2b1
AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8
AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372
AUX redis-sentinel.initd 648 BLAKE2B eaea4a047dfa61a325fa2bfeb30b422220d4fad699a693b9141a74575dc153ad3db2dafa3fa06ef195914a32f2a6aacfb3fc2e3b80ebe6b75316700fbd84221d SHA512 dfd1dadedf9b7376667d1966072c28e5e23e17592bf66753eae4bbc084225714f30c6450001f643c1561ff3a2eb2e50f719d32ff34f5419040ff42a2c4fbd70d
@@ -16,13 +13,10 @@ AUX redis.logrotate 105 BLAKE2B 1281fd86d399b40aaaa69d1fe170b2c49523c074e14b1290
AUX redis.service-3 249 BLAKE2B 92a6914601fa9b587f439e5cb30c9b00ed53d6dc9d18f7ca8f34075f3d77836b82018baf3d6e46ad27ab90ed5de5a553fd5ffe4305afadb7b173b56dcb328de3 SHA512 5af7d61282e90e72faa8b328c11c70bd2cb255265e3a29c4f2208795c4876a08f9e01cb473d2a537362ed0b282b22aa51612cb95e192f96fa9a7b974a99da369
AUX redis.tmpfiles 61 BLAKE2B 1c3bf8aa105940c408163f61c63ed16b86de7a979cb5143d15700cac329970f351cb9b9377aa82e6f4dae377b00c1710a1e0f54334f007cfed64551f761034d4 SHA512 741ff5a4df5b04e7af4e81357812bf5b6cf992bc18b6052074aef134401d0a92703a2e41f52966012c05ea80fac5636435c8d3e6ed55e62a5711526ba67ee738
AUX redis.tmpfiles-2 57 BLAKE2B 1e0577c1828bb693cf820f3ba5e77d7d748adf4df2d1910d465ce097765308c7b7ea729526404120d04a79b547e865df93f7bfce1e63341c73563496f1dce691 SHA512 3de050ce044b7daf71219ec61dee2bc31acef161319b87ec2963b23c72e8a4807f1302c4932897664a63ef94507449f6ab75ce18d59f5e1a4558c330a7042e43
-DIST redis-4.0.14.tar.gz 1740967 BLAKE2B d9122565ba890416d8936db936bc1410af840cc7617b485b94428891806d5889f5f02c2e722a7e68fe6c0b2690c1ef3479cc8837c55fb154f2b43af9986647a4 SHA512 7730a4083962046f8fee674a8ce95e1d3e8c8dcc2d64a65491dc3b851413b2d745942be7a94ee77074aa530da5f3d458c4e7388d7950a8495d8ee9f4862b7e06
DIST redis-5.0.8.tar.gz 1985757 BLAKE2B e46af2133e066ccb91a8eb2c2fbfefe3747e1cfa71efa78dd50830e1bc1d83261f78ed6ff75b789b238709d9f72d5d401be2f2dd698bd19c41c091d10e0baf47 SHA512 106a74ab910267472fb418fdeb4f39e29efe9d73ed5af78b7847c91eaabd473dd729a63078e72d8e87c842169502946e9a0a97c42dea415db82732864c7c46dc
DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38659001421f96040e8a64a4a304e9dc1f06d82802ce1c92515d166cfd37c2f347df4c4cda0c2c4c2bb10d27c5 SHA512 d2c7bc1f769bc5d179bfe6e71954962813b50597eafc752a9b1edf2fd87e84707b7daf0910db56dd0e89cb3bdb3e551da7f111ae4899f505bac5f77f99744c13
-DIST redis-6.0.5.tar.gz 2217666 BLAKE2B 6c85b344ada4a8b9981bf0403e883d7584b391b5275f14b4335f51924c2e9dc2eb7886694cd62eec2ac2c4e747468161b75cde3a4b373e496453787cbc994c43 SHA512 62ce42bb5ac9443e0736f5dfeffa7609542cef5b3c6c7d689ad8427cf788f3daf321531fdaa0329942e746e2eee47461be9d8771b89ae25adcc5badc225ebf26
-EBUILD redis-4.0.14.ebuild 4641 BLAKE2B 970a3440789c6bc964339b0de7df7c7882a492e259e503a65f0182aa77c7e54b2d477903f623dda0f1526de8e9985075a658a2050952484a3070a04ddfa49c60 SHA512 0ec94984ce74d537d13028d64d1a503f7de7cd5514f25a57d89872e6389a69d8cc747e1e9448f13e8395faed6e7d733c5183174029cb10af8d7b27320c659670
+DIST redis-6.0.6.tar.gz 2228781 BLAKE2B 42396f464611cd5d83a79a97d2e4f74c0adabf9338802ec748c24f6ea46d42c6e51fedecc5cd26c7cff6b2a3c7a26bbbf79db7a54a6cbeff388587d186268796 SHA512 bb60aff6e495b201fed814eb134e6ce2825429ef6bd52215c7369eec941318ba460d60ad7b0cef3684b3f992823d465869177dc1d0eb16886bfed598dff74f65
EBUILD redis-5.0.8.ebuild 4669 BLAKE2B 79265c316a1ecb3a7ce5bf5b0af70c68ba9cf4f0439f67a190cdd19dc16158ee40b7379e088de990b122d21157a6aaa415f4f70e1e237861fb5c268dc8e60175 SHA512 340ec29034e795225dc54a2ccb120046bbd8ea3d241988b6ef10d249f3070e17857098d2d3c742e6737205b3adf5b0fbafd79ec53d0fe0ec8caf6abfcd2e7f78
-EBUILD redis-5.0.9-r1.ebuild 4744 BLAKE2B 911a324ae75ab43090425efbb15fec52b2568e09944656450d13eb82d730466466b638adab70bf71378726d08da982a05d1a7b0bf0db7e8d7fc65606ded549de SHA512 270f9e9b8037799c2e59037c968796155d9c5dcbb29a69e72e1544cd310f0921a9e26101e37b6d4d6701b40ad6114bd1f931d36d8be2d96994ad861ce6cc39ac
-EBUILD redis-5.0.9.ebuild 4676 BLAKE2B 2de30fcbfb59d8b8fb75fe956d493f1ea7af8b6e5c9345a063722f5b85a31865d8acfad4cfd2b97dbe96e13f9734dc772a5b3c67eabf68239035721e6c0391b9 SHA512 ad8055de14691a842f160f0dfdd9530ed290417cca01f7e668fccece5433c18da26c153d20fd9df15ec58deaf56c6f7cc6aca83540fc6bd3e12c9bc2be27e43c
-EBUILD redis-6.0.5.ebuild 4705 BLAKE2B f7082975e525a81280bbbfef7ca72e662cdcde23391f033cd7851c8ec780d3239cba21b71a0808a721d28356233590ec41eb6160f7e9c4b82664ceb7ae33e9bc SHA512 47cf629bf66800b00a545fff07aecc6889bd28c526e666763254d8598e9ad8dd567c08c73f3c006843f161f369278bca27e3b62a3927ac1af1ba18177545d6c9
+EBUILD redis-5.0.9-r1.ebuild 4737 BLAKE2B 2c8ee5fee1812d8c8af4ae154e91450f99e13e1ca574466b5f86090b89d24fd64eba3367be67909f04761bf576db27885c0b78bf05547bf39352a8655f25c324 SHA512 25b463fc2b71c5671f1414d071c697f06ff3df5c7e4e958449dc6031bd28aa4464d624d6e32514ee9c60d9e6246e1b23f0e710ab384460e60754f2c48c3187c3
+EBUILD redis-6.0.6.ebuild 4705 BLAKE2B f7082975e525a81280bbbfef7ca72e662cdcde23391f033cd7851c8ec780d3239cba21b71a0808a721d28356233590ec41eb6160f7e9c4b82664ceb7ae33e9bc SHA512 47cf629bf66800b00a545fff07aecc6889bd28c526e666763254d8598e9ad8dd567c08c73f3c006843f161f369278bca27e3b62a3927ac1af1ba18177545d6c9
MISC metadata.xml 356 BLAKE2B 19e27b12be84927b990fc2f481d8dd1f88f05b5e029fdd91c7ce9517e7fd378d6e1df1eb55052a04fefe781da09b371da1c28fd269c72f4222aa896897222bf7 SHA512 ab06f694c5b20072f40e85b3a8e05d2c333f3b29fc145733fde1e3f42ea78ac7c51550afc29e671ef9b4a163597ac9f44bc182344c18db52036595e5d65f7e22
diff --git a/dev-db/redis/files/redis-4.0.1-shared.patch b/dev-db/redis/files/redis-4.0.1-shared.patch
deleted file mode 100644
index 945d114ae2fb..000000000000
--- a/dev-db/redis/files/redis-4.0.1-shared.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/Makefile b/src/Makefile
-index 86e0b3fe..c7db0ee9 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -29,14 +29,7 @@ INSTALL_BIN=$(PREFIX)/bin
- INSTALL=install
-
- # Default allocator defaults to Jemalloc if it's not an ARM
--MALLOC=libc
--ifneq ($(uname_M),armv6l)
--ifneq ($(uname_M),armv7l)
--ifeq ($(uname_S),Linux)
-- MALLOC=jemalloc
--endif
--endif
--endif
-+MALLOC?=jemalloc
-
- # To get ARM stack traces if Redis crashes we need a special C flag.
- ifneq (,$(findstring armv,$(uname_M)))
-@@ -120,9 +113,8 @@ ifeq ($(MALLOC),tcmalloc_minimal)
- endif
-
- ifeq ($(MALLOC),jemalloc)
-- DEPENDENCY_TARGETS+= jemalloc
-- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
-- FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a
-+ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE
-+ FINAL_LIBS+= -ljemalloc -ldl
- endif
-
- REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
diff --git a/dev-db/redis/files/redis-4.0.1-sharedlua.patch b/dev-db/redis/files/redis-4.0.1-sharedlua.patch
deleted file mode 100644
index d2b572250e86..000000000000
--- a/dev-db/redis/files/redis-4.0.1-sharedlua.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c
-index c26c0d7b..fa50c410 100644
---- a/deps/lua/src/lua_cjson.c
-+++ b/deps/lua/src/lua_cjson.c
-@@ -46,7 +46,7 @@
- #include "strbuf.h"
- #include "fpconv.h"
-
--#include "../../../src/solarisfixes.h"
-+#include "solarisfixes.h"
-
- #ifndef CJSON_MODNAME
- #define CJSON_MODNAME "cjson"
-diff --git a/src/Makefile b/src/Makefile
-index 86e0b3fe..09630321 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
- uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
--DEPENDENCY_TARGETS=hiredis linenoise lua
-+DEPENDENCY_TARGETS=hiredis linenoise
- NODEPS:=clean distclean
-
- # Default settings
-@@ -66,6 +66,7 @@ endif
- FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
- FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
- FINAL_LIBS=-lm
-+FINAL_LIBS+=@LUA_LIBS@
- DEBUG=-g -ggdb
-
- ifeq ($(uname_S),SunOS)
-@@ -107,7 +108,7 @@ endif
- endif
- endif
- # Include paths to dependencies
--FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
-+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@
-
- ifeq ($(MALLOC),tcmalloc)
- FINAL_CFLAGS+= -DUSE_TCMALLOC
-@@ -145,6 +146,7 @@ endif
- REDIS_SERVER_NAME=redis-server
- REDIS_SENTINEL_NAME=redis-sentinel
- REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o
-+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o
- REDIS_CLI_NAME=redis-cli
- REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o
- REDIS_BENCHMARK_NAME=redis-benchmark
-@@ -196,7 +198,7 @@ endif
-
- # redis-server
- $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
-- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS)
-+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
-
- # redis-sentinel
- $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
diff --git a/dev-db/redis/files/redis-sentinel-4.0.6-config.patch b/dev-db/redis/files/redis-sentinel-4.0.6-config.patch
deleted file mode 100644
index f2a75814951c..000000000000
--- a/dev-db/redis/files/redis-sentinel-4.0.6-config.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/sentinel.conf b/sentinel.conf
-index 0e1b266..869a4b9 100644
---- a/sentinel.conf
-+++ b/sentinel.conf
-@@ -194,3 +194,4 @@ sentinel failover-timeout mymaster 180000
- #
- # sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
-
-+logfile "/var/log/redis/sentinel.log"
diff --git a/dev-db/redis/redis-4.0.14.ebuild b/dev-db/redis/redis-4.0.14.ebuild
deleted file mode 100644
index 5ca8d4bae3db..000000000000
--- a/dev-db/redis/redis-4.0.14.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd toolchain-funcs user
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-# This should link correctly with both unslotted & slotted Lua, without
-# changes.
-RDEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="${RDEPEND}
- test? ( dev-lang/tcl:0= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-pkg_setup() {
- enewgroup redis 75
- enewuser redis 75 -1 /var/lib/redis redis
-}
-
-src_prepare() {
- eapply \
- "${FILESDIR}"/${PN}-3.2.3-config.patch \
- "${FILESDIR}"/${PN}-4.0.1-shared.patch \
- "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \
- "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch
- eapply_user
-
- # Copy lua modules into build dir
- cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua
- if false && has_version 'dev-lang/lua:5.3'; then
- # Lua5.3 gives:
- #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
- LUAPKGCONFIG=lua5.3
- elif false && has_version 'dev-lang/lua:5.2'; then
- # Lua5.2 fails with:
- # scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
- # Because lua_open because lua_newstate in 5.2
- LUAPKGCONFIG=lua5.2
- elif has_version 'dev-lang/lua:5.1'; then
- LUAPKGCONFIG=lua5.1
- else
- LUAPKGCONFIG=lua
- fi
- # The upstream configure script handles luajit specially, and is not
- # effected by these changes.
- einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
- sed -i \
- -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- tc-export CC AR RANLIB
-
- local myconf=""
-
- if use tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
- insinto /etc/
- doins redis.conf sentinel.conf
- use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
- fperms 0644 /etc/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r1" redis
- newinitd "${FILESDIR}/redis.initd-5" redis
-
- systemd_newunit "${FILESDIR}/redis.service-3" redis.service
- systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
- dobin src/redis-cli
- dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
- fperms 0750 /usr/sbin/redis-benchmark
- dosym redis-server /usr/sbin/redis-sentinel
-
- if use prefix; then
- diropts -m0750
- else
- diropts -m0750 -o redis -g redis
- fi
- keepdir /var/{log,lib}/redis
-}
diff --git a/dev-db/redis/redis-5.0.9-r1.ebuild b/dev-db/redis/redis-5.0.9-r1.ebuild
index 1c36ec874b77..a4efac4f1871 100644
--- a/dev-db/redis/redis-5.0.9-r1.ebuild
+++ b/dev-db/redis/redis-5.0.9-r1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://redis.io"
SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+KEYWORDS="amd64 arm arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
IUSE="+jemalloc tcmalloc luajit test"
RESTRICT="!test? ( test )"
SLOT="0"
diff --git a/dev-db/redis/redis-5.0.9.ebuild b/dev-db/redis/redis-5.0.9.ebuild
deleted file mode 100644
index c793b287dfc2..000000000000
--- a/dev-db/redis/redis-5.0.9.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic systemd toolchain-funcs
-
-DESCRIPTION="A persistent caching system, key-value and data structures database"
-HOMEPAGE="https://redis.io"
-SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
-# Redis does NOT build with Lua 5.2 or newer at this time.
-# This should link correctly with both unslotted & slotted Lua, without
-# changes.
-COMMON_DEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
- tcmalloc? ( dev-util/google-perftools )
- jemalloc? ( >=dev-libs/jemalloc-5.1:= )"
-
-RDEPEND="
- ${COMMON_DEPEND}
- acct-group/redis
- acct-user/redis"
-
-BDEPEND="
- ${COMMON_DEPEND}
- virtual/pkgconfig"
-
-# Tcl is only needed in the CHOST test env
-DEPEND="
- ${COMMON_DEPEND}
- test? ( dev-lang/tcl:0= )"
-
-REQUIRED_USE="?? ( tcmalloc jemalloc )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.3-config.patch
- "${FILESDIR}"/${PN}-5.0-shared.patch
- "${FILESDIR}"/${PN}-5.0-sharedlua.patch
- "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch
- "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
-)
-
-src_prepare() {
- default
-
- # Copy lua modules into build dir
- cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
- cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
- # Append cflag for lua_cjson
- # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
- append-cflags "-DENABLE_CJSON_GLOBAL"
-
- # now we will rewrite present Makefiles
- local makefiles="" MKF
- for MKF in $(find -name 'Makefile' | cut -b 3-); do
- mv "${MKF}" "${MKF}.in"
- sed -i -e 's:$(CC):@CC@:g' \
- -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
- -e 's: $(DEBUG)::g' \
- -e 's:$(OBJARCH)::g' \
- -e 's:ARCH:TARCH:g' \
- -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
- "${MKF}.in" \
- || die "Sed failed for ${MKF}"
- makefiles+=" ${MKF}"
- done
- # autodetection of compiler and settings; generates the modified Makefiles
- cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
-
- # Use the correct pkgconfig name for Lua
- if false && has_version 'dev-lang/lua:5.3'; then
- # Lua5.3 gives:
- #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
- LUAPKGCONFIG=lua5.3
- elif false && has_version 'dev-lang/lua:5.2'; then
- # Lua5.2 fails with:
- # scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
- # Because lua_open because lua_newstate in 5.2
- LUAPKGCONFIG=lua5.2
- elif has_version 'dev-lang/lua:5.1'; then
- LUAPKGCONFIG=lua5.1
- else
- LUAPKGCONFIG=lua
- fi
- # The upstream configure script handles luajit specially, and is not
- # effected by these changes.
- einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
- sed -i \
- -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
- -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
- -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
- configure.ac || die "Sed failed for configure.ac"
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with luajit)
-
- # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
- # also, don't define ANSI/c99 for lua twice
- sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
-}
-
-src_compile() {
- tc-export CC AR RANLIB
-
- local myconf=""
-
- if use tcmalloc; then
- myconf="${myconf} USE_TCMALLOC=yes"
- elif use jemalloc; then
- myconf="${myconf} JEMALLOC_SHARED=yes"
- else
- myconf="${myconf} MALLOC=yes"
- fi
-
- emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
-}
-
-src_install() {
- insinto /etc/
- doins redis.conf sentinel.conf
- use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
- fperms 0644 /etc/{redis,sentinel}.conf
-
- newconfd "${FILESDIR}/redis.confd-r1" redis
- newinitd "${FILESDIR}/redis.initd-5" redis
-
- systemd_newunit "${FILESDIR}/redis.service-3" redis.service
- systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf
-
- newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
- newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
-
- insinto /etc/logrotate.d/
- newins "${FILESDIR}/${PN}.logrotate" ${PN}
-
- dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
-
- dobin src/redis-cli
- dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
- fperms 0750 /usr/sbin/redis-benchmark
- dosym redis-server /usr/sbin/redis-sentinel
-
- if use prefix; then
- diropts -m0750
- else
- diropts -m0750 -o redis -g redis
- fi
- keepdir /var/{log,lib}/redis
-}
diff --git a/dev-db/redis/redis-6.0.5.ebuild b/dev-db/redis/redis-6.0.6.ebuild
index 16fd3cbb2f80..16fd3cbb2f80 100644
--- a/dev-db/redis/redis-6.0.5.ebuild
+++ b/dev-db/redis/redis-6.0.6.ebuild
diff --git a/dev-db/repmgr/Manifest b/dev-db/repmgr/Manifest
index 163a045c5f8d..0dd46e67ede7 100644
--- a/dev-db/repmgr/Manifest
+++ b/dev-db/repmgr/Manifest
@@ -1,5 +1,7 @@
DIST repmgr-3.0.1.tar.gz 91724 BLAKE2B be0ac2d54dbaae7a45abaa90ed1a851e22f05a1bb0969a1c5d95e58d7c3f89513cc47555b77cc57bb5cd5baf60c21c9c44375363a757510f07b111ec78f87441 SHA512 5655745df18132ee53ff36f80b3a2bb8caa6cedd8091350464cf343386baa31c47d46b25c171dda0fd1f4c3402babea9864f4557a10659111449a2eb2e1fa2b9
DIST repmgr-3.3.2.tar.gz 162107 BLAKE2B b1029297fa548241dc5d58bcdcffc0a6f749725eba2d3c7d2cb70b1f46a96b491dc27deb7baf8459e91eae9663df000a1713e80f05e7e0e39afc020b4136c9a4 SHA512 98fba8fc0d9074e496c66762dbec45734fe279f39c9c51adb3e66dca929ac37f66a609789c8c658545856fd81f5afc5b35f6b5e389e52bce8c04ce8c52acd8dd
+DIST repmgr-5.1.0.tar.gz 426487 BLAKE2B 25157923f94b8bd27a2b57796f701e89e7d9acfc8dabc4368640068d5926934e5688b27147ae94b4bee7bad54d59353927b5b70cf5590c554c4eef35fadf29b9 SHA512 9fa8a43ee3920269d1c1d2e619939eb68cb7ba79effe11e87dd67c594bacfcde609949322ce968df328f3913111f27d0ebe2f7742a72e21f3df97b0e05c56cc7
EBUILD repmgr-3.0.1.ebuild 1093 BLAKE2B b1bea77367d0485c85243730480fb97acc476606aa0db0587f1e3f2c70557456a489b84c88b70c17d14fb781bd27d505bd416ad57172ee0f56c2f47a67280105 SHA512 20196fa1f8819d40fb9eb2d72b76e4fe152ed1ac4ee4c35fd6b052af19ad8f3704888ffcae008869635661880a9e81076b012a2ecbd271e4553f74db1904930f
EBUILD repmgr-3.3.2.ebuild 1093 BLAKE2B 8cce7fa79f044e9f5c5d459ee443f4d49b1dedb36e42e62670a39bb824d6e654dfd7c9c072a64dc40fa3ec9b89ea2c18d8f0e55954277877aabc89de781157db SHA512 6412c5cc1a9bde4fc6cac191146c0a529a67016690353b733547270198515b13ac56f9ecc081fb58eebe93b4afd03095001a9b4986e5f2ce55e3175c6893955b
+EBUILD repmgr-5.1.0.ebuild 1028 BLAKE2B 960b1318d3c2fab555eb50c20dda76bd848f5b2efb8fab82c2d186a2e68967c5a28aaa6d61926457cc7dc3c80dc35a36943e12a809e2fba402c6b0736725c0cf SHA512 8a4ea35e3cbbed088366ece031cea2e095b68b51786f0c753745eb7dd438f95e9f0a8eef660fae57d3d446e45608e8ae3eb69449f5ec403b5fd9c6b1d472be37
MISC metadata.xml 224 BLAKE2B e14c5e39ad6d95b550997301c1ff5fe7b690fc3a146c1b0811fd4d0441c09622fb029728028b464152abd3bb36b467dd4299fccd03d666a8755070b90e99d107 SHA512 823068733b2edd6bd6d3d211f2ec383dbc3571bb4f9a57fd0dd0f48633a99e90e4ee979cc82e9a8aca6667b0ebe6a66c1c76551dce88ed25f163ce9a25a9cd41
diff --git a/dev-db/repmgr/repmgr-5.1.0.ebuild b/dev-db/repmgr/repmgr-5.1.0.ebuild
new file mode 100644
index 000000000000..06a26ac1e9b5
--- /dev/null
+++ b/dev-db/repmgr/repmgr-5.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit eutils multilib
+DESCRIPTION="PostgreSQL Replication Manager"
+HOMEPAGE="http://www.repmgr.org/"
+SRC_URI="http://www.repmgr.org/download/${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND=">=dev-db/postgresql-9.3[server,static-libs]"
+RDEPEND="${DEPEND}
+ net-misc/rsync"
+
+src_compile() {
+ emake USE_PGXS=1
+}
+
+src_install() {
+ emake DESTDIR="${D}" USE_PGXS=1 install
+ export PGSLOT="$(postgresql-config show)"
+ einfo "PGSLOT: ${PGSLOT}"
+ PGBASEDIR=/usr/$(get_libdir)/postgresql-${PGSLOT}
+ PGBINDIR=${PGBASEDIR}/bin/
+ PGCONTRIB=/usr/share/postgresql-${PGSLOT}/contrib/
+ dodir $PGCONTRIB $PGBINDIR
+ dosym $PGBINDIR/repmgr /usr/bin/repmgr${PGSLOT//.}
+ dosym $PGBINDIR/repmgrd /usr/bin/repmgrd${PGSLOT//.}
+ dodoc CREDITS HISTORY COPYRIGHT *.md
+ insinto /etc
+ newins repmgr.conf.sample repmgr.conf
+ fowners postgres:postgres /etc/repmgr.conf
+ ewarn "Remember to modify /etc/repmgr.conf"
+}
diff --git a/dev-db/sadisplay/Manifest b/dev-db/sadisplay/Manifest
index ed7aa4fc217a..17239dc43694 100644
--- a/dev-db/sadisplay/Manifest
+++ b/dev-db/sadisplay/Manifest
@@ -1,3 +1,3 @@
DIST sadisplay-0.4.9.tar.gz 9536 BLAKE2B 0265eb470ab600b761cf6d0e1872c3225e863de8aa602fbcdb1839c33ced8825318d4e4f8ee24de420847c077d1830af069af37ea8d3e3e6c76f47dc2335e1b3 SHA512 30fe8dd2a6247328bc4d7640e5a34b15a062322729cb8a2ffb66c740145475a95ac924f752017fda8f347268ce598957cfe78e8fd6f80413267c72b143b3e8b8
-EBUILD sadisplay-0.4.9.ebuild 491 BLAKE2B de7c684280c9b262d2b7c2b3e0ebf6a1572db7313974776e899c6312980fd3fe6e0e36b4582e2ef3f9e4c7935a3477466f282e0230697f06d4c1e94326067716 SHA512 8f29053f89b23810d38226d818d30ee983d0d88cde05059cdc2d9bfced5b62a195a6de56e1c2e56c241d7f7437542f6f81ae498eb5cfda5b23d172c41312efe7
-MISC metadata.xml 723 BLAKE2B b68188d1029ee8525109cbfe77acc40eb086ca55d1a6dd7dbb09ecba629d6b212535f130d52248c04010e7723c1a0e6fb85a0936d1ce1376331c1da9719b6180 SHA512 956c5292c44d4c4567bc000e81a5469e6cf31e38eb6e4f4f66ef7a4def68f919708d6a4fa974d087f0550756e52af1a27c1c35e73d8c3e958106c25b7e95cb84
+EBUILD sadisplay-0.4.9.ebuild 478 BLAKE2B 1dfb1391b9810585a9c2871406b30f5f346cd85c0d5ac099a9d2d0ff5c8d91d70a749e38dfc39bc344a49654314f7bbb8e8913224ca283e03cd0ada8d218b0a3 SHA512 72942ef43fe427729fcb92091fdc8f9361b0a6e530f8d5edbfa0766c0dc138523e93639c2acd72d8a1216a36d7e7fda7f8d58c28e40c98db0398b2254ebbe8f5
+MISC metadata.xml 712 BLAKE2B 27421648f5f7843cdb0f3503cb6406d684a6236c51e80452c405a09682dc76ad09949d19dc7770f41cc3c406d7a1dcbbc606004e304d38d7c02e2d0df0c7519f SHA512 e8cdf8fb80041fe55731ebed4f797e0ec84e61bc59f4acf567a251fe3974aacb574bbe0d339ff01dc29b43ec4c8a2fffcee1406200ad0cb7807ccf97f3517251
diff --git a/dev-db/sadisplay/metadata.xml b/dev-db/sadisplay/metadata.xml
index fb7b2ca77d10..a55deabf108e 100644
--- a/dev-db/sadisplay/metadata.xml
+++ b/dev-db/sadisplay/metadata.xml
@@ -16,6 +16,6 @@
Supports mapped class inherit.
</longdescription>
<upstream>
- <remote-id type="bitbucket">estin/sadisplay</remote-id>
+ <remote-id type="pypi">sadisplay</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-db/sadisplay/sadisplay-0.4.9.ebuild b/dev-db/sadisplay/sadisplay-0.4.9.ebuild
index 648efe4ed064..e942723c8a79 100644
--- a/dev-db/sadisplay/sadisplay-0.4.9.ebuild
+++ b/dev-db/sadisplay/sadisplay-0.4.9.ebuild
@@ -10,7 +10,7 @@ DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="SqlAlchemy schema display script"
-HOMEPAGE="https://bitbucket.org/estin/sadisplay/wiki/Home"
+HOMEPAGE="https://pypi.org/project/sadisplay"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
diff --git a/dev-db/slony1/Manifest b/dev-db/slony1/Manifest
index fd99633b05cc..d89ccd53a75d 100644
--- a/dev-db/slony1/Manifest
+++ b/dev-db/slony1/Manifest
@@ -4,6 +4,6 @@ DIST slony1-2.2.6-docs.tar.bz2 1450956 BLAKE2B 949d0736eb9ab021767b80b4240e30a8c
DIST slony1-2.2.6.tar.bz2 1465709 BLAKE2B 87e581638aab5ac9f51437fc43b65f200c29e012fa2b5331d4a7972359bb345c8d5aec9917fbc348ce8338115f8270d6e55025905aa5aba642090a8486d0a3fc SHA512 5aeadb9ed72b83d303596e4f8513409a1f826f25fe283ca6aa969a7563172bbc5f5360f876fa87780f6a6fc70cb55688a2daf678b9cf91972a3c403cb76184b8
DIST slony1-2.2.7-docs.tar.bz2 252020 BLAKE2B 315d54c008fca121fac12385602e729c7bb6a7a90db502165625c1138da6b87f147410555ca6bc315ba766fd6fed22b6c5dcbe06c9481dd37b9e9c8832209b02 SHA512 7735aae634788acae77eb2cc64f51a851e3b804fb1ca860eddc237734aa6182bd7dfcdae485cd89682c413f55003ea67d91c4c24922b4fdef79ac34793022e56
DIST slony1-2.2.7.tar.bz2 1464923 BLAKE2B aee11f92d634a6c2eaf84dd48faf6cac7a27956474aaa9070f1d4fad3e70b0af09475abda149e096f1b238d68237c0b43b18880440bd4c2d66f5c0f4ad789e99 SHA512 22700e1574c91d4a4be5b78aac967eebc039440897364780891c2c76ed5b8e07c03205f0fbcd4870ee7c620d62b175987c46c43750524c6e5f9009044cc24f9a
-EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B 597c130629801f77850c83e3997bf9d2932ab7adccd996cb8741523352fc1412cc0222404bd41fa84190c1011d15f7132d08b2004f233c2bc27a09af54b1f65f SHA512 95b77cad245c855e078651cf29f4b1c41c14ebde7aee64bf3ae19a52bd32905dce73fed2b722e35ebea34c33e1080cd823d5b76f11d07efe1c2c4fa82e06b339
-EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B f11db04586e96c02622c029270840189043233ad270bc5f053a1b0626932484ad91f302825c2a0bb107bff5efc77400a70254d6ea98a20253859b49539ff799c SHA512 14dd33945eee36c8bef912ecf168c45b93f0863cc23eb1d55b2ee2d27e58f868433f7c4922b33d29e9620ae05bf979f4df9225508faaf372b3f248bce665d81f
+EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B f9c9cce6671b1a5c613a6950ee34df5627db305c83709af4a1a76d25b8f0520ee73d679db0d974531062f83d4bb085f65165ba0ca46059908839de639385d41a SHA512 9ee213f0628031c5b670a0a8533c19c43b45694e64bfd7c23ddf5a9d8a09d9d048898214536cde6303b81134504c0e11412e9e28705abe649982e2d4bb69841c
+EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B c3d2307c14aaec2a9ae999e31ef5ec3b090857d59e50eb09e17c175b4d92f92ba12e15b6a43823a79c9e95d0be94f31218b17ca17f8dfc0c966b87fdb713932a SHA512 767988ade2ba9f7203b1142767d43dfb8fb11f34d9555fc86dec8a2c2360bd423112aaae4a5632b44b8e01610a0f8dbfd3af23a8972adb5d686b9b38eb7d56ea
MISC metadata.xml 280 BLAKE2B 75bfaba3095bd67dfa80654885579e51053fd130ae4e3ad61ac75192eebad9fe8d08cbdf63773dad3837ef2805e0594d0823655966fde8876ba5919e01f0e698 SHA512 efb5fb6652ac8cd75fff4eea8b2b044a2c9201cce2faf3bbe13a97565d150e64f9ba0dd8bb691a44a1b6726455306ea8b6c1b121678a721a82e7ea8b6589c94f
diff --git a/dev-db/slony1/slony1-2.2.6.ebuild b/dev-db/slony1/slony1-2.2.6.ebuild
index a3e2265b26e9..6ea02b10d27b 100644
--- a/dev-db/slony1/slony1-2.2.6.ebuild
+++ b/dev-db/slony1/slony1-2.2.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-POSTGRES_COMPAT=( 9.{4..6} 10 )
+POSTGRES_COMPAT=( 9.{5..6} 10 )
POSTGRES_USEDEP="server,threads"
inherit eutils postgres-multi versionator
diff --git a/dev-db/slony1/slony1-2.2.7.ebuild b/dev-db/slony1/slony1-2.2.7.ebuild
index 1e4c19cfd284..d0edb6f89da5 100644
--- a/dev-db/slony1/slony1-2.2.7.ebuild
+++ b/dev-db/slony1/slony1-2.2.7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-POSTGRES_COMPAT=( 9.{4..6} {10..11} )
+POSTGRES_COMPAT=( 9.{5..6} {10..11} )
POSTGRES_USEDEP="server,threads"
inherit eutils postgres-multi versionator
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 858eea63994e..c3cac931bf93 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,11 +1,11 @@
-AUX sqlite-3.25.0-nonfull_archive-build.patch 416 BLAKE2B 37faa30235c1b668d3cf510c353730a932a807f650c638ac0d07d3a1c0534dedef233c06cef52b6569eb1d58b5bcd910dd59c8d2e792726945f49f882d4181be SHA512 44db89a32b51713cf59fb3f071cca08648deebf6e2830dd61b033a5160ce6ddcbf54a191be42b3b252ea4bc16614fbcfa569207f34f268f1da5acd5fadcda668
-AUX sqlite-3.31.0-full_archive-build.patch 15642 BLAKE2B c07992c52f1e67d5d5eae1b0cfc0fe20b26e4405ccd8f6c7ece75ea3908f9699e67520c3d27b614b01d20b5758b2b85a8f3b66aa1675cc8fd248d7742fc55ec9 SHA512 14727ab43911f810a22b3aa2a48ce8074422ad38898d0064b7ec4b9a226b27a781ac342a60f32ae1edbaae155bdf142456f66faf8d5adcd33b902b77c3607f72
-AUX sqlite-3.31.1-full_archive-architectures.patch 2993 BLAKE2B 252d92ec087482b062e0dae0b223e0c0dee6f5857765c6babb857922eb97183a1c72b4ba196685e6b1e1631990123bc8cd71a4e26eabe317741cdc19ac54c201 SHA512 d65475759e2ae663094803d7c74e62fe233630afcf7bd287e77a613144889efb09d57e9f9fa8dce634872e37f1ae53134793fbcfd3d7bd260fc6d774bf5e8aad
-AUX sqlite-3.31.1-full_archive-security_fixes.patch 5388 BLAKE2B c2740e47d2aab8b99c9d8ae9f346f51f0dca8cdff7d3b991346aff5e94553af1c523b48d33490abb83ecc77be9ae075580dc095b827b348c657b9d5082ec5fe3 SHA512 53894b3bdf5e4a61c58b23758867a63db73b49b856f696a32c6c6d0224d54359927db635abec770e84b111dbf0fbb48b9742809be05504e12854385c58024819
-AUX sqlite-3.31.1-nonfull_archive-architectures.patch 826 BLAKE2B a506bc0a44477c7b5ad85ad2144871a4d1311d84e8da7b8958a73762662caf11734a3152984430b2c48120d1bfa1099b8a740f9a5c23ee8de1292d7ac1ffcea6 SHA512 041f0d4e07315c48ddce9d1576329647daa787fdcc76d2590fa2bbfb33a13f1b86707379a73b7db35619731c2df0e094b26879648e4b6a9b40696dbd39c7bffa
-AUX sqlite-3.31.1-nonfull_archive-security_fixes.patch 4099 BLAKE2B bc07ee47164abeefc8d802741e68d77ce339209bc2d143246287e7d2743a57f13a84c08d048c1e72cee84a3ecc2e323a316f7b231352558f28cbd4259c5f8f8b SHA512 b8f18b4895168036cb5958dade34060b2cfee7aeaf61f20fa741f6d9e61856f643597324313e7e0cd1732346099da78111cf44171e355aa7f13ef8a6350845d6
-DIST sqlite-autoconf-3310100.tar.gz 2887243 BLAKE2B ef5d40b6e6c59a51ae95368eb9f6a938188813f89d5328ea1c1180ef35f124c14b3e83b0832ae5c2fa24cc2df352f1b0ea5f20b64d0762d50a700d9895f9a12e SHA512 d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617
-DIST sqlite-doc-3310100.zip 9600405 BLAKE2B 324fb7a0a38bc56476e41504c14996e9d5d83ac659403991515413d49f5ee3aad064ccece25f52b6041ef26bf23f320a9be1b6b02c5fbe96c36372107f54fc2e SHA512 5572e2c2dac30c014ef9cd60a620b7a7bb610f91a47e2890c0641540d39b9d5ce0e914ee697583130317633918b7827e2612a7cbc024f5bd6aa22ad28a78b56b
-DIST sqlite-src-3310100.zip 12510166 BLAKE2B a856695e8552b8b4dcb28452fdbd48305fdb9072f9d6587f4b1f4445daf386e920eb936dcb50fdfe41a49f84b26a7c5fedcffea5acf3ba3fa935c36695d4b8ee SHA512 af92a00877bcd90372d6f83a27fea12b4fe8d1155b223a6bccbccc31bb8e3d2269cd9e68f329bc55f70d1068ccbf220ff5abccea6f593fd7a3a4bdd732d1cdbe
-EBUILD sqlite-3.31.1.ebuild 11936 BLAKE2B ffb1297a2df474acaaf030e2a29ee297e19133db11276a09cc0507b913ace9502bc3a22efdb55e4e935727ed3a6a785c4132b8b54663015475d3801ab16adf0c SHA512 2e91be4abb03493654561005a1edf8d5cbbce5740adc15205331b881271e8e605c570948b7576f98cdb0bccf1aae1f3d37f2c4b6bb188b5c46e06aed5a107788
+AUX sqlite-3.32.1-full_archive-build_1.patch 18726 BLAKE2B 91906aa09514d6f31a87648d7a12fd7a187cbc328bc1d2e41dcd0d041c1ad1959953823af5b84994d742dfcba46727af5797fe83c576ae483133156abbb00f1c SHA512 b206d2767ac9312165085b623f06cf19d36e4fa85c33bce67db56ae41880374ae4115294f417de67f32f6ea9200b028160cdde3ad3420c5ad342b7ec0928fa87
+AUX sqlite-3.32.1-full_archive-build_2.patch 20259 BLAKE2B 851918379951943ac02fc5bd5b4807f05e9faf2a7e3d01d945761801beeb25c4083bdb5b48ddb79f9e54b859932fffbb393eadfa3ae16ea400e7490fb730170a SHA512 cf4a74ebb0e7b81b3225bd6d38fde663b981d6e5217996a0c80a4880a3818d7b84c39ed6527573426b2d0deebff74b46775c2ca91b8b6503e2f26758d9eb2ad3
+AUX sqlite-3.32.3-backports_1.patch 17914 BLAKE2B cca0c1d7e1bcccbf9042725f7df32359c954725e4a13e6956dc642aa082abe85953df98f4d3ba59c11599c3a9595126da78600ad0d4a66dce987be45f17c582e SHA512 44f91b92d6c8086b10cd96a382ea391108bde5a2e48f2b9ae43e97fe9fa9d5f4c64ee500bb8ed4414dd519f85823121265c450e92898d13468297d7bf9d28ddc
+AUX sqlite-3.32.3-backports_2.patch 18056 BLAKE2B 60be3513c3cc687e8fac5689f096a8e543904dfd8f5e3f01f92245de963cc01b7f02774b0a60b2ca3fe3415d0eb3615f65e8756e174efccc98dc5438dbf2189c SHA512 4bb01074417f3e3af6bdf619c0ccc61fe54f4e926a1dd31a57e1a595cc713e58ee52cac7baa11ffa271ed434a8bb645be7fd25a9fa93cc596707f2e503fe87a1
+AUX sqlite-3.32.3-backports_3.patch 9059 BLAKE2B 4c36eafca13eab04bfb0ce871458d12925b225f05edce785f7f86650de31808179d8bebeffcc23ca8f68069fa2854b7a042ef91e85705b27e85af1b3c424ced8 SHA512 c897d7ebc9b8b5f29c8ed27e76bdeeb3a0bde62fcd4f5398deca2f97c99cc2ef5556389b0c79dced64982fbde2a6322abd91e134255156b572bca476e2a7c050
+AUX sqlite-3.32.3-security_fixes.patch 4850 BLAKE2B 0dad99a14909c85f5f8b31d74dd1d63a5be7d3c6499bba788a2ff09dd1d6bb9badce57499c99c9c6fdc5b7177204452a2e14214748931ccf502154c44e3c29a8 SHA512 5845368e63676fb050618ca923b5c8348d17e003e4735f36bef17b185f434348708ce3e05be76e7c661eb5321a199364c9ba06492f71a9921b30c00255b55766
+DIST sqlite-doc-3320300.zip 9772933 BLAKE2B efd72c18d0398c103e3f9c4cfeb03e7794fd69691b1bcea95b74a0c5d8af22aa13abc84ce8dc5864b5f4cb79be239433933b4daca34d1adfcc6f31ce2cde66bf SHA512 af9dca970b4c03c058d7d1cd55a3d11fa4b112dccac942b8660d82a7e9ba2956963fcb429eedfdc85915637c102e1f904ace98c8e0455c4120422bbd9f2f3cd0
+DIST sqlite-src-3320300.zip 12461750 BLAKE2B 59cce74d284191cfc69ac09b6014701ddd2b7b3d7ebaad5da4ad71cc200e70285b3b201ff174819aa8dde5f610589d7947f547450334f0f17149014078316185 SHA512 7e027c7163a760fb9b6dbfd2e4ccffb39d4972280583fb0d7f8390017101dfed3b12a36653b3130a548ae4d04c6abb11c0a1921b6f09c54c6ae1e72fbdcb2fd4
+EBUILD sqlite-3.32.3-r1.ebuild 10369 BLAKE2B c997121e13e1f2b86128e18a86d7260f340f4a1be42b8ff2c02a34b13689f883572352e4e3c9ada1dbfccd2e215d8d1e6b18e912a6d966bb76112aaba241bb53 SHA512 39c97994f1f8d505055701173ebdf41732dbce2b4071c5a4b2e17a8d29f09ae92a2b731521fcf2a33ad5821cb18e9bd790dd1789d4fe9e3e9002786e34caf8ca
+EBUILD sqlite-3.32.3.ebuild 10424 BLAKE2B abfa3de0889bd3931678ffd3a0c8c8d5814a7a673f922965484a2d3c85c3a7203f17ff53dcb2cf2dd4866b1936920b084c856909803fd7f828efab6c52b1446f SHA512 2f74dbdb11ca5d9ed8989ef86cac2d087b7f5e420031b69dac5bdafdd6887e739adbb88f9159082cd2a787cce9923b33bb1bd497e0f7900eca6af18b1a3b79d1
MISC metadata.xml 748 BLAKE2B c58da3e33e12b7747bbadacfd1a6137cf847fd5bd0525fc02ef854eb5bcad7bad0b29739257b632e19190995659768fdea418ffa7e485e55ef15f40f58b8382c SHA512 66f3f134065f76229b74a7ab7b469066a93da737a9037435e6fe78e85f45c980ec561537f2bb9b95db9de026bad025d8b06682187c97dedd2741717e893d43da
diff --git a/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch b/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch
deleted file mode 100644
index be0a7e30dde3..000000000000
--- a/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix building with dlopen() not available.
-
---- /configure.ac
-+++ /configure.ac
-@@ -102,6 +102,9 @@
- [], [enable_dynamic_extensions=yes])
- if test x"$enable_dynamic_extensions" != "xno"; then
- AC_SEARCH_LIBS(dlopen, dl)
-+ if test "${ac_cv_search_dlopen}" = "no"; then
-+ BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1"
-+ fi
- else
- BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1"
- fi
diff --git a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch b/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch
deleted file mode 100644
index a0cf7514d0f7..000000000000
--- a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-https://sqlite.org/cgi/src/info/04885763c4cd00cb
-https://sqlite.org/cgi/src/info/b20503aaf5b6595a
-
---- /ext/fts5/test/fts5matchinfo.test
-+++ /ext/fts5/test/fts5matchinfo.test
-@@ -500,14 +500,18 @@
- INSERT INTO t1 VALUES('c', 'd');
- }
-
-+if {$tcl_platform(byteOrder)=="littleEndian"} {
-+ set res {X'02000000'}
-+} else {
-+ set res {X'00000002'}
-+}
- do_execsql_test 15.1 {
- SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1;
--} {X'02000000'}
--
-+} $res
- do_execsql_test 15.2 {
- DELETE FROM t1_content WHERE rowid=1;
- SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1;
--} {X'02000000'}
-+} $res
-
- fts5_aux_test_functions db
- do_execsql_test 15.3 {
-@@ -517,4 +521,3 @@
- }
-
- finish_test
--
---- /src/insert.c
-+++ /src/insert.c
-@@ -2170,12 +2170,14 @@
- x = *sqlite3VdbeGetOp(v, addrConflictCk);
- if( x.opcode!=OP_IdxRowid ){
- int p2; /* New P2 value for copied conflict check opcode */
-+ const char *zP4;
- if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){
- p2 = lblRecheckOk;
- }else{
- p2 = x.p2;
- }
-- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type);
-+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z;
-+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type);
- sqlite3VdbeChangeP5(v, x.p5);
- VdbeCoverageIf(v, p2!=x.p2);
- }
---- /test/fts4aa.test
-+++ /test/fts4aa.test
-@@ -229,13 +229,18 @@
- # 2019-11-18 https://bugs.chromium.org/p/chromium/issues/detail?id=1025467
- db close
- sqlite3 db :memory:
-+if {$tcl_platform(byteOrder)=="littleEndian"} {
-+ set res {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'}
-+} else {
-+ set res {X'0000000200000000000000000000000E0000000E00000001000000010000000100000001'}
-+}
- do_execsql_test fts4aa-6.10 {
- CREATE VIRTUAL TABLE f USING fts4();
- INSERT INTO f_segdir VALUES (77,91,0,0,'255 77',x'0001308000004d5c4ddddddd4d4d7b4d4d4d614d8019ff4d05000001204d4d2e4d6e4d4d4d4b4d6c4d004d4d4d4d4d4d3d000000004d5d4d4d645d4d004d4d4d4d4d4d4d4d4d454d6910004d05ffff054d646c4d004d5d4d4d4d4d3d000000004d4d4d4d4d4d4d4d4d4d4d69624d4d4d04004d4d4d4d4d604d4ce1404d554d45');
- INSERT INTO f_segdir VALUES (77,108,0,0,'255 77',x'0001310000fa64004d4d4d3c5d4d654d4d4d614d8000ff4d05000001204d4d2e4d6e4d4d4dff4d4d4d4d4d4d00104d4d4d4d000000004d4d4d0400311d4d4d4d4d4d4d4d4d4d684d6910004d05ffff054d4d6c4d004d4d4d4d4d4d3d000000004d4d4d4d644d4d4d4d4d4d69624d4d4d03ed4d4d4d4d4d604d4ce1404d550080');
- INSERT INTO f_stat VALUES (0,x'80808080100000000064004d4d4d3c4d4d654d4d4d614d8000ff4df6ff1a00204d4d2e4d6e4d4d4d104d4d4d4d4d4d00104d4d4d4d4d4d69574d4d4d000031044d4d4d3e4d4d4c4d05004d6910');
- SELECT quote(matchinfo(f,'pnax')) from f where f match '0 1';
--} {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'}
-+} $res
-
- # 2019-11-18 Detect infinite loop in fts3SelectLeaf()
- db close
diff --git a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch
deleted file mode 100644
index c0bb7144a67b..000000000000
--- a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-https://sqlite.org/cgi/src/info/9d0d4ab95dc0c56e
-https://sqlite.org/cgi/src/info/abc473fb8fb99900
-https://sqlite.org/cgi/src/info/5aeb5a2d295e10d5
-https://sqlite.org/cgi/src/info/a67cf5b7d37d5b14
-https://sqlite.org/cgi/src/info/14d14eb537075c6a
-https://sqlite.org/cgi/src/info/c431b3fd8fd0f6a6
-
---- /src/expr.c
-+++ /src/expr.c
-@@ -5463,19 +5463,25 @@
- case TK_LT:
- case TK_LE:
- case TK_GT:
-- case TK_GE:
-+ case TK_GE: {
-+ Expr *pLeft = pExpr->pLeft;
-+ Expr *pRight = pExpr->pRight;
- testcase( pExpr->op==TK_EQ );
- testcase( pExpr->op==TK_NE );
- testcase( pExpr->op==TK_LT );
- testcase( pExpr->op==TK_LE );
- testcase( pExpr->op==TK_GT );
- testcase( pExpr->op==TK_GE );
-- if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->y.pTab))
-- || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->y.pTab))
-+ /* The y.pTab=0 assignment in wherecode.c always happens after the
-+ ** impliesNotNullRow() test */
-+ if( (pLeft->op==TK_COLUMN && ALWAYS(pLeft->y.pTab!=0)
-+ && IsVirtual(pLeft->y.pTab))
-+ || (pRight->op==TK_COLUMN && ALWAYS(pRight->y.pTab!=0)
-+ && IsVirtual(pRight->y.pTab))
- ){
-- return WRC_Prune;
-+ return WRC_Prune;
- }
--
-+ }
- default:
- return WRC_Continue;
- }
---- /src/resolve.c
-+++ /src/resolve.c
-@@ -1051,7 +1051,7 @@
- assert( !ExprHasProperty(pExpr, EP_Reduced) );
- /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE",
- ** and "x IS NOT FALSE". */
-- if( pRight->op==TK_ID ){
-+ if( pRight && pRight->op==TK_ID ){
- int rc = resolveExprStep(pWalker, pRight);
- if( rc==WRC_Abort ) return WRC_Abort;
- if( pRight->op==TK_TRUEFALSE ){
---- /src/select.c
-+++ /src/select.c
-@@ -2806,6 +2806,7 @@
- /* Generate code to take the intersection of the two temporary
- ** tables.
- */
-+ if( rc ) break;
- assert( p->pEList );
- iBreak = sqlite3VdbeMakeLabel(pParse);
- iCont = sqlite3VdbeMakeLabel(pParse);
-@@ -5148,7 +5149,7 @@
- pNew = sqlite3ExprListAppend(pParse, pNew, pExpr);
- sqlite3TokenInit(&sColname, zColname);
- sqlite3ExprListSetName(pParse, pNew, &sColname, 0);
-- if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){
-+ if( pNew && (p->selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){
- struct ExprList_item *pX = &pNew->a[pNew->nExpr-1];
- sqlite3DbFree(db, pX->zEName);
- if( pSub ){
---- /src/sqliteInt.h
-+++ /src/sqliteInt.h
-@@ -2153,8 +2153,11 @@
- */
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- # define IsVirtual(X) ((X)->nModuleArg)
-+# define ExprIsVtab(X) \
-+ ((X)->op==TK_COLUMN && (X)->y.pTab!=0 && (X)->y.pTab->nModuleArg)
- #else
- # define IsVirtual(X) 0
-+# define ExprIsVtab(X) 0
- #endif
-
- /*
---- /src/whereexpr.c
-+++ /src/whereexpr.c
-@@ -377,7 +377,8 @@
- ** MATCH(expression,vtab_column)
- */
- pCol = pList->a[1].pExpr;
-- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){
-+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 );
-+ if( ExprIsVtab(pCol) ){
- for(i=0; i<ArraySize(aOp); i++){
- if( sqlite3StrICmp(pExpr->u.zToken, aOp[i].zOp)==0 ){
- *peOp2 = aOp[i].eOp2;
-@@ -399,7 +400,8 @@
- ** with function names in an arbitrary case.
- */
- pCol = pList->a[0].pExpr;
-- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){
-+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 );
-+ if( ExprIsVtab(pCol) ){
- sqlite3_vtab *pVtab;
- sqlite3_module *pMod;
- void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**);
-@@ -422,10 +424,12 @@
- int res = 0;
- Expr *pLeft = pExpr->pLeft;
- Expr *pRight = pExpr->pRight;
-- if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->y.pTab) ){
-+ testcase( pLeft->op==TK_COLUMN && pLeft->y.pTab==0 );
-+ if( ExprIsVtab(pLeft) ){
- res++;
- }
-- if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->y.pTab) ){
-+ testcase( pRight && pRight->op==TK_COLUMN && pRight->y.pTab==0 );
-+ if( pRight && ExprIsVtab(pRight) ){
- res++;
- SWAP(Expr*, pLeft, pRight);
- }
---- /test/altertab.test
-+++ /test/altertab.test
-@@ -613,4 +613,21 @@
- SELECT sql FROM sqlite_master;
- } {{CREATE TABLE t0 (c1 INTEGER, PRIMARY KEY(c1))}}
-
-+# 2020-02-23 ticket f50af3e8a565776b
-+reset_db
-+do_execsql_test 19.100 {
-+ CREATE TABLE t1(x);
-+ CREATE VIEW t2 AS SELECT 1 FROM t1, (t1 AS a0, t1);
-+ ALTER TABLE t1 RENAME TO t3;
-+ SELECT sql FROM sqlite_master;
-+} {{CREATE TABLE "t3"(x)} {CREATE VIEW t2 AS SELECT 1 FROM "t3", ("t3" AS a0, "t3")}}
-+do_execsql_test 19.110 {
-+ INSERT INTO t3(x) VALUES(123);
-+ SELECT * FROM t2;
-+} {1}
-+do_execsql_test 19.120 {
-+ INSERT INTO t3(x) VALUES('xyz');
-+ SELECT * FROM t2;
-+} {1 1 1 1 1 1 1 1}
-+
- finish_test
---- /test/windowfault.test
-+++ /test/windowfault.test
-@@ -263,4 +263,15 @@
- faultsim_test_result {0 {}}
- }
-
-+do_faultsim_test 11 -faults oom* -prep {
-+} -body {
-+ execsql {
-+ VALUES(false),(current_date collate binary)
-+ intersect
-+ values(count() not like group_concat(cast(cast(0e00 as text) as integer) <= NULL || 0.4e-0 || 0x8 & true ) over () collate rtrim);
-+ }
-+} -test {
-+ faultsim_test_result {0 {}}
-+}
-+
- finish_test
diff --git a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch b/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch
deleted file mode 100644
index 79f6f07e0ef7..000000000000
--- a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://sqlite.org/cgi/src/info/04885763c4cd00cb
-
---- /sqlite3.c
-+++ /sqlite3.c
-@@ -121302,12 +121302,14 @@
- x = *sqlite3VdbeGetOp(v, addrConflictCk);
- if( x.opcode!=OP_IdxRowid ){
- int p2; /* New P2 value for copied conflict check opcode */
-+ const char *zP4;
- if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){
- p2 = lblRecheckOk;
- }else{
- p2 = x.p2;
- }
-- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type);
-+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z;
-+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type);
- sqlite3VdbeChangeP5(v, x.p5);
- VdbeCoverageIf(v, p2!=x.p2);
- }
diff --git a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch
deleted file mode 100644
index 3bbbbf7c8dde..000000000000
--- a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-https://sqlite.org/cgi/src/info/9d0d4ab95dc0c56e
-https://sqlite.org/cgi/src/info/abc473fb8fb99900
-https://sqlite.org/cgi/src/info/5aeb5a2d295e10d5
-https://sqlite.org/cgi/src/info/a67cf5b7d37d5b14
-https://sqlite.org/cgi/src/info/c431b3fd8fd0f6a6
-
---- /sqlite3.c
-+++ /sqlite3.c
-@@ -17428,8 +17428,11 @@
- */
- #ifndef SQLITE_OMIT_VIRTUALTABLE
- # define IsVirtual(X) ((X)->nModuleArg)
-+# define ExprIsVtab(X) \
-+ ((X)->op==TK_COLUMN && (X)->y.pTab!=0 && (X)->y.pTab->nModuleArg)
- #else
- # define IsVirtual(X) 0
-+# define ExprIsVtab(X) 0
- #endif
-
- /*
-@@ -97816,7 +97819,7 @@
- assert( !ExprHasProperty(pExpr, EP_Reduced) );
- /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE",
- ** and "x IS NOT FALSE". */
-- if( pRight->op==TK_ID ){
-+ if( pRight && pRight->op==TK_ID ){
- int rc = resolveExprStep(pWalker, pRight);
- if( rc==WRC_Abort ) return WRC_Abort;
- if( pRight->op==TK_TRUEFALSE ){
-@@ -104133,19 +104136,25 @@
- case TK_LT:
- case TK_LE:
- case TK_GT:
-- case TK_GE:
-+ case TK_GE: {
-+ Expr *pLeft = pExpr->pLeft;
-+ Expr *pRight = pExpr->pRight;
- testcase( pExpr->op==TK_EQ );
- testcase( pExpr->op==TK_NE );
- testcase( pExpr->op==TK_LT );
- testcase( pExpr->op==TK_LE );
- testcase( pExpr->op==TK_GT );
- testcase( pExpr->op==TK_GE );
-- if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->y.pTab))
-- || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->y.pTab))
-+ /* The y.pTab=0 assignment in wherecode.c always happens after the
-+ ** impliesNotNullRow() test */
-+ if( (pLeft->op==TK_COLUMN && ALWAYS(pLeft->y.pTab!=0)
-+ && IsVirtual(pLeft->y.pTab))
-+ || (pRight->op==TK_COLUMN && ALWAYS(pRight->y.pTab!=0)
-+ && IsVirtual(pRight->y.pTab))
- ){
-- return WRC_Prune;
-+ return WRC_Prune;
- }
--
-+ }
- default:
- return WRC_Continue;
- }
-@@ -130673,6 +130682,7 @@
- /* Generate code to take the intersection of the two temporary
- ** tables.
- */
-+ if( rc ) break;
- assert( p->pEList );
- iBreak = sqlite3VdbeMakeLabel(pParse);
- iCont = sqlite3VdbeMakeLabel(pParse);
-@@ -133015,7 +133025,7 @@
- pNew = sqlite3ExprListAppend(pParse, pNew, pExpr);
- sqlite3TokenInit(&sColname, zColname);
- sqlite3ExprListSetName(pParse, pNew, &sColname, 0);
-- if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){
-+ if( pNew && (p->selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){
- struct ExprList_item *pX = &pNew->a[pNew->nExpr-1];
- sqlite3DbFree(db, pX->zEName);
- if( pSub ){
-@@ -142593,7 +142603,8 @@
- ** MATCH(expression,vtab_column)
- */
- pCol = pList->a[1].pExpr;
-- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){
-+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 );
-+ if( ExprIsVtab(pCol) ){
- for(i=0; i<ArraySize(aOp); i++){
- if( sqlite3StrICmp(pExpr->u.zToken, aOp[i].zOp)==0 ){
- *peOp2 = aOp[i].eOp2;
-@@ -142615,7 +142626,8 @@
- ** with function names in an arbitrary case.
- */
- pCol = pList->a[0].pExpr;
-- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){
-+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 );
-+ if( ExprIsVtab(pCol) ){
- sqlite3_vtab *pVtab;
- sqlite3_module *pMod;
- void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**);
-@@ -142638,10 +142650,12 @@
- int res = 0;
- Expr *pLeft = pExpr->pLeft;
- Expr *pRight = pExpr->pRight;
-- if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->y.pTab) ){
-+ testcase( pLeft->op==TK_COLUMN && pLeft->y.pTab==0 );
-+ if( ExprIsVtab(pLeft) ){
- res++;
- }
-- if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->y.pTab) ){
-+ testcase( pRight && pRight->op==TK_COLUMN && pRight->y.pTab==0 );
-+ if( pRight && ExprIsVtab(pRight) ){
- res++;
- SWAP(Expr*, pLeft, pRight);
- }
diff --git a/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch
new file mode 100644
index 000000000000..aec90e4c07ad
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch
@@ -0,0 +1,670 @@
+Add initialization functions for internal usage in libsqlite3.so.
+
+--- /ext/misc/carray.c
++++ /ext/misc/carray.c
+@@ -383,16 +383,8 @@
+
+ #endif /* SQLITE_OMIT_VIRTUALTABLE */
+
+-#ifdef _WIN32
+-__declspec(dllexport)
+-#endif
+-int sqlite3_carray_init(
+- sqlite3 *db,
+- char **pzErrMsg,
+- const sqlite3_api_routines *pApi
+-){
++int sqlite3CarrayInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+- SQLITE_EXTENSION_INIT2(pApi);
+ #ifndef SQLITE_OMIT_VIRTUALTABLE
+ rc = sqlite3_create_module(db, "carray", &carrayModule, 0);
+ #ifdef SQLITE_TEST
+@@ -404,3 +396,18 @@
+ #endif /* SQLITE_OMIT_VIRTUALTABLE */
+ return rc;
+ }
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
++#ifdef _WIN32
++__declspec(dllexport)
++#endif
++int sqlite3_carray_init(
++ sqlite3 *db,
++ char **pzErrMsg,
++ const sqlite3_api_routines *pApi
++){
++ SQLITE_EXTENSION_INIT2(pApi);
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3CarrayInit(db);
++}
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/completion.c
++++ /ext/misc/completion.c
+@@ -483,12 +483,13 @@
+ return rc;
+ }
+
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+ int sqlite3_completion_init(
+- sqlite3 *db,
+- char **pzErrMsg,
++ sqlite3 *db,
++ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+ int rc = SQLITE_OK;
+@@ -499,3 +500,4 @@
+ #endif
+ return rc;
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/csv.c
++++ /ext/misc/csv.c
+@@ -928,6 +928,22 @@
+ #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */
+
+
++int sqlite3CsvInit(sqlite3 *db){
++#ifndef SQLITE_OMIT_VIRTUALTABLE
++ int rc;
++ rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
++#ifdef SQLITE_TEST
++ if( rc==SQLITE_OK ){
++ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
++ }
++#endif
++ return rc;
++#else
++ return SQLITE_OK;
++#endif
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -941,17 +957,8 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+-#ifndef SQLITE_OMIT_VIRTUALTABLE
+- int rc;
+ SQLITE_EXTENSION_INIT2(pApi);
+- rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
+-#ifdef SQLITE_TEST
+- if( rc==SQLITE_OK ){
+- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
+- }
+-#endif
+- return rc;
+-#else
+- return SQLITE_OK;
+-#endif
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3CsvInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/dbdata.c
++++ /ext/misc/dbdata.c
+@@ -803,7 +803,7 @@
+ /*
+ ** Invoke this routine to register the "sqlite_dbdata" virtual table module
+ */
+-static int sqlite3DbdataRegister(sqlite3 *db){
++int sqlite3DbdataRegister(sqlite3 *db){
+ static sqlite3_module dbdata_module = {
+ 0, /* iVersion */
+ 0, /* xCreate */
+@@ -838,6 +838,7 @@
+ return rc;
+ }
+
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -849,3 +850,4 @@
+ SQLITE_EXTENSION_INIT2(pApi);
+ return sqlite3DbdataRegister(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/eval.c
++++ /ext/misc/eval.c
+@@ -102,6 +102,20 @@
+ }
+
+
++int sqlite3EvalInit(sqlite3 *db){
++ int rc = SQLITE_OK;
++ rc = sqlite3_create_function(db, "eval", 1,
++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
++ sqlEvalFunc, 0, 0);
++ if( rc==SQLITE_OK ){
++ rc = sqlite3_create_function(db, "eval", 2,
++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
++ sqlEvalFunc, 0, 0);
++ }
++ return rc;
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -110,16 +124,8 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+- int rc = SQLITE_OK;
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- rc = sqlite3_create_function(db, "eval", 1,
+- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+- sqlEvalFunc, 0, 0);
+- if( rc==SQLITE_OK ){
+- rc = sqlite3_create_function(db, "eval", 2,
+- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+- sqlEvalFunc, 0, 0);
+- }
+- return rc;
++ return sqlite3EvalInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/fileio.c
++++ /ext/misc/fileio.c
+@@ -340,7 +340,7 @@
+ ** This function does the work for the writefile() UDF. Refer to
+ ** header comments at the top of this file for details.
+ */
+-static int writeFile(
++static int writeFileContents(
+ sqlite3_context *pCtx, /* Context to return bytes written in */
+ const char *zFile, /* File to write */
+ sqlite3_value *pData, /* Data to write */
+@@ -480,10 +480,10 @@
+ mtime = sqlite3_value_int64(argv[3]);
+ }
+
+- res = writeFile(context, zFile, argv[1], mode, mtime);
++ res = writeFileContents(context, zFile, argv[1], mode, mtime);
+ if( res==1 && errno==ENOENT ){
+ if( makeDirectory(zFile)==SQLITE_OK ){
+- res = writeFile(context, zFile, argv[1], mode, mtime);
++ res = writeFileContents(context, zFile, argv[1], mode, mtime);
+ }
+ }
+
+@@ -970,18 +970,9 @@
+ # define fsdirRegister(x) SQLITE_OK
+ #endif
+
+-#ifdef _WIN32
+-__declspec(dllexport)
+-#endif
+-int sqlite3_fileio_init(
+- sqlite3 *db,
+- char **pzErrMsg,
+- const sqlite3_api_routines *pApi
+-){
++int sqlite3FileioInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+- SQLITE_EXTENSION_INIT2(pApi);
+- (void)pzErrMsg; /* Unused parameter */
+- rc = sqlite3_create_function(db, "readfile", 1,
++ rc = sqlite3_create_function(db, "readfile", 1,
+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+ readfileFunc, 0, 0);
+ if( rc==SQLITE_OK ){
+@@ -998,3 +989,18 @@
+ }
+ return rc;
+ }
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
++#ifdef _WIN32
++__declspec(dllexport)
++#endif
++int sqlite3_fileio_init(
++ sqlite3 *db,
++ char **pzErrMsg,
++ const sqlite3_api_routines *pApi
++){
++ SQLITE_EXTENSION_INIT2(pApi);
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3FileioInit(db);
++}
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/ieee754.c
++++ /ext/misc/ieee754.c
+@@ -110,6 +110,20 @@
+ }
+
+
++int sqlite3IeeeInit(sqlite3 *db){
++ int rc = SQLITE_OK;
++ rc = sqlite3_create_function(db, "ieee754", 1,
++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
++ ieee754func, 0, 0);
++ if( rc==SQLITE_OK ){
++ rc = sqlite3_create_function(db, "ieee754", 2,
++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
++ ieee754func, 0, 0);
++ }
++ return rc;
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -118,16 +132,8 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+- int rc = SQLITE_OK;
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- rc = sqlite3_create_function(db, "ieee754", 1,
+- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+- ieee754func, 0, 0);
+- if( rc==SQLITE_OK ){
+- rc = sqlite3_create_function(db, "ieee754", 2,
+- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+- ieee754func, 0, 0);
+- }
+- return rc;
++ return sqlite3IeeeInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/regexp.c
++++ /ext/misc/regexp.c
+@@ -740,10 +740,18 @@
+ }
+ }
+
++int sqlite3RegexpInit(sqlite3 *db){
++ int rc = SQLITE_OK;
++ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
++ 0, re_sql_func, 0, 0);
++ return rc;
++}
++
+ /*
+ ** Invoke this routine to register the regexp() function with the
+ ** SQLite database connection.
+ */
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -752,9 +760,8 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+- int rc = SQLITE_OK;
+ SQLITE_EXTENSION_INIT2(pApi);
+- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
+- 0, re_sql_func, 0, 0);
+- return rc;
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3RegexpInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/sha1.c
++++ /ext/misc/sha1.c
+@@ -175,7 +175,7 @@
+ }
+
+ /* Compute a string using sqlite3_vsnprintf() and hash it */
+-static void hash_step_vformat(
++static void sha1_hash_step_vformat(
+ SHA1Context *p, /* Add content to this context */
+ const char *zFormat,
+ ...
+@@ -306,7 +306,7 @@
+ nCol = sqlite3_column_count(pStmt);
+ z = sqlite3_sql(pStmt);
+ n = (int)strlen(z);
+- hash_step_vformat(&cx,"S%d:",n);
++ sha1_hash_step_vformat(&cx,"S%d:",n);
+ hash_step(&cx,(unsigned char*)z,n);
+
+ /* Compute a hash over the result of the query */
+@@ -349,14 +349,14 @@
+ case SQLITE_TEXT: {
+ int n2 = sqlite3_column_bytes(pStmt, i);
+ const unsigned char *z2 = sqlite3_column_text(pStmt, i);
+- hash_step_vformat(&cx,"T%d:",n2);
++ sha1_hash_step_vformat(&cx,"T%d:",n2);
+ hash_step(&cx, z2, n2);
+ break;
+ }
+ case SQLITE_BLOB: {
+ int n2 = sqlite3_column_bytes(pStmt, i);
+ const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
+- hash_step_vformat(&cx,"B%d:",n2);
++ sha1_hash_step_vformat(&cx,"B%d:",n2);
+ hash_step(&cx, z2, n2);
+ break;
+ }
+@@ -370,6 +370,20 @@
+ }
+
+
++int sqlite3ShaInit(sqlite3 *db){
++ int rc = SQLITE_OK;
++ rc = sqlite3_create_function(db, "sha1", 1,
++ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
++ 0, sha1Func, 0, 0);
++ if( rc==SQLITE_OK ){
++ rc = sqlite3_create_function(db, "sha1_query", 1,
++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
++ sha1QueryFunc, 0, 0);
++ }
++ return rc;
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -378,16 +392,8 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+- int rc = SQLITE_OK;
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- rc = sqlite3_create_function(db, "sha1", 1,
+- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
+- 0, sha1Func, 0, 0);
+- if( rc==SQLITE_OK ){
+- rc = sqlite3_create_function(db, "sha1_query", 1,
+- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+- sha1QueryFunc, 0, 0);
+- }
+- return rc;
++ return sqlite3ShaInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/shathree.c
++++ /ext/misc/shathree.c
+@@ -527,7 +527,7 @@
+ /* Compute a string using sqlite3_vsnprintf() with a maximum length
+ ** of 50 bytes and add it to the hash.
+ */
+-static void hash_step_vformat(
++static void sha3_hash_step_vformat(
+ SHA3Context *p, /* Add content to this context */
+ const char *zFormat,
+ ...
+@@ -622,7 +622,7 @@
+ nCol = sqlite3_column_count(pStmt);
+ z = sqlite3_sql(pStmt);
+ n = (int)strlen(z);
+- hash_step_vformat(&cx,"S%d:",n);
++ sha3_hash_step_vformat(&cx,"S%d:",n);
+ SHA3Update(&cx,(unsigned char*)z,n);
+
+ /* Compute a hash over the result of the query */
+@@ -665,14 +665,14 @@
+ case SQLITE_TEXT: {
+ int n2 = sqlite3_column_bytes(pStmt, i);
+ const unsigned char *z2 = sqlite3_column_text(pStmt, i);
+- hash_step_vformat(&cx,"T%d:",n2);
++ sha3_hash_step_vformat(&cx,"T%d:",n2);
+ SHA3Update(&cx, z2, n2);
+ break;
+ }
+ case SQLITE_BLOB: {
+ int n2 = sqlite3_column_bytes(pStmt, i);
+ const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
+- hash_step_vformat(&cx,"B%d:",n2);
++ sha3_hash_step_vformat(&cx,"B%d:",n2);
+ SHA3Update(&cx, z2, n2);
+ break;
+ }
+@@ -685,17 +685,8 @@
+ }
+
+
+-#ifdef _WIN32
+-__declspec(dllexport)
+-#endif
+-int sqlite3_shathree_init(
+- sqlite3 *db,
+- char **pzErrMsg,
+- const sqlite3_api_routines *pApi
+-){
++int sqlite3ShathreeInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+- SQLITE_EXTENSION_INIT2(pApi);
+- (void)pzErrMsg; /* Unused parameter */
+ rc = sqlite3_create_function(db, "sha3", 1,
+ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
+ 0, sha3Func, 0, 0);
+@@ -716,3 +707,18 @@
+ }
+ return rc;
+ }
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
++#ifdef _WIN32
++__declspec(dllexport)
++#endif
++int sqlite3_shathree_init(
++ sqlite3 *db,
++ char **pzErrMsg,
++ const sqlite3_api_routines *pApi
++){
++ SQLITE_EXTENSION_INIT2(pApi);
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3ShathreeInit(db);
++}
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/sqlar.c
++++ /ext/misc/sqlar.c
+@@ -14,6 +14,8 @@
+ ** for working with sqlar archives and used by the shell tool's built-in
+ ** sqlar support.
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <zlib.h>
+@@ -101,6 +103,20 @@
+ }
+
+
++int sqlite3SqlarInit(sqlite3 *db){
++ int rc = SQLITE_OK;
++ rc = sqlite3_create_function(db, "sqlar_compress", 1,
++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
++ sqlarCompressFunc, 0, 0);
++ if( rc==SQLITE_OK ){
++ rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
++ sqlarUncompressFunc, 0, 0);
++ }
++ return rc;
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -109,16 +125,10 @@
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+ ){
+- int rc = SQLITE_OK;
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- rc = sqlite3_create_function(db, "sqlar_compress", 1,
+- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+- sqlarCompressFunc, 0, 0);
+- if( rc==SQLITE_OK ){
+- rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
+- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+- sqlarUncompressFunc, 0, 0);
+- }
+- return rc;
++ return sqlite3SqlarInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
++
++#endif /* SQLITE_HAVE_ZLIB */
+--- /ext/misc/totype.c
++++ /ext/misc/totype.c
+@@ -491,17 +491,8 @@
+ #pragma warning(default: 4748)
+ #endif
+
+-#ifdef _WIN32
+-__declspec(dllexport)
+-#endif
+-int sqlite3_totype_init(
+- sqlite3 *db,
+- char **pzErrMsg,
+- const sqlite3_api_routines *pApi
+-){
++int sqlite3TotypeInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+- SQLITE_EXTENSION_INIT2(pApi);
+- (void)pzErrMsg; /* Unused parameter */
+ rc = sqlite3_create_function(db, "tointeger", 1,
+ SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0,
+ tointegerFunc, 0, 0);
+@@ -512,3 +503,18 @@
+ }
+ return rc;
+ }
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
++#ifdef _WIN32
++__declspec(dllexport)
++#endif
++int sqlite3_totype_init(
++ sqlite3 *db,
++ char **pzErrMsg,
++ const sqlite3_api_routines *pApi
++){
++ SQLITE_EXTENSION_INIT2(pApi);
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3TotypeInit(db);
++}
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/uint.c
++++ /ext/misc/uint.c
+@@ -78,6 +78,11 @@
+ return (nKey1 - i) - (nKey2 - j);
+ }
+
++int sqlite3UintInit(sqlite3 *db){
++ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc);
++}
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -88,5 +93,6 @@
+ ){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc);
++ return sqlite3UintInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/uuid.c
++++ /ext/misc/uuid.c
+@@ -206,21 +206,12 @@
+ sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT);
+ }
+
+-#ifdef _WIN32
+-__declspec(dllexport)
+-#endif
+-int sqlite3_uuid_init(
+- sqlite3 *db,
+- char **pzErrMsg,
+- const sqlite3_api_routines *pApi
+-){
++int sqlite3UuidInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+- SQLITE_EXTENSION_INIT2(pApi);
+- (void)pzErrMsg; /* Unused parameter */
+ rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ sqlite3UuidFunc, 0, 0);
+ if( rc==SQLITE_OK ){
+- rc = sqlite3_create_function(db, "uuid_str", 1,
++ rc = sqlite3_create_function(db, "uuid_str", 1,
+ SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
+ 0, sqlite3UuidStrFunc, 0, 0);
+ }
+@@ -231,3 +222,18 @@
+ }
+ return rc;
+ }
++
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
++#ifdef _WIN32
++__declspec(dllexport)
++#endif
++int sqlite3_uuid_init(
++ sqlite3 *db,
++ char **pzErrMsg,
++ const sqlite3_api_routines *pApi
++){
++ SQLITE_EXTENSION_INIT2(pApi);
++ (void)pzErrMsg; /* Unused parameter */
++ return sqlite3UuidInit(db);
++}
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+--- /ext/misc/zipfile.c
++++ /ext/misc/zipfile.c
+@@ -24,6 +24,8 @@
+ ** * No support for zip64 extensions
+ ** * Only the "inflate/deflate" (zlib) compression method is supported
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <stdio.h>
+@@ -2137,7 +2139,7 @@
+ /*
+ ** Register the "zipfile" virtual table.
+ */
+-static int zipfileRegister(sqlite3 *db){
++int sqlite3ZipfileInit(sqlite3 *db){
+ static sqlite3_module zipfileModule = {
+ 1, /* iVersion */
+ zipfileConnect, /* xCreate */
+@@ -2171,9 +2173,10 @@
+ return rc;
+ }
+ #else /* SQLITE_OMIT_VIRTUALTABLE */
+-# define zipfileRegister(x) SQLITE_OK
++# define sqlite3ZipfileInit(x) SQLITE_OK
+ #endif
+
++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+ #ifdef _WIN32
+ __declspec(dllexport)
+ #endif
+@@ -2184,5 +2187,8 @@
+ ){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+- return zipfileRegister(db);
++ return sqlite3ZipfileInit(db);
+ }
++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
++
++#endif /* SQLITE_HAVE_ZLIB */
diff --git a/dev-db/sqlite/files/sqlite-3.31.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch
index 9ff44c0fe7ce..f12c0b22a483 100644
--- a/dev-db/sqlite/files/sqlite-3.31.0-full_archive-build.patch
+++ b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch
@@ -1,3 +1,4 @@
+Enable some extensions in libsqlite3.so.
Move some code to libsqlite3.so to avoid duplication.
Link executables against libsqlite3.so.
Increase timeout for fuzzcheck.
@@ -5,7 +6,7 @@ Fix building with dlopen() not available.
--- /Makefile.in
+++ /Makefile.in
-@@ -311,6 +311,9 @@
+@@ -313,6 +313,9 @@
# Source code for extensions
#
SRC += \
@@ -15,37 +16,67 @@ Fix building with dlopen() not available.
$(TOP)/ext/fts1/fts1.c \
$(TOP)/ext/fts1/fts1.h \
$(TOP)/ext/fts1/fts1_hash.c \
-@@ -363,8 +366,12 @@
+@@ -365,8 +368,24 @@
$(TOP)/ext/rbu/sqlite3rbu.h \
$(TOP)/ext/rbu/sqlite3rbu.c
SRC += \
+ $(TOP)/ext/misc/appendvfs.c \
++ $(TOP)/ext/misc/carray.c \
++ $(TOP)/ext/misc/completion.c \
++ $(TOP)/ext/misc/csv.c \
+ $(TOP)/ext/misc/dbdata.c \
++ $(TOP)/ext/misc/eval.c \
++ $(TOP)/ext/misc/fileio.c \
++ $(TOP)/ext/misc/ieee754.c \
$(TOP)/ext/misc/json1.c \
- $(TOP)/ext/misc/stmt.c
++ $(TOP)/ext/misc/regexp.c \
++ $(TOP)/ext/misc/sha1.c \
++ $(TOP)/ext/misc/shathree.c \
+ $(TOP)/ext/misc/sqlar.c \
+ $(TOP)/ext/misc/stmt.c \
++ $(TOP)/ext/misc/totype.c \
++ $(TOP)/ext/misc/uint.c \
++ $(TOP)/ext/misc/uuid.c \
+ $(TOP)/ext/misc/zipfile.c
# Generated source code files
#
-@@ -435,7 +442,6 @@
+@@ -437,33 +456,24 @@
# Statically linked extensions
#
TESTSRC += \
- $(TOP)/ext/expert/sqlite3expert.c \
$(TOP)/ext/expert/test_expert.c \
$(TOP)/ext/misc/amatch.c \
- $(TOP)/ext/misc/carray.c \
-@@ -461,7 +467,6 @@
- $(TOP)/ext/misc/totype.c \
+- $(TOP)/ext/misc/carray.c \
+ $(TOP)/ext/misc/closure.c \
+- $(TOP)/ext/misc/csv.c \
+- $(TOP)/ext/misc/eval.c \
+ $(TOP)/ext/misc/explain.c \
+- $(TOP)/ext/misc/fileio.c \
+ $(TOP)/ext/misc/fuzzer.c \
+ $(TOP)/ext/fts5/fts5_tcl.c \
+ $(TOP)/ext/fts5/fts5_test_mi.c \
+ $(TOP)/ext/fts5/fts5_test_tok.c \
+- $(TOP)/ext/misc/ieee754.c \
+ $(TOP)/ext/misc/mmapwarm.c \
+ $(TOP)/ext/misc/nextchar.c \
+ $(TOP)/ext/misc/normalize.c \
+ $(TOP)/ext/misc/percentile.c \
+ $(TOP)/ext/misc/prefixes.c \
+- $(TOP)/ext/misc/regexp.c \
+ $(TOP)/ext/misc/remember.c \
+ $(TOP)/ext/misc/series.c \
+ $(TOP)/ext/misc/spellfix.c \
+- $(TOP)/ext/misc/totype.c \
$(TOP)/ext/misc/unionvtab.c \
$(TOP)/ext/misc/wholenumber.c \
- $(TOP)/ext/misc/zipfile.c \
$(TOP)/ext/userauth/userauth.c
# Source code to the library files needed by the test fixture
-@@ -639,25 +644,25 @@
+@@ -645,25 +655,25 @@
libtclsqlite3.la: tclsqlite.lo libsqlite3.la
$(LTLINK) -no-undefined -o $@ tclsqlite.lo \
@@ -82,7 +113,7 @@ Fix building with dlopen() not available.
srcck1$(BEXE): $(TOP)/tool/srcck1.c
$(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
-@@ -767,7 +772,7 @@
+@@ -774,7 +784,7 @@
# Rule to build the amalgamation
#
sqlite3.lo: sqlite3.c
@@ -91,22 +122,23 @@ Fix building with dlopen() not available.
# Rules to build the LEMON compiler generator
#
-@@ -1064,14 +1069,9 @@
+@@ -1074,15 +1084,6 @@
# Source files that go into making shell.c
SHELL_SRC = \
$(TOP)/src/shell.c.in \
- $(TOP)/ext/misc/appendvfs.c \
- $(TOP)/ext/misc/shathree.c \
- $(TOP)/ext/misc/fileio.c \
- $(TOP)/ext/misc/completion.c \
+- $(TOP)/ext/misc/shathree.c \
+- $(TOP)/ext/misc/fileio.c \
+- $(TOP)/ext/misc/completion.c \
- $(TOP)/ext/misc/sqlar.c \
+- $(TOP)/ext/misc/uint.c \
- $(TOP)/ext/expert/sqlite3expert.c \
- $(TOP)/ext/expert/sqlite3expert.h \
- $(TOP)/ext/misc/zipfile.c \
$(TOP)/ext/misc/memtrace.c \
$(TOP)/src/test_windirent.c
-@@ -1239,11 +1239,11 @@
+@@ -1251,11 +1252,11 @@
# Fuzz testing
fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
@@ -120,7 +152,7 @@ Fix building with dlopen() not available.
valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
# The veryquick.test TCL tests.
-@@ -1274,24 +1274,23 @@
+@@ -1286,24 +1287,23 @@
smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
@@ -153,7 +185,7 @@ Fix building with dlopen() not available.
$(TOP)/src/tclsqlite.c \
$(TOP)/ext/repair/sqlite3_checker.tcl \
$(TOP)/ext/repair/checkindex.c \
-@@ -1302,36 +1301,36 @@
+@@ -1314,36 +1314,36 @@
sqlite3_checker.c: $(CHECKER_DEPS)
$(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@
@@ -208,7 +240,7 @@ Fix building with dlopen() not available.
changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
$(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
-@@ -1356,11 +1355,11 @@
+@@ -1368,11 +1368,11 @@
kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
$(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
@@ -236,40 +268,6 @@ Fix building with dlopen() not available.
else
OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
fi
---- /ext/misc/sqlar.c
-+++ /ext/misc/sqlar.c
-@@ -14,6 +14,8 @@
- ** for working with sqlar archives and used by the shell tool's built-in
- ** sqlar support.
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <zlib.h>
-@@ -121,3 +123,5 @@
- }
- return rc;
- }
-+
-+#endif /* SQLITE_HAVE_ZLIB */
---- /ext/misc/zipfile.c
-+++ /ext/misc/zipfile.c
-@@ -24,6 +24,8 @@
- ** * No support for zip64 extensions
- ** * Only the "inflate/deflate" (zlib) compression method is supported
- */
-+#ifdef SQLITE_HAVE_ZLIB
-+
- #include "sqlite3ext.h"
- SQLITE_EXTENSION_INIT1
- #include <stdio.h>
-@@ -2186,3 +2188,5 @@
- (void)pzErrMsg; /* Unused parameter */
- return zipfileRegister(db);
- }
-+
-+#endif /* SQLITE_HAVE_ZLIB */
--- /ext/repair/sqlite3_checker.c.in
+++ /ext/repair/sqlite3_checker.c.in
@@ -2,6 +2,7 @@
@@ -289,9 +287,76 @@ Fix building with dlopen() not available.
INCLUDE $ROOT/src/tclsqlite.c
INCLUDE $ROOT/ext/misc/btreeinfo.c
INCLUDE $ROOT/ext/repair/checkindex.c
+--- /src/main.c
++++ /src/main.c
+@@ -50,12 +50,31 @@
+ #ifdef SQLITE_ENABLE_FTS5
+ int sqlite3Fts5Init(sqlite3*);
+ #endif
++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
++int sqlite3DbdataRegister(sqlite3*);
++#endif
+ #ifdef SQLITE_ENABLE_JSON1
+ int sqlite3Json1Init(sqlite3*);
+ #endif
+ #ifdef SQLITE_ENABLE_STMTVTAB
+ int sqlite3StmtVtabInit(sqlite3*);
+ #endif
++int sqlite3CarrayInit(sqlite3*);
++int sqlite3CompletionVtabInit(sqlite3*);
++int sqlite3CsvInit(sqlite3*);
++int sqlite3EvalInit(sqlite3*);
++int sqlite3FileioInit(sqlite3*);
++int sqlite3IeeeInit(sqlite3*);
++int sqlite3RegexpInit(sqlite3*);
++int sqlite3ShaInit(sqlite3*);
++int sqlite3ShathreeInit(sqlite3*);
++int sqlite3TotypeInit(sqlite3*);
++int sqlite3UintInit(sqlite3*);
++int sqlite3UuidInit(sqlite3*);
++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
++int sqlite3ZipfileInit(sqlite3*);
++int sqlite3SqlarInit(sqlite3*);
++#endif
+
+ /*
+ ** An array of pointers to extension initializer functions for
+@@ -83,6 +102,9 @@
+ #ifdef SQLITE_ENABLE_DBPAGE_VTAB
+ sqlite3DbpageRegister,
+ #endif
++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
++ sqlite3DbdataRegister,
++#endif
+ #ifdef SQLITE_ENABLE_DBSTAT_VTAB
+ sqlite3DbstatRegister,
+ #endif
+@@ -96,6 +118,22 @@
+ #ifdef SQLITE_ENABLE_BYTECODE_VTAB
+ sqlite3VdbeBytecodeVtabInit,
+ #endif
++ sqlite3CarrayInit,
++ sqlite3CompletionVtabInit,
++ sqlite3CsvInit,
++ sqlite3EvalInit,
++ sqlite3FileioInit,
++ sqlite3IeeeInit,
++ sqlite3RegexpInit,
++ sqlite3ShaInit,
++ sqlite3ShathreeInit,
++ sqlite3TotypeInit,
++ sqlite3UintInit,
++ sqlite3UuidInit,
++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB)
++ sqlite3ZipfileInit,
++ sqlite3SqlarInit,
++#endif
+ };
+
+ #ifndef SQLITE_AMALGAMATION
--- /src/shell.c.in
+++ /src/shell.c.in
-@@ -61,6 +61,7 @@
+@@ -69,6 +69,7 @@
#include <stdio.h>
#include <assert.h>
#include "sqlite3.h"
@@ -299,7 +364,7 @@ Fix building with dlopen() not available.
typedef sqlite3_int64 i64;
typedef sqlite3_uint64 u64;
typedef unsigned char u8;
-@@ -127,6 +128,10 @@
+@@ -135,6 +136,10 @@
# define SHELL_USE_LOCAL_GETLINE 1
#endif
@@ -309,13 +374,17 @@ Fix building with dlopen() not available.
+
#if defined(_WIN32) || defined(WIN32)
- # include <io.h>
-@@ -939,18 +944,7 @@
- INCLUDE ../ext/misc/shathree.c
- INCLUDE ../ext/misc/fileio.c
- INCLUDE ../ext/misc/completion.c
+ # if SQLITE_OS_WINRT
+@@ -1005,22 +1010,7 @@
+ INCLUDE test_windirent.c
+ #define dirent DIRENT
+ #endif
+-INCLUDE ../ext/misc/shathree.c
+-INCLUDE ../ext/misc/fileio.c
+-INCLUDE ../ext/misc/completion.c
-INCLUDE ../ext/misc/appendvfs.c
INCLUDE ../ext/misc/memtrace.c
+-INCLUDE ../ext/misc/uint.c
-#ifdef SQLITE_HAVE_ZLIB
-INCLUDE ../ext/misc/zipfile.c
-INCLUDE ../ext/misc/sqlar.c
@@ -329,29 +398,34 @@ Fix building with dlopen() not available.
#if defined(SQLITE_ENABLE_SESSION)
/*
-@@ -4173,10 +4167,13 @@
- sqlite3_shathree_init(p->db, 0, 0);
- sqlite3_completion_init(p->db, 0, 0);
- #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
-+ extern int sqlite3_dbdata_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_dbdata_init(p->db, 0, 0);
- #endif
- #ifdef SQLITE_HAVE_ZLIB
-+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_zipfile_init(p->db, 0, 0);
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_sqlar_init(p->db, 0, 0);
+@@ -4261,17 +4251,6 @@
+ #ifndef SQLITE_OMIT_LOAD_EXTENSION
+ sqlite3_enable_load_extension(p->db, 1);
#endif
+- sqlite3_fileio_init(p->db, 0, 0);
+- sqlite3_shathree_init(p->db, 0, 0);
+- sqlite3_completion_init(p->db, 0, 0);
+- sqlite3_uint_init(p->db, 0, 0);
+-#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
+- sqlite3_dbdata_init(p->db, 0, 0);
+-#endif
+-#ifdef SQLITE_HAVE_ZLIB
+- sqlite3_zipfile_init(p->db, 0, 0);
+- sqlite3_sqlar_init(p->db, 0, 0);
+-#endif
sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
-@@ -6176,6 +6173,7 @@
+ shellAddSchemaName, 0, 0);
+ sqlite3_create_function(p->db, "shell_module_schema", 1, SQLITE_UTF8, 0,
+@@ -6281,8 +6260,6 @@
+ );
goto end_ar_command;
}
- sqlite3_fileio_init(cmd.db, 0, 0);
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_sqlar_init(cmd.db, 0, 0);
+- sqlite3_fileio_init(cmd.db, 0, 0);
+- sqlite3_sqlar_init(cmd.db, 0, 0);
sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
shellPutsFunc, 0, 0);
-@@ -10354,6 +10352,7 @@
+
+@@ -10621,6 +10598,7 @@
#endif
}
data.out = stdout;
@@ -359,6 +433,94 @@ Fix building with dlopen() not available.
sqlite3_appendvfs_init(0,0,0);
/* Go ahead and open the database file if it already exists. If the
+--- /src/test_config.c
++++ /src/test_config.c
+@@ -540,6 +540,8 @@
+ Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY);
+ #endif
+
++ Tcl_SetVar2(interp, "sqlite_options", "regexp", "1", TCL_GLOBAL_ONLY);
++
+ #ifdef SQLITE_OMIT_REINDEX
+ Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY);
+ #else
+@@ -662,6 +664,8 @@
+ Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY);
+ #endif
+
++ Tcl_SetVar2(interp, "sqlite_options", "uint", "1", TCL_GLOBAL_ONLY);
++
+ #ifdef SQLITE_OMIT_UTF16
+ Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY);
+ #else
+--- /test/e_expr.test
++++ /test/e_expr.test
+@@ -1078,7 +1078,7 @@
+ #
+ # There is a regexp function if ICU is enabled though.
+ #
+-ifcapable !icu {
++ifcapable !icu&&!regexp {
+ do_catchsql_test e_expr-18.1.1 {
+ SELECT regexp('abc', 'def')
+ } {1 {no such function: regexp}}
+--- /test/icu.test
++++ /test/icu.test
+@@ -41,7 +41,7 @@
+ #
+ test_expr icu-1.1 {i1='hello'} {i1 REGEXP 'hello'} 1
+ test_expr icu-1.2 {i1='hello'} {i1 REGEXP '.ello'} 1
+- test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell'} 0
++ test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell$'} 0
+ test_expr icu-1.4 {i1='hello'} {i1 REGEXP '.ell.*'} 1
+ test_expr icu-1.5 {i1=NULL} {i1 REGEXP '.ell.*'} {}
+
+--- /test/pragma.test
++++ /test/pragma.test
+@@ -1360,17 +1360,32 @@
+ } ;# ifcapable trigger
+
+ ifcapable schema_pragmas {
+- do_test pragma-11.1 {
+- execsql2 {
+- pragma collation_list;
+- }
+- } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
+- do_test pragma-11.2 {
+- db collate New_Collation blah...
+- execsql {
+- pragma collation_list;
+- }
+- } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
++ ifcapable uint {
++ do_test pragma-11.1 {
++ execsql2 {
++ pragma collation_list;
++ }
++ } {seq 0 name UINT seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY}
++ do_test pragma-11.2 {
++ db collate New_Collation blah...
++ execsql {
++ pragma collation_list;
++ }
++ } {0 New_Collation 1 UINT 2 RTRIM 3 NOCASE 4 BINARY}
++ }
++ ifcapable !uint {
++ do_test pragma-11.1 {
++ execsql2 {
++ pragma collation_list;
++ }
++ } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY}
++ do_test pragma-11.2 {
++ db collate New_Collation blah...
++ execsql {
++ pragma collation_list;
++ }
++ } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY}
++ }
+ }
+
+ ifcapable schema_pragmas&&tempdb {
--- /test/sessionfuzz.c
+++ /test/sessionfuzz.c
@@ -700,42 +700,6 @@
@@ -414,14 +576,26 @@ Fix building with dlopen() not available.
sqlite3ext.h
sqlite3rbu.h
sqliteicu.h
-@@ -403,6 +404,11 @@
+@@ -404,6 +405,23 @@
sqlite3session.c
fts5.c
stmt.c
+ appendvfs.c
++ carray.c
++ completion.c
++ csv.c
+ dbdata.c
++ eval.c
++ fileio.c
++ ieee754.c
++ regexp.c
++ sha1.c
++ shathree.c
+ sqlar.c
+ sqlite3expert.c
++ totype.c
++ uint.c
++ uuid.c
+ zipfile.c
} {
copy_file tsrc/$file
@@ -440,7 +614,7 @@ Fix building with dlopen() not available.
const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
--- /tool/sqltclsh.c.in
+++ /tool/sqltclsh.c.in
-@@ -27,19 +27,17 @@
+@@ -27,21 +27,13 @@
#define SQLITE_OMIT_SHARED_CACHE 1
#define SQLITE_DEFAULT_MEMSTATUS 0
#define SQLITE_MAX_EXPR_DEPTH 0
@@ -457,10 +631,10 @@ Fix building with dlopen() not available.
(void)interp;
+ extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *);
sqlite3_appendvfs_init(0,0,0);
- #ifdef SQLITE_HAVE_ZLIB
-+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
-+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
- #endif
+-#ifdef SQLITE_HAVE_ZLIB
+- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
+- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
+-#endif
+ return
+ BEGIN_STRING
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch
new file mode 100644
index 000000000000..256d18ee76fc
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch
@@ -0,0 +1,361 @@
+https://sqlite.org/src/info/d48af4d2cfff3d5f
+https://sqlite.org/src/info/cc888878ea8d5bc7
+https://sqlite.org/src/info/be545f85a6ef09cc
+https://sqlite.org/src/info/6e0ffa2053124168
+https://sqlite.org/src/info/4d0cfb1236884349
+https://sqlite.org/src/info/ccff8cb8267d4c56
+https://sqlite.org/src/info/5124732370fd53c9
+
+--- /ext/fts3/fts3.c
++++ /ext/fts3/fts3.c
+@@ -2068,7 +2068,7 @@
+ sqlite3_int64 *piPrev, /* IN/OUT: Previous value written to list */
+ sqlite3_int64 iVal /* Write this value to the list */
+ ){
+- assert( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) );
++ assert_fts3_nc( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) );
+ *pp += sqlite3Fts3PutVarint(*pp, iVal-*piPrev);
+ *piPrev = iVal;
+ }
+@@ -5208,10 +5208,12 @@
+ );
+ if( res ){
+ nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
+- assert( pPhrase->doclist.pList[nNew]=='\0' );
+- assert( nNew<=pPhrase->doclist.nList && nNew>0 );
+- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
+- pPhrase->doclist.nList = nNew;
++ if( nNew>=0 ){
++ assert( pPhrase->doclist.pList[nNew]=='\0' );
++ assert( nNew<=pPhrase->doclist.nList && nNew>0 );
++ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
++ pPhrase->doclist.nList = nNew;
++ }
+ *paPoslist = pPhrase->doclist.pList;
+ *pnToken = pPhrase->nToken;
+ }
+@@ -5563,7 +5565,10 @@
+ }else
+ #endif
+ {
+- bHit = (pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId);
++ bHit = (
++ pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId
++ && pExpr->pPhrase->doclist.nList>0
++ );
+ }
+ break;
+ }
+--- /ext/fts3/fts3_write.c
++++ /ext/fts3/fts3_write.c
+@@ -341,7 +341,9 @@
+ ** created by merging the oldest :2 segments from absolute level :1. See
+ ** function sqlite3Fts3Incrmerge() for details. */
+ /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) "
+- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?",
++ " FROM (SELECT * FROM %Q.'%q_segdir' "
++ " WHERE level = ? ORDER BY idx ASC LIMIT ?"
++ " )",
+
+ /* SQL_DELETE_SEGDIR_ENTRY
+ ** Delete the %_segdir entry on absolute level :1 with index :2. */
+@@ -2853,6 +2855,19 @@
+ return SQLITE_OK;
+ }
+
++static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){
++ if( nReq>pCsr->nBuffer ){
++ char *aNew;
++ pCsr->nBuffer = nReq*2;
++ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
++ if( !aNew ){
++ return SQLITE_NOMEM;
++ }
++ pCsr->aBuffer = aNew;
++ }
++ return SQLITE_OK;
++}
++
+
+ int sqlite3Fts3SegReaderStep(
+ Fts3Table *p, /* Virtual table handle */
+@@ -2987,15 +3002,9 @@
+ }
+
+ nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0);
+- if( nDoclist+nByte>pCsr->nBuffer ){
+- char *aNew;
+- pCsr->nBuffer = (nDoclist+nByte)*2;
+- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
+- if( !aNew ){
+- return SQLITE_NOMEM;
+- }
+- pCsr->aBuffer = aNew;
+- }
++
++ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist);
++ if( rc ) return rc;
+
+ if( isFirst ){
+ char *a = &pCsr->aBuffer[nDoclist];
+@@ -3020,6 +3029,9 @@
+ fts3SegReaderSort(apSegment, nMerge, j, xCmp);
+ }
+ if( nDoclist>0 ){
++ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING);
++ if( rc ) return rc;
++ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING);
+ pCsr->aDoclist = pCsr->aBuffer;
+ pCsr->nDoclist = nDoclist;
+ rc = SQLITE_ROW;
+@@ -4288,7 +4300,7 @@
+ int i;
+ int nHeight = (int)aRoot[0];
+ NodeWriter *pNode;
+- if( nHeight<1 || nHeight>FTS_MAX_APPENDABLE_HEIGHT ){
++ if( nHeight<1 || nHeight>=FTS_MAX_APPENDABLE_HEIGHT ){
+ sqlite3_reset(pSelect);
+ return FTS_CORRUPT_VTAB;
+ }
+--- /src/expr.c
++++ /src/expr.c
+@@ -4272,7 +4272,9 @@
+ int nCol;
+ testcase( op==TK_EXISTS );
+ testcase( op==TK_SELECT );
+- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
++ if( pParse->db->mallocFailed ){
++ return 0;
++ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
+ sqlite3SubselectError(pParse, nCol, 1);
+ }else{
+ return sqlite3CodeSubselect(pParse, pExpr);
+--- /test/fts3corrupt4.test
++++ /test/fts3corrupt4.test
+@@ -6123,4 +6123,163 @@
+ SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"';
+ }
+
++#-------------------------------------------------------------------------
++do_execsql_test 42.1 {
++ CREATE VIRTUAL TABLE f USING fts3(a, b);
++}
++do_execsql_test 42.2 {
++ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00');
++ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200');
++}
++do_execsql_test 42.3 {
++ INSERT INTO f(f) VALUES ('merge=107,2');
++}
++
++#-------------------------------------------------------------------------
++reset_db
++set saved $sqlite_fts3_enable_parentheses
++set sqlite_fts3_enable_parentheses 1
++do_execsql_test 43.1 {
++ CREATE VIRTUAL TABLE def USING fts3(xyz);
++ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81');
++} {}
++
++do_execsql_test 43.2 {
++ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1'
++} {1}
++
++set sqlite_fts3_enable_parentheses $saved
++
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 44.1 {
++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL);
++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200');
++}
++
++do_execsql_test 44.2 {
++ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*'
++} {0}
++
++#-------------------------------------------------------------------------
++#
++reset_db
++do_test 45.0 {
++ sqlite3 db {}
++ db deserialize [decode_hexdb {
++.open --hexdb
++| size 24576 pagesize 4096 filename crash-65c98512cc9e49.db
++| page 1 offset 0
++| 0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 SQLite format 3.
++| 16: 10 00 01 01 00 40 20 20 00 00 00 00 00 00 00 06 .....@ ........
++| 96: 00 00 00 00 0d 0e fc 00 06 0d bc 00 0f ca 0f 6c ...............l
++| 112: 0f 04 0e 13 0e c9 0d bc 00 00 00 00 00 00 00 00 ................
++| 3504: 00 00 00 00 00 00 00 00 00 00 00 00 55 06 07 17 ............U...
++| 3520: 1b 1b 01 81 01 74 61 62 6c 65 78 31 5f 73 74 61 .....tablex1_sta
++| 3536: 74 78 31 5f 73 74 61 74 06 43 52 45 41 54 45 20 tx1_stat.CREATE
++| 3552: 54 41 42 4c 45 20 27 78 31 5f 73 74 61 74 27 28 TABLE 'x1_stat'(
++| 3568: 69 64 20 49 4e 54 45 47 45 52 20 50 52 49 4d 41 id INTEGER PRIMA
++| 3584: 52 59 20 4b 45 59 2c 20 76 61 6c 75 65 20 42 4c RY KEY, value BL
++| 3600: 41 82 29 81 33 04 07 17 1f 1f 01 82 35 74 61 62 A.).3.......5tab
++| 3616: 6c 65 78 31 5f 73 65 67 64 69 72 78 31 5f 73 65 lex1_segdirx1_se
++| 3632: 67 64 69 72 04 43 52 45 41 54 45 20 54 41 42 4c gdir.CREATE TABL
++| 3648: 45 20 27 78 31 5f 73 65 67 64 69 72 27 28 6c 65 E 'x1_segdir'(le
++| 3664: 76 65 6c 20 49 4e 54 45 47 45 52 2c 69 64 78 20 vel INTEGER,idx
++| 3680: 49 4e 54 45 47 45 52 2c 73 74 61 72 74 5f 62 6c INTEGER,start_bl
++| 3696: 6f 63 6b 20 49 4e 54 45 47 45 52 2c 6c 65 61 76 ock INTEGER,leav
++| 3712: 65 73 5f 65 6e 64 5f 62 6c 6f 63 6b 20 49 4e 54 es_end_block INT
++| 3728: 45 47 45 52 2c 65 6e 64 5f 62 6c 6f 63 6b 20 49 EGER,end_block I
++| 3744: 4e 54 45 47 45 52 2c 72 6f 6f 74 20 42 4c 4f 42 NTEGER,root BLOB
++| 3760: 2c 50 52 49 4d 41 52 59 20 4b 45 59 28 6c 65 76 ,PRIMARY KEY(lev
++| 3776: 65 6c 2c 20 69 64 78 29 29 31 05 06 17 45 1f 01 el, idx))1...E..
++| 3792: 00 69 6e 64 65 78 73 71 6c 69 74 65 5f 61 75 74 .indexsqlite_aut
++| 3808: 6f 69 6e 64 65 78 5f 78 31 5f 73 65 67 64 69 72 oindex_x1_segdir
++| 3824: 5f 31 78 31 5f 73 65 67 64 69 72 05 00 00 00 08 _1x1_segdir.....
++| 3840: 60 00 00 00 66 03 07 17 23 23 01 81 13 74 61 62 `...f...##...tab
++| 3856: 6c 65 78 31 5f 73 65 67 6d 65 6e 74 73 78 31 5f lex1_segmentsx1_
++| 3872: 73 65 67 6d 65 6e 74 73 03 43 52 45 41 54 45 20 segments.CREATE
++| 3888: 54 41 42 4c 45 20 27 78 31 5f 73 65 67 6d 65 6e TABLE 'x1_segmen
++| 3904: 74 73 27 28 62 6c 6f 63 6b 69 64 20 49 4e 54 45 ts'(blockid INTE
++| 3920: 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 2c GER PRIMARY KEY,
++| 3936: 20 62 6c 6f 63 6b 20 42 4c 4f 42 29 5c 02 07 17 block BLOB)....
++| 3952: 21 21 01 81 03 74 61 62 6c 65 78 31 5f 63 6f 6e !!...tablex1_con
++| 3968: 74 65 6e 74 78 31 5f 63 6f 6e 74 65 6e 74 02 43 tentx1_content.C
++| 3984: 52 45 41 54 45 20 54 41 42 4c 45 20 27 78 31 5f REATE TABLE 'x1_
++| 4000: 63 6f 6e 74 65 6e 74 27 28 64 6f 63 69 64 20 49 content'(docid I
++| 4016: 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b NTEGER PRIMARY K
++| 4032: 45 59 2c 20 27 63 30 78 27 29 34 01 06 17 11 11 EY, 'c0x')4.....
++| 4048: 08 57 74 61 62 6c 65 78 31 78 31 43 52 45 41 54 .Wtablex1x1CREAT
++| 4064: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE
++| 4080: 78 31 20 55 53 49 4e 47 20 66 74 73 33 28 78 29 x1 USING fts3(x)
++| page 2 offset 4096
++| 0: 0d 00 00 00 11 0f 77 f0 0f f8 0f f0 0f e8 0f e0 ......w.........
++| 16: 0f d8 0f d0 0f c8 0f c0 00 00 00 00 00 00 00 00 ................
++| 3952: 00 00 00 00 00 00 00 00 06 11 03 00 13 77 78 79 .............wxy
++| 3968: 06 10 03 00 13 74 75 76 06 0f 03 00 13 71 33 73 .....tuv.....q3s
++| 3984: 06 0e 03 00 13 6e 6f 70 06 0d 03 00 13 6b 6c 6d .....nop.....klm
++| 4000: 06 0c 03 04 c3 68 69 6a 06 0b 03 00 13 65 66 67 .....hij.....efg
++| 4016: 06 0a 03 00 13 62 63 64 06 09 03 00 13 79 7a 61 .....bcd.....yza
++| 4032: 06 08 03 00 13 76 77 78 06 07 03 00 13 73 74 75 .....vwx.....stu
++| 4048: 06 06 03 00 13 70 71 72 06 05 03 00 13 6d 6e 6f .....pqr.....mno
++| 4064: 06 03 03 00 13 6a 6b 6c 06 03 03 00 13 67 68 69 .....jkl.....ghi
++| 4080: 06 02 02 00 03 64 65 66 06 01 03 00 13 61 52 63 .....def.....aRc
++| page 3 offset 8192
++| 0: 0d 00 00 00 03 0f a7 00 0f b5 0f a7 0f fa 01 00 ................
++| 4000: 00 00 00 00 00 00 00 0c 02 03 00 1e 00 03 6b 6c ..............kl
++| 4016: 6d 03 0d 02 00 43 01 04 00 81 0a 00 03 61 62 63 m....C.......abc
++| 4032: 03 0b 32 00 00 03 62 63 64 03 0a 02 00 00 03 64 ..2...bcd......d
++| 4048: 69 26 03 02 02 00 00 03 65 66 67 03 0b 02 00 00 i&......efg.....
++| 4064: 03 67 68 69 03 03 02 00 00 03 68 69 6a 03 0c 02 .ghi......hij...
++| 4080: 00 00 03 6a 6a 2c 03 04 02 00 03 81 00 03 00 00 ...jj,..........
++| page 4 offset 12288
++| 0: 0d 0f 3a 00 05 0f 25 00 0f 9e 0f 88 0f 43 0f 25 ..:...%......C.%
++| 16: 0f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .r..............
++| 3856: 00 00 00 00 00 00 00 00 00 56 01 08 08 13 1e 03 .........V......
++| 3872: 30 20 39 00 03 13 05 07 08 08 18 08 13 1e 30 20 0 9...........0
++| 3888: 39 00 03 77 78 79 03 11 02 00 0f 6c 00 09 01 08 9..wxy.....l....
++| 3904: 08 15 54 27 04 07 09 01 08 08 15 42 02 30 20 33 ..T'.......B.0 3
++| 3920: 36 00 03 6e 6f 70 03 0e 02 00 00 03 71 72 73 03 6..nop......qrs.
++| 3936: 0f 02 00 00 03 74 75 76 03 10 02 00 0f cf b1 06 .....tuv........
++| 3952: 01 08 14 06 07 01 08 09 01 1b 14 02 02 31 32 38 .............128
++| 3968: 20 2d 37 32 10 01 01 6b 14 03 07 09 09 08 08 15 -72...k........
++| 3984: 1e 30 20 33 36 00 03 79 7a 61 03 09 02 00 2f 02 .0 36..yza..../.
++| 4000: 07 09 08 08 08 15 54 30 20 33 36 00 03 6d 6e 6f ......T0 36..mno
++| 4016: 03 05 02 00 00 03 70 71 72 03 06 02 00 00 03 73 ......pqr......s
++| 4032: 74 75 03 07 02 00 00 03 76 77 78 03 08 02 00 00 tu......vwx.....
++| 4048: 00 00 4a 08 08 08 15 54 30 20 33 36 00 03 61 62 ..J....T0 36..ab
++| 4064: 63 03 01 02 00 00 03 64 65 66 03 02 02 00 00 03 c......def......
++| 4080: 67 68 69 03 03 67 00 00 03 6a 6b 6c 03 04 02 00 ghi..g...jkl....
++| page 5 offset 16384
++| 0: 0a 0f e7 00 05 0f da 00 0f e1 0f fa 0f f4 0f ed ................
++| 16: 0f da 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
++| 4048: 00 00 00 00 00 00 00 1a 01 03 06 04 01 08 01 02 ................
++| 4064: 06 05 04 08 08 01 05 00 00 00 06 01 03 06 04 09 ................
++| 4080: 02 01 02 04 05 04 09 09 01 03 05 04 09 08 01 02 ................
++| page 6 offset 20480
++| 0: 0d 00 10 00 01 0f f9 00 0f f9 00 00 00 00 00 00 ................
++| 4080: 00 00 00 00 00 00 00 00 00 05 01 03 00 10 01 03 ................
++| end crash-65c98512cc9e49.db
++}]} {}
++
++do_catchsql_test 45.2 {
++ INSERT INTO x1(x1) VALUES( 'merge=1' )
++} {1 {database disk image is malformed}}
++
++#-------------------------------------------------------------------------
++reset_db
++set saved $sqlite_fts3_enable_parentheses
++set sqlite_fts3_enable_parentheses 1
++do_execsql_test 46.1 {
++ CREATE VIRTUAL TABLE t0 USING fts3(a INTEGER PRIMARY KEY,b,c,d);
++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'0001310301c9000103323334050d8000f200000461616161050101020200000462626262050101030200');
++} {}
++
++do_catchsql_test 46.2 {
++ SELECT * FROM t0
++ WHERE t0 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d';
++} {1 {database disk image is malformed}}
++
++set sqlite_fts3_enable_parentheses $saved
++
+ finish_test
+--- /test/fts3corrupt6.test
++++ /test/fts3corrupt6.test
+@@ -0,0 +1,60 @@
++# 2020 June 8
++#
++# The author disclaims copyright to this source code. In place of
++# a legal notice, here is a blessing:
++#
++# May you do good and not evil.
++# May you find forgiveness for yourself and forgive others.
++# May you share freely, never taking more than you give.
++#
++#*************************************************************************
++# This file implements regression tests for SQLite library. The
++# focus of this script is testing the FTS3 module.
++#
++# $Id: fts3aa.test,v 1.1 2007/08/20 17:38:42 shess Exp $
++#
++
++set testdir [file dirname $argv0]
++source $testdir/tester.tcl
++source $testdir/fts3_common.tcl
++set testprefix fts3corrupt6
++
++# If SQLITE_ENABLE_FTS3 is defined, omit this file.
++ifcapable !fts3 {
++ finish_test
++ return
++}
++
++set ::saved_sqlite_fts3_enable_parentheses $::sqlite_fts3_enable_parentheses
++set sqlite_fts3_enable_parentheses 1
++sqlite3_fts3_may_be_corrupt 1
++database_may_be_corrupt
++
++do_execsql_test 1.0 {
++ BEGIN TRANSACTION;
++ CREATE TABLE t_content(col0 INTEGER);
++ PRAGMA writable_schema=ON;
++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL);
++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200');
++ COMMIT;
++}
++
++do_execsql_test 1.1 {
++ SELECT 0+matchinfo(t0,'yxyyxy') FROM t0 WHERE t0 MATCH CAST( x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d' AS TEXT);
++} {0}
++
++do_execsql_test 1.2 {
++ CREATE VIRTUAL TABLE t1 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
++ INSERT INTO t1_content VALUES(0,NULL,NULL,NULL,NULL);
++ INSERT INTO t1_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200');
++}
++
++do_execsql_test 1.3 {
++ SELECT 42+matchinfo(t1,'yxyyxy') FROM t1 WHERE t1 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d';
++} {42}
++
++set sqlite_fts3_enable_parentheses $saved_sqlite_fts3_enable_parentheses
++finish_test
++
++
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch
new file mode 100644
index 000000000000..32b6f9b1624f
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch
@@ -0,0 +1,302 @@
+https://sqlite.org/src/info/30735432bc33cb95
+https://sqlite.org/src/info/1bd18ca35bdbf303
+https://sqlite.org/src/info/49da8bdce17ced91
+https://sqlite.org/src/info/f25a56c26e28abd4
+
+--- /ext/fts5/fts5_index.c
++++ /ext/fts5/fts5_index.c
+@@ -2321,11 +2321,11 @@
+ }
+
+ search_success:
+- pIter->iLeafOffset = iOff + nNew;
+- if( pIter->iLeafOffset>n || nNew<1 ){
++ if( (i64)iOff+nNew>n || nNew<1 ){
+ p->rc = FTS5_CORRUPT;
+ return;
+ }
++ pIter->iLeafOffset = iOff + nNew;
+ pIter->iTermLeafOffset = pIter->iLeafOffset;
+ pIter->iTermLeafPgno = pIter->iLeafPgno;
+
+--- /ext/fts5/test/fts5corrupt3.test
++++ /ext/fts5/test/fts5corrupt3.test
+@@ -10108,6 +10108,221 @@
+ INSERT INTO t1(t1) SELECT x FROM t2;
+ } {1 {database disk image is malformed}}
+
++#-------------------------------------------------------------------------
++reset_db
++do_test 69.0 {
++ sqlite3 db {}
++ db deserialize [decode_hexdb {
++.open --hexdb
++| size 32768 pagesize 4096 filename crash-31c462b8b665d0.db
++| page 1 offset 0
++| 0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 SQLite format 3.
++| 16: 10 00 01 01 00 40 20 20 00 00 00 00 00 00 00 08 .....@ ........
++| 32: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 ................
++| 96: 00 00 00 00 0d 0f c7 00 07 0d 92 00 0f 8d 0f 36 ...............6
++| 112: 0e cb 0e 6b 0e 0e 0d b6 0d 92 00 00 00 00 00 00 ...k............
++| 3472: 00 00 22 08 06 17 11 11 01 31 74 61 62 6c 65 74 .........1tablet
++| 3488: 32 74 32 08 43 52 45 41 54 45 20 54 41 42 4c 45 2t2.CREATE TABLE
++| 3504: 20 74 32 28 78 29 56 07 06 17 1f 1f 01 7d 74 61 t2(x)V.......ta
++| 3520: 62 6c 65 74 31 5f 63 6f 6e 66 69 67 74 31 5f 63 blet1_configt1_c
++| 3536: 6f 6e 66 69 67 07 43 52 45 41 54 45 20 54 41 42 onfig.CREATE TAB
++| 3552: 4c 45 20 27 74 31 5f 63 6f 6e 66 69 67 27 28 6b LE 't1_config'(k
++| 3568: 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 20 76 29 PRIMARY KEY, v)
++| 3584: 20 57 49 54 48 4f 55 54 20 52 4f 57 49 44 5b 06 WITHOUT ROWID[.
++| 3600: 07 17 21 21 01 81 01 74 61 62 6c 65 74 31 5f 64 ..!!...tablet1_d
++| 3616: 6f 63 73 69 7a 65 74 31 5f 64 6f 63 73 69 7a 65 ocsizet1_docsize
++| 3632: 06 43 52 45 41 54 45 20 54 41 42 4c 45 20 27 74 .CREATE TABLE 't
++| 3648: 31 5f 64 6f 63 73 69 7a 65 27 28 69 64 20 49 4e 1_docsize'(id IN
++| 3664: 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 TEGER PRIMARY KE
++| 3680: 59 2c 20 73 7a 20 42 4c 4f 42 29 5e 05 07 17 21 Y, sz BLOB)^...!
++| 3696: 21 01 81 07 74 61 62 6c 65 74 31 5f 63 6f 6e 74 !...tablet1_cont
++| 3712: 65 6e 74 74 31 5f 63 6f 6e 74 65 6e 74 05 43 52 entt1_content.CR
++| 3728: 45 41 54 45 20 54 41 42 4c 45 20 27 74 31 5f 63 EATE TABLE 't1_c
++| 3744: 6f 6e 74 65 6e 74 27 28 69 64 20 49 4e 54 45 47 ontent'(id INTEG
++| 3760: 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 20 ER PRIMARY KEY,
++| 3776: 63 39 2c 20 63 31 2c 20 63 32 29 69 04 07 17 19 c9, c1, c2)i....
++| 3792: 19 01 81 2d 74 61 62 6c 65 74 31 5f 69 64 78 74 ...-tablet1_idxt
++| 3808: 31 5f 69 64 78 04 43 52 45 41 54 45 20 54 41 42 1_idx.CREATE TAB
++| 3824: 4c 45 20 27 74 31 5f 69 64 78 27 28 73 65 67 69 LE 't1_idx'(segi
++| 3840: 64 2c 20 74 65 72 6d 2c 20 70 67 6e 6f 2c 20 50 d, term, pgno, P
++| 3856: 52 49 4d 41 52 59 20 4b 45 59 28 73 65 67 69 64 RIMARY KEY(segid
++| 3872: 2c 20 74 65 72 6d 29 29 20 57 49 54 48 4f 55 54 , term)) WITHOUT
++| 3888: 20 52 4f 57 49 44 55 03 07 17 1b 1b 01 81 01 74 ROWIDU........t
++| 3904: 61 62 6c 65 74 31 5f 64 61 74 61 74 31 5f 64 61 ablet1_datat1_da
++| 3920: 74 61 03 43 52 45 41 54 45 20 54 41 42 4c 45 20 ta.CREATE TABLE
++| 3936: 27 74 31 5f 64 61 74 61 27 28 69 64 20 49 4e 54 't1_data'(id INT
++| 3952: 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 EGER PRIMARY KEY
++| 3968: 2c 20 62 6c 6f 63 6b 20 42 4c 4f 42 29 38 02 06 , block BLOB)8..
++| 3984: 17 11 11 08 5f 74 61 62 6c 65 74 31 74 31 43 52 ...._tablet1t1CR
++| 4000: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 EATE VIRTUAL TAB
++| 4016: 4c 45 20 74 31 20 55 53 49 4e 47 20 66 74 73 35 LE t1 USING fts5
++| 4032: 28 61 2c 62 2c 63 29 00 00 00 00 00 00 00 00 00 (a,b,c).........
++| page 3 offset 8192
++| 0: 0d 00 00 00 03 0c 94 00 0f e6 0f ef 0c 94 00 00 ................
++| 3216: 00 00 00 00 86 4a 84 80 80 80 80 01 04 00 8d 18 .....J..........
++| 3232: 00 00 03 2b 02 30 30 01 02 06 01 02 06 01 02 06 ...+.00.........
++| 3248: 1f 02 03 01 02 03 01 02 03 01 08 32 30 31 36 30 ...........20160
++| 3264: 36 30 39 01 02 07 01 02 07 01 02 07 01 01 34 01 609...........4.
++| 3280: 02 05 01 02 05 01 02 05 01 01 35 01 02 04 01 02 ..........5.....
++| 3296: 04 01 02 04 02 07 30 30 30 30 30 30 30 1c 02 04 ......0000000...
++| 3312: 01 02 04 01 02 04 01 06 62 69 6e 61 72 79 03 06 ........binary..
++| 3328: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................
++| 3344: 02 02 03 06 00 02 02 03 06 01 02 02 03 06 01 02 ................
++| 3360: 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 02 ................
++| 3376: 03 06 01 02 02 03 06 01 02 02 01 08 63 6f 6d 70 ............comp
++| 3392: 69 6c 65 72 01 02 02 01 02 02 01 02 02 01 06 64 iler...........d
++| 3408: 62 73 74 61 74 07 02 03 01 02 03 01 02 03 02 04 bstat...........
++| 3424: 65 62 75 67 04 02 02 01 02 02 01 02 02 01 06 65 ebug...........e
++| 3440: 6e 61 62 6c 65 07 02 02 01 02 02 01 02 02 01 02 nable...........
++| 3456: 02 01 02 02 01 02 02 01 02 02 01 02 02 01 02 02 ................
++| 3472: 01 02 02 01 02 02 01 02 02 01 02 02 01 02 02 01 ................
++| 3488: 01 02 01 02 02 01 02 02 01 02 02 01 02 02 01 02 ................
++| 3504: 02 01 02 02 02 08 78 74 65 6e 73 69 6f 6e 1f 02 ......xtension..
++| 3520: 04 01 02 04 01 02 04 01 04 66 74 73 34 1a 02 03 .........fts4...
++| 3536: 01 02 03 01 02 03 04 01 35 0d 02 03 01 02 03 01 ........5.......
++| 3552: 02 03 01 03 67 63 63 01 aa 03 01 02 03 01 02 03 ....gcc.........
++| 3568: 02 06 65 6f 70 6f 6c 79 10 02 03 02 02 03 01 02 ..eopoly........
++| 3584: 03 01 05 6a 73 6f 6e 31 13 02 03 01 02 03 01 02 ...json1........
++| 3600: 03 01 04 6c 6f 61 64 1f 02 03 01 02 03 01 02 03 ...load.........
++| 3616: 01 03 6d 61 78 1c 02 02 01 02 02 01 02 02 02 05 ..max...........
++| 3632: 65 6d 6f 72 79 1c 02 03 01 02 03 01 02 03 04 04 emory...........
++| 3648: 73 79 73 35 16 02 03 01 02 03 01 02 03 01 06 6e sys5...........n
++| 3664: 6f 63 61 73 65 02 06 01 02 02 03 06 01 02 02 03 ocase...........
++| 3680: 06 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 ................
++| 3696: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................
++| 3712: 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 ................
++| 3728: 02 01 04 6f 6d 69 74 1f 02 02 01 02 02 01 02 01 ...omit.........
++| 3744: ff ff ff ff ff ff ff ff f0 00 00 00 00 00 01 02 ................
++| 3760: 58 81 96 4d 01 06 01 02 02 03 06 01 02 02 03 06 X..M............
++| 3776: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................
++| 3792: 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 ................
++| 3808: 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 02 ................
++| 3824: 01 0a 74 68 72 65 61 64 73 61 66 65 22 02 02 01 ..threadsafe....
++| 3840: 02 02 01 02 02 01 04 76 74 61 62 07 02 04 01 02 .......vtab.....
++| 3856: 04 01 02 04 01 01 78 01 06 01 01 02 01 06 01 01 ......x.........
++| 3872: 02 01 06 01 1e 02 01 06 01 01 02 01 06 01 01 02 ................
++| 3888: 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 ................
++| 3904: 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 ................
++| 3920: 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 ................
++| 3936: 00 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 ................
++| 3952: 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 ................
++| 3968: 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 ................
++| 3984: 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 ................
++| 4000: 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 ................
++| 4016: 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 ................
++| 4032: 02 01 06 01 01 02 01 06 01 01 02 04 15 13 0c 0c ................
++| 4048: 12 44 13 11 0f 47 13 0f 0b 0e 11 10 0f 0e 10 0f .D...G..........
++| 4064: 44 0f 10 40 15 0f 07 01 03 00 14 24 5a 24 24 0f D..@.......$Z$$.
++| 4080: 0a 03 00 24 00 00 00 00 01 01 01 00 01 01 01 01 ...$............
++| page 4 offset 12288
++| 0: 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
++| 4080: 00 00 00 00 00 00 00 00 00 00 05 04 09 0c 01 02 ................
++| page 5 offset 16384
++| 0: 0d 00 00 00 24 0c 0a 00 0f d8 0f af 0f 86 0f 74 ....$..........t
++| 16: 0f 61 0f 4e 0f 2f 0f 0f 0e ef 0e d7 0e be 0e a5 .a.N./..........
++| 32: 0e 8d 0e 74 0e 5b 0e 40 0e 24 0e 08 0d ef 0d d5 ...t.[.@.$......
++| 48: 0d bb 0d a0 0d 84 0d 68 0d 4f 0d 00 00 00 00 00 .......h.O......
++| 3072: 00 00 00 00 00 00 00 00 00 00 18 24 05 00 25 0f ...........$..%.
++| 3088: 19 54 48 52 45 41 44 53 41 46 45 3d 30 58 42 49 .THREADSAFE=0XBI
++| 3104: 4e 41 52 59 18 23 05 00 25 0f 19 54 48 52 45 41 NARY.#..%..THREA
++| 3120: 44 53 41 46 45 3d 30 58 4e 4f 43 41 53 45 17 22 DSAFE=0XNOCASE..
++| 3136: 05 00 25 0f 17 54 48 52 45 41 44 53 41 46 45 3d ..%..THREADSAFE=
++| 3152: 30 58 52 54 52 49 4d 1f 21 05 00 33 0f 19 4f 4d 0XRTRIM.!..3..OM
++| 3168: 49 54 20 4c 4f 41 44 20 45 58 54 45 4e 53 49 4f IT LOAD EXTENSIO
++| 3184: 4e 58 42 49 4e 41 52 59 1f 20 05 00 33 d3 19 4f NXBINARY. ..3..O
++| 3200: 4d 49 54 28 2c 4f 41 44 b2 04 55 85 44 54 e5 34 MIT(,OAD..U.DT.4
++| 3216: 94 f4 e5 84 e4 f4 34 15 34 51 e1 f0 50 03 30 f1 ......4.4Q..P.0.
++| 3232: 74 f4 d4 95 42 04 c4 f4 14 42 04 55 85 44 54 e5 t...B....B.U.DT.
++| 3248: 34 94 f4 e5 85 25 45 24 94 d1 f1 e0 50 03 30 f1 4....%E$....P.0.
++| 3264: 94 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 03 03 ......T..%..S...
++| 3280: 03 03 03 05 84 24 94 e4 15 25 91 f1 d0 50 03 30 .....$...%...P.0
++| 3296: f1 94 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 03 .......T..%..S..
++| 3312: 03 03 03 03 05 84 e4 f4 34 15 34 51 e1 c0 50 03 ........4.4Q..P.
++| 3328: 30 f1 74 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 0.t.....T..%..S.
++| 3344: 03 03 03 03 03 05 85 25 45 24 94 d1 81 b0 50 02 .......%E$....P.
++| 3360: 50 f1 94 54 e4 14 24 c4 52 05 25 45 24 54 55 84 P..T..$.R.%E$TU.
++| 3376: 24 94 e4 15 25 91 81 a0 50 02 50 f1 94 54 e4 14 $...%...P.P..T..
++| 3392: 24 c4 52 05 25 45 24 54 55 84 e4 f4 34 15 34 51 $.R.%E$TU...4.4Q
++| 3408: 71 90 50 02 50 f1 74 54 e4 14 24 c4 52 05 25 45 q.P.P.tT..$.R.%E
++| 3424: 24 54 55 85 25 45 24 94 d1 a1 80 50 02 90 f1 94 $TU.%E$....P....
++| 3440: 54 e4 14 24 c4 52 04 d4 54 d5 35 95 33 55 84 24 T..$.R..T.5.3U.$
++| 3456: 94 e4 15 25 91 a1 70 50 02 90 f1 94 54 e4 14 24 ...%..pP....T..$
++| 3472: c4 52 04 d4 54 d5 35 95 33 55 84 e4 f4 34 15 34 .R..T.5.3U...4.4
++| 3488: 51 91 60 50 02 90 f1 74 54 e4 14 24 c4 52 04 d4 Q.`P...tT..$.R..
++| 3504: 54 d5 35 95 33 55 85 25 45 24 94 d1 81 50 50 02 T.5.3U.%E$...PP.
++| 3520: 50 f1 94 54 e4 14 24 c4 52 04 a5 34 f4 e3 15 84 P..T..$.R..4....
++| 3536: 24 94 e4 15 25 91 81 40 50 02 50 f1 94 54 e4 14 $...%..@P.P..T..
++| 3552: 24 c4 52 04 a5 34 f4 e3 15 84 e4 f4 34 15 34 51 $.R..4......4.4Q
++| 3568: 71 30 50 02 4f f1 74 54 e4 14 24 c4 52 04 a5 34 q0P.O.tT..$.R..4
++| 3584: f4 e3 15 85 25 45 24 94 d1 a1 20 50 02 90 f1 94 ....%E$... P....
++| 3600: 54 e4 14 24 c4 52 04 74 54 f5 04 f4 c5 95 84 24 T..$.R.tT......$
++| 3616: 94 e4 15 25 91 a1 10 50 02 90 f1 94 54 e4 14 24 ...%...P....T..$
++| 3632: c4 52 04 74 54 f5 04 f4 c5 95 84 e4 f4 34 15 34 .R.tT........4.4
++| 3648: 51 91 00 50 02 90 f1 74 54 e4 14 24 c4 51 f4 74 Q..P...tT..$.Q.t
++| 3664: 54 f5 04 f4 c5 95 85 25 45 24 94 d1 70 f0 50 02 T......%E$..p.P.
++| 3680: 30 f1 94 54 e4 14 24 c5 20 46 54 53 35 58 42 49 0..T..$. FTS5XBI
++| 3696: 4e 41 52 59 17 0e 05 00 23 0f 19 45 4e 41 42 4c NARY....#..ENABL
++| 3712: 45 20 46 54 53 35 58 4f 4f 43 41 53 45 16 0d 05 E FTS5XOOCASE...
++| 3728: 00 23 0f 17 45 4e 41 42 4c 45 20 46 54 53 35 58 .#..ENABLE FTS5X
++| 3744: 52 54 52 49 4d 17 0c 05 00 23 0f 19 45 4e 41 42 RTRIM....#..ENAB
++| 3760: 4c 45 20 46 54 53 34 58 42 49 4e 41 52 59 97 0b LE FTS4XBINARY..
++| 3776: 05 00 23 0f 19 45 4e 41 42 4c 45 20 46 54 53 34 ..#..ENABLE FTS4
++| 3792: 58 4e 4f 43 41 53 45 16 0a 05 00 23 0f 17 45 4e XNOCASE....#..EN
++| 3808: 41 42 4c 45 20 46 54 53 34 58 52 54 52 49 4d 1e ABLE FTS4XRTRIM.
++| 3824: 09 05 00 3e 5f 19 45 4e 41 42 4c 45 20 44 42 53 ...>_.ENABLE DBS
++| 3840: 44 41 54 20 56 54 41 42 58 42 49 4e 41 52 59 1e DAT VTABXBINARY.
++| 3856: 08 05 00 31 0f 19 45 4e 41 42 4c 45 20 44 42 53 ...1..ENABLE DBS
++| 3872: 54 41 54 20 56 54 41 42 58 4e 4f 43 4d e3 45 1d TAT VTABXNOCM.E.
++| 3888: 07 05 00 31 0f 17 45 4e 41 42 4c 45 20 44 42 53 ...1..ENABLE DBS
++| 3904: 54 41 54 20 56 54 41 42 58 52 54 52 49 4d 11 06 TAT VTABXRTRIM..
++| 3920: 05 00 17 0f 19 44 45 42 55 47 58 42 49 4e 41 52 .....DEBUGXBINAR
++| 3936: 59 11 05 05 00 17 0f 19 44 45 42 55 47 58 4e 4f Y.......DEBUGXNO
++| 3952: 43 41 53 45 10 02 02 50 08 5f 17 44 45 42 55 47 CASE...P._.DEBUG
++| 3968: 58 52 54 52 49 4d 27 03 05 00 44 0f 19 43 4f 4d XRTRIM'...D..COM
++| 3984: 50 49 4c 45 52 3d 67 63 63 2d 35 2e 34 2e 30 20 PILER=gcc-5.4.0
++| 4000: 32 30 31 36 30 36 30 39 58 42 49 4e 41 52 59 27 20160609XBINARY'
++| 4016: 02 05 00 43 0f 19 43 4f 4d 50 49 4c 45 52 3d 67 ...C..COMPILER=g
++| 4032: 63 63 2d 35 2e 34 2e 30 20 32 30 31 36 30 36 30 cc-5.4.0 2016060
++| 4048: 39 58 4e 4f 43 41 53 45 26 01 05 00 43 c9 17 43 9XNOCASE&...C..C
++| 4064: 4f 4d 50 49 4c 47 02 3d 67 63 63 2d 35 2e 34 2e OMPILG.=gcc-5.4.
++| 4080: 30 20 32 30 31 36 30 36 30 39 58 52 54 52 49 4d 0 20160609XRTRIM
++| page 6 offset 20480
++| 0: 0d 00 00 00 24 0e e0 00 0f f8 0f f0 0f e8 0f e0 ....$...........
++| 16: 0f d8 0f d0 0f c8 0f c0 0f b8 0f b0 0f a8 0f a0 ................
++| 32: 0f 98 0f 90 0f 88 0f 80 0f 78 0f 70 0f 68 0f 60 .........x.p.h.`
++| 48: 0f 58 0f 50 0f 48 0f 40 0f 38 00 00 00 00 00 00 .X.P.H.@.8......
++| 3808: 06 24 03 00 12 02 01 01 06 23 03 00 12 02 01 01 .$.......#......
++| 3824: 06 22 03 00 12 02 01 01 06 21 03 00 12 03 01 01 .........!......
++| 3840: 06 20 03 00 12 03 01 01 06 1f 03 00 12 03 01 01 . ..............
++| 3856: 06 1e 03 00 12 03 01 01 06 1d 03 00 12 03 01 01 ................
++| 3872: 06 1c 03 00 12 03 01 01 06 1b 03 00 12 02 01 01 ................
++| 3888: 06 1a 03 00 12 02 01 01 06 19 03 00 12 02 01 01 ................
++| 3904: 06 18 03 00 12 02 01 01 06 17 03 00 12 02 01 01 ................
++| 3920: 06 16 03 00 12 02 01 01 06 15 03 00 12 02 01 01 ................
++| 3936: 06 14 03 00 12 02 01 01 06 13 03 00 12 02 01 01 ................
++| 3952: 06 12 03 00 12 02 01 01 06 11 03 00 12 02 01 01 ................
++| 3968: 06 10 03 00 12 02 01 01 06 1f 03 00 12 02 01 01 ................
++| 3984: 06 0e 03 00 12 02 01 01 06 0d 03 00 12 02 01 01 ................
++| 4000: 06 0c 03 00 12 02 01 01 06 0b 03 00 12 02 01 01 ................
++| 4016: 06 0a 03 00 12 02 01 01 06 09 03 00 12 03 01 01 ................
++| 4032: 06 08 03 00 12 03 01 01 06 07 03 00 12 03 01 01 ................
++| 4048: 06 06 03 00 12 01 01 01 06 05 03 00 12 01 01 01 ................
++| 4064: 06 04 03 00 12 01 01 01 06 03 03 00 12 06 01 01 ................
++| 4080: 06 02 03 00 12 06 01 01 06 01 03 00 12 06 01 01 ................
++| page 7 offset 24576
++| 0: 0a 00 00 00 01 0f f4 00 0f f4 00 00 00 00 00 00 ................
++| 4080: 00 00 00 00 0b 03 1b 01 76 65 72 73 69 6f 6e 04 ........version.
++| page 8 offset 28672
++| 0: 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
++| 4048: 00 00 00 00 00 00 11 03 02 2b 69 6e 74 65 67 72 .........+integr
++| 4064: 69 74 79 2d 63 68 65 63 6b 09 00 00 00 00 00 00 ity-check.......
++| end crash-31c462b8b665d0.db
++}]} {}
++
++
++do_catchsql_test 69.2 {
++ SELECT * FROM t1 WHERE a MATCH 'fx*'
++} {1 {database disk image is malformed}}
+
+ sqlite3_fts5_may_be_corrupt 0
+ finish_test
+--- /src/btree.c
++++ /src/btree.c
+@@ -3886,7 +3886,7 @@
+ Pgno nFree = get4byte(&pBt->pPage1->aData[36]);
+ Pgno nFin = finalDbSize(pBt, nOrig, nFree);
+
+- if( nOrig<nFin ){
++ if( nOrig<nFin || nFree>=nOrig ){
+ rc = SQLITE_CORRUPT_BKPT;
+ }else if( nFree>0 ){
+ rc = saveAllCursors(pBt, 0, 0);
+@@ -8772,7 +8772,11 @@
+ assert( pPage->intKey || pX->nKey>=0 );
+ assert( pPage->leaf || !pPage->intKey );
+ if( pPage->nFree<0 ){
+- rc = btreeComputeFreeSpace(pPage);
++ if( pCur->eState>CURSOR_INVALID ){
++ rc = SQLITE_CORRUPT_BKPT;
++ }else{
++ rc = btreeComputeFreeSpace(pPage);
++ }
+ if( rc ) return rc;
+ }
+
+--- /test/corruptL.test
++++ /test/corruptL.test
+@@ -1266,5 +1266,30 @@
+ do_execsql_test 15.1 {
+ UPDATE c1 SET c= NOT EXISTS(SELECT 1 FROM c1 ORDER BY (SELECT 1 FROM c1 ORDER BY a)) +10 WHERE d BETWEEN 4 AND 7;
+ } {}
++
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 16.0 {
++ CREATE TABLE t1(w, x, y, z, UNIQUE(w, x), UNIQUE(y, z));
++ INSERT INTO t1 VALUES(1, 1, 1, 1);
++
++ CREATE TABLE t1idx(x, y, i INTEGER, PRIMARY KEY(x)) WITHOUT ROWID;
++ INSERT INTO t1idx VALUES(10, NULL, 5);
++
++ PRAGMA writable_schema = 1;
++ UPDATE sqlite_master SET rootpage = (
++ SELECT rootpage FROM sqlite_master WHERE name='t1idx'
++ ) WHERE type = 'index';
++}
++
++db close
++sqlite3 db test.db
++
++do_catchsql_test 16.1 {
++ PRAGMA writable_schema = ON;
++ INSERT INTO t1(rowid, w, x, y, z) VALUES(5, 10, 11, 10, NULL);
++} {1 {database disk image is malformed}}
++
+ finish_test
+
++
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch
new file mode 100644
index 000000000000..07cb5d4a3960
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch
@@ -0,0 +1,220 @@
+https://sqlite.org/src/info/14eed318aa9e6e16
+https://sqlite.org/src/info/9679c0c61131f0e9
+https://sqlite.org/src/info/28515bbbae4fbc26
+https://sqlite.org/src/info/892e9191dc8f8056
+https://sqlite.org/src/info/270ac1a0f232d755
+
+--- /ext/fts3/fts3.c
++++ /ext/fts3/fts3.c
+@@ -5831,7 +5831,8 @@
+ fts3EvalRestart(pCsr, pRoot, &rc);
+ do {
+ fts3EvalNextRow(pCsr, pRoot, &rc);
+- assert( pRoot->bEof==0 );
++ assert_fts3_nc( pRoot->bEof==0 );
++ if( pRoot->bEof ) rc = FTS_CORRUPT_VTAB;
+ }while( pRoot->iDocid!=iDocid && rc==SQLITE_OK );
+ }
+ }
+--- /ext/misc/appendvfs.c
++++ /ext/misc/appendvfs.c
+@@ -439,7 +439,7 @@
+ p = (ApndFile*)pFile;
+ memset(p, 0, sizeof(*p));
+ pSubFile = ORIGFILE(pFile);
+- p->base.pMethods = &apnd_io_methods;
++ pFile->pMethods = &apnd_io_methods;
+ rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags);
+ if( rc ) goto apnd_open_done;
+ rc = pSubFile->pMethods->xFileSize(pSubFile, &sz);
+--- /ext/misc/cksumvfs.c
++++ /ext/misc/cksumvfs.c
+@@ -634,7 +634,7 @@
+ p = (CksmFile*)pFile;
+ memset(p, 0, sizeof(*p));
+ pSubFile = ORIGFILE(pFile);
+- p->base.pMethods = &cksm_io_methods;
++ pFile->pMethods = &cksm_io_methods;
+ rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags);
+ if( rc ) goto cksm_open_done;
+ if( flags & SQLITE_OPEN_WAL ){
+--- /src/date.c
++++ /src/date.c
+@@ -1112,8 +1112,8 @@
+ case 'm': sqlite3_snprintf(3, &z[j],"%02d",x.M); j+=2; break;
+ case 'M': sqlite3_snprintf(3, &z[j],"%02d",x.m); j+=2; break;
+ case 's': {
+- sqlite3_snprintf(30,&z[j],"%lld",
+- (i64)(x.iJD/1000 - 21086676*(i64)10000));
++ i64 iS = (i64)(x.iJD/1000 - 21086676*(i64)10000);
++ sqlite3Int64ToText(iS, &z[j]);
+ j += sqlite3Strlen30(&z[j]);
+ break;
+ }
+--- /src/memdb.c
++++ /src/memdb.c
+@@ -339,7 +339,7 @@
+ p->mFlags = SQLITE_DESERIALIZE_RESIZEABLE | SQLITE_DESERIALIZE_FREEONCLOSE;
+ assert( pOutFlags!=0 ); /* True because flags==SQLITE_OPEN_MAIN_DB */
+ *pOutFlags = flags | SQLITE_OPEN_MEMORY;
+- p->base.pMethods = &memdb_io_methods;
++ pFile->pMethods = &memdb_io_methods;
+ p->szMax = sqlite3GlobalConfig.mxMemdbSize;
+ return SQLITE_OK;
+ }
+--- /src/memjournal.c
++++ /src/memjournal.c
+@@ -366,7 +366,7 @@
+ assert( MEMJOURNAL_DFLT_FILECHUNKSIZE==fileChunkSize(p->nChunkSize) );
+ }
+
+- p->pMethod = (const sqlite3_io_methods*)&MemJournalMethods;
++ pJfd->pMethods = (const sqlite3_io_methods*)&MemJournalMethods;
+ p->nSpill = nSpill;
+ p->flags = flags;
+ p->zJournal = zName;
+@@ -392,7 +392,7 @@
+ int sqlite3JournalCreate(sqlite3_file *pJfd){
+ int rc = SQLITE_OK;
+ MemJournal *p = (MemJournal*)pJfd;
+- if( p->pMethod==&MemJournalMethods && (
++ if( pJfd->pMethods==&MemJournalMethods && (
+ #ifdef SQLITE_ENABLE_ATOMIC_WRITE
+ p->nSpill>0
+ #else
+--- /src/os_unix.c
++++ /src/os_unix.c
+@@ -5689,7 +5689,7 @@
+ if( rc!=SQLITE_OK ){
+ if( h>=0 ) robust_close(pNew, h, __LINE__);
+ }else{
+- pNew->pMethod = pLockingStyle;
++ pId->pMethods = pLockingStyle;
+ OpenCounter(+1);
+ verifyDbFile(pNew);
+ }
+--- /src/os_win.c
++++ /src/os_win.c
+@@ -5266,7 +5266,7 @@
+ }
+
+ sqlite3_free(zTmpname);
+- pFile->pMethod = pAppData ? pAppData->pMethod : &winIoMethod;
++ id->pMethods = pAppData ? pAppData->pMethod : &winIoMethod;
+ pFile->pVfs = pVfs;
+ pFile->h = h;
+ if( isReadonly ){
+--- /src/sqliteInt.h
++++ /src/sqliteInt.h
+@@ -4437,6 +4437,7 @@
+ int sqlite3FixExprList(DbFixer*, ExprList*);
+ int sqlite3FixTriggerStep(DbFixer*, TriggerStep*);
+ int sqlite3RealSameAsInt(double,sqlite3_int64);
++void sqlite3Int64ToText(i64,char*);
+ int sqlite3AtoF(const char *z, double*, int, u8);
+ int sqlite3GetInt32(const char *, int*);
+ int sqlite3Atoi(const char*);
+--- /src/test_multiplex.c
++++ /src/test_multiplex.c
+@@ -591,9 +591,9 @@
+
+ if( rc==SQLITE_OK ){
+ if( pSubOpen->pMethods->iVersion==1 ){
+- pMultiplexOpen->base.pMethods = &gMultiplex.sIoMethodsV1;
++ pConn->pMethods = &gMultiplex.sIoMethodsV1;
+ }else{
+- pMultiplexOpen->base.pMethods = &gMultiplex.sIoMethodsV2;
++ pConn->pMethods = &gMultiplex.sIoMethodsV2;
+ }
+ }else{
+ multiplexFreeComponents(pGroup);
+--- /src/util.c
++++ /src/util.c
+@@ -596,6 +596,30 @@
+ #endif
+
+ /*
++** Render an signed 64-bit integer as text. Store the result in zOut[].
++**
++** The caller must ensure that zOut[] is at least 21 bytes in size.
++*/
++void sqlite3Int64ToText(i64 v, char *zOut){
++ int i;
++ u64 x;
++ char zTemp[22];
++ if( v<0 ){
++ x = (v==SMALLEST_INT64) ? ((u64)1)<<63 : -v;
++ }else{
++ x = v;
++ }
++ i = sizeof(zTemp)-2;
++ zTemp[sizeof(zTemp)-1] = 0;
++ do{
++ zTemp[i--] = (x%10) + '0';
++ x = x/10;
++ }while( x );
++ if( v<0 ) zTemp[i--] = '-';
++ memcpy(zOut, &zTemp[i+1], sizeof(zTemp)-1-i);
++}
++
++/*
+ ** Compare the 19-character string zNum against the text representation
+ ** value 2^63: 9223372036854775808. Return negative, zero, or positive
+ ** if zNum is less than, equal to, or greater than the string.
+--- /src/vdbemem.c
++++ /src/vdbemem.c
+@@ -104,16 +104,25 @@
+ static void vdbeMemRenderNum(int sz, char *zBuf, Mem *p){
+ StrAccum acc;
+ assert( p->flags & (MEM_Int|MEM_Real|MEM_IntReal) );
+- sqlite3StrAccumInit(&acc, 0, zBuf, sz, 0);
++ assert( sz>22 );
+ if( p->flags & MEM_Int ){
+- sqlite3_str_appendf(&acc, "%lld", p->u.i);
+- }else if( p->flags & MEM_IntReal ){
+- sqlite3_str_appendf(&acc, "%!.15g", (double)p->u.i);
++#if GCC_VERSION>=7000000
++ /* Work-around for GCC bug
++ ** https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 */
++ i64 x;
++ assert( (p->flags&MEM_Int)*2==sizeof(x) );
++ memcpy(&x, (char*)&p->u, (p->flags&MEM_Int)*2);
++ sqlite3Int64ToText(x, zBuf);
++#else
++ sqlite3Int64ToText(p->u.i, zBuf);
++#endif
+ }else{
+- sqlite3_str_appendf(&acc, "%!.15g", p->u.r);
++ sqlite3StrAccumInit(&acc, 0, zBuf, sz, 0);
++ sqlite3_str_appendf(&acc, "%!.15g",
++ (p->flags & MEM_IntReal)!=0 ? (double)p->u.i : p->u.r);
++ assert( acc.zText==zBuf && acc.mxAlloc<=0 );
++ zBuf[acc.nChar] = 0; /* Fast version of sqlite3StrAccumFinish(&acc) */
+ }
+- assert( acc.zText==zBuf && acc.mxAlloc<=0 );
+- zBuf[acc.nChar] = 0; /* Fast version of sqlite3StrAccumFinish(&acc) */
+ }
+
+ #ifdef SQLITE_DEBUG
+--- /test/fts3corrupt4.test
++++ /test/fts3corrupt4.test
+@@ -6282,4 +6282,19 @@
+
+ set sqlite_fts3_enable_parentheses $saved
+
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 47.1 {
++ CREATE VIRTUAL TABLE t1 USING fts3(a,b,c);
++}
++do_execsql_test 47.2 {
++ INSERT INTO t1_segdir VALUES(0,0,0,0,0,X'000130120106000106000106001f030001030001030000083230313630363039090107000107000107000001340901050001050001050000013509010400010400010400010730303030303030091c0400010400010400000662696e6172793c0301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000008636f6d70696c657209010200010200010200000664627374617409070300010300010300010465627567090402000102000102000006656e61626c653f07020001020001020001020001020001020001020001020001020001020001020001020001010001020001020001020001020001020001020001020001020001087874656e73696f6e091f0400010400010400000466747334090a0300010300010300030135090d03000103000103000003676363090103000103000103000106656f706f6c790910030001030001030000056a736f6e310913030001030001030000046c6f6164091f030001030001030000036d6178091c02000102000102000105656d6f7279091c03000103000103000304737973350916030001030001030000066e6f636173653c02010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020000046f6d6974091f020001020001020000057274726565091903000103000103000302696d3c01010202000301020200030102020003010202000301020200030102020003010202000301a202000301020200030102020003010202000301020200000a746872656164736166650922020001020001020000047674616209070400010400010400000178b401010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200');
++ INSERT INTO t1_segdir VALUES(0,1,0,0,0,X'0001300425061b000008323031363036303903250700000134032505000001350325040001073030303030303003251a000008636f6d70696c657203250200000664627374617403250a00010465627567032508000006656e61626c650925090504040404040001087874656e73696f6e03251d0000046674733403250d0003013503250f000003676363032503000106656f706f6c790325110000056a736f6e310325130000046c6f616403251c0000036d6178032518000105656d6f7279032519000304737973350325150000046f6d697403251b000005727472656503251700000a7468726561647361666503251e0000047674616333250b00');
++}
++
++do_catchsql_test 47.3 {
++ SELECT matchinfo(t1) FROM t1 WHERE t1 MATCH '"json1 enable"';
++} {1 {database disk image is malformed}}
++
++
+ finish_test
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch
new file mode 100644
index 000000000000..ad2a3bfe16d0
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch
@@ -0,0 +1,146 @@
+https://sqlite.org/src/info/cc888878ea8d5bc7
+https://sqlite.org/src/info/be545f85a6ef09cc
+https://sqlite.org/src/info/6e0ffa2053124168
+https://sqlite.org/src/info/4d0cfb1236884349
+
+--- /ext/fts3/fts3.c
++++ /ext/fts3/fts3.c
+@@ -5208,10 +5208,12 @@
+ );
+ if( res ){
+ nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
+- assert( pPhrase->doclist.pList[nNew]=='\0' );
+- assert( nNew<=pPhrase->doclist.nList && nNew>0 );
+- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
+- pPhrase->doclist.nList = nNew;
++ if( nNew>=0 ){
++ assert( pPhrase->doclist.pList[nNew]=='\0' );
++ assert( nNew<=pPhrase->doclist.nList && nNew>0 );
++ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
++ pPhrase->doclist.nList = nNew;
++ }
+ *paPoslist = pPhrase->doclist.pList;
+ *pnToken = pPhrase->nToken;
+ }
+--- /ext/fts3/fts3_write.c
++++ /ext/fts3/fts3_write.c
+@@ -341,7 +341,9 @@
+ ** created by merging the oldest :2 segments from absolute level :1. See
+ ** function sqlite3Fts3Incrmerge() for details. */
+ /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) "
+- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?",
++ " FROM (SELECT * FROM %Q.'%q_segdir' "
++ " WHERE level = ? ORDER BY idx ASC LIMIT ?"
++ " )",
+
+ /* SQL_DELETE_SEGDIR_ENTRY
+ ** Delete the %_segdir entry on absolute level :1 with index :2. */
+@@ -2853,6 +2855,19 @@
+ return SQLITE_OK;
+ }
+
++static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){
++ if( nReq>pCsr->nBuffer ){
++ char *aNew;
++ pCsr->nBuffer = nReq*2;
++ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
++ if( !aNew ){
++ return SQLITE_NOMEM;
++ }
++ pCsr->aBuffer = aNew;
++ }
++ return SQLITE_OK;
++}
++
+
+ int sqlite3Fts3SegReaderStep(
+ Fts3Table *p, /* Virtual table handle */
+@@ -2987,15 +3002,9 @@
+ }
+
+ nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0);
+- if( nDoclist+nByte>pCsr->nBuffer ){
+- char *aNew;
+- pCsr->nBuffer = (nDoclist+nByte)*2;
+- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
+- if( !aNew ){
+- return SQLITE_NOMEM;
+- }
+- pCsr->aBuffer = aNew;
+- }
++
++ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist);
++ if( rc ) return rc;
+
+ if( isFirst ){
+ char *a = &pCsr->aBuffer[nDoclist];
+@@ -3020,6 +3029,9 @@
+ fts3SegReaderSort(apSegment, nMerge, j, xCmp);
+ }
+ if( nDoclist>0 ){
++ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING);
++ if( rc ) return rc;
++ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING);
+ pCsr->aDoclist = pCsr->aBuffer;
+ pCsr->nDoclist = nDoclist;
+ rc = SQLITE_ROW;
+--- /src/expr.c
++++ /src/expr.c
+@@ -4272,7 +4272,9 @@
+ int nCol;
+ testcase( op==TK_EXISTS );
+ testcase( op==TK_SELECT );
+- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
++ if( pParse->db->mallocFailed ){
++ return 0;
++ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
+ sqlite3SubselectError(pParse, nCol, 1);
+ }else{
+ return sqlite3CodeSubselect(pParse, pExpr);
+--- /test/fts3corrupt4.test
++++ /test/fts3corrupt4.test
+@@ -6123,4 +6123,44 @@
+ SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"';
+ }
+
++#-------------------------------------------------------------------------
++do_execsql_test 42.1 {
++ CREATE VIRTUAL TABLE f USING fts3(a, b);
++}
++do_execsql_test 42.2 {
++ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00');
++ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200');
++}
++do_execsql_test 42.3 {
++ INSERT INTO f(f) VALUES ('merge=107,2');
++}
++
++#-------------------------------------------------------------------------
++reset_db
++set saved $sqlite_fts3_enable_parentheses
++set sqlite_fts3_enable_parentheses 1
++do_execsql_test 43.1 {
++ CREATE VIRTUAL TABLE def USING fts3(xyz);
++ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81');
++} {}
++
++do_execsql_test 43.2 {
++ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1'
++} {1}
++
++set sqlite_fts3_enable_parentheses $saved
++
++#-------------------------------------------------------------------------
++reset_db
++do_execsql_test 44.1 {
++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY);
++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL);
++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200');
++}
++
++do_execsql_test 44.2 {
++ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*'
++} {0}
++
++
+ finish_test
diff --git a/dev-db/sqlite/sqlite-3.31.1.ebuild b/dev-db/sqlite/sqlite-3.32.3-r1.ebuild
index 50984a94d7b8..c433b78721c9 100644
--- a/dev-db/sqlite/sqlite-3.31.1.ebuild
+++ b/dev-db/sqlite/sqlite-3.32.3-r1.ebuild
@@ -16,11 +16,8 @@ HOMEPAGE="https://sqlite.org/"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
- SRC_URI="doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )
- tcl? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip )
- test? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip )
- tools? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip )
- !tcl? ( !test? ( !tools? ( https://sqlite.org/2020/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
+ SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )"
fi
LICENSE="public-domain"
@@ -36,19 +33,8 @@ if [[ "${PV}" == "9999" ]]; then
BDEPEND=">=dev-lang/tcl-8.6:0
dev-vcs/fossil"
else
- BDEPEND="doc? ( app-arch/unzip )
- tcl? (
- app-arch/unzip
- >=dev-lang/tcl-8.6:0
- )
- test? (
- app-arch/unzip
- >=dev-lang/tcl-8.6:0
- )
- tools? (
- app-arch/unzip
- >=dev-lang/tcl-8.6:0
- )"
+ BDEPEND="app-arch/unzip
+ >=dev-lang/tcl-8.6:0"
fi
RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
@@ -58,21 +44,11 @@ RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
DEPEND="${RDEPEND}
test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
-full_archive() {
- [[ "${PV}" == "9999" ]] || use tcl || use test || use tools
-}
-
-pkg_setup() {
- if [[ "${PV}" == "9999" ]]; then
- S="${WORKDIR}/${PN}"
- else
- if full_archive; then
- S="${WORKDIR}/${PN}-src-${SRC_PV}"
- else
- S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
- fi
- fi
-}
+if [[ "${PV}" == "9999" ]]; then
+ S="${WORKDIR}/${PN}"
+else
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+fi
src_unpack() {
if [[ "${PV}" == "9999" ]]; then
@@ -123,30 +99,14 @@ src_unpack() {
}
src_prepare() {
- if full_archive; then
- eapply "${FILESDIR}/${PN}-3.31.0-full_archive-build.patch"
- eapply "${FILESDIR}/${PN}-3.31.1-full_archive-architectures.patch"
- eapply "${FILESDIR}/${PN}-3.31.1-full_archive-security_fixes.patch"
+ eapply "${FILESDIR}/"${PN}-3.32.1-full_archive-build_{1,2}.patch
+ eapply "${FILESDIR}/"${PN}-3.32.3-backports_{1,2,3}.patch
- eapply_user
+ eapply_user
- # Fix AC_CHECK_FUNCS.
- # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
- sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
- else
- eapply "${FILESDIR}/${PN}-3.25.0-nonfull_archive-build.patch"
- eapply "${FILESDIR}/${PN}-3.31.1-nonfull_archive-architectures.patch"
- eapply "${FILESDIR}/${PN}-3.31.1-nonfull_archive-security_fixes.patch"
-
- eapply_user
-
- # Fix AC_CHECK_FUNCS.
- # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
- sed \
- -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
- -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
- -i configure.ac || die "sed failed"
- fi
+ # Fix AC_CHECK_FUNCS.
+ # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
+ sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
eautoreconf
@@ -158,23 +118,24 @@ multilib_src_configure() {
local options=()
options+=(
- --enable-$(full_archive && echo load-extension || echo dynamic-extensions)
+ --enable-load-extension
--enable-threadsafe
)
- if ! full_archive; then
- options+=(--disable-static-shell)
- fi
# Support detection of misuse of SQLite API.
# https://sqlite.org/compile.html#enable_api_armor
append-cppflags -DSQLITE_ENABLE_API_ARMOR
+ # Support bytecode and tables_used virtual tables.
+ # https://sqlite.org/bytecodevtab.html
+ append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
+
# Support column metadata functions.
# https://sqlite.org/c3ref/column_database_name.html
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
# Support sqlite_dbpage virtual table.
- # https://sqlite.org/compile.html#enable_dbpage_vtab
+ # https://sqlite.org/dbpage.html
append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
# Support dbstat virtual table.
@@ -182,7 +143,6 @@ multilib_src_configure() {
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
# Support sqlite3_serialize() and sqlite3_deserialize() functions.
- # https://sqlite.org/compile.html#enable_deserialize
# https://sqlite.org/c3ref/serialize.html
# https://sqlite.org/c3ref/deserialize.html
append-cppflags -DSQLITE_ENABLE_DESERIALIZE
@@ -251,7 +211,8 @@ multilib_src_configure() {
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
# Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
- # https://sqlite.org/compile.html#enable_update_delete_limit
+ # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
+ # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
# Support soundex() function.
@@ -263,26 +224,14 @@ multilib_src_configure() {
append-cppflags -DSQLITE_USE_URI
# debug USE flag.
- if full_archive; then
- options+=($(use_enable debug))
- else
- if use debug; then
- append-cppflags -DSQLITE_DEBUG
- else
- append-cppflags -DNDEBUG
- fi
- fi
+ options+=($(use_enable debug))
# icu USE flag.
if use icu; then
# Support ICU extension.
# https://sqlite.org/compile.html#enable_icu
append-cppflags -DSQLITE_ENABLE_ICU
- if full_archive; then
- sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
- else
- sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
- fi
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
fi
# readline USE flag.
@@ -290,8 +239,8 @@ multilib_src_configure() {
--disable-editline
$(use_enable readline)
)
- if full_archive && use readline; then
- options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
+ if use readline; then
+ options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
fi
# secure-delete USE flag.
@@ -305,9 +254,7 @@ multilib_src_configure() {
options+=($(use_enable static-libs static))
# tcl, test, tools USE flags.
- if full_archive; then
- options+=(--enable-tcl)
- fi
+ options+=(--enable-tcl)
if [[ "${CHOST}" == *-mint* ]]; then
append-cppflags -DSQLITE_OMIT_WAL
diff --git a/dev-db/sqlite/sqlite-3.32.3.ebuild b/dev-db/sqlite/sqlite-3.32.3.ebuild
new file mode 100644
index 000000000000..fd258a4bd4c0
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.32.3.ebuild
@@ -0,0 +1,340 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+if [[ "${PV}" != "9999" ]]; then
+ SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
+ DOC_PV="${SRC_PV}"
+ # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
+fi
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+if [[ "${PV}" == "9999" ]]; then
+ PROPERTIES="live"
+fi
+RESTRICT="!test? ( test )"
+
+if [[ "${PV}" == "9999" ]]; then
+ BDEPEND=">=dev-lang/tcl-8.6:0
+ dev-vcs/fossil"
+else
+ BDEPEND="app-arch/unzip
+ >=dev-lang/tcl-8.6:0"
+fi
+RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
+
+if [[ "${PV}" == "9999" ]]; then
+ S="${WORKDIR}/${PN}"
+else
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+fi
+
+src_unpack() {
+ if [[ "${PV}" == "9999" ]]; then
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ addwrite "${distdir}"
+ mkdir -p "${distdir}/fossil-src/${PN}" || die
+
+ mkdir "${WORKDIR}/${PN}" || die
+ pushd "${WORKDIR}/${PN}" > /dev/null || die
+ if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite.fossil" ]]; then
+ einfo fossil clone --verbose https://sqlite.org/src sqlite.fossil
+ fossil clone --verbose https://sqlite.org/src sqlite.fossil || die
+ echo
+ else
+ cp -p "${distdir}/fossil-src/${PN}/sqlite.fossil" . || die
+ einfo fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src
+ fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src || die
+ echo
+ fi
+ cp -p sqlite.fossil "${distdir}/fossil-src/${PN}" || die
+ einfo fossil open --quiet sqlite.fossil
+ fossil open --quiet sqlite.fossil || die
+ echo
+ popd > /dev/null || die
+
+ if use doc; then
+ mkdir "${WORKDIR}/${PN}-doc" || die
+ pushd "${WORKDIR}/${PN}-doc" > /dev/null || die
+ if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" ]]; then
+ einfo fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil
+ fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil || die
+ echo
+ else
+ cp -p "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" . || die
+ einfo fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc
+ fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc || die
+ echo
+ fi
+ cp -p sqlite-doc.fossil "${distdir}/fossil-src/${PN}" || die
+ einfo fossil open --quiet sqlite-doc.fossil
+ fossil open --quiet sqlite-doc.fossil || die
+ echo
+ popd > /dev/null || die
+ fi
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_1.patch"
+ eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_2.patch"
+ eapply "${FILESDIR}/${PN}-3.32.3-security_fixes.patch"
+
+ eapply_user
+
+ # Fix AC_CHECK_FUNCS.
+ # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
+ sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
+
+ eautoreconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
+ local options=()
+
+ options+=(
+ --enable-load-extension
+ --enable-threadsafe
+ )
+
+ # Support detection of misuse of SQLite API.
+ # https://sqlite.org/compile.html#enable_api_armor
+ append-cppflags -DSQLITE_ENABLE_API_ARMOR
+
+ # Support bytecode and tables_used virtual tables.
+ # https://sqlite.org/bytecodevtab.html
+ append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
+
+ # Support column metadata functions.
+ # https://sqlite.org/c3ref/column_database_name.html
+ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
+
+ # Support sqlite_dbpage virtual table.
+ # https://sqlite.org/dbpage.html
+ append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
+
+ # Support dbstat virtual table.
+ # https://sqlite.org/dbstat.html
+ append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
+
+ # Support sqlite3_serialize() and sqlite3_deserialize() functions.
+ # https://sqlite.org/c3ref/serialize.html
+ # https://sqlite.org/c3ref/deserialize.html
+ append-cppflags -DSQLITE_ENABLE_DESERIALIZE
+
+ # Support comments in output of EXPLAIN.
+ # https://sqlite.org/compile.html#enable_explain_comments
+ append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+
+ # Support Full-Text Search versions 3, 4 and 5.
+ # https://sqlite.org/fts3.html
+ # https://sqlite.org/fts5.html
+ append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
+ options+=(--enable-fts5)
+
+ # Support hidden columns.
+ append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
+
+ # Support JSON1 extension.
+ # https://sqlite.org/json1.html
+ append-cppflags -DSQLITE_ENABLE_JSON1
+
+ # Support memsys5 memory allocator.
+ # https://sqlite.org/malloc.html#memsys5
+ append-cppflags -DSQLITE_ENABLE_MEMSYS5
+
+ # Support sqlite3_normalized_sql() function.
+ # https://sqlite.org/c3ref/expanded_sql.html
+ append-cppflags -DSQLITE_ENABLE_NORMALIZE
+
+ # Support sqlite_offset() function.
+ # https://sqlite.org/lang_corefunc.html#sqlite_offset
+ append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
+
+ # Support pre-update hook functions.
+ # https://sqlite.org/c3ref/preupdate_count.html
+ append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
+
+ # Support Resumable Bulk Update extension.
+ # https://sqlite.org/rbu.html
+ append-cppflags -DSQLITE_ENABLE_RBU
+
+ # Support R*Trees.
+ # https://sqlite.org/rtree.html
+ # https://sqlite.org/geopoly.html
+ append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
+
+ # Support scan status functions.
+ # https://sqlite.org/c3ref/stmt_scanstatus.html
+ # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
+ append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
+
+ # Support sqlite_stmt virtual table.
+ # https://sqlite.org/stmt.html
+ append-cppflags -DSQLITE_ENABLE_STMTVTAB
+
+ # Support Session extension.
+ # https://sqlite.org/sessionintro.html
+ options+=(--enable-session)
+
+ # Support unknown() function.
+ # https://sqlite.org/compile.html#enable_unknown_sql_function
+ append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+
+ # Support unlock notification.
+ # https://sqlite.org/unlock_notify.html
+ append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
+
+ # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
+ # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
+ # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
+ append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+
+ # Support soundex() function.
+ # https://sqlite.org/lang_corefunc.html#soundex
+ append-cppflags -DSQLITE_SOUNDEX
+
+ # Support URI filenames.
+ # https://sqlite.org/uri.html
+ append-cppflags -DSQLITE_USE_URI
+
+ # debug USE flag.
+ options+=($(use_enable debug))
+
+ # icu USE flag.
+ if use icu; then
+ # Support ICU extension.
+ # https://sqlite.org/compile.html#enable_icu
+ append-cppflags -DSQLITE_ENABLE_ICU
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ fi
+
+ # readline USE flag.
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+ if use readline; then
+ options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ fi
+
+ # secure-delete USE flag.
+ if use secure-delete; then
+ # Enable secure_delete pragma by default.
+ # https://sqlite.org/pragma.html#pragma_secure_delete
+ append-cppflags -DSQLITE_SECURE_DELETE
+ fi
+
+ # static-libs USE flag.
+ options+=($(use_enable static-libs static))
+
+ # tcl, test, tools USE flags.
+ options+=(--enable-tcl)
+
+ if [[ "${CHOST}" == *-mint* ]]; then
+ append-cppflags -DSQLITE_OMIT_WAL
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+
+ if use tools && multilib_is_native_abi; then
+ emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
+ fi
+}
+
+multilib_src_test() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ ewarn "Skipping tests due to root permissions"
+ return
+ fi
+
+ local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
+
+ emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
+
+ if use tools && multilib_is_native_abi; then
+ install_tool() {
+ if [[ -f ".libs/${1}" ]]; then
+ newbin ".libs/${1}" "${2}"
+ else
+ newbin "${1}" "${2}"
+ fi
+ }
+
+ install_tool changeset sqlite3-changeset
+ install_tool dbdump sqlite3-db-dump
+ install_tool dbhash sqlite3-db-hash
+ install_tool dbtotxt sqlite3-db-to-txt
+ install_tool index_usage sqlite3-index-usage
+ install_tool rbu sqlite3-rbu
+ install_tool scrub sqlite3-scrub
+ install_tool showdb sqlite3-show-db
+ install_tool showjournal sqlite3-show-journal
+ install_tool showshm sqlite3-show-shm
+ install_tool showstat4 sqlite3-show-stat4
+ install_tool showwal sqlite3-show-wal
+ install_tool sqldiff sqlite3-diff
+ install_tool sqlite3_analyzer sqlite3-analyzer
+ install_tool sqlite3_checker sqlite3-checker
+ install_tool sqlite3_expert sqlite3-expert
+ install_tool sqltclsh sqlite3-tclsh
+
+ unset -f install_tool
+ fi
+}
+
+multilib_src_install_all() {
+ find "${D}" -name "*.la" -type f -delete || die
+
+ doman sqlite3.1
+
+ if use doc; then
+ rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} || die
+ (
+ docinto html
+ dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
+ )
+ fi
+}
diff --git a/dev-db/tokumx/Manifest b/dev-db/tokumx/Manifest
index 9f7361965058..7b831550dd15 100644
--- a/dev-db/tokumx/Manifest
+++ b/dev-db/tokumx/Manifest
@@ -10,4 +10,4 @@ DIST tokumx-enterprise-2.0.2.tar.gz 16756175 BLAKE2B 8caaf9f12db713192ab1eaa3128
DIST tokumx-git-tag-1.5.0.tar.bz2 13059584 BLAKE2B f662d72c8eb65551c074f11e36dac0fa68f5a0b86fe9654e49160c42511576146e9194c3d3cd607c8fba4272992c35f4268ad3db7032ae9dfb7c9417f954e8c8 SHA512 ba19237db7d3dcbd3ac07b8cc4860549830fa065fa4d26cbae685274524cd5b89f671d5f126ec25bee605c99929ce0436bb2ac32d67efdbb8dd6d7526d3f1c24
EBUILD tokumx-1.5.0-r2.ebuild 2011 BLAKE2B 35fba61eced8fd15f074896dccd934927182afd5333981aad798630b938fa7e450ce03bfcb25fc43a61e5fb145759513a19efb30adc5a5a0f1aa7d2357dfca69 SHA512 d21efce4a337030babacf95f856148e479717bcad25d247de4105556aaa53780a08af3f121fc85c9c0ccdaa77d6054294b1e66765e5b8c51e27049236121162a
EBUILD tokumx-2.0.2-r2.ebuild 2207 BLAKE2B acb8641fff305c13a1d1f6d1520d6b15b3c324841885dc369a46d1502ecdec929a8b13bb39e541b45f7c2425985a4be845fab037d3ec787ae6c95a842435d957 SHA512 1711ad11b86d467c6c5add5987bbfe0a47d1df3ce378f2b7c6a87f4105f19d21ecd5313698bf4471114720fe80551cb168b1d2deb9017d4e8a0525e2c5120a28
-MISC metadata.xml 441 BLAKE2B 900ea406bc2cdac6196b49607274989e6b290d56b6a02f83949cdbb20fbd1960193a48053d3c963a852170ffb11736bda77eb9a843506be89d256fc48a1a97db SHA512 5d2c7f880ced8d3d9d8c8f9daef5d0f975f76d9db58000c0f2cf80ee818b35346973e2bc30f2b39d646845a4045d6389a929e76e1d2a3724f7330e1ab5901277
+MISC metadata.xml 333 BLAKE2B 63e2cc3741856889c9b936978cded64f221c5add3b88bc8ce4eabcec720953a59efa960986af3faf199c700db33c7ccb7c09cc0642f87dd7d55cca4631e21569 SHA512 f3df4559b5415a478fc8e721ed1b1be21ab8255d7f74b4db61b7dd5058061dd929997d3cbb94b1a5b61059f6b2244a13aec4bd13ef88a9a96f90acdaeefbb946
diff --git a/dev-db/tokumx/metadata.xml b/dev-db/tokumx/metadata.xml
index ffbb5d9f2c31..aecb193ea796 100644
--- a/dev-db/tokumx/metadata.xml
+++ b/dev-db/tokumx/metadata.xml
@@ -5,10 +5,6 @@
<email>chainsaw@gentoo.org</email>
<name>Tony Vroon</name>
</maintainer>
- <maintainer type="person">
- <email>ultrabug@gentoo.org</email>
- <name>Alexys Jacob</name>
- </maintainer>
<use>
<flag name="pax_kernel">Apply patch needed for hardened kernels</flag>
</use>