summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin17286 -> 16942 bytes
-rw-r--r--dev-db/bucardo/Manifest2
-rw-r--r--dev-db/bucardo/bucardo-5.4.1.ebuild20
-rw-r--r--dev-db/citus/Manifest4
-rw-r--r--dev-db/citus/citus-10.0.6.ebuild31
-rw-r--r--dev-db/citus/citus-9.5.10.ebuild31
-rw-r--r--dev-db/go-etcd/Manifest3
-rw-r--r--dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild48
-rw-r--r--dev-db/go-etcd/metadata.xml11
-rw-r--r--dev-db/henplus/Manifest5
-rw-r--r--dev-db/henplus/files/0.9.8-build.xml.patch23
-rw-r--r--dev-db/henplus/files/henplus.pre51
-rw-r--r--dev-db/henplus/henplus-0.9.8-r1.ebuild43
-rw-r--r--dev-db/henplus/metadata.xml11
-rw-r--r--dev-db/hsqldb/Manifest2
-rw-r--r--dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild2
-rw-r--r--dev-db/libodbc++/Manifest2
-rw-r--r--dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild (renamed from dev-db/libodbc++/libodbc++-0.2.5-r2.ebuild)58
-rw-r--r--dev-db/m17n-db/Manifest4
-rw-r--r--dev-db/m17n-db/m17n-db-1.7.0.ebuild26
-rw-r--r--dev-db/m17n-db/m17n-db-1.8.0.ebuild6
-rw-r--r--dev-db/mariadb-connector-c/Manifest4
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild2
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild78
-rw-r--r--dev-db/mariadb-connector-odbc/Manifest10
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild2
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild2
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild (renamed from dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.11-r2.ebuild)8
-rw-r--r--dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.6.ebuild65
-rw-r--r--dev-db/mariadb/Manifest11
-rw-r--r--dev-db/mariadb/mariadb-10.2.41.ebuild18
-rw-r--r--dev-db/mariadb/mariadb-10.3.32.ebuild18
-rw-r--r--dev-db/mariadb/mariadb-10.4.22.ebuild18
-rw-r--r--dev-db/mariadb/mariadb-10.5.13.ebuild18
-rw-r--r--dev-db/mariadb/mariadb-10.6.5-r1.ebuild1325
-rw-r--r--dev-db/myodbc/Manifest2
-rw-r--r--dev-db/myodbc/myodbc-8.0.27.ebuild131
-rw-r--r--dev-db/mysql-connector-c++/Manifest3
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch92
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild44
-rw-r--r--dev-db/mysql-connector-c/Manifest3
-rw-r--r--dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch313
-rw-r--r--dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild122
-rw-r--r--dev-db/mysql/Manifest6
-rw-r--r--dev-db/mysql/mysql-5.7.36-r1.ebuild1286
-rw-r--r--dev-db/mysql/mysql-8.0.27.ebuild (renamed from dev-db/percona-server/percona-server-8.0.22.13.ebuild)220
-rw-r--r--dev-db/percona-server/Manifest9
-rw-r--r--dev-db/percona-server/percona-server-8.0.26.16.ebuild (renamed from dev-db/percona-server/percona-server-8.0.23.14.ebuild)93
-rw-r--r--dev-db/percona-xtrabackup-bin/Manifest2
-rw-r--r--dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild2
-rw-r--r--dev-db/postgresql/Manifest34
-rw-r--r--dev-db/postgresql/postgresql-10.17-r2.ebuild459
-rw-r--r--dev-db/postgresql/postgresql-10.18.ebuild458
-rw-r--r--dev-db/postgresql/postgresql-10.19.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-11.12.ebuild455
-rw-r--r--dev-db/postgresql/postgresql-11.13.ebuild455
-rw-r--r--dev-db/postgresql/postgresql-11.14.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-12.7.ebuild455
-rw-r--r--dev-db/postgresql/postgresql-12.8.ebuild455
-rw-r--r--dev-db/postgresql/postgresql-12.9.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-13.3.ebuild467
-rw-r--r--dev-db/postgresql/postgresql-13.4.ebuild467
-rw-r--r--dev-db/postgresql/postgresql-13.5.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-14.1.ebuild (renamed from dev-db/postgresql/postgresql-14.0.ebuild)0
-rw-r--r--dev-db/postgresql/postgresql-9.6.22-r2.ebuild479
-rw-r--r--dev-db/postgresql/postgresql-9.6.23.ebuild479
-rw-r--r--dev-db/postgresql/postgresql-9.6.24.ebuild2
-rw-r--r--dev-db/redis/Manifest6
-rw-r--r--dev-db/redis/redis-5.0.14.ebuild2
-rw-r--r--dev-db/redis/redis-6.0.16.ebuild2
-rw-r--r--dev-db/redis/redis-6.2.6.ebuild2
-rw-r--r--dev-db/rqlite/Manifest2
-rw-r--r--dev-db/rqlite/rqlite-6.8.1.ebuild230
-rw-r--r--dev-db/sqlcl-bin/Manifest4
-rw-r--r--dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild (renamed from dev-db/sqlcl-bin/sqlcl-bin-21.2.2.223.0914.ebuild)0
-rw-r--r--dev-db/timescaledb/Manifest2
-rw-r--r--dev-db/timescaledb/timescaledb-2.5.0.ebuild67
77 files changed, 4083 insertions, 5197 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index b51f06528155..768c5b32238e 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/bucardo/Manifest b/dev-db/bucardo/Manifest
index 84c0f6437358..0b3e132f39ad 100644
--- a/dev-db/bucardo/Manifest
+++ b/dev-db/bucardo/Manifest
@@ -1,3 +1,3 @@
DIST Bucardo-5.4.1.tar.gz 327848 BLAKE2B d6fccd311c2e0ba99ef5614eff70caa4e69e0cb1ed983e601c32e238c60e2401a96b5bb27fb67dd5d926003d673a0078cd4f9e9b018308d0bb91811d4165df45 SHA512 b669d62a588db41e69b81ede8dc9398ad2a4eb4fcb8839993bceb5b3f3251509304e5a30373ef48ba7d75befc87758f371d3db9125127da7b068fef2a0c49e1f
-EBUILD bucardo-5.4.1.ebuild 636 BLAKE2B b4a48c2f55fcfc1264b0679e681b792d147608fc6b54b949788e0c77c12eaf925d95ca20816d89a790a3bff91ca260e03af116320b9c59177f18f707ee208e7c SHA512 cebf113c165c6af7f520e6e317136bc504fd6bd5d0d5d6effa798c7ea606c39f7e33feac0c59d3ea9393672d449658d104d680588738a5cc90071bd4abcf0a81
+EBUILD bucardo-5.4.1.ebuild 601 BLAKE2B 95b94391c48dba17ff8ee52d486b2dedb24a49a4dfa0f075bf61a4efa83c84664a43a90f3eae38c8fff483e3d4f2621a7ac334332471d48600247d357bc4926f SHA512 b88542141db015ce922f54209b6ca755787bd3be589a23189421c04284e27920e89740ed2cdba5a28cf8fd8599893128832c78f53d69cf4419f771043d400554
MISC metadata.xml 281 BLAKE2B 85a0d31b886497ac44662bb58420de2f6af5444882f008f902287c6a8265f6e76afa7513b0edeca5b34a26d69d9aa61832c5fb3287c577a7f047180aa3fb242e SHA512 9e9007a37a7acc9948a6eb15bd1bdfea46c95eacc88e96a878237baaf01298b1f849d6e170f04638bbfb68f2c8b8a3bf227e563b5309f859cfcd23d43bc5dd85
diff --git a/dev-db/bucardo/bucardo-5.4.1.ebuild b/dev-db/bucardo/bucardo-5.4.1.ebuild
index f70a7753f02a..a1057bb64f08 100644
--- a/dev-db/bucardo/bucardo-5.4.1.ebuild
+++ b/dev-db/bucardo/bucardo-5.4.1.ebuild
@@ -1,31 +1,27 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-RESTRICT="test"
+EAPI=8
inherit perl-module
MY_PN="Bucardo"
-
DESCRIPTION="An asynchronous PostgreSQL replication system"
HOMEPAGE="http://bucardo.org/wiki/Bucardo"
SRC_URI="http://bucardo.org/downloads/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
-#IUSE="test" doesn't work without extra data
-IUSE=""
+# doesn't work without extra data
+RESTRICT="test"
-DEPEND="dev-perl/DBIx-Safe
- dev-perl/DBD-Pg"
RDEPEND="dev-perl/DBIx-Safe"
-
-S=${WORKDIR}/${MY_PN}-${PV}
+DEPEND="${RDEPEND}
+ dev-perl/DBD-Pg"
src_install() {
- emake DESTDIR="${D}" INSTALL_BASE="${D}" install -j1
+ emake DESTDIR="${D}" INSTALL_BASE="${D}" install
keepdir /var/run/bucardo
}
diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest
index 5962c006411c..c3867ed6bc8b 100644
--- a/dev-db/citus/Manifest
+++ b/dev-db/citus/Manifest
@@ -1,13 +1,17 @@
DIST citus-10.0.5.tar.gz 5182513 BLAKE2B 84bd1d2d8a33ecb58371625bfe9936985b3e84237f5580b5d217ee7807a541b7d94c09ad1be75204582149a2be0f3b54fa69ba73c089a33c7d416c796259423e SHA512 38414bd53952b3fcda222a3edeb7c0d32c9fe360fd6cfdefbe2c597df0dc527cf32471b5a9eac68be670858f3c3ee0a5691b778e2821c129838d1f17bc7a539b
+DIST citus-10.0.6.tar.gz 5186554 BLAKE2B b7f4c46cf202bcc1a0d62d797056d5dbee625c4d00f6c0507e95201698bd9d0eceddaf2dd524e0a954a75013fcfb5f42531975ae157d1aa015a27f8adc8d9f25 SHA512 2a839eb2cc907a8294b974ec4f698042546e84757d209ce5e7c52d122f3f2af5036b3a1147d26b50170192649a19cf38d3c2bccfa445e213f604bb21ef84d478
DIST citus-10.1.3.tar.gz 5281581 BLAKE2B cf119c550174a8b64bfee6497288a10030db7ff8d40e48d4751799d4268618afe9b7dcd72bfbd5b01dc073f6f4af55e8dc338071e3be224d15ded423885bbebd SHA512 2ad9665c5de3214a5ebc08d5df663caa634912dd9db433a43bea96d3932213786d1650a695531a4d00ab8dff7d53078848466d7a6e803bff3ab26f4df3990c91
DIST citus-10.2.0.tar.gz 5496211 BLAKE2B 9b6f3aeb19e8f4391b6ca24615a6eab405a57bf673995d79c2ea563dec67c63ffb5d17d4f8a1f245497f15de2fb572d0ecccc4a5195e797bd2a799800dcc553a SHA512 fb816bc0f252f6a63c76923366c9a25b9004288c09c7a6de7911a2c0325e47b1772b7a59cdb39e034d406ce99db53ced8e68c658bf16e92c2c99eb7331537ea7
DIST citus-10.2.1.tar.gz 5502245 BLAKE2B d83e951aed48bcdd67e0d6ffb7c1f036e46cf5da961a11df007e2f4d0bb6437dc9f61f4c2e32732beb23bdb3d03236f1b2c2bdfcdbd843d95c3788310475c4dd SHA512 782bef91d2d3a0eb12b291e43ce10fc43e24b37d330f0d861e5e5feaba8d9bd556270cfa01d210d29ee729364697e9fbce47f95ef892ea6ec92a9ef49c34f931
DIST citus-10.2.2.tar.gz 5513323 BLAKE2B f968215919470e330ca47bf40b3315f9d28abcff22b5d655bba61c39f6253129eacfbe3f388d824edbea0114386dd013426f1149c2296d2ab4b599baea410ba9 SHA512 9e369ea00066119e343f29c9b8b6bdc9c1be7fba5b521950bf0eda391022d7616d81a7d0c7cf15a35b5048f9e2c5f4abd9d1db8ef653f08a6e5a59da6c333a36
+DIST citus-9.5.10.tar.gz 4744848 BLAKE2B e6d9595fe30cb93508007cb4f39933ae57b6f0f1c5ee084ac83b0f5edea0d32dc0e8fd71737e396eb9b77fd5601ae647e29dea5b13e2e7a53a59f96365773466 SHA512 24683c7607de115d1d7fc355b56ff732e5e5f2adcdbebac7ee0d71b8878de3f335f3824be9e02ae9554850c68d7e21bc6d95d581e02ba4fef9da27b2f67f2987
DIST citus-9.5.8.tar.gz 4737096 BLAKE2B aa2e272f635699e16ebb5df2f981c1250009c721198456228a90837a8a37c6e5325dfea8f51f39bd3aafe8be0b6335cbac36443bc3193b796c9be6fe34a91a41 SHA512 5fbde79f995a1e66adb9339fecae03c62763b725e7aeafe4d57e10355cfe6bfca0724e38f2e6c34ce4eb762d94566f23ea1e78692eff602623ededc8a91b7949
EBUILD citus-10.0.5.ebuild 576 BLAKE2B abd2e1f362db53d55bbbfc8bef3e1d3d26fea6234685f353e72df5ea8584118015966f6a11f238ca8b0db91f1eb916e0a9f00a082358058bbf2fcbe338f8b99d SHA512 c2bf7eea0716ead448f7b9a3b8c3301492b6afcc59dd8f0101c9400423d9fea2de8aa4ec90452385486ce47ceb7955f7f93fb03cdb24a8094eb46110b374f1ea
+EBUILD citus-10.0.6.ebuild 576 BLAKE2B abd2e1f362db53d55bbbfc8bef3e1d3d26fea6234685f353e72df5ea8584118015966f6a11f238ca8b0db91f1eb916e0a9f00a082358058bbf2fcbe338f8b99d SHA512 c2bf7eea0716ead448f7b9a3b8c3301492b6afcc59dd8f0101c9400423d9fea2de8aa4ec90452385486ce47ceb7955f7f93fb03cdb24a8094eb46110b374f1ea
EBUILD citus-10.1.3.ebuild 573 BLAKE2B a5572761f51a81157e42dc6d860cd0a8b91857102aa027b0e23d9aaff092798ebc3efa4fa560b5e52b3e7ddb37be79c7bb26c181e6f87c544862e47583bca25e SHA512 dede570d1b403a461bd9ded53857dcec565c52d11b1475074e40e0ad2ab74fe34bad726857025087152aaf7be7e53f00f89b068a51ca1f9dd58e6447a5d809fd
EBUILD citus-10.2.0.ebuild 576 BLAKE2B 5d57530eabd731473a5a913768c24bdb965a06077d5c8ee74f362b0716b1d405fff53b9334d4318e4c08255490d5a2d927a94e9b6ac4718a152d95360794bcdb SHA512 6a7802b7e0bc7df9835bfe1d44f1df79b6d9a4520deaaa0acea27b54c8121275c87ef2e570db18f94d261f64580fc04bcfda485d8c345f696d5fb35a833c03fd
EBUILD citus-10.2.1.ebuild 576 BLAKE2B 5d57530eabd731473a5a913768c24bdb965a06077d5c8ee74f362b0716b1d405fff53b9334d4318e4c08255490d5a2d927a94e9b6ac4718a152d95360794bcdb SHA512 6a7802b7e0bc7df9835bfe1d44f1df79b6d9a4520deaaa0acea27b54c8121275c87ef2e570db18f94d261f64580fc04bcfda485d8c345f696d5fb35a833c03fd
EBUILD citus-10.2.2.ebuild 576 BLAKE2B 5d57530eabd731473a5a913768c24bdb965a06077d5c8ee74f362b0716b1d405fff53b9334d4318e4c08255490d5a2d927a94e9b6ac4718a152d95360794bcdb SHA512 6a7802b7e0bc7df9835bfe1d44f1df79b6d9a4520deaaa0acea27b54c8121275c87ef2e570db18f94d261f64580fc04bcfda485d8c345f696d5fb35a833c03fd
+EBUILD citus-9.5.10.ebuild 576 BLAKE2B abd2e1f362db53d55bbbfc8bef3e1d3d26fea6234685f353e72df5ea8584118015966f6a11f238ca8b0db91f1eb916e0a9f00a082358058bbf2fcbe338f8b99d SHA512 c2bf7eea0716ead448f7b9a3b8c3301492b6afcc59dd8f0101c9400423d9fea2de8aa4ec90452385486ce47ceb7955f7f93fb03cdb24a8094eb46110b374f1ea
EBUILD citus-9.5.8.ebuild 576 BLAKE2B abd2e1f362db53d55bbbfc8bef3e1d3d26fea6234685f353e72df5ea8584118015966f6a11f238ca8b0db91f1eb916e0a9f00a082358058bbf2fcbe338f8b99d SHA512 c2bf7eea0716ead448f7b9a3b8c3301492b6afcc59dd8f0101c9400423d9fea2de8aa4ec90452385486ce47ceb7955f7f93fb03cdb24a8094eb46110b374f1ea
MISC metadata.xml 281 BLAKE2B 85a0d31b886497ac44662bb58420de2f6af5444882f008f902287c6a8265f6e76afa7513b0edeca5b34a26d69d9aa61832c5fb3287c577a7f047180aa3fb242e SHA512 9e9007a37a7acc9948a6eb15bd1bdfea46c95eacc88e96a878237baaf01298b1f849d6e170f04638bbfb68f2c8b8a3bf227e563b5309f859cfcd23d43bc5dd85
diff --git a/dev-db/citus/citus-10.0.6.ebuild b/dev-db/citus/citus-10.0.6.ebuild
new file mode 100644
index 000000000000..4bb39ab5f008
--- /dev/null
+++ b/dev-db/citus/citus-10.0.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 11 12 13 )
+
+inherit postgres-multi
+
+DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
+HOMEPAGE="https://www.citusdata.com/"
+SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE=""
+LICENSE="POSTGRESQL AGPL-3"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}
+ app-arch/lz4
+ app-arch/zstd
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ postgres-multi_foreach econf
+}
diff --git a/dev-db/citus/citus-9.5.10.ebuild b/dev-db/citus/citus-9.5.10.ebuild
new file mode 100644
index 000000000000..4bb39ab5f008
--- /dev/null
+++ b/dev-db/citus/citus-9.5.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 11 12 13 )
+
+inherit postgres-multi
+
+DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups"
+HOMEPAGE="https://www.citusdata.com/"
+SRC_URI="https://github.com/citusdata/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE=""
+LICENSE="POSTGRESQL AGPL-3"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}
+ app-arch/lz4
+ app-arch/zstd
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ postgres-multi_foreach econf
+}
diff --git a/dev-db/go-etcd/Manifest b/dev-db/go-etcd/Manifest
deleted file mode 100644
index cf1740cb47cb..000000000000
--- a/dev-db/go-etcd/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST go-etcd-2.0.0.tar.gz 18214 BLAKE2B ceb14c88dc65c81d0b8f620986ad30d9b0b21f92169979c69d0f7fd97abd81ef0c210dd3cb4bc23f361fc13aa97ba2cf5fcf59524608a14637780a381f3bf21d SHA512 af07b2434bbad219962e989ca1d6ccb86bb40f698aa3f2b681ac04094dc7e878593af6a54e9c1e976d1aeb451661d8100295b0637291b46bafa45452537f1575
-EBUILD go-etcd-2.0.0-r1.ebuild 1076 BLAKE2B e314338a3a2be797f1d99e98d53a2be2b27ca595a07ae88bfab51fb67c0faad05b2f81620d5eb37b471ee1139e437c5895135cdffcfafa93cf6386d9a4bb6d73 SHA512 0fc9e9b769543e2c5d1224ad14c8f889e370dba66258b79822c88b3e27a8800c6223bcaa58e8d8042f18c5bdb723064c34cbf550a0d4e92e59f839b52ac09d96
-MISC metadata.xml 456 BLAKE2B 95305dc7896817aa4aca16e7ee4953773c96e69e50d315d54d55a8d7d1457e47d99bf1557ac0da183fa64327abb0a9f88c7376344da4e468b7515bec2b658a52 SHA512 63d6b568930ffd646dab08d5462843ae355ae81ee496ce66d8b037abcf8b079ff90409e2a7ac077796acbc24e4ddfabf296df90f6537c9b230ae35ad5bd68021
diff --git a/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild b/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild
deleted file mode 100644
index 8080eefda579..000000000000
--- a/dev-db/go-etcd/go-etcd-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-GO_PN=github.com/coreos/${PN}
-EGIT_COMMIT="25e2c63be8e8ab405014a78879e0992ae5ff55e8"
-
-inherit vcs-clean
-
-DESCRIPTION="Go client library for etcd"
-HOMEPAGE="https://github.com/coreos/go-etcd"
-SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.4:="
-RDEPEND=""
-
-S=${WORKDIR}
-
-src_unpack() {
- default_src_unpack
- mkdir -p src/${GO_PN%/*} || die
- mv ${PN}-${EGIT_COMMIT} src/${GO_PN} || die
-}
-
-src_compile() {
- # Create a filtered GOROOT tree out of symlinks,
- # excluding go-etcd, for bug #503324.
- cp -sR /usr/lib/go goroot || die
- rm -rf goroot/src/${GO_PN} || die
- rm -rf goroot/pkg/linux_${ARCH}/${GO_PN} || die
- GOROOT=${WORKDIR}/goroot GOPATH=${WORKDIR} \
- go install -x ${GO_PN}/etcd || die
-}
-
-src_install() {
- insopts -m0644 -p # preserve timestamps for bug 551486
- insinto /usr/lib/go
- doins -r pkg
- insinto /usr/lib/go/src
- egit_clean
- doins -r src/*
-}
diff --git a/dev-db/go-etcd/metadata.xml b/dev-db/go-etcd/metadata.xml
deleted file mode 100644
index ba80a5e26c57..000000000000
--- a/dev-db/go-etcd/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <bugs-to>https://github.com/coreos/go-etcd/issues</bugs-to>
- <changelog>https://github.com/coreos/go-etcd/commits/master</changelog>
- <doc>https://godoc.org/github.com/coreos/go-etcd/etcd</doc>
- <remote-id type="github">coreos/go-etcd</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/henplus/Manifest b/dev-db/henplus/Manifest
deleted file mode 100644
index 4525949859b5..000000000000
--- a/dev-db/henplus/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-AUX 0.9.8-build.xml.patch 771 BLAKE2B b0fc8433a08fe2321656c8a34190dc19efbc6ed52022824ef74cf55e990c43a5cd48147550c40230843239bddf15fc77d4f0ed1beea872af2df5d1ebfe7f6258 SHA512 b886c7f53bbbb10221b99c3d2ff32513c5388769310714e1c74c69aa662618bc719aa7338ccde92ca2119f9e6fa9591ae260dfe5055fa760f90b5f26ad740190
-AUX henplus.pre 1418 BLAKE2B bedb6cbef3fc1713895716c8af2cc3a70d77a42c7a940e86c57157064177afd59d52369f1aee72ac4e2c7501f219b8da1fe8482424fae62e1ef875fc255cf333 SHA512 331138630336c9f7a2f7cbf343b6ea77277d4ad77d706497545a6ff33cf44572cbe126acb4f0d212a40f652a24190b629f7776dbca08630de66d6f8ac3fae26a
-DIST henplus-0.9.8.tar.gz 233035 BLAKE2B 0cfba9cde654103f539ce28508d77169ce3a34ccc9a8805253e9bcd3a731118408c8a241f82eb6da8be2b96d1a4932c95024a158eae48396b045d5b94b0acaa9 SHA512 a22fc847f4441f627c1fa12f4f365c38d0c8ddfc205758d044e797e83f8d37032995666c2ee3dbb68d0a5f563fa5d574886e85757b1faa0acfc055e92b2fad0b
-EBUILD henplus-0.9.8-r1.ebuild 1007 BLAKE2B 5e9f6d9a09944b2b03712c031f68dc6ad3c419b93b4bfb821f7956435ff245e1f2f0f7f573a3c3723bc037dc669ec6f38c043b9aa0f58b7cf03f05e1981f1bef SHA512 dca54c7a66b1f159cdb4c37c2a48999bcd396b1fb2981ec00a11186f0eca493417446a0c78ae841daed555aaa8e6e728b6e112e2947dd7bf144e0d59bd534613
-MISC metadata.xml 314 BLAKE2B fc2ff2f4b0b894a140e0a9ad7effa2b8c55cbea5fae9c3b6d4f90cbd88dabc88f3b49b0c75cd2a301b77930dc0d84b5de9211e92cbaedd671aa2fb4b94f3e8e5 SHA512 921b843f2acaafd3ee3e72b0047d4aa373834da3bd165f2b6147cbdaec9f3cfb825f50b409e3fa0c8ae7aae299ea6a7c090967552b8c53b7a589f93dd83fe15a
diff --git a/dev-db/henplus/files/0.9.8-build.xml.patch b/dev-db/henplus/files/0.9.8-build.xml.patch
deleted file mode 100644
index e2763978080e..000000000000
--- a/dev-db/henplus/files/0.9.8-build.xml.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ur henplus-0.9.8.old/build.xml henplus-0.9.8/build.xml
---- henplus-0.9.8.old/build.xml 2009-05-01 23:51:41.000000000 +0300
-+++ henplus-0.9.8/build.xml 2009-05-01 23:52:31.000000000 +0300
-@@ -33,13 +33,13 @@
- <pathelement path="${classes}" />
- </path>
-
-- <taskdef name="ant-server" classname="net.sweetohm.ant.server.ServerTask">
-- <classpath>
-- <pathelement location="${lib}/build/sat-0.7.jar" />
-- </classpath>
-- </taskdef>
--
- <target name="server">
-+ <taskdef name="ant-server" classname="net.sweetohm.ant.server.ServerTask">
-+ <classpath>
-+ <pathelement location="${lib}/build/sat-0.7.jar" />
-+ </classpath>
-+ </taskdef>
-+
- <ant-server/>
- </target>
-
diff --git a/dev-db/henplus/files/henplus.pre b/dev-db/henplus/files/henplus.pre
deleted file mode 100644
index c29585e369fa..000000000000
--- a/dev-db/henplus/files/henplus.pre
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Based on the upstream script but parts not relevant to Gentoo
-# stripped away. We would not need this at all but better to make
-# this behave as the upstream docs say and then also have all the
-# Gentoo goodies.
-# https://bugs.gentoo.org/show_bug.cgi?id=176185
-
-##------------------
-THISDIR=`dirname $0`
-# install layout is: script in /usr/bin/henplus and libs in /usr/share/henplus
-HENPLUSDIR=$THISDIR/../share/henplus
-
-# you may just throw your own jar files in this dir.
-# (like additional JDBC-drivers, that are not in default
-# classpath)
-for f in $HENPLUSDIR/*.jar $HENPLUSDIR/*.zip ; do
- if [ -r "$f" ] ; then
- CLASSPATH=$CLASSPATH:$f
- fi
-done
-
-# starting at the current directory we look for additional
-# JDBC-drivers in .henplus/lib-directories up the path.
-# if no directory like that has been found the one in the
-# home directory will be used
-DIR=`pwd`
-CUSTOM_HENPLUSDIR=""
-
-while [ $DIR != "/" ] ; do
- if [ -d $DIR"/.henplus/lib" ]; then
- CUSTOM_HENPLUSDIR=$DIR"/.henplus/lib"
- break
- fi
- DIR=`dirname $DIR`
-done
-
-if [ -z $CUSTOM_HENPLUSDIR ]; then
- if [ -d "/.henplus/lib" ]; then
- CUSTOM_HENPLUSDIR="/.henplus/lib"
- else
- CUSTOM_HENPLUSDIR=$HOME/.henplus/lib
- fi
-fi
-
-for f in $CUSTOM_HENPLUSDIR/*.jar $CUSTOM_HENPLUSDIR/*.zip ; do
- if [ -r "$f" ] ; then
- CLASSPATH=$CLASSPATH:$f
- fi
-done
-
-export CLASSPATH
diff --git a/dev-db/henplus/henplus-0.9.8-r1.ebuild b/dev-db/henplus/henplus-0.9.8-r1.ebuild
deleted file mode 100644
index 4d87fb8700b0..000000000000
--- a/dev-db/henplus/henplus-0.9.8-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 epatch java-ant-2
-
-DESCRIPTION="Java-based multisession SQL shell for databases with JDBC support"
-HOMEPAGE="http://henplus.sf.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-COMMON_DEPEND="dev-java/commons-cli:1
- dev-java/libreadline-java:0"
-RDEPEND=">=virtual/jre-1.6
- ${COMMON_DEPEND}"
-DEPEND=">=virtual/jdk-1.6
- ${COMMON_DEPEND}"
-
-java_prepare() {
- epatch "${FILESDIR}/0.9.8-build.xml.patch"
- rm -v lib/*.jar lib/*/*.jar || die
-}
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="commons-cli-1,libreadline-java"
-
-src_install() {
- java-pkg_dojar "build/${PN}.jar"
-
- java-pkg_dolauncher ${PN} -pre "${FILESDIR}/${PN}.pre" \
- --main henplus.HenPlus
-
- dodoc README
- dohtml doc/HenPlus.html
-
- use doc && java-pkg_dojavadoc javadoc/api
- use source && java-pkg_dosrc "src/${PN}"
-}
diff --git a/dev-db/henplus/metadata.xml b/dev-db/henplus/metadata.xml
deleted file mode 100644
index ba8234491c12..000000000000
--- a/dev-db/henplus/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">henplus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/hsqldb/Manifest b/dev-db/hsqldb/Manifest
index f9887fffdb0c..263169e8594c 100644
--- a/dev-db/hsqldb/Manifest
+++ b/dev-db/hsqldb/Manifest
@@ -6,5 +6,5 @@ AUX resolve-config-softlinks.patch 846 BLAKE2B 257d552458e7d4b59d45fa6827e081dfc
AUX server.properties 686 BLAKE2B 6b4482dfe6187adada772cffb1a46e39bacd9fa8ca5501dd58414f9815dc6b118d3f9de909953f88f1055ae1984ef3f9aee479c339920bf182f31f4265cdb6f1 SHA512 c36a1d2e387762f96872d94bdb3a6a2af9edb949be9d33321f9ea4e3fb996baecff6fc3875b6bef8f73a54a6a1cedd71dcdf97c881819cb130b1a2b43ec7e842
AUX sqltool.rc 560 BLAKE2B 5f5e4bd1e9fe9759c2e2d5b6b5274343caa5028b29cfa4597c3a3348a1b07e4540d608d3dea5b189cf471b85721f15018490a7e4f8c56cc48ce648a07f0b7a45 SHA512 80ce53ad07c2091113787cb41232e5900426b042dcc3f62157569588538ad26d471e5d17aac62052902789065efb01647bfbc3488ff3d0f3c9e3df513895f57c
DIST hsqldb_1_8_1_3.zip 3170550 BLAKE2B 0664bfa259af5091e3e76ca804e9c9890457ecc982ab07ee37640dc713053fb63d6dd295e9db4adb5e5436fac6275745526d3e830dd84e5daa3a32162627dc76 SHA512 0483ca3299b63b4931b07d49588c729231efca76a317b9620abbd5039127f3f79449eaa1e9d29c52782c58bdb0cc4879b1e3f30f669d2c02c880818f531a8442
-EBUILD hsqldb-1.8.1.3-r3.ebuild 5452 BLAKE2B 1d363cad69c6b8bda0052c7acbbd2f9d33c4be63783791f84410fb18d84f244bf9c7c23befc54c09fbd91f6494f351a9d85f27f38b8ffd41d02a3023e601f8cc SHA512 24410edeaa729fbbfb72e2bd1fc81b81a5cbb7d1601a7906d5dd074c90dbbbed7fdb33ca53d3b8080b58451fcd80b9593f6d7c9c0d3caf02bf2f44ab728301e9
+EBUILD hsqldb-1.8.1.3-r3.ebuild 5451 BLAKE2B 68c0ef8ed5daaa38a3f297223a49041311a053869ed8932f0d52b21cf6366574ce80b3c43c7c6ab3eb619e7f5878d3a484129d2772107445a81b493999963799 SHA512 758921765c1fe689e3184d9046faf45016599b779599d8032e7c4671687e5eec2c2a659a6c4c994075308690f7c7d8236609d9be98168d35561b0b2f862a5aef
MISC metadata.xml 313 BLAKE2B 9e6ce7bf4cf82ff78b3a930ec36589308e448ae076c231a742ce3bdc3c43648bb63946636c5564995f7463d2d69b039d0d533d4af1d55790f3fafaeaf68597d8 SHA512 f56b3020ded5e21f6ca53bd6d81396f16c3917c702bcda8553a46bdc996bd751ef30757f241efe61343a5af58886b3cfdad51aa7b1e008378bbc4891dd7fa308
diff --git a/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild
index be9c505d1c2e..618d6bc03d9b 100644
--- a/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild
+++ b/dev-db/hsqldb/hsqldb-1.8.1.3-r3.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
CDEPEND="
acct-group/hsqldb
diff --git a/dev-db/libodbc++/Manifest b/dev-db/libodbc++/Manifest
index 09c74f78c86d..06df7e2e05e1 100644
--- a/dev-db/libodbc++/Manifest
+++ b/dev-db/libodbc++/Manifest
@@ -2,5 +2,5 @@ AUX libodbc++-0.2.3-doxygen.patch 561 BLAKE2B 4b1813dc89760c0e70d36f853c21e5a830
AUX libodbc++-0.2.3-gcc41.patch 456 BLAKE2B ad9de19388669c345cd619ab95518e0a8c3ca4dc5b246bedc386c76ae45a1d89e5fe1a9c15e88e298e1f228fcf066a4e2c3237e60f75bc893c695aa3a518526a SHA512 9b758fab94141338f42d9ce4291620bb839f7d044a9020de90258b70ef0554bb128879a3008bbafae9e5fab2082170d1a2b9e631d5ea7ef5c23eaf03f14d7615
AUX libodbc++-0.2.3-gcc44.patch 316 BLAKE2B a7c4e6466b9c3b0b4aca8ea4288df30a86e462835fba4b63cb1c7c1925732bcb75f5652d154bb7223fe135dccfc0308167e0f521e958b2ef3262a24d17820353 SHA512 6b8b6f57523e9128927530d95477c3c55a27c47836e7231e8017958bd20407e637fd4896015a2a3fbf2e47e3e44f7f3e933a28c4ac84fc600366b899462aebb1
DIST libodbc++-0.2.5.tar.bz2 362310 BLAKE2B c0266eef510f8bee3c430b6998f68859955968ee26b1ce8b456a497f84ad5f67ef96b474de0966aa07ff4ef308737103887c949704635696b095fef0bbfe59f7 SHA512 cc2485a0dae8a3f548a26a759f1421133a0a23715296f632067f5967b61778ca64e1339e19a4de15d06fb80b4e43ec8ddb13ba170b70dd7202c4d07b5669c2c7
-EBUILD libodbc++-0.2.5-r2.ebuild 3235 BLAKE2B d49f53bd9748e0f744010380660395265ef81b14fc860dd22e49cd9619b131bb0052803650e04df29a936978820556f00f84887325dfb45a67a0cd092fd2d67f SHA512 f2657922548b59197ebb421ffb2d364eff1641227505d937bf9b767c9c3806153ba3e6a53c8a58018f35d1b21dd0cb23d1319d8418771a956e20b4c9e88dd53f
+EBUILD libodbc++-0.2.5-r3.ebuild 3057 BLAKE2B 409d8ada77ee515c23f816fe40c33af8c5983c702972f4e7da82c3ca0f26394d26fb604b2ef254f45759dbd72643764d57f92774ba2485f4336d9a8a5ed0b5a5 SHA512 cdf28a5390ca4077696a8bb75947f3065eba4d30c8d20cf9272b977e6834f1db7d573b93e9dae14ec4c6c627da7c18f04e44702eb8beaa0433746b1483c1062c
MISC metadata.xml 298 BLAKE2B 9d1d9689809b96753443e12c0fc514870e80175c107e39a19acea88062e6dde12929cb9a871c711014509304040597166bb6415b0616478e78426166b0ec1205 SHA512 88fea8cac3d7b052868053c504d231e77e2319e6c42cad89c1de2f204e771fa4a3c2542f37ec540bc3973bda790cdf6df653971e1622f4e53c417618c2813fcb
diff --git a/dev-db/libodbc++/libodbc++-0.2.5-r2.ebuild b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
index 7f0ddc69be4c..3241509b98af 100644
--- a/dev-db/libodbc++/libodbc++-0.2.5-r2.ebuild
+++ b/dev-db/libodbc++/libodbc++-0.2.5-r3.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit epatch flag-o-matic
+EAPI=8
+
+inherit flag-o-matic
DESCRIPTION="Provides a subset of the well-known JDBC 2.0(tm) and runs on top of ODBC"
SRC_URI="mirror://sourceforge/libodbcxx/${P}.tar.bz2"
@@ -12,8 +13,6 @@ LICENSE="LGPL-2.1"
SLOT=0
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~x86"
-IUSE="static-libs"
-
DEPEND="dev-db/unixODBC
sys-libs/ncurses"
RDEPEND="${DEPEND}"
@@ -24,27 +23,26 @@ SB_MT="${S}-build-mt"
#SB_QT="${S}-build_qt"
#SB_QT_MT="${S}-build_qt-mt"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.3-doxygen.patch
+ "${FILESDIR}"/${PN}-0.2.3-gcc41.patch
+ "${FILESDIR}"/${PN}-0.2.3-gcc44.patch
+)
+
src_prepare() {
- #epatch "${FILESDIR}"/${PN}-0.2.3-std-streamsize.patch
- epatch "${FILESDIR}"/${PN}-0.2.3-doxygen.patch
- epatch "${FILESDIR}"/${PN}-0.2.3-gcc41.patch
- #epatch "${FILESDIR}"/${PN}-0.2.3-gcc43.patch
- #epatch "${FILESDIR}"/${PN}-0.2.3-typecast.patch
- epatch "${FILESDIR}"/${PN}-0.2.3-gcc44.patch
+ default
# Fix configure to use ncurses instead of termcap (bug #103105)
- sed -i -e 's~termcap~ncurses~g' configure
+ sed -i -e 's~termcap~ncurses~g' configure || die
# Fix undeclared ODBCXX_STRING_PERCENT symbol, bug #532356
sed -i -e 's/ODBCXX_STRING_PERCENT/"%"/' src/dtconv.h || die
-
- epatch_user
}
src_configure() {
local commonconf buildlist
- commonconf="--with-odbc=/usr --without-tests"
- commonconf="${commonconf} $(use_enable static-libs static) --enable-shared"
+ commonconf="--with-odbc=${EPREFIX}/usr --without-tests"
+ commonconf="${commonconf} --enable-shared"
# " --enable-threads"
export ECONF_SOURCE="${S}"
@@ -53,14 +51,15 @@ src_configure() {
buildlist="${SB} ${SB_MT}"
#use qt3 && buildlist="${buildlist} $SB_QT $SB_QT_MT"
+ local sd
for sd in ${buildlist}; do
einfo "Doing configure pass for $sd"
- mkdir -p "${sd}"
- cd "${sd}"
+ mkdir -p "${sd}" || die
+ cd "${sd}" || die
commonconf2=''
LIBS=''
- [ "${sd}" == "${SB_MT}" -o "${sd}" == "${SB_QT_MT}" ] && commonconf2="${commonconf2} --enable-threads"
- [ "${sd}" == "${SB_QT}" -o "${sd}" == "${SB_QT_MT}" ] && commonconf2="${commonconf2} --with-qt"
+ [[ "${sd}" == "${SB_MT}" || "${sd}" == "${SB_QT_MT}" ]] && commonconf2="${commonconf2} --enable-threads"
+ [[ "${sd}" == "${SB_QT}" || "${sd}" == "${SB_QT_MT}" ]] && commonconf2="${commonconf2} --with-qt"
# isql++ tool fails to compile:
#libodbc++-0.2.5/isql++/isql++.cpp: In constructor 'Isql::Isql(odbc::Connection*)':
#libodbc++-0.2.5/isql++/isql++.cpp:275: error: invalid cast to function type 'char** ()()'
@@ -79,29 +78,28 @@ src_configure() {
}
src_compile() {
- local buildlist failures
+ local buildlist failures sd
buildlist="${SB} ${SB_MT}"
#use qt3 && buildlist="${buildlist} $SB_QT $SB_QT_MT"
for sd in ${buildlist}; do
- einfo "Doing compile pass for $sd"
- cd "${sd}"
- emake LIBS='' || failures="${failures} ${sd//${S}-}"
+ einfo "Doing compile pass for ${sd}"
+ emake -C "${sd}" LIBS='' || failures="${failures} ${sd//${S}-}"
done
- [ -n "${failures}" ] && die "Failures: ${failures}"
+ [[ -n ${failures} ]] && die "Failures: ${failures}"
}
src_install() {
- dodoc AUTHORS BUGS ChangeLog NEWS README THANKS TODO
+ einstalldocs
+ local sd buildlist
buildlist="${SB} ${SB_MT}"
#use qt3 && buildlist="${buildlist} $SB_QT $SB_QT_MT"
for sd in ${buildlist}; do
- einfo "Doing install pass for $sd"
- cd ${sd}
- emake DESTDIR="${D}" install
+ einfo "Doing install pass for ${sd}"
+ emake -C "${sd}" DESTDIR="${D}" install
done
if [[ "${P}" != "${PF}" ]]; then
- mv "${D}"/usr/share/doc/${P}/* "${D}"/usr/share/doc/${PF}/
- rmdir "${D}"/usr/share/doc/${P}
+ mv "${ED}"/usr/share/doc/${P}/* "${ED}"/usr/share/doc/${PF}/ || die
+ rmdir "${ED}"/usr/share/doc/${P} || die
fi
}
diff --git a/dev-db/m17n-db/Manifest b/dev-db/m17n-db/Manifest
index 932b29e2a9d5..acfdbf16a0a5 100644
--- a/dev-db/m17n-db/Manifest
+++ b/dev-db/m17n-db/Manifest
@@ -1,5 +1,3 @@
-DIST m17n-db-1.7.0.tar.gz 1939608 BLAKE2B 1b79e6ad32336a9ce34e14a52907b4064c410f70e356797ef59b1c9b8c83180453d820475b4dfb486eb1eb1d063607274b561a5120a60db0e0cfccad53d67eca SHA512 02c3cb347e9f5c840a723de9ed85be84fc9fb5f86d4963f0d1c6b669045d37d10e5efcf5ac0e0c3cb7249fb391b0dd32bd50fbc3332455aaf0b49d96fc09b2f2
DIST m17n-db-1.8.0.tar.gz 1977364 BLAKE2B 303afaf8eb105b8cc034be96efc7790f774870c5cbb688dc33da02847b545b42b20fc041c3842d9fbf9d17417472815e8185df37b58f4d2d72fac762a2669272 SHA512 b21abfdcb5eb42e71fbd5edd1a99eca4a05df14f5a57eac7cdd3dc657337bd143a419f4b3f3dd0b74b82c827ede4d3666dd213af9041593cef50118ee43898d5
-EBUILD m17n-db-1.7.0.ebuild 564 BLAKE2B 088d96d2f54149878a1c14b31e1b13841f880c8ec3dc887864750b21f0a6f2c082d708ab61f4dfde95ccc8b43d3d8de3cc40cbf5e9f209149cc0836521139b91 SHA512 29667c9ff7903c9952b183b6323ed1e62d4f00250a76f8547c25c2b4d8dc7a79c933da79a88e0d111f204ed3c27fe984e2f390e608751fb6a77e70912c7faf8d
-EBUILD m17n-db-1.8.0.ebuild 578 BLAKE2B 8cee1eea373e595dccbfd0e4b4c460e43dde492e5859bed976a1006be9ab16355f34d37b3398658741d5f96bac1fef02195f7234a1395bfcc36397753a49755b SHA512 5cdfbbdb0bc43b44fbab137ddac54097e0cd87b44a3a5da10a18c2b46373b0be405844582977582b96f9a5b8ad8c67dc46200d708b1d9b969283bebf6f853d1a
+EBUILD m17n-db-1.8.0.ebuild 572 BLAKE2B 319adfbf3a2d7771f65a5a1f8594bc9b9a18d39b5f65f64cdd3a0a6163b30b6bb0f207a27b57c2353e3b060c2974a0769ef798f2233e47910d0b4217d244039e SHA512 56da3f886e1e82556a16b56164b1750f9c0fac9780584beefbdb4acc69772d090c5dd05c2725e38c2913f246f589a583c471b08343790ba3fc0c4c8f3529db4a
MISC metadata.xml 235 BLAKE2B a3e5a3109b59e3f97ef14f8d55ba13b16dc5371a1b7d6f238230aa4494db32dd4a42e3ee012ec8b18fae394feb2b1b56882bc70504aa7c6b969c1b20140f0ece SHA512 7c4e5f5dea465e45c662f5f53513626088aff514e1326593426af227d77e63d8a00d8af05aa208881a399f83dd41e73cd2ef81c8b7f275a2fa891f295231d67c
diff --git a/dev-db/m17n-db/m17n-db-1.7.0.ebuild b/dev-db/m17n-db/m17n-db-1.7.0.ebuild
deleted file mode 100644
index 0188a3bc0631..000000000000
--- a/dev-db/m17n-db/m17n-db-1.7.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Database for the m17n library"
-HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git"
-SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-DEPEND="sys-devel/gettext"
-RDEPEND="virtual/libintl"
-
-src_install() {
- default
-
- docinto FORMATS
- dodoc FORMATS/*
-
- docinto UNIDATA
- dodoc UNIDATA/*
-}
diff --git a/dev-db/m17n-db/m17n-db-1.8.0.ebuild b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
index 3227d7d76d24..4265d7a91b07 100644
--- a/dev-db/m17n-db/m17n-db-1.8.0.ebuild
+++ b/dev-db/m17n-db/m17n-db-1.8.0.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="8"
DESCRIPTION="Database for the m17n library"
HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git"
@@ -9,11 +9,11 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE=""
-DEPEND="sys-devel/gettext"
RDEPEND="virtual/libintl"
+BDEPEND="sys-devel/gettext"
src_install() {
default
diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest
index 398eb333a6e1..0baaa379cbbc 100644
--- a/dev-db/mariadb-connector-c/Manifest
+++ b/dev-db/mariadb-connector-c/Manifest
@@ -5,9 +5,11 @@ DIST mariadb-connector-c-3.1.12-src.tar.gz 966702 BLAKE2B 8187199f43ccb6f92ea9df
DIST mariadb-connector-c-3.1.13-src.tar.gz 968401 BLAKE2B 4b7270c5e86e0a39773f38fbf1b4334ed9fdfca65432a5858b7e591fca5d6a68fd5a0eead96a6c9bfab22f49416d9c19c8a4c5c3fc328d16702c6051116e9a01 SHA512 a179a4fa689f681d64f926c1f3abfd3912896ec3e39c15be6a330647ded207aa2f110277dc43b90faffa4386365a72babc96264e29ac436e5d212d8b7cef7c32
DIST mariadb-connector-c-3.2.3-src.tar.gz 992155 BLAKE2B 39f0c5f15c2b016e7708ca32f9f4c08ae87f52c38a1a6433ade66b03b9e2144744c559838c3c0bb98465b7e5c1d2f3d5678ee6b1197790c18740f990dbc82284 SHA512 0d45278ba55b3cda809d9d6c3d9726ec8b2f629c7da1205fcb936594ca6ea439039c02f484f7e31fca3e55288339c9bf64c06518988a8fed016c6ce544fac631
DIST mariadb-connector-c-3.2.4-src.tar.gz 991053 BLAKE2B 7378ddb47e7cbb8b6bec4d7daa1572e05ca494cd1585fff8c3dc9fca088d11ca523a2571fdda570e7a68633a6cf753fca12ba6b505dbdfa7ee9c9cc07223d0b7 SHA512 3debf8b31f280d70ba4f163351658dc1d15f2d250e0d7098200516f96a782cb66ef38855b2436d3d23a3385f79309d5c41b05b8d7d673001de4b4a62555511ca
+DIST mariadb-connector-c-3.2.5-src.tar.gz 992580 BLAKE2B c850dfbb2241e78475b5f9e9aa0fcb69bc9cc0d17a9092da36e720ec63e3fbdb0add32e6c4508a136fcb43d0825bea7346c0d6ce8a40ae10357ef3d3b6b7bea0 SHA512 5068c95ff15969c6b1d0e2e095fe0bdca3382f478012c852a9745a9bbbfc7586b1eeaa93a55fbadb236499a336133667f4638082814c97ff6b3bbc750c5e59dc
EBUILD mariadb-connector-c-3.1.12.ebuild 2148 BLAKE2B a6328dd0a6416691513398220dda45e3fa4a3f857c5f908f11b06095252e02e15102708181af2aef2e809045ec4fa7617e379517499b27ee3dfb98aaf0cfd98b SHA512 9762c0c60084675e61e5843c7b113ba3809d8f60c082ebc3e0c4a167683cc71cb321de8633fcbe52faf0e4ef9c05e50efb7c8ee3ca6b9b0544e06fa5c89ca890
-EBUILD mariadb-connector-c-3.1.13.ebuild 2095 BLAKE2B e4cfcce60afebb3c706c585396950e4e90dd4eba29e22a541ad4947639ee2e5d957bf0347be30fdd5525af93e53824ba6a99a4057d2676b70b143bf0faeb1e86 SHA512 7b2f9d3098d43fdff9ec0e44beab28dc5a1e0bf66460d402cb8e66c528f4dbe04a15e0aba2b5dcfe96924d818d1c0be5db81abb13ee2dbb4e1d98da51fa086bd
+EBUILD mariadb-connector-c-3.1.13.ebuild 2094 BLAKE2B b664df7300417147a35d9b665409d55f6cdfee3090778d4e92f5a237f4dab91976ce36a7ca22329410f90a404efa77f5977ee6481fd63a676f2004cee1a6aa9d SHA512 dc4151e07b98d77c95aa2d26c35bb78fbaa278ad8380399a7d09d673e16a2c4fd317b5e841187983f08020b3eca03777ccb8d547f023c6c1ffc3c45f7c88c071
EBUILD mariadb-connector-c-3.2.3.ebuild 2129 BLAKE2B d166508f5a826a721b3822eab5a6f5a8c9161f084e0f2f7e57bea70897344b4f82fc2d26860e459002786e6b83ef0f214a42526ff9965594ea23847aa1c76ffe SHA512 e10c8135d1cfccc68d57990220d64ceba5b5aa33f9a6d9a507ac3ca5d4730b11802f31ccef9ced4673bd85e2640af21dc325262aa3e5e8c40ff0d258a14d94e2
EBUILD mariadb-connector-c-3.2.4.ebuild 2102 BLAKE2B 0f8057839f5b2f595c5d5eadbc9788e9f8d0d3ef76d52fbcf5d027a96e872f9a890b743fee7856833f41e45b0fa58ce7af7a2718461d1ea24dbc50b7a76c1a70 SHA512 0b516ff055adad048d9746498835c537a8c5dbb2f7d1ca8f9b7d6c3833f010ed163f7e26330c1208355e26d3ed9ddcf0a8514933262d8b9d7cc085ac211b8392
+EBUILD mariadb-connector-c-3.2.5.ebuild 2102 BLAKE2B 0f8057839f5b2f595c5d5eadbc9788e9f8d0d3ef76d52fbcf5d027a96e872f9a890b743fee7856833f41e45b0fa58ce7af7a2718461d1ea24dbc50b7a76c1a70 SHA512 0b516ff055adad048d9746498835c537a8c5dbb2f7d1ca8f9b7d6c3833f010ed163f7e26330c1208355e26d3ed9ddcf0a8514933262d8b9d7cc085ac211b8392
EBUILD mariadb-connector-c-9999.ebuild 2102 BLAKE2B 0f8057839f5b2f595c5d5eadbc9788e9f8d0d3ef76d52fbcf5d027a96e872f9a890b743fee7856833f41e45b0fa58ce7af7a2718461d1ea24dbc50b7a76c1a70 SHA512 0b516ff055adad048d9746498835c537a8c5dbb2f7d1ca8f9b7d6c3833f010ed163f7e26330c1208355e26d3ed9ddcf0a8514933262d8b9d7cc085ac211b8392
MISC metadata.xml 244 BLAKE2B 4123aca5430915cc6801ba9b4e57e1ff48f31a4bacaa785c4dfbbf2d1aadf14f274684cad9b24a09e875a7f621b33bd9bd3333f7ababbd44aa173d4ace98b46e SHA512 380cbd85bebb869f4a2ec1e3518dc6ac5abed1fa5364172e7436098dbd910e738c4d59ee18aa7cf387b354020ed5782732e43702dc83c1857d46b720d623143d
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild
index 47a263996a79..30a30d2ee024 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.13.ebuild
@@ -11,7 +11,7 @@ else
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 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86"
fi
CMAKE_ECLASS=cmake
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
new file mode 100644
index 000000000000..fb175f8f7402
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ "${PV}" == 9999 ]] ; then
+ 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.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz"
+ S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib toolchain-funcs
+
+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 +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? (
+ dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ "
+RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}"/gentoo-layout-3.0.patch
+ "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+)
+
+multilib_src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+
+ local mycmakeargs=(
+ -DWITH_EXTERNAL_ZLIB=ON
+ -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+ -DWITH_CURL=$(usex curl ON OFF)
+ -DWITH_ICONV=ON
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
+ -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
+ -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+ -DINSTALL_BINDIR=bin
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/dev-db/mariadb-connector-odbc/Manifest b/dev-db/mariadb-connector-odbc/Manifest
index 7d5d6b36b00f..aecb02966e24 100644
--- a/dev-db/mariadb-connector-odbc/Manifest
+++ b/dev-db/mariadb-connector-odbc/Manifest
@@ -1,11 +1,9 @@
AUX odbcinst.ini 82 BLAKE2B 7c752f9500f2141886c798d9be4aa2e84ecb089589394c4f473712aba0279f2ff853ebc1ea75b7f007abea18e46289bf06c7408d3d69026faa6b638755c13e70 SHA512 40c056bac44dc5e521ec2e66dd046566f50fd8b2fe0d0d2beacc29a68d9ddbe75f8dfe012ee6957c4e2874d4365dbb096e20faebb2b26371b060c0a9fec205b2
AUX odbcinst2.ini 90 BLAKE2B 8070ddb3460799429fc9a80f5c54317381f3fc79a9b98766bb7c5db325ace3ed5f558df70386c2249f8a1f5a373cde51f0a28140421a00d3599f75994c28cbbf SHA512 00634eab33d08650cd19128bfd9d2187b4e5d38a866d08690d0b1e2224af7dcfefcb45f13a83f4a774beee322e6c5f3152c0f967399aea2893f8e857451aba8a
-DIST mariadb-connector-odbc-3.1.11-ga-src.tar.gz 542434 BLAKE2B 318e5a269c6f4584df4ffd2272f5db4a354f3616d52b60d2c5f785faabc1eaabe47a75f07e3cd97847d4413670391acdb71092955b8facd9f81b8706ab78c966 SHA512 185f58b05f196bfe8b23d5470877dcfc0550be45d2f4538ddbd0b96aadde5cdbc0346ecaf65554728875e33b88761211349bf0d1def17f3b7cd43abae9d706b3
DIST mariadb-connector-odbc-3.1.12-src.tar.gz 542918 BLAKE2B b770d79d1724480589b941ded1552bcfedb85eb1f59256269c8cd219e395dc5c151ab6762ea49c062900187ec4ae6a161a33a15ea3ffd4addc542f1c9f846121 SHA512 9723555c598c3ec77c41a617d9960c8d0fb9ee9d0b70e44b44f55f8842a5966b50ed6c04e8a80d252330b2cd96bdac4e0403100141e827c23af72ed58f747ffb
DIST mariadb-connector-odbc-3.1.13-src.tar.gz 546893 BLAKE2B 7d3f02667ab3c5eb81063a2a2470bd49914cabea79d8756fd4d493b3117a692c9bd3594c00d5c7d8a866ad4677dec2848a08a80b0e97952e6e80edb5d677e93f SHA512 b50949b99207aeef18fc7f8e15ecb8e8c869fcdc85a04ce1922f2ff856d3f07eb6701df8515545e762abbcb97f74605c6b5ac66efa1927e761a80dcd1c29c2d3
-DIST mariadb-connector-odbc-3.1.6-ga-src.tar.gz 536871 BLAKE2B c41f1fb00b5a93b3618d79ee457dc84c8b98e216083ec315870dc2ab46f1f56db345c1a2fae51e78e8b6c42b81183ce9c161ac5a051e52481cd687138f3dadd3 SHA512 ec0e244fc1b62c27f619f0ed3025906b02fc897c75dd74799df396beb5009bfdd27d609b5629ea0e6f5172ca8521b60bf7f3efc6dac44e84e835e4a05273ba3d
-EBUILD mariadb-connector-odbc-3.1.11-r2.ebuild 1996 BLAKE2B 5e75c6e35be1f662ed0ca39dfa16ae1bc52b8969aac2497e78e7548bbeb773c451bef0838f82ed2d351faae830ccfb4e0f4c52a5fb27f97eda937735976eff7a SHA512 5e7123178569fa3097845ec93b97d0fd53ae8846b1fb0d987979c0c42cda09abf925eb4308f60f3809a32ce7404dbd4f1bae537923f1942eb69f67abd5530e34
-EBUILD mariadb-connector-odbc-3.1.12.ebuild 1990 BLAKE2B d0c1ee92e710b00ee5eb26dbddd171e01e7b5215b54d3e26f932be8795fef3002999eaa1dc687c910b0a1b09514a686acf60eeb139200dcf4bcda7850277927e SHA512 d880942edf6d0cf1729be62f9aeb127b8d4f141d507e1f6249f41d26870a28e3272d7b072ddf89602b46a3d635df1e4a9cf52217d58befd251aab77b99a0eaa5
-EBUILD mariadb-connector-odbc-3.1.13.ebuild 1992 BLAKE2B 8080d53eec2dfa6e1f2f53898e70550f6671d2b656bfcefdb4c2f793f0ac4d8a4c758cba5740fe8eb0a8eaa9cd23f380b4bb868ac8f3ae289013f8f919696078 SHA512 bcd0f393073520bc42d78e315a5928ef1dd16337626564e813dcc608ce5bd2c2a340a384dd710aae33db2fff669b57b3efe2d302cc59421eb1199dff8e873f2b
-EBUILD mariadb-connector-odbc-3.1.6.ebuild 1700 BLAKE2B ff213bb689fb6d20754b313eb296da1bbd93d87cb3af978eb87b021321d459f2bfe0354340a370ea88054e509af34ca311924ebad0fac3843491b9bf84fd6ab5 SHA512 0ad3a6f1e594fcdb6248f6eb39cb54a85f4a0c59f05b82b1c2ad4037939a227ef73983a34a01e0c9c40d9b5a2bd038dfcc85d3d91ea6f6121dee5e397ea523b6
+DIST mariadb-connector-odbc-3.1.14-src.tar.gz 549698 BLAKE2B 612879086805c57b42036bb224b14ef1ab287d2ff288a5ec5ec6db7334fc8b82acd648476eca1dee282393486d117cadf1bbdcb0e78eae52bab26a0c05cb1fbe SHA512 bb3cb74ccd17a8df39456ccf3091579bbdfc56431954a978f488928df54e3f9ad1c5b67cb411be4b661ba0e0bdd69ccd4d00ea4bfd72c3f448b560031830512d
+EBUILD mariadb-connector-odbc-3.1.12.ebuild 1964 BLAKE2B f3b21e95afc009c1e776588e76bf5890ab20903c1e1421e16100c51b899f26b1cf2b18f05cf2f5ce7ba4e9ac638831a14f89092e360deb4658840a6c44ede069 SHA512 79ad69fafcb45808dd91dc6706e27d24fbab9b3d72be8c1431db0cc2bbdebb599756355e46c1582daacb2d046000228364b1e5eb5e23cb099989d951c5634867
+EBUILD mariadb-connector-odbc-3.1.13.ebuild 1966 BLAKE2B 62bee0a88209a20a36317276b9e100c90bcbf0e98beb56f117c5c5d87447a99143cb377b704019b0158e8612948d0efcafa1a8da45b4de997bcf24b865a56a2c SHA512 f950898e73b27c1bca10bebb042640bc30b13f225aa7a3819d10258f369acb59ba99586d7fdca80da01d538cc156923bad67a616fe1ed647fe021d7b916956f7
+EBUILD mariadb-connector-odbc-3.1.14.ebuild 1968 BLAKE2B bc1f3389357983266de27d00e566e73558facb24932dbebc5ae7a6b2af11affad64aede3bbf758531827ee603c0e99b00972f73a66e49c4b27e55d870e7dd0ef SHA512 413d0b806d9c9af4e368629eb4739aca6d79bcae1b40c687352ac34aa2068395f422c7866b9d7f640353153f96c4262dab550dc583b3a2bd04ffa8a98af6a8e3
MISC metadata.xml 388 BLAKE2B 8627eaf1867246255f9cf5e886749300fe854b6fc4add00c1fb7395a41349a42aeaf9bcd1866b1ef8a6b3ecd04416cd6ebb7dcebd266ae341af4aaa144de510d SHA512 238ec6ad37a6fcb588eeb6f5f00befa9e9f483cbd012d7e98b9627a3bf3f401ea74aee560a1909458a471e6c44b3ea13eb3a7d30e5f5a1f5c5464c9775d5614d
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
index 4f55b84be25f..b40a50b0e93e 100644
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
+++ b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.12.ebuild
@@ -9,7 +9,7 @@ inherit cmake-multilib flag-o-matic
DESCRIPTION="MariaDB Connector/ODBC"
HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="https://downloads.mariadb.org/interstitial/connector-odbc-${PV}/${P}-src.tar.gz"
+SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/3.1"
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild
index cb5cde255a2b..3dbdac9fdb80 100644
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild
+++ b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.13.ebuild
@@ -9,7 +9,7 @@ inherit cmake-multilib flag-o-matic
DESCRIPTION="MariaDB Connector/ODBC"
HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="https://downloads.mariadb.org/interstitial/connector-odbc-${PV}/${P}-src.tar.gz"
+SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/3.1"
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.11-r2.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
index 3ef0c53a9e12..3c026e814745 100644
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.11-r2.ebuild
+++ b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.14.ebuild
@@ -9,21 +9,21 @@ inherit cmake-multilib flag-o-matic
DESCRIPTION="MariaDB Connector/ODBC"
HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="https://downloads.mariadb.org/interstitial/connector-odbc-${PV}/${P}-ga-src.tar.gz"
+SRC_URI="mirror://mariadb/connector-odbc-${PV}/${P}-src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/3.1"
-KEYWORDS="amd64 x86"
+KEYWORDS="~amd64 ~x86"
IUSE="ssl"
-S="${S}-ga-src"
+S="${S}-src"
# USE=ssl merely enables the configuration options (seemingly for interactive
# sessions) and does not cause direct linking to any SSL libraries. However,
# it doesn't make sense enable these configuration options unless the
# underlying mariadb-connector-c has ssl enabled, thus if we have USE=ssl,
# require mariadb-connector-c to have it too.
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*[ssl?]
+DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*:=[ssl?]
dev-db/unixODBC"
RDEPEND="${DEPEND}"
diff --git a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.6.ebuild b/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.6.ebuild
deleted file mode 100644
index 6e710c764084..000000000000
--- a/dev-db/mariadb-connector-odbc/mariadb-connector-odbc-3.1.6.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2018-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-
-inherit cmake-multilib flag-o-matic
-
-DESCRIPTION="MariaDB Connector/ODBC"
-HOMEPAGE="https://downloads.mariadb.org/connector-odbc/"
-SRC_URI="https://downloads.mariadb.org/interstitial/connector-odbc-${PV}/${P}-ga-src.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3.1"
-KEYWORDS="~amd64 ~x86"
-IUSE="gnutls ssl"
-
-S="${S}-ga-src"
-
-DEPEND="=dev-db/mariadb-connector-c-$(ver_cut 1-2)*
- dev-db/unixODBC"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- cp "${FILESDIR}/odbcinst.ini" . || die
- sed -e "s,lib/lib,$(get_libdir)/lib,g" -i "odbcinst.ini" || die
-}
-
-multilib_src_configure() {
- append-cppflags $(mariadb_config --cflags || die)
- local mycmakeargs=(
- -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
- -DMARIADB_LINK_DYNAMIC=YES
- -DUSE_SYSTEM_INSTALLED_LIB=YES
- -DINSTALL_DOC_DIR="/usr/share/doc/${P}"
- -DINSTALL_LICENSE_DIR="/usr/share/doc/${P}"
- #-DCMAKE_C_FLAGS="$(mariadb_config --cflags)"
- )
- cmake_src_configure
-}
-
-multilib_src_install_all() {
- insinto /usr/share/${PN}
- doins odbcinst.ini
-}
-
-pkg_postinst() {
- elog "Please remember to use emerge --config =${P} to install the ODBC ini files."
- elog "Alterantively run: /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini"
-}
-
-pkg_config() {
- [[ -n "${ROOT}" ]] && die "Sorry, non-standard ROOT setting is not supported."
-
- if /usr/bin/odbcinst -q -d -n maodbc &>/dev/null; then
- einfo "maodbc (MariaDB ODBC driver) has already been installed."
- else
- ebegin "Installing maodbc (MariaDB ODBC driver)"
- /usr/bin/odbcinst -i -d -f /usr/share/${PN}/odbcinst.ini
- eend ${?} || die
- fi
-}
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 53bcfdb0d606..7c073720291a 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -33,20 +33,23 @@ DIST mariadb-10.5.12-patches-01.tar.xz 5996 BLAKE2B 202804c0c41e8f646f1430f387e6
DIST mariadb-10.5.12.tar.gz 101914615 BLAKE2B 98910fee3ae7c300ab1cee7b9373695f642b1ace88f8a3136da3a565a97810754633a7479d863e324b6b94969356df7bb92e7fbc6e9b90a1e8a77c4c1d52b659 SHA512 c732c2033304f273900b3dcf21936e28aebb147316fcabc7efdc43b75bc47c198daacfaaae082b997d4e695139d2aeaa2619bd29935f1b6f0aa25b9b9cde9ae5
DIST mariadb-10.5.13-patches-01.tar.xz 5012 BLAKE2B 34a5af415737f71750a8fa47de4f2119e31723686f000a7f99f9892a0a12fbd2be3c7bb635197b131691d73ae663e34c1b010b154d62e1ea16535265f96200f1 SHA512 71e7940558fa863835ef86f04c48c4a1ca927dee0d9ae94fcb32facde857dfef1757ae96b5a738653c341fa19a67916b0b3a03ce473020edd5c8b52ccedc0bea
DIST mariadb-10.5.13.tar.gz 102047279 BLAKE2B be91ebbd05b72d8046eaea73075510e160d7985b2766f64a1cdd3e5bbad1f4eebe9f371caf070a0e9fab605a90588539a4011ea4b2e4243ea4fd8f299ee836fd SHA512 5d5ac04a3c8099a982cacb98dd4c162966fc7957e11c28e8b5645e49ffcf0513b9c8956f43d215c37e5eaa34aa8db6c71cfe993c89d62cab123021ee83169e7f
+DIST mariadb-10.6.5-patches-03.tar.xz 5128 BLAKE2B 7fec0af808eae048eb05098d1f41a82c8bec78f58e6d550660ac32d0c8b554827085dca6bf9256db75fe445e087295a69507ee58bbe2ae7c186bd6843531d1e5 SHA512 3905d46873b0b72363d6eae658fa0df3ac1600391dd6ddf2d834bbe7a62faabae32c88f452f6d00d2a39ab4e3bd57c401f40608a9b6cb213992ade97067b1f85
+DIST mariadb-10.6.5.tar.gz 85061860 BLAKE2B 668fe327e6a46c66bc0b77339d71279cc8bfe468d1e634035e639e88aabaa09ea27aa50e3b9d27728a275e1e7861e8db1209d372d751084ea486ad31f6f1fd29 SHA512 5aafe0a8d5ae54a6f798a6fd0cf922521f5b8e54ef5fb5c7db1cf798a7755f5910bb0b8a6c371cb8253dfb48f4ebca0becd6eb543b68473d564d2092df3185a1
EBUILD mariadb-10.2.38-r2.ebuild 41778 BLAKE2B 77d309bc1784385c3cdb0ae708b9b90cd9daaf1fabdd8f60b725df068ea79a49e5c84af6e1658225526e3f18f3edde00d63dd784a1a5f8ca49d4ebeeb78933fe SHA512 a2bc372c1c360ad73832ce826dee5a0c8503f705cca5074da2880c17c616ac3821f84fb89d947cf3221a531a45e93b49607cafe859bc82210d5042248ecbd8c4
EBUILD mariadb-10.2.39-r1.ebuild 41784 BLAKE2B b3597c2c2b4319978241d00e4852d9dbe971d32c9e075761be880847b72fa50d21c2af2755bd30c1c6bf0caf1060d2011a1f5bf3cc7cb9e2abc91738801f6b0c SHA512 713f4069a1b782e366481048eaf5d63b801ad88f6d0b2b260be9c4ee58fd643d6d72cb6dd06668726ac1e99bc18689d900178ee11ef11639a71d1dc9d53fd6ff
EBUILD mariadb-10.2.40.ebuild 42592 BLAKE2B 43a4239ca6eea4bfc0518abb857e7ffa77e4d1b05a7a6b3939e73547d7009c88adfb5e7bbaf8bcbf0b40d6b2fb34c2bb700e840957c06267053fd825324724ff SHA512 54b49150dde6a02607cf8e0a1189d057235e6067cfdbc45d4ec1c7494ac2bac18010d409e67c56f9125809b1426bd12ebcc75f23ab7ef830bbfdb37b612ab774
-EBUILD mariadb-10.2.41.ebuild 42592 BLAKE2B 42b98010e230eb41a01586c0b4296ee8781c43d601fc9360f2189aa5ccdf733970c94f5888de245e1a17d4a54a0186e7c1b85ea95bb3b4af1920ae8d3c99f942 SHA512 bb5d24449fbc2fd5eb9774d5add4f916881b9808d69c92c61015861248315dff4b4de9e3c46ca21538bfade69fc1db407ea81d4b74ac26c31034f8fb3d322a3c
+EBUILD mariadb-10.2.41.ebuild 42516 BLAKE2B 4445fba741ea21916ca8b361357b82c74a46af50c06363123fb55d8bbefbba1fb567c02b45983765825201668b0d305764aead8f637cd623ae5545b92eb889fb SHA512 853b8ee279767bcb635b84115eb2e5aa3a649d12007394013c933902df3fe58331354957cdc5930014aa700c915178a3981cb1273371fba153dcd18a2c8ace16
EBUILD mariadb-10.3.29-r2.ebuild 41335 BLAKE2B 60449bf1e598d7609b866ca9bbfb82d226daf01f2f70bba17cad02780ec1acc2f82417d44dcd0cccf2ac5f92feae1e42264af1cecd2c2bf0414a1c4d0bbc7cf8 SHA512 34f26dceb1ad04ac26b4d4c059efe61d3674885206ddb568e0a0abf17985a0d449db3b91c89ecc17835863bcd7c8a9ca0a56fcabbc5d8e482e643fa7126d03b5
EBUILD mariadb-10.3.30-r1.ebuild 41340 BLAKE2B 0fa156292226a79bcb122fbea9c62e03ccfec5f5fefa55d9942d77a136c5ae6f09fd9cbbc9e3a64ad582a44a0739975ae454233d89fdc55e7d295b39c16dd498 SHA512 821bdf1efd994c7de8416fd602675d252f150f7bf0607dcfb7b1b34b63dd4bdb787bf69655736acf9cc979b6b6ddc777d77dbb961ce7185477d528d4e4f13ef8
EBUILD mariadb-10.3.31.ebuild 42148 BLAKE2B 6bf255bf0b57037a7f4621f986671cbe89b77fd7031af422af76d6955961f132bce09a3b018faf18ffeb194a92c73a7c24622a1921de321ac4a093a488644396 SHA512 fdf1f08c54b2926eb72ce4bc791dbaf2f6244343fd4ed2a9afc5ec114c241a19c672e37b4ec7e03f72354897c86325a1196d63aeb6a91213f90cf5a226474705
-EBUILD mariadb-10.3.32.ebuild 42148 BLAKE2B 36dcf23bfe75e4503e0367fa2b7d263b832e923cd290ce7778f14cec19b76c54be31d890843bc8d2e87609c4eed26ca157bbe8cec5a447927c7ba361a8512b39 SHA512 54acb6caa844ff794797058c0e24a6d795675893bffafb9d6c3dc59017521c29a29a0717294c5423bde2e18a6011ed624e836a64790e9ca13471e556ca8e9a62
+EBUILD mariadb-10.3.32.ebuild 42072 BLAKE2B 958a80142d79a93749ea4ccebe6779597913483a8b0e8b4d7aafa45a5f401a13278f79c8eba8ea0947a8e922ea63099a2b61af98610bf49c442e6ce3b116d59b SHA512 d5585c60080173990851873829354a990816509688451e7dd7a4a9089bfcad93c5cbdb5630220902aada611a557b2baf619af6a215bbe336d82b6a175fb7b5f4
EBUILD mariadb-10.4.19-r2.ebuild 42046 BLAKE2B b6f4beddbd27d517e09677ea35f5d8830be5db1283617404ef8fe92c0cf64dfd637c01b1ee8c0f5a96b2bf830df9eafbf4f819edd6375704a1e661e1a02dbd68 SHA512 185c4f71b319c038c90018f5621a674669261da26bcff1890ac9c5780e2c2e2d9efc388fa78753fc491930f0a54f35f256d187c8ef19030b5c8a478deb390b53
EBUILD mariadb-10.4.20-r1.ebuild 42052 BLAKE2B d4aa73577cf7e76b59fb2b3317b73236124f2c7b941287c75bbe1e5f7fd337187e7e0e1f04cb4a29e9f58d5046cc3c8788fca6f30471f002e4447c27edaaf38b SHA512 4cdae3c948cfaa9dc28935a7fcb8ba3963ca554568d75c89f579f1ccc17abfd4b1246327f5e60b6e38113bd6cc3d85e99a1c832ea0b79af3bad75f8b93e51977
EBUILD mariadb-10.4.21.ebuild 42860 BLAKE2B ff39ce3452746c749bb0c09340aebb0ad8487ad6b3b9b2d01b17efe4799087e3d05b1947520151fa0a57a925792c2c7a0f8d2fbae93808115fb2dcd42c0ff641 SHA512 1f076a734e32619184271a4df62ccb8296bd332854ef2a82e8044f5f4f00a2021be9047af45751d1b6ba7a1a8c271d16efbfc189a2a004c5619636fd14f085d2
-EBUILD mariadb-10.4.22.ebuild 42860 BLAKE2B abee972aa6aca020c29c5965bf610986d4247e393b54c2d79becb86966e6d6946c35f02c9a3eb321a510763aa729bbb73b51d5657e50b5fc0b3c5fcd5d07a098 SHA512 f02f0fb7725a2030bef08965b17c53921ead9c5f559c2a69d1440d52e91c119f54f3f7df79cf935954ae38c7c198f5e86af2b6595e60384e7f7b2352225f836a
+EBUILD mariadb-10.4.22.ebuild 42784 BLAKE2B 4e15729f13531eb198154f237bca17fbf986a20b136bf1aad27243492aa18e206420c73c68260c0bdd2861fe103a87f13f9867c1ed958e0c38d9356b5509a90d SHA512 95046c774f51ebf28ac23666c46acd318bde2fa00e96a978bc20299b4ea3c4a37b64721edb113301d8c5df7974ff191e2c4205751cd7741593c48e59974d5a76
EBUILD mariadb-10.5.10-r2.ebuild 41471 BLAKE2B 1f4e6991cd21db2470d24a90dd8c0757c961bb42a9f2ac9a17756398f9ec9d7f543c84ba045f332fb2cedc900bd8f14f8bbd17ee4f68b9ce6867bb5068c917fd SHA512 d720b727d1b56074dffd0928ca2463a19a90a124266127f416fff095f551f0d83449e486c01fd0322fd77c0955f1481c023e2764220057b2d5841440b26d230a
EBUILD mariadb-10.5.11-r1.ebuild 41476 BLAKE2B 3a73afbfcea1aa38f8d13f1db6f0707a4cb43b9bf407f93cefe433c893f504c88047f4ce7924912c8e6a238f5dd00d5fa6cada2d4214c814254ab27de3782d03 SHA512 0af663e45d2291d129962c96d66243d0a999b02bf573ed0e1d80e5f784df39c9d19575e5a5ecd74d547205fb033eadab3311fb18afc6e9d1a661bc96b9e6955f
EBUILD mariadb-10.5.12.ebuild 42291 BLAKE2B 1639d616cdf556ef65f227d0caef6ad8fa100d0058cd7afdbccd3e49934cbf583fe02884396ef84fe64065fa616cd767b91a155345980c617d2070853a7db59c SHA512 cfbf194886a021e4e86c182f53de095231ddeb823efafb0274f0903e9aba55a114ecf7a469ac53427ab0529a1b3c921a0a1218f9895df5d4809275f9eafb6750
-EBUILD mariadb-10.5.13.ebuild 42555 BLAKE2B ceac68d321bafa03f508af29991aba0c2f9aa11687881fbdd674be3800ac2355ddff7afd8fa8983415bd902309e831837e72397350442a4a498be91ee8621aee SHA512 895d097722cfa0e8ba1e6c2fad2a75b8b7045e66118f248313bd17cd1c78e18038e3c9cc73ffaaa407738bd257ed39350251a53dcf9fbcb7d98f445192845f51
+EBUILD mariadb-10.5.13.ebuild 42479 BLAKE2B de6c0c85fb4a2ec30ec065f392252070c694613c5b7ddfe4d68ef4fbc685e67c3e9f3f830911c7007226991ad561718c77848896b4c20dbd0a39c9581c1058b3 SHA512 b36b8373b35e2ff902c2ee5051d570dc4ebbcec902664dad339f83a4bc5f49d26a826fa3757e7f4e292616b03ddc72e9cff62a19ddb6cd679f6017dc7b2f965b
+EBUILD mariadb-10.6.5-r1.ebuild 42708 BLAKE2B 5bf33b0b4f8d5a40cdb4f1535a82cdd7e6e6c37c89e43bb18b6980ad0e43d28e1f75a2fb0a78dd428712406031ee2bbc7daf6d3e1101a102c3bd9bbfd9e499ef SHA512 42d141f9639c923a049f1156ef5e3fc5f86780643d87c825d08a8bddbe4af55e04d4d26b7cb2687df404922eab5da08d879718b78d7feb024f15f8839486253f
MISC metadata.xml 2626 BLAKE2B d545d75827f63ac4ff1ab5eafd559b36ef44d0d5059dcdd5cbbb162d42e3a5117ff09c2c2eba82af10bc2f6c53e366f5f0b6a9c744c35d76b8bab12c6e517b64 SHA512 adf783a34647eb8299041d9125ec290377fc17b910e9f1660a33ccacd0a380cc4cd338f55f34e958ddfab1aa6dba85e25033b0dfe8dbc8fed4656ad5df63f6d8
diff --git a/dev-db/mariadb/mariadb-10.2.41.ebuild b/dev-db/mariadb/mariadb-10.2.41.ebuild
index b0feeb5f3016..e86dd5747adc 100644
--- a/dev-db/mariadb/mariadb-10.2.41.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.41.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.2/${SUBSLOT:-0}"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -500,7 +500,6 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
if ! use server ; then
@@ -508,12 +507,6 @@ src_test() {
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))"
@@ -560,6 +553,10 @@ src_test() {
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
@@ -611,10 +608,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/mariadb/mariadb-10.3.32.ebuild b/dev-db/mariadb/mariadb-10.3.32.ebuild
index d5541fce2f95..27f7a4a5ce18 100644
--- a/dev-db/mariadb/mariadb-10.3.32.ebuild
+++ b/dev-db/mariadb/mariadb-10.3.32.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.3/${SUBSLOT:-0}"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -490,7 +490,6 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
if ! use server ; then
@@ -498,12 +497,6 @@ src_test() {
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))"
@@ -550,6 +543,10 @@ src_test() {
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
@@ -600,10 +597,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/mariadb/mariadb-10.4.22.ebuild b/dev-db/mariadb/mariadb-10.4.22.ebuild
index d6d3bae39c5f..b11372f1e1d6 100644
--- a/dev-db/mariadb/mariadb-10.4.22.ebuild
+++ b/dev-db/mariadb/mariadb-10.4.22.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.4/${SUBSLOT:-0}"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -504,7 +504,6 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
if ! use server ; then
@@ -512,12 +511,6 @@ src_test() {
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))"
@@ -564,6 +557,10 @@ src_test() {
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
@@ -617,10 +614,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/mariadb/mariadb-10.5.13.ebuild b/dev-db/mariadb/mariadb-10.5.13.ebuild
index 6e5fabe187f0..04a827332cce 100644
--- a/dev-db/mariadb/mariadb-10.5.13.ebuild
+++ b/dev-db/mariadb/mariadb-10.5.13.ebuild
@@ -18,7 +18,7 @@ SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz
HOMEPAGE="https://mariadb.org/"
DESCRIPTION="An enhanced, drop-in replacement for MySQL"
LICENSE="GPL-2 LGPL-2.1+"
-SLOT="10.5/${SUBSLOT:-0}"
+SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}"
IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
@@ -498,7 +498,6 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
if ! use server ; then
@@ -506,12 +505,6 @@ src_test() {
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))"
@@ -558,6 +551,10 @@ src_test() {
# create directories because mysqladmin might run out of order
mkdir -p "${T}"/var-tests{,/log} || die
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die
local -a disabled_tests
@@ -611,10 +608,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/mariadb/mariadb-10.6.5-r1.ebuild b/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
new file mode 100644
index 000000000000..a266a6e8a5eb
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.6.5-r1.ebuild
@@ -0,0 +1,1325 @@
+# Copyright 1999-2021 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.6.5-patches-03.tar.xz"
+
+SRC_URI="mirror://mariadb/${PN}-${PV}/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="$(ver_cut 1-2)/${SUBSLOT:-0}"
+IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc
+ test xml yassl"
+
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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/libpcre2-10.34:=
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ >=sys-libs/zlib-1.2.3:0=
+ virtual/libcrypt:=
+ !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:= )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ >=dev-libs/openssl-1.0.0: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.8 ) )
+ 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
+ !dev-db/mariadb:10.5
+ !dev-db/mariadb:10.7
+ !dev-db/mariadb:10.8
+ !<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.8 ) )
+ 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 )
+ )
+"
+# 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)
+
+ # 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 LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ 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=bin
+ -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
+ # Connect and Federated{,X} must be treated special
+ # otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_CONNECT=NO
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO
+ )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES 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)
+ -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)
+ )
+
+ 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=utf8mb4
+ -DDEFAULT_COLLATION=utf8mb4_unicode_520_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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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
+
+ if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then
+ touch "${S}"/mysql-test/unstable-tests || die
+ fi
+
+ 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+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" )
+ 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.mysql_upgrade;27044;Sporadically failing test" )
+ disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" )
+ disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables;0;Sporadically failing test" )
+ disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" )
+ disabled_tests+=( "mariabackup.*;0;Broken test suite" )
+ disabled_tests+=( "perfschema.nesting;23458;Known to be broken" )
+ disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" )
+ 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" )
+ disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" )
+
+ 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.sp2;24177;Requires USE=latin1" )
+ disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" )
+ disabled_tests+=( "main.upgrade_MDEV-19650;24178;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-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_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
+
+ # Conflicting files
+ conflicting_files=()
+
+ # We prefer my_print_defaults from dev-db/mysql-connector-c
+ conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" )
+
+ # Remove bundled mytop in favor of dev-db/mytop
+ conflicting_files+=( "${ED}/usr/bin/mytop" )
+ conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" )
+
+ local conflicting_file
+ for conflicting_file in "${conflicting_files[@]}" ; do
+ if [[ -e "${conflicting_file}" ]] ; then
+ rm -v "${conflicting_file}" || die
+ fi
+ done
+
+ # 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 section="${1}"
+ local option="--${2}"
+ local extra_options="${3}"
+ local cmd=(
+ "${my_print_defaults_binary}"
+ "${extra_options}"
+ "${section}"
+ )
+
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-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 mysql_binary="${EROOT}/usr/bin/mysql"
+ if [[ ! -x "${mysql_binary}" ]] ; then
+ die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!"
+ fi
+
+ 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_install_db_binary="${EROOT}/usr/bin/mysql_install_db"
+ if [[ ! -x "${mysql_install_db_binary}" ]] ; then
+ die "'${mysql_install_db_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 [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then
+ # Only create directory when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Only test when MYSQL_LOG_BIN is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then
+ # Only create directory when MYSQL_RELAY_LOG is an absolute path
+ 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 [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Only test when MYSQL_RELAY_LOG is an absolute path
+ 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 SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null)
+ [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir"
+
+ # Limit access
+ chmod 0770 "${SETUP_TMPDIR}" || die
+ chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die
+
+ local mysql_install_log="${SETUP_TMPDIR}/install_db.log"
+ local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log"
+
+ 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 [[ "${MYSQL_LOG_BIN}" == /* ]] ; then
+ # Absolute path for binary log files specified
+ einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}"
+ fi
+
+ if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then
+ # Absolute path for relay log files specified
+ 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}"
+
+ 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="${SETUP_TMPDIR}/tz.sql"
+
+ 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
+
+ local cmd=(
+ "${mysql_install_db_binary}"
+ "${mysqld_options[@]}"
+ "--init-file='${tz_sql}'"
+ "--basedir='${EROOT}/usr'"
+ "--datadir='${MY_DATADIR}'"
+ "--tmpdir='${MYSQL_TMPDIR}'"
+ "--log-error='${mysql_install_log}'"
+ "--rpm"
+ "--cross-bootstrap"
+ "--skip-test-db"
+ "--user=${MYSQL_USER}"
+ )
+
+ einfo "Initializing ${PN} data directory: ${cmd[@]}"
+ eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1
+
+ if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; 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
+
+ local x=${RANDOM}
+ local socket="${PID_DIR}/mysqld.${x}.sock"
+ [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!"
+ local pidfile="${PID_DIR}/mysqld.${x}.pid"
+ [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!"
+ 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="${SETUP_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
+
+ rm -r "${SETUP_TMPDIR}" || die
+
+ einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!"
+}
diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest
index d914b634aa07..d08d87b90ba2 100644
--- a/dev-db/myodbc/Manifest
+++ b/dev-db/myodbc/Manifest
@@ -6,8 +6,10 @@ DIST mysql-connector-odbc-8.0.22-src.tar.gz 3726015 BLAKE2B 055920446767b0c9a30a
DIST mysql-connector-odbc-8.0.23-src.tar.gz 3726277 BLAKE2B 21b5e6f3f7e77d6107268800441675a230c79071e52db39093fade6e02031c12c96371d165af9459e9739e069e5b4196f0169dff54c0fa300e7a3023e8a82722 SHA512 2f66b5e1796176d638b1209b7d3381c2600a11cc88fa0dfb1f29b16a6c59386926674d5581d4843036d061af09312d58620484730bd7cdad36c0a0dcd45d49a9
DIST mysql-connector-odbc-8.0.25-src.tar.gz 3736461 BLAKE2B 888219340ed2ea86194b2aeab04719c58f2bdfaedb4364492eab2d8cce4b7617a259ae075fada3f55f2bd475d310b5a98642a791ac1efff22a8ceda31bbdf89c SHA512 b2df4134d89600708f30866ded6d915246d36eea087a5c86c0030ba55a1a96c7ee37f023183a28e2f731851969ee802846012e4435fb86a38f7a0f09571d32ac
DIST mysql-connector-odbc-8.0.26-src.tar.gz 3760542 BLAKE2B e0da539743335bc70a7b809759121d5186782df27c301dc9bb34a73d5584540906df72f0e2b2bfa8af47587693063286cd3eadd3b69f77398264463e69a20e35 SHA512 caed3db20fb42df5123356a973e4f8cc1b162be0ada1de881981237e9a7b39d95f3f0aa48fceeff23139c3d05fc24115bf900206db7a497f4ed734a2234eb528
+DIST mysql-connector-odbc-8.0.27-src.tar.gz 3849283 BLAKE2B 6a2500cdd706c0f8cda83dd04d3e573baa0bfbad59c931e20bb25a3f09dd78d2380079d0a20e075c3f44482d58acb6e727f4cbcf490e9d4d7817dd26f98061ee SHA512 4f907b7647425c274d3bd1c3b3ebbb83ac2360f2ee56733dabb501c17b800a26ef1117e16e5b05180ff904bfc642d25393baa861b96a79edf9d35f186a8689b2
EBUILD myodbc-8.0.22.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652
EBUILD myodbc-8.0.23.ebuild 3225 BLAKE2B c0cf4254bb89e23bd358454addbc27f2c27ebef6923766433a5a7e0b5071787d41b9eedea1dff3efc9544788f52a23383800dae0376512fa04d56d53a7363f2f SHA512 f1b2950e6f30ef9f623f53ab7634aeff21a533fb6889e8593461a88987e8bbf15a70fdaf9d3ea1608c3fb7d446e71ab366ae2ff07cd1dc7c5d266dea7044eb24
EBUILD myodbc-8.0.25.ebuild 3404 BLAKE2B b3c703cc8ff74fac5f118921b6cb2262e8b1b7ff627f6a8b5069de4d7456dd00ce5cd5c007c2eef258d8fc006c7b1cdddbb3b760289f1ee319f7d93ea56e99c8 SHA512 9cd63ac127093aba36e1b8065bd92a8fe8992b4a061622f0f892126e07ccdb63716c26f56b9e2ef8480ff6e861d827feae9488ff47eaa7204a3b0717c4d73bc4
EBUILD myodbc-8.0.26.ebuild 3415 BLAKE2B f9df1d9e752db751bae9a5564008e9b252dee975649f319bda446a9a41bf84eec00fcd2887228db67b9a3533349e52cce6c9aef4eabd8383342d80eeeb554abd SHA512 09c17e88f8a06e1987f9cab064d78d4cf43a0dac1f0044edf92d9a1cf9642e73b51087ba4aa7ff0b53c4c44018bf8e8303cedd17d35a293edc1030e8fdcc6486
+EBUILD myodbc-8.0.27.ebuild 3415 BLAKE2B f9df1d9e752db751bae9a5564008e9b252dee975649f319bda446a9a41bf84eec00fcd2887228db67b9a3533349e52cce6c9aef4eabd8383342d80eeeb554abd SHA512 09c17e88f8a06e1987f9cab064d78d4cf43a0dac1f0044edf92d9a1cf9642e73b51087ba4aa7ff0b53c4c44018bf8e8303cedd17d35a293edc1030e8fdcc6486
MISC metadata.xml 240 BLAKE2B cc93ae4da8408b221c296e092d9db6ae3879754ade669d81c1218d53a5f007c6b7717bda6f92dbb0af38ff9b5e45f44e91503b12d3603d9955ec7d5a2a67399b SHA512 0f41c32ce3d736e061302252f14913d7425bc97e19d0c2f3b80c50637ab3521aa6cfc67f82e5f70f91174cddb36bb5622837dc18fd9db3bf75eb860359aade27
diff --git a/dev-db/myodbc/myodbc-8.0.27.ebuild b/dev-db/myodbc/myodbc-8.0.27.ebuild
new file mode 100644
index 000000000000..49e7ed8c3c63
--- /dev/null
+++ b/dev-db/myodbc/myodbc-8.0.27.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+
+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=""
+
+RDEPEND="
+ dev-db/unixODBC[${MULTILIB_USEDEP}]
+ >=dev-db/mysql-connector-c-8.0:0=[${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_src_prepare
+}
+
+multilib_src_configure() {
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ mycmakeargs+=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -DMYSQLCLIENT_STATIC_LINKING=OFF
+ -DMYSQL_CXX_LINKAGE=YES
+ -DWITH_UNIXODBC=YES
+ -DWITH_DOCUMENTATION_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}
+ -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}"
+ -DMYSQLCLIENT_NO_THREADS=ON
+ -DDISABLE_GUI=ON
+ # Don't build "libmysql_strings.so" and "libmysql_sys.so" which are only
+ # used internally
+ -DBUILD_SHARED_LIBS=OFF
+ # The NUMA and LIBWRAP options are not really used.
+ # They are just copied from the server code
+ -DWITH_NUMA=OFF
+ -DWITH_LIBWRAP=OFF
+ )
+
+ cmake_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
+
+ rm -rf "${ED}/usr/$(get_libdir)/${PN}-${MAJOR}/private" \
+ || die "failed to remove bundled libs"
+
+ 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/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 63960901c5df..247a48a0060c 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -4,12 +4,15 @@ AUX mysql-connector-c++-8.0.22-fix-build.patch 10143 BLAKE2B c1bafd2ba9ad454bc02
AUX mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch 348 BLAKE2B 509e869dcfffd58d92512277ff6ea148f430cca4eb9bd9a8b929641b7f876586c012aa324bdc7b475fc61dcf38bbc4edf16ab65bbe1fc0b9b15f6d19acd25743 SHA512 be18797ab0015580e21cf480938025c38c42cdf4e6aaca4c08ecb22d44932d44778c3a51488a3620915d4933b43aa75de737e2a386d449cb0b9d25ae245d5c68
AUX mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch 9557 BLAKE2B eda1794a808a2bfd43a044fe05abe93d41ddf98b917e4ff22dce7d795fe62c4d53f102bbcecf5b0c2ccdcf92f49ff100f6586c1c2131ba492b0a7095f202967b SHA512 963cb123e813e8eb305210f4804b5c67bfe2ebf670c85bddfbff8d3df7b60825cecf004d2e9b45ec38abe9af9f118c88b1d121d3290cae49557208ccb309da48
AUX mysql-connector-c++-8.0.26-fix-build.patch 10080 BLAKE2B e14bf201a44c3a0fad775c3c40daf56403a35485f804c6bcac005b40e79fd798cbecc410a189b19bebafb3f6fdcc9bf9b27b5395e5f30f5e7567dc459b5a4e1c SHA512 cd0184d6d52bdd1bb8e22108708fd6489074b5d3d1510a3f38d1505bd4eebc7805327543dddaa429e635464234229e758c75c482133e198bd299e092c9301ea8
+AUX mysql-connector-c++-8.0.27-fix-build.patch 3170 BLAKE2B acadbb354505f4b40e3121134c93cabd6e13dfbbc5268ea5aadcfdd01a96fad3d682a1b2d77b0a63eeea31c7737f852d624f2505100e52016b6f98c5b2feca01 SHA512 413ca9ed5965eb9805639a8ba252d60486eb7aa038db7d2b993457e940ed61f3073d8008ee53b0e84798e9c059f84bb2c2de272412a1a256c1e6b81e43b75535
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1
DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525
DIST mysql-connector-c++-8.0.26-src.tar.gz 3980027 BLAKE2B 86ce0d94db588ed86ce7b21851f866da26268f7c9059b57697cbe1f5c5d031a3eada2f55042feb7b2888b538277c773215c0d19e8a1968ff70ce363e8f95bd77 SHA512 e3a08551a4245bf886cb7e3775a256fa379bb781b523a84d30e0d0c16cae73c808a3413b08b09998eba9c0ea3ede19e505b6392ed71712a8e9a2df31f07e4c79
+DIST mysql-connector-c++-8.0.27-src.tar.gz 4004836 BLAKE2B e581c679d8d9a31d2570b9cf1968b4e793cfccbd4cafdc5a9c9d17a465c16faa1492b2da7bdc1679d97474c27b6353274a390668f77d3cb47f72598eb3a967fa SHA512 3da7109efd2d1af813931b923218de9a85afe20d23e2654eecfa5524431f5b11ebdb8421b14563300b66ab61714e284cc15407a3b28a87922c9a8c79b2804bf3
EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1576 BLAKE2B e1835aadf499196ba42dcff6a1671bc32a4224133d68630bea249fb22ef35db6275f448bb1c891e0dcd9934fd66b3a7ebbe9935573f7f85a1d00e2613bab98fb SHA512 983abc70a156b0b0c39bd693c6ac62a149897f3b5bfddd54bc52463a5fa84397692134a16045d640db3d4797d3264803c0563a282495c21f54d4b48390223d39
EBUILD mysql-connector-c++-8.0.24.ebuild 1028 BLAKE2B 288d17c80f54d3b6c4adea98bf348a1d55bd5e3d26f82264c140304679ea658c2dcfe9354c382e925c00546373155bdc0b20134254efc6b5d1df8b1f22f4b5bf SHA512 6a26377b9d577584010c47642f4852333bbbf1311446423c0f28b521d5c8ec4380d81d257237d66b8f16cfcb01c9d654a486312c0e3c36fd71aa67facb33fd52
EBUILD mysql-connector-c++-8.0.25.ebuild 1093 BLAKE2B 050385919d4526016450efc45cadfc6ae7c6361a1585479f68d20a711b7053b12603153d42e3f1a073ef421c267e934e7e1ee920b00063fbbaf9aeffa16a9fe0 SHA512 1da205f366f7c6acc3a5bb9840829d8565426c224939750bc0bb096bf059d223eceb2c8a3044b24610dff776d1b89b1c46f0504288c090b39ac2a06ddd86bd13
EBUILD mysql-connector-c++-8.0.26.ebuild 976 BLAKE2B da877a73f3760d1f717b51b2a41aa3b8cdbd39e416301d6022f983f7db15903d0efaa3bbd7f2341ab347805575030bf3b410679bdca506f37ae21dd816336e75 SHA512 9f6c7ea47bb51b139ebf7b53b7dbe0154d7d3583ebaa98d79202df8bcc37bfa83c098a5c53208f0345520f388c565f89d6eb5044794c24621145f562a8bb263a
+EBUILD mysql-connector-c++-8.0.27.ebuild 977 BLAKE2B ade3e8b80acafd9569ffa410736e984d26fc08b643e340b767c996d1061be911654d8ad00ae5b644d979a921326292b1d3a6c7bf1d7b9c2556a1afca8499e574 SHA512 696bf1a42a3c50b4b62a8a29e5307d0fc5b97f70d1098cc6fe58707dc58b782a2a5e0ae0c9c71e1de61d202d9c05a039f9ed85a72398bd3b7a296ee446c958e1
MISC metadata.xml 379 BLAKE2B c33f69c8b5aa23c867d8312fc2fffec9d22a2fa3f8f1d93f235282fb4f68869599ad8a49e46290679eea3faf1536fe13224af9dcc5eec625374bc7e28ab591fa SHA512 26cc6101cc8240e26c3491dfafc1c7ddda626e7de3ccfc235c02e92f0226c9e11109dcaeddfa934dc02dbdf99215e5899cac606f50a647d90937770e88670d67
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch
new file mode 100644
index 000000000000..aadf006d25e6
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-fix-build.patch
@@ -0,0 +1,92 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e734714..b79ff3a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -474,7 +474,7 @@ set_target_properties(connector PROPERTIES
+
+
+ install(TARGETS connector
+- CONFIGURATIONS Release RelWithDebInfo
++ CONFIGURATIONS Release RelWithDebInfo Gentoo
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
+ RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+diff --git a/cdk/cmake/DepFindProtobuf.cmake b/cdk/cmake/DepFindProtobuf.cmake
+index 414716c..165af4b 100644
+--- a/cdk/cmake/DepFindProtobuf.cmake
++++ b/cdk/cmake/DepFindProtobuf.cmake
+@@ -52,21 +52,7 @@ if(TARGET ext::protobuf)
+ return()
+ endif()
+
+-message(STATUS "Setting up Protobuf.")
+-
+-# Setup extrnal project that builds protobuf from bundled sources
+-
+-add_ext(protobuf)
+-
+-# import targets from the external project
+-# Note: The pb_ targets are created by protobuf/exports.cmake
+-
+-add_ext_targets(protobuf
+- pb-lite pb_libprotobuf-lite
+- pb-full pb_libprotobuf
+- protoc pb_protoc
+-)
+-
++find_package(Protobuf REQUIRED)
+
+ # Standard PROTOBUF_GENERATE_CPP modified to our usage
+
+@@ -95,7 +81,7 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
+ "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
+ COMMAND ${CMAKE_COMMAND}
+ -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+- COMMAND ext::protoc
++ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
+ ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+ -I ${ABS_PATH} ${ABS_FIL}
+ #--proto_path=${PROTOBUF_INCLUDE_DIR}
+diff --git a/cdk/core/CMakeLists.txt b/cdk/core/CMakeLists.txt
+index 10cae33..3907c9b 100644
+--- a/cdk/core/CMakeLists.txt
++++ b/cdk/core/CMakeLists.txt
+@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
+
+ target_link_libraries(cdk
+ PUBLIC cdk_mysqlx cdk_parser
+- PRIVATE ext::pb-lite # required by codecc.cc
++ PRIVATE protobuf # required by codecc.cc
+ )
+
+ add_coverage(cdk)
+diff --git a/cdk/protocol/mysqlx/CMakeLists.txt b/cdk/protocol/mysqlx/CMakeLists.txt
+index a399401..b04ffa3 100644
+--- a/cdk/protocol/mysqlx/CMakeLists.txt
++++ b/cdk/protocol/mysqlx/CMakeLists.txt
+@@ -129,11 +129,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+-if(use_full_protobuf)
+- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-full)
+-else()
+- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::pb-lite)
+-endif()
++target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
+
+ target_link_libraries(cdk_proto_mysqlx
+ PRIVATE cdk_foundation ext::zlib ext::lz4 ext::zstd
+diff --git a/jdbc/CMakeLists.txt b/jdbc/CMakeLists.txt
+index f4355ed..f24510b 100644
+--- a/jdbc/CMakeLists.txt
++++ b/jdbc/CMakeLists.txt
+@@ -299,7 +299,7 @@ endif()
+
+
+ install(TARGETS connector-jdbc
+- CONFIGURATIONS Release RelWithDebInfo
++ CONFIGURATIONS Release RelWithDebInfo Gentoo
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
+ RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild
new file mode 100644
index 000000000000..e28d4154761c
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 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"
+# -ppc, -sparc for bug #711940
+KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+IUSE="+legacy"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ legacy? (
+ dev-libs/boost:=
+ >=dev-db/mysql-connector-c-8.0.27:=
+ )
+ dev-libs/openssl:0=
+ "
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.27-fix-build.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 89a14cf3a896..1ce2d2c44232 100644
--- a/dev-db/mysql-connector-c/Manifest
+++ b/dev-db/mysql-connector-c/Manifest
@@ -1,13 +1,16 @@
AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d4fb9a38ac418476f4b7738caa1f2a5dc633ad5921859793983c7b42acd87263ce2703df5a8c7d3bc3d7a60efb28a3ff17c311d89cc7b12edd22574f SHA512 cbb9be24a67a649b68230fe3482063d2d16fb629233e070289eb1ab0011bd8c43b0c056e4b6ca430a62ce0e8f47bb9490cb6746b7dc3fe06a05670b078cd084f
AUX mysql-connector-c-8.0.22-always-build-decompress-utilities.patch 534 BLAKE2B 15bef04f750b5f373d8c5f39690e90be482bfea66430234befc777e9d84d0060d20e1290798ddacbf0e9f0f8db45ba0318d88b61aec3fd1e859285cefff446ef SHA512 7ae81f4fe020c12e45eba041dcca921fa93f42a12d8c8d840b1bec819c00de8b780a792e99cdc3cae55eef74c911de3087b6583d6213913b36428b96f0e1c3af
AUX mysql-connector-c-8.0.25-add-OpenSSL-3.0.0-support.patch 10951 BLAKE2B bf97a5f5758f0f0a4b0535b31d81074938c9202ba2e4f40b1a01401a2dc36d0e17bb0b0d599aeea113c03e68b1be0d29a60e7ead068b8674a2fe8f763039478a SHA512 a31034a223bc84a66dcaf082421b55d2f8d79748d77c430920f2f0f9bbf9862545e7c84e02a35f9589b46a5d4c5460e0fde8e72de25430334922e2f8637c81e0
+AUX mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch 11508 BLAKE2B 1fe2341c938ce580611bb1f2ded279d02d4f1130b719c43d0c70942e9954214cc4392b86a18dfd0f88082c6b72fdf270e076647dd1600d7ebb8eb437ca10bb64 SHA512 1b7b1bf471ad6cab6c86dbfb7f6ffe506e3d20a51efcc1df503a9d65976fedb8dbcd67993897241fc0dd9e1f7356670bf3ec80c5b7f66c9246a44b4aa3eee3cc
DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612
DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8
DIST mysql-boost-8.0.25.tar.gz 290265324 BLAKE2B 5393a2a2525a886d9ece19777deae01e6c0b24b9ff5a0a5ffb9075740ed912d0df59a165b6ec9ceb60c7c28f3062cda5cceb4da3a8280f42549984c846f1ce5c SHA512 af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081
DIST mysql-boost-8.0.26.tar.gz 291285918 BLAKE2B 6198ca8982a8c9df7e6ee4df5e2c1e0d64d2eb4d83cb7265317b58d55f6787c3240c8e40d196f2326ff3d66926ad7dab0705edd92e5a82881ce6ddb7f0c510b9 SHA512 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc
+DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
EBUILD mysql-connector-c-8.0.22.ebuild 2782 BLAKE2B a03af99dd8eb16b78a7b891b9eb6c79a893edef92410b614722f2857ee21d1b519f93f74842d89b56ef50d628abd4873c00b59b4fcc06f1606319c078c2b89f6 SHA512 7dbf5e4d22d5d000e702809b2356bbe842da16b1bb61aa7d8fc3fd62f56449f5d893f377cb9a4b5b4b7019679a05f20aa67fd570caa4d9ccf27dccdc9c549df4
EBUILD mysql-connector-c-8.0.23-r1.ebuild 2986 BLAKE2B a7f75b2115e7e4f8caf06ba5a81d6227214178d9b70c12007f13615ea55d75c1918b6d38e9e47f5caa4dde3539df10c8a21a9fedf9b325cc82ed2a875a346467 SHA512 b916eaa8cf6a4d3b39e65ae531324b9c13fcc4a65fd69ebe6d9b476f220ffefa542d6e5c7f835a83d283b751119f84c81fef234a6b2d164e4cd91dffecef13c3
EBUILD mysql-connector-c-8.0.25-r1.ebuild 3138 BLAKE2B ec501d87b6bc3a3d1a68ab741607aff5dc2ff27fc12b537fae7d47f5b65c57880e301006a1363b7d6e4e52d51ed918fedbe0ffda9e77207b048c014c2352f883 SHA512 4840eff53fa2c43762e35ba5d638c5f8702522e2084a1a7c52432a7f340e9f2c44b087b3f029b1c7b61f70c6a6e5ed4d9af84261057be47728140b8dc5a9e2d1
EBUILD mysql-connector-c-8.0.25.ebuild 3064 BLAKE2B 3a10106d3e3beb7bb048ea830d7fa18738b9ca36fbcc0a257cdfebbdc52c986f6ce7b9f806412595690fad2d5e9cd643427326639c492ff83b404c6ac4117e59 SHA512 cd80c6d89e5a8b000025237ae45854700a0565be784cc6d10f9d38ede2be73ea3303404420701de859db9533652c7fe7762e3197df8e9bc14256f4ecf4b493b0
EBUILD mysql-connector-c-8.0.26.ebuild 3138 BLAKE2B ec501d87b6bc3a3d1a68ab741607aff5dc2ff27fc12b537fae7d47f5b65c57880e301006a1363b7d6e4e52d51ed918fedbe0ffda9e77207b048c014c2352f883 SHA512 4840eff53fa2c43762e35ba5d638c5f8702522e2084a1a7c52432a7f340e9f2c44b087b3f029b1c7b61f70c6a6e5ed4d9af84261057be47728140b8dc5a9e2d1
+EBUILD mysql-connector-c-8.0.27.ebuild 3222 BLAKE2B 6d3f85bc40e5fa8843c13e854c0e30f21ba55717655d8381c26ea704b1afe091f7a159b6ed7068562393eb523a2fa46a6253198749781172d820b42de00efceb SHA512 7dfae5f108d9c6f478b8319ece94bc33d5bd07ae3d90e3dd038f32a2964ed67080c983c87c4848af72da3f7230e0094dbd00d6aa389dc43f4c323ac3bb7735bd
MISC metadata.xml 240 BLAKE2B cc93ae4da8408b221c296e092d9db6ae3879754ade669d81c1218d53a5f007c6b7717bda6f92dbb0af38ff9b5e45f44e91503b12d3603d9955ec7d5a2a67399b SHA512 0f41c32ce3d736e061302252f14913d7425bc97e19d0c2f3b80c50637ab3521aa6cfc67f82e5f70f91174cddb36bb5622837dc18fd9db3bf75eb860359aade27
diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch
new file mode 100644
index 000000000000..da1907db4633
--- /dev/null
+++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.27-add-OpenSSL-3.0.0-support.patch
@@ -0,0 +1,313 @@
+From d5bedd07c111676695270cdf35d23f9026a78113 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Tue, 22 Jun 2021 23:56:54 +0200
+Subject: [PATCH 6/6] Add OpenSSL 3.0.0 support
+
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ cmake/ssl.cmake | 59 +++++++++++++------
+ mysys/my_md5.cc | 2 +
+ .../xcom_network_provider_ssl_native_lib.cc | 4 ++
+ plugin/x/client/xconnection_impl.cc | 4 ++
+ sql-common/client.cc | 2 +
+ sql/mysqld.cc | 2 +
+ sql/sys_vars.cc | 18 +++++-
+ vio/viosslfactories.cc | 6 ++
+ 8 files changed, 78 insertions(+), 19 deletions(-)
+
+diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
+index 293281cf1..4732d8bf4 100644
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -205,34 +205,59 @@ MACRO (MYSQL_CHECK_SSL)
+ NAMES crypto libcrypto libeay32
+ HINTS ${OPENSSL_ROOT_DIR}/lib)
+
+- IF(OPENSSL_INCLUDE_DIR)
++ IF(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
+ # Verify version number. Version information looks like:
+ # #define OPENSSL_VERSION_NUMBER 0x1000103fL
+ # Encoded as MNNFFPPS: major minor fix patch status
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+ OPENSSL_VERSION_NUMBER
+- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
+- )
+- STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+- OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+- )
+- STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
+- OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+- )
+- STRING(REGEX REPLACE
+- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
+- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
++ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
+ )
++
++ IF(OPENSSL_VERSION_NUMBER)
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
++ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++ )
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
++ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++ )
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
++ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
++ )
++ ELSE()
++ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
++ OPENSSL_VERSION_STR
++ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*"
++ )
++
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+)\\.[0-9]+\\.[0-9]+\".*$" "\\1"
++ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_STR}"
++ )
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.([0-9]+)\\.[0-9]+\".*$" "\\1"
++ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_STR}"
++ )
++ STRING(REGEX REPLACE
++ "^.*OPENSSL_VERSION_STR[\t ]+\"[0-9]+\\.[0-9]+\\.([0-9]+)\".*$" "\\1"
++ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_STR}"
++ )
++ ENDIF()
+ ENDIF()
+- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
++
++ INCLUDE(CheckSymbolExists)
++
++ 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
+@@ -296,8 +321,6 @@ MACRO (MYSQL_CHECK_SSL)
+ MESSAGE(STATUS "OPENSSL_MINOR_VERSION = ${OPENSSL_MINOR_VERSION}")
+ MESSAGE(STATUS "OPENSSL_FIX_VERSION = ${OPENSSL_FIX_VERSION}")
+
+- INCLUDE(CheckSymbolExists)
+-
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
+diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc
+index 86203619f..37ed3c8b2 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,
+ int compute_md5_hash(char *digest, const char *buf, int len) {
+ int retval = 0;
+ int fips_mode = 0;
++#if defined(OPENSSL_FIPS)
+ fips_mode = FIPS_mode();
++#endif
+ /* If fips mode is ON/STRICT restricted method calls will result into abort,
+ * skipping call. */
+ if (fips_mode == 0) {
+diff --git a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
+index 8d4af3c04..de67c9e7c 100644
+--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
++++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc
+@@ -316,6 +316,7 @@ error:
+ return 1;
+ }
+
++#if defined(OPENSSL_FIPS)
+ #define OPENSSL_ERROR_LENGTH 512
+ static int configure_ssl_fips_mode(const int fips_mode) {
+ int rc = -1;
+@@ -339,6 +340,7 @@ static int configure_ssl_fips_mode(const int fips_mode) {
+ EXIT:
+ return rc;
+ }
++#endif
+
+ static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
+ const char *ca_path) {
+@@ -478,12 +480,14 @@ int Xcom_network_provider_ssl_library::xcom_init_ssl(
+ int verify_server = SSL_VERIFY_NONE;
+ int verify_client = SSL_VERIFY_NONE;
+
++#if defined(OPENSSL_FIPS)
+ if (configure_ssl_fips_mode(
+ Network_provider_manager::getInstance().xcom_get_ssl_fips_mode()) !=
+ 1) {
+ G_ERROR("Error setting the ssl fips mode");
+ goto error;
+ }
++#endif
+
+ SSL_library_init();
+ SSL_load_error_strings();
+diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc
+index aaf37a1b3..753944889 100644
+--- a/plugin/x/client/xconnection_impl.cc
++++ b/plugin/x/client/xconnection_impl.cc
+@@ -617,6 +617,7 @@ XError Connection_impl::get_ssl_error(const int error_id) {
+ return XError(CR_SSL_CONNECTION_ERROR, buffer);
+ }
+
++#if defined(OPENSSL_FIPS)
+ /**
+ Set fips mode in openssl library,
+ When we set fips mode ON/STRICT, it will perform following operations:
+@@ -656,6 +657,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);
+@@ -666,12 +668,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};
+
++#if defined(OPENSSL_FIPS)
+ 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));
+
+diff --git a/sql-common/client.cc b/sql-common/client.cc
+index 5de2a1fb9..102e663d9 100644
+--- a/sql-common/client.cc
++++ b/sql-common/client.cc
+@@ -8286,6 +8286,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+ return 1;
+ break;
+ case MYSQL_OPT_SSL_FIPS_MODE: {
++#if defined(OPENSSL_FIPS)
+ char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
+ ENSURE_EXTENSIONS_PRESENT(&mysql->options);
+ mysql->options.extension->ssl_fips_mode =
+@@ -8298,6 +8299,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
+ "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string);
+ return 1;
+ }
++#endif
+ } break;
+ case MYSQL_OPT_SSL_MODE:
+ ENSURE_EXTENSIONS_PRESENT(&mysql->options);
+diff --git a/sql/mysqld.cc b/sql/mysqld.cc
+index 8105d4b73..b580f1c4d 100644
+--- a/sql/mysqld.cc
++++ b/sql/mysqld.cc
+@@ -5292,12 +5292,14 @@ static void init_ssl() {
+ }
+
+ static int init_ssl_communication() {
++#if defined(OPENSSL_FIPS)
+ 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 (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 4592e4bbb..320f458fd 100644
+--- a/sql/sys_vars.cc
++++ b/sql/sys_vars.cc
+@@ -4799,6 +4799,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));
+
++#if defined(OPENSSL_FIPS)
+ 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) {
+@@ -4809,15 +4810,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) {
+ return false;
+ }
+ }
++#endif
+
++#if defined(OPENSSL_FIPS)
+ static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", nullptr};
++#else
++static const char *ssl_fips_mode_names[] = {"OFF", 0};
++#endif
+ static Sys_var_enum Sys_ssl_fips_mode(
+ "ssl_fips_mode",
+ "SSL FIPS mode (applies only for OpenSSL); "
++#if defined(OPENSSL_FIPS)
+ "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(nullptr), ON_UPDATE(update_fips_mode), nullptr);
++ ON_CHECK(NULL),
++#if defined(OPENSSL_FIPS)
++ ON_UPDATE(update_fips_mode),
++#else
++ ON_UPDATE(NULL),
++#endif
++ NULL);
+
+ static Sys_var_bool Sys_auto_generate_certs(
+ "auto_generate_certs",
+diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
+index 618be1511..672fc74ca 100644
+--- a/vio/viosslfactories.cc
++++ b/vio/viosslfactories.cc
+@@ -472,6 +472,7 @@ void ssl_start() {
+ }
+ }
+
++#if defined(OPENSSL_FIPS)
+ /**
+ Set fips mode in openssl library,
+ When we set fips mode ON/STRICT, it will perform following operations:
+@@ -525,6 +526,7 @@ EXIT:
+ @returns openssl current fips mode
+ */
+ uint get_fips_mode() { return FIPS_mode(); }
++#endif
+
+ /**
+ Toggle FIPS mode, to see whether it is available with the current SSL library.
+@@ -532,12 +534,16 @@ uint get_fips_mode() { return FIPS_mode(); }
+ @retval non-zero: FIPS is supported.
+ */
+ int test_ssl_fips_mode(char *err_string) {
++#if defined(OPENSSL_FIPS)
+ int ret = FIPS_mode_set(FIPS_mode() == 0 ? 1 : 0);
+ unsigned long err = (ret == 0) ? ERR_get_error() : 0;
+
+ if (err != 0) {
+ ERR_error_string_n(err, err_string, OPENSSL_ERROR_LENGTH - 1);
+ }
++#else
++ int ret = 0;
++#endif
+ return ret;
+ }
+
+--
+2.34.0
+
diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild
new file mode 100644
index 000000000000..d15743a0a393
--- /dev/null
+++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.27.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib flag-o-matic
+
+# wrap the config script
+MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/mysql/mysql-server.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+ S="${WORKDIR}/mysql-${PV}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/21"
+IUSE="ldap static-libs"
+
+RDEPEND="
+ >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}]
+ app-arch/zstd:=[${MULTILIB_USEDEP}]
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] )
+ 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 )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.22-always-build-decompress-utilities.patch
+ "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch
+ "${FILESDIR}"/${PN}-8.0.27-add-OpenSSL-3.0.0-support.patch
+)
+
+src_prepare() {
+ sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "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_src_prepare
+}
+
+multilib_src_configure() {
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
+
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG
+ -DINSTALL_LAYOUT=RPM
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DWITH_DEFAULT_COMPILER_OPTIONS=OFF
+ -DENABLED_LOCAL_INFILE=ON
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock"
+ -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
+ -DWITHOUT_SERVER=ON
+ )
+
+ cmake_src_configure
+}
+
+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/Manifest b/dev-db/mysql/Manifest
index 42bccebc1e54..0613cde8d286 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -8,27 +8,33 @@ DIST mysql-5.7.33-patches-01.tar.xz 6672 BLAKE2B cfa410f9ba5a4ba7e43923e7b5940c2
DIST mysql-5.7.34-patches-01.tar.xz 6676 BLAKE2B b925880bfbb991fcba81964ff658a2ecab38da637a6093270a724ab8e405ab092d5fb9684f53f44d001e34287366df234b841d9ebcae62d49becdb93a3c3e324 SHA512 80a89f4b4a7ecc04f3115c6aaa0b0013e38c2813fa6dea095e826ef3944298715a48e0deacb691d23526b1524b207c83176290faea2461d3fcd94edabe3d8943
DIST mysql-5.7.34-patches-02.tar.xz 6408 BLAKE2B fdb36247832b6282af94ce2f61b5dd77f6b45f9efca4b438ecd5fed8d810d9d51547d0ae3de085e7f5dcc8795b4bc4f1210902495b92859e1d5aec3048256ef3 SHA512 f0513eb7f0c9e415aa972a53af668939934ea4f4fa438f468f32a46ccc2aa3b84ba8edd999e4786256ada34851ad64c81e9dd0e36c2a21da641987dfd18635c3
DIST mysql-5.7.35-patches-01.tar.xz 6408 BLAKE2B ddead9d6f5570f23433ffaef0188a8e93c0220b3d59ae24b870927e9e5908619f357725c1ab2d16905f39dd9d5f6cd23d3aabf6a1df2abdc865683f603912b8f SHA512 6374536299c691fd12a3f8b7cd27291e6f3b0b6d159284b2866caaed6a7f124439c16e659e6da5aae9e72d613de2a1e1b80066c961e122e90ad644e9a32633cc
+DIST mysql-5.7.36-patches-01.tar.xz 6396 BLAKE2B ed9783f207d40fc220992c4193bdd8e96523f69414daa756f1f30306c1aedff9e96216ba2294a4c41eefbaf39c8bb37784bf1e7cce656c93f829c9cf0682fa6d SHA512 b0fbd41ebb2d32067e6c81707dffa91fece2d368f4b2fa47951492936509972d425b64d7613748c42b31cf9ba9dab697efeff70debe7268855a90d322d3f3158
DIST mysql-8.0.22-patches-02.tar.xz 7580 BLAKE2B a50704c3c58b1f67ca86edb233544137927b0ae5fdf302687b48f6fd30fbbd26798e8ef8282662586b25a7240b47278b44f944a8ca59f1a198bc228dd74459c9 SHA512 59f864452e9fdebe4d3990eff8b756e9bbfad58da216b74fa8b7e8391cb0d9d543ca2828591b9ed1ee276c1dec9e1851a8c2683507f0a326c85054e31cc3f950
DIST mysql-8.0.23-patches-01.tar.xz 7568 BLAKE2B 222120dcb5556457f382eefbb10f66f46fe1673c64730c8c8a5566942031bc98bab1f1182f747e79e23fccfb6b09197d5c2874aa2087104b6f1eaa25ea9fd60c SHA512 54222c420d57c1b206d920f22738746925ed1e0d78683f01c97cac5bd1d3450f70f784a7f603304b8595fb58120e691f94e28fa1d1884a7cc8bea1d7b177470f
DIST mysql-8.0.25-patches-01.tar.xz 3604 BLAKE2B 09cccab204c30d16bdc374bcd01d4a8e6298955f86f479b8e287aab74fb6bd9857547e360be725dfc66acb56e1bb5665277d340761d0110a8823763ad4d2d1f4 SHA512 6d90a34a20e9cbc7e7a9b5b63a1408f33ac8523f2be6c9ab6d9ad7589c3ded83c87e460d782d4d8c33f11b337151fd8db994099e371260ecf204933e844eb50e
DIST mysql-8.0.25-patches-02.tar.xz 6456 BLAKE2B c9c1020a505ebcee836f8dc3bbe540ff924a0174daf36c37b852df267a81919d37581d1c9be037d52cdcd34c27c5c34d3f0af6160857b22d8ab4d8ece37798e0 SHA512 3c3726b397f3a6fb1d84396bb571b4903a167c9a47273b9d5996949e1d3febc96d3528bfa8dfaeea073a245051ae10c983f2ad258268babc91649563ce3cfc00
DIST mysql-8.0.26-patches-01.tar.xz 6980 BLAKE2B 5fc86125b622ac978dc7ec3d6954a1d366315a57b6f56ca8dade9ad4a255b4b793ad33736404b29ab2db12f726897f014aeec9232dc52954087e7533d0f593d2 SHA512 00e6478716cf857b8ab768ec481dc1e7d809db17a9d899a52822f61dcc18797e87c0eecfafb1bb9065895c1b261c03c87fe0593b59dc86fb40853b0c660c9bfb
+DIST mysql-8.0.27-patches-02.tar.xz 7204 BLAKE2B 1a3548f8b48b63a1d38cd9826f8ed2daf3d396276e8887e0a02a73fb91e544e1d0f1da9560351f03d3345d2ea5e8f61e5a9df2bce80558143bd3bc2558372232 SHA512 86c660d67d883fb84e6a38c39994bc30669c18b1d5bdedf908f112c7ebb59f0acf23903e6a81f01de1e6862a8cb779c7b537659ff18b090306eacf668dea47f8
DIST mysql-boost-5.7.32.tar.gz 52882168 BLAKE2B dd112fa1d8bd29d86fba076675b5b7c9c98b6fb876aed45a00e8a25be716102fc9aa688b7170bef07b1c9f9751737277774d8fb2c64c21e181ecae58f89b4a8a SHA512 33a617d040efd065ea1c2ad84be537f851480abd5cc8a6879b7f170bc4e6db9432bd03f2a6bc680b71f17839c508cab0e7ef1a3aba032197da1b7943c916c77a
DIST mysql-boost-5.7.33.tar.gz 52912380 BLAKE2B bca09314ae73932f6095799faa016998e65655cf5ea74d5596dcdc785e77014fe0b29a6c123e8618771f4a20a19978df00f7b79eea329aeb4b536ae71a4bef94 SHA512 1d1e1e5934fb17ff731fea45b88d4af6a394c2fbf0177a87803b18cb0eb4fb8d4939f82fc22b6cbc2af64022a44e206cd23e2e88ce11cc119c3ea22129d54e7a
DIST mysql-boost-5.7.34.tar.gz 52891142 BLAKE2B 986fe106d73495ea9acb837f699ef2b1ffd123d9728b61da42f990d670569f1f7c12dc0a8611c3a7b6e3ed7be9fc277e1a977fa6c6d06f7d156a2f492951d9c7 SHA512 4eab7e90477b75643df743d806d5abcfb56572a2aa003a354980287c9148209f4fb7f0158ba969fb0462c32e49fcb4cf2a79f0330ab1bd2b243725dbf6f31d6d
DIST mysql-boost-5.7.35.tar.gz 52959014 BLAKE2B 02cbc2201176773516479636ab40828a98bbc6bc1e90060e36d36af5c20a84b4b415d6e467328890ecff044834c81458fff8b717fd8942196dcf35e0ae85f298 SHA512 2469c8e13a236aee327bc0828804ba189e3abf78b6e0b3ef65b2343210f9c0cd5313d18b57ae3b76ca1487dc1d70854c8a12e6da61a6fffbce95854dcc792482
+DIST mysql-boost-5.7.36.tar.gz 52968383 BLAKE2B 4d5e4fcf8d56f4a1d1d54ee889d432ee3265f55ff9c0ecf6fe216e67790a49ed052b94457680daef4cb42df29f14db7b0e678e0f0443c20b7e2324c772c24313 SHA512 a95580efd5b87776ee7f1aae9b50d50d88c70a48c16e7a2d8c6ada0b1cadc5ec6074a859291a65caa1b50a00e08a9e350df342bb0c6ef74edaf21055331c081b
DIST mysql-boost-8.0.22.tar.gz 285934450 BLAKE2B 1ba0c9bb9a0cb74af4842d3b746f8b690c122cfbf2c6d5201ce95e59a257427a8683dd8d5c2be31dfe9ece4761366c1287fa7b841c45db222725bf76b0639bc6 SHA512 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612
DIST mysql-boost-8.0.23.tar.gz 291039175 BLAKE2B 3a7d3e05c774085d6078d0d3effd58d2df47521615356a2aa5efc2ea2ef8457e19ad57a054926ccff0a4752ca71d0464daa7fe9a3ac6c1b1d3bd86a9a82dfc58 SHA512 b8c2e2ac772b7b730f8b3bac7a5afb205da173b3639500606e7d1fac74832a0134027951855a2dc81af015e6158c924927ad63b9e1f2e7c823d45d4c4961c3f8
DIST mysql-boost-8.0.25.tar.gz 290265324 BLAKE2B 5393a2a2525a886d9ece19777deae01e6c0b24b9ff5a0a5ffb9075740ed912d0df59a165b6ec9ceb60c7c28f3062cda5cceb4da3a8280f42549984c846f1ce5c SHA512 af653ccff66a9d87221b46ad4f7bcc629700549f758998b9a7fb22e4573b9495a28624e031f016f9ad8fe0dfcf481b82f1ffe224aa48c2d45531570026b26081
DIST mysql-boost-8.0.26.tar.gz 291285918 BLAKE2B 6198ca8982a8c9df7e6ee4df5e2c1e0d64d2eb4d83cb7265317b58d55f6787c3240c8e40d196f2326ff3d66926ad7dab0705edd92e5a82881ce6ddb7f0c510b9 SHA512 63d47cb52407a816dc9f4330b99924624dfee46e57e7fdce19eff32909dd9e23251e2439d1807b002a1661b547173222c77465a3ca4dbb312414a84927809cfc
+DIST mysql-boost-8.0.27.tar.gz 292184025 BLAKE2B 177209f3c62b0326ca9d021c751a701dec84c1b15c946ab0a68b1b4cf0620468eb3a1df77a918284007a0fde1aaa6a9767d0baed57936612813ef583df51c35e SHA512 6ef2426c0bee46bdf8e2fa5cb159d5ae19f0bed4f7c9bea9b33e0dd922b568c3c68ca063dcbcd7ea6904aaea31877c10064ea10b4bc63fb40d9f31778e3a7891
EBUILD mysql-5.7.32.ebuild 37185 BLAKE2B 13be67482bf1e3e7171b9ce7468d51c1f67dc469f61c4ec18de94548e1077bb31fb7848feecd3761b3549fb4afbfaff6a128223b0bc516b0b4601edb4729468a SHA512 e457f6cc626d3ed452d772bba59428d60eed2c40d2d7fa52a9ab91538123e332d8c86b1a1da8217f1bd81c807c459d4397d237ac04c2e22f37a2e9e775878fc9
EBUILD mysql-5.7.33.ebuild 37400 BLAKE2B 9245b583265b65125d35d6d52c317c547ded926243c0d7d430e7739c27efc2148e40c968aa55eed964c3064c4f4df82ddeacfc180d47e62e51c5707bc7984311 SHA512 dba99a3536f75fced834e3eb9da03ae5e0f026409165cf805295f216b7e3bc2d153927f7716d1cc52bf4f1f1d88fa834383a25d16ca263e036c01f07db7935f9
EBUILD mysql-5.7.34-r1.ebuild 37926 BLAKE2B e54221ee692a88622ee14de708a8b6915e094c79e8a5335f21daa31de9faad2239a7bbecf0a0f6a06454181644d4d94fd391a4ad69e1357c46dd8823f0b2bc9e SHA512 487af4a1700925a64f57317094f6dcf77a78012efb2aff8ed56996e635376ba8337c247c089ac2cb68dff229af73978d542134149a9753475656a7f9ea88cdfa
EBUILD mysql-5.7.34.ebuild 37465 BLAKE2B bfefdb20a309c18080b7882f77f7ba5fcce53e36d65a31d6a3738cb08bc62e1667c9bcfd73776894c1927307f8d923cf3cb8cceac57393bf062b9753c98125aa SHA512 47504f10d25a7720470d4c411e7cc8abc5dc84d69de5db43dbb116eb9fe23d8330cc47ba0ca1f73de1f2e1020cd9da2fc16d3b3e1b1e2474dcb75e8a61ae31b0
EBUILD mysql-5.7.35.ebuild 38794 BLAKE2B 98fb41f3f809247823e40dcdf1a7a42d1522b22a466aa4e0049d875d7bf09fd1495e785cb637292bfb9084aac082b6cbe7bf3d6e9cf349c034ab8d93d44bcd72 SHA512 3e9ce6308bb4f0310aeed26fdfd576aba1c08380e1844b5a39162a918b29109fa653ab293c2dadd87619bab36c9a7d1077b67c79261ae1b904caceaaaf9f5ff9
+EBUILD mysql-5.7.36-r1.ebuild 38621 BLAKE2B cfacd3dd5c952d87bd0d688b381152b68287f55ca786af375a4b5a6e96d586619af51dce4b9565fc7231a5b76a2353209ea6e13cd53e33d073ce5817165c2f5d SHA512 95c1aed50a5127db05a8e849761fb3de453567a08420498cb6c054a9bc7f9a906896d23d948876790b3ea6f58b96e953db5d78302349a2e5f6e307fe8e7a3120
EBUILD mysql-8.0.22.ebuild 37464 BLAKE2B 144f41a1fc6f1da7fbcba3a69c6bee21919765e865d19f740152ce0e639a14a31a2731ddd925e95c5f5e682d9329c88648ae7d82f3070e7e6d758bccd47e39eb SHA512 0ffcc90f9b69902643305943a198bc36969cca9c88f615b824fc31e7a7f9f1e35645b2223c73357900c5ecaec0be19415b14cb48bd92d033ecc0b091af3e18d2
EBUILD mysql-8.0.23.ebuild 37606 BLAKE2B d61dc6769312ba2ebfe9cc22acd80e21d6643686cc705b27d2a4c757f22849c9f142d6f604ca6b081733c7942d0ca4b8e45d291880d240937d17dd4403844777 SHA512 fdf44f44d5f0e718f3f0031e8ea19420287226635c9298696843f21c5a0ab3caec68e9502839f9506abf1ac2977872d2ac7ddf027241f82bf1d314b50277e152
EBUILD mysql-8.0.25-r1.ebuild 38819 BLAKE2B 3d72eb2ef1401b4c953886fe8e03422eb6b1fa5048b0243da832f509008a88056623fcbfd2f67f8167d0cc79264f77d264128388ba55369dd2fcc0c52a1fcf73 SHA512 6422c0bd842d86cbe86e2dff22e7687d97ef4bb43a050521ecfad016f60a8feb195fe7f43ffd29592d9472b6bb4d5e25ac60710ac4ec3c819240f9e9b25dd2d9
EBUILD mysql-8.0.25.ebuild 38073 BLAKE2B 6a841ba18414360510eded7e384f9de4d81b7b558817dae5cf0ec83df8c0bd135e2ebd08ef5729d63a41764871b64384bf47a35858d8f55528d41c9fb8b8907a SHA512 1a1aa099b1503b74bd2d4fd267b92729a4d57f612e3629790d3739cc7da9defc3de5cd4ab9ae71b77f1102c8dab9b0cd45704173b1eeec26bccabf6a5dd809de
EBUILD mysql-8.0.26.ebuild 40523 BLAKE2B a65190c96c5257bb5c149fad673b72437802959a18d2bff1f7f33902490cf08c4a734bbdc383f685d3be50b9300082c6bea0ffaed49ba79f46596c3f913bea69 SHA512 b27bea81e6112ac4e3d24a261020e569e39c0e3fa3980cfda2c3c8042fac6f80c217767cd52a4c3115105899e588fda011002d611d406f43389ee657b4bc6db4
+EBUILD mysql-8.0.27.ebuild 40592 BLAKE2B ff5951d4dd4467b323e4f61912210b8bab93824e9e20991b773efbe7892c9fe9cd8d63747154f1d718ccf1c6b1826f818b5efb988bee6c270ef1a521a9f53cd1 SHA512 dd760d4631ca31e9a319343df825c545d8de5bf0ec13c078165ba096e5441a12318c2fd463574ef93fad3d0a78c0590255360f6c05215d381070ee2724fd8300
MISC metadata.xml 1265 BLAKE2B ce4c9d4870ab4915abe269b27cba4854c0b5d1f44683ef6e9ed5ad7eb17e0e89b9f0b5ecce77477819afc16d9b769de4d084457b4a10032969d53dd093af209a SHA512 1cd8b25e9f1979ef95babf5a506b3978569e341a031b9e4d52b383166f3311310934338747b05363e11bcdf61f3c76f6a4eff62f7ed949bc151c1ed3c93dae42
diff --git a/dev-db/mysql/mysql-5.7.36-r1.ebuild b/dev-db/mysql/mysql-5.7.36-r1.ebuild
new file mode 100644
index 000000000000..53dd2931b101
--- /dev/null
+++ b/dev-db/mysql/mysql-5.7.36-r1.ebuild
@@ -0,0 +1,1286 @@
+# Copyright 1999-2021 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.36-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 numa +perl profiling
+ selinux +server static static-libs systemtap tcmalloc test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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?]
+ >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?]
+ )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ >=dev-libs/openssl-1.0.0:0=
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ virtual/libcrypt:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=[ssl]
+ 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:=[ssl]
+ 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
+
+ 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
+
+ # code is not C++17 ready, bug #786402
+ append-cxxflags -std=c++14
+
+ # 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_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # 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 \
+ innodb.alter_kill \
+ innodb.innodb-multiple-tablespaces \
+ innodb.import_compress_encrypt \
+ perfschema.privilege_table_io \
+ ; 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.mysqldump_bugs \
+ 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-3" ; then
+ # >=dev-libs/openssl-3 defaults to security level 1 which disallow
+ # TLSv1/1.1 but tests will require TLSv1/1.1.
+ einfo "Set OpenSSL configuration for test suite ..."
+ cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
+ openssl_conf = default_conf
+
+ [ req ]
+ default_bits = 2048
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+
+ [ req_distinguished_name ]
+ countryName = Country Name (2 letter code)
+ countryName_default = AU
+ countryName_min = 2
+ countryName_max = 2
+
+ stateOrProvinceName = State or Province Name (full name)
+ stateOrProvinceName_default = Some-State
+
+ localityName = Locality Name (eg, city)
+
+ 0.organizationName = Organization Name (eg, company)
+ 0.organizationName_default = Internet Widgits Pty Ltd
+
+ organizationalUnitName = Organizational Unit Name (eg, section)
+
+ commonName = Common Name (e.g. server FQDN or YOUR name)
+ commonName_max = 64
+
+ emailAddress = Email Address
+ emailAddress_max = 64
+
+ [default_conf]
+ ssl_conf = ssl_sect
+
+ [ssl_sect]
+ system_default = system_default_sect
+
+ [system_default_sect]
+ CipherString = DEFAULT@SECLEVEL=0
+ EOF
+
+ local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
+ 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 \
+ main.plugin_auth_sha256_2 \
+ main.plugin_auth_sha256_server_default \
+ main.plugin_auth_sha256_server_default_tls \
+ 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_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/percona-server/percona-server-8.0.22.13.ebuild b/dev-db/mysql/mysql-8.0.27.ebuild
index 8b514bd03ae3..be17938dfdd9 100644
--- a/dev-db/percona-server/percona-server-8.0.22.13.ebuild
+++ b/dev-db/mysql/mysql-8.0.27.ebuild
@@ -1,35 +1,30 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
CMAKE_MAKEFILE_GENERATOR=emake
inherit check-reqs cmake flag-o-matic linux-info \
multiprocessing prefix toolchain-funcs
-MY_BOOST_VERSION="1.73.0"
-MY_PV=$(ver_rs 3 '-')
-MY_PV="${MY_PV//_pre*}"
-MY_PN="Percona-Server"
+MY_PV="${PV//_pre*}"
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.22.13-patches-02.tar.xz"
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.27-patches-02.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}
-"
+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.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"
+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 ldap numa pam +perl profiling
- rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin"
+IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling
+ router selinux +server tcmalloc test"
RESTRICT="!test? ( test )"
@@ -41,7 +36,8 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
+# -ppc, -riscv for bug #761715
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips -ppc ~ppc64 -riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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
@@ -60,23 +56,19 @@ COMMON_DEPEND="
dev-libs/libevent:=[ssl,threads]
>=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}
+
+DEPEND="
+ ${COMMON_DEPEND}
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
virtual/yacc
server? ( net-libs/rpcsvc-proto )
@@ -85,16 +77,19 @@ DEPEND="${COMMON_DEPEND}
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
+
+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 )"
@@ -181,14 +176,6 @@ src_prepare() {
-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
@@ -208,13 +195,8 @@ src_configure() {
# Bug #114895, bug #110149
filter-flags "-O" "-O[01]"
- append-cxxflags -felide-constructors
-
- # code is not C++17 ready, bug #786402
- append-cxxflags -std=c++14
-
- # bug #283926, with GCC4.4, this is required to get correct behavior.
- append-flags -fno-strict-aliasing
+ # Code is now requiring C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08
+ append-cxxflags -std=c++17
CMAKE_BUILD_TYPE="RelWithDebInfo"
@@ -251,7 +233,7 @@ src_configure() {
-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_BOOST="${S}/boost"
-DWITH_ROUTER=$(usex router ON OFF)
)
@@ -306,17 +288,20 @@ src_configure() {
if use server ; then
mycmakeargs+=(
- -DWITH_AUTHENTICATION_LDAP=$(usex ldap system OFF)
- -DWITH_COREDUMPER=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 jemalloc ; then
+ mycmakeargs+=( -DWITH_JEMALLOC=ON )
+ elif use tcmalloc ; then
+ mycmakeargs+=( -DWITH_TCMALLOC=ON )
+ fi
+
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
@@ -336,8 +321,6 @@ src_configure() {
-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+=(
@@ -366,12 +349,12 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
- # Run CTest (test-units)
- cmake_src_test
- retstatus_unit=$?
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
@@ -404,38 +387,45 @@ src_test() {
touch "${T}/disabled.def"
local -a disabled_tests
+ disabled_tests+=( "auth_sec.atomic_rename_user;103512;Depends on user running test" )
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+=( "auth_sec.openssl_without_fips;94718;Known test failure" )
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.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_buffer;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_analysis_functions_distance;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_operators_intersection;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.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.mysql_load_data_local_dir;7416;Known test failure" )
- 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+=( "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "innodb.alter_kill;0;Known test failure -- no upstream bug yet" )
+ disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet" )
+ disabled_tests+=( "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- 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;6804;Known rounding error with latest AMD processors" )
+ disabled_tests+=( "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware")
+ disabled_tests+=( "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test" )
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+=( "sys_vars.innodb_sys_tablespace_encrypt_basic;7415;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+=( "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+" )
+ disabled_tests+=( "x.message_protobuf_nested;0;False positive caused by protobuff-3.11+" )
if ! hash zip 1>/dev/null 2>&1 ; then
# no need to force dep app-arch/zip for one test
@@ -443,6 +433,55 @@ src_test() {
disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" )
fi
+ if has_version ">=dev-libs/openssl-3" ; then
+ # >=dev-libs/openssl-3 defaults to security level 1 which disallow
+ # TLSv1/1.1 but tests will require TLSv1/1.1.
+ einfo "Set OpenSSL configuration for test suite ..."
+ cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
+ openssl_conf = default_conf
+
+ [ req ]
+ default_bits = 2048
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+
+ [ req_distinguished_name ]
+ countryName = Country Name (2 letter code)
+ countryName_default = AU
+ countryName_min = 2
+ countryName_max = 2
+
+ stateOrProvinceName = State or Province Name (full name)
+ stateOrProvinceName_default = Some-State
+
+ localityName = Locality Name (eg, city)
+
+ 0.organizationName = Organization Name (eg, company)
+ 0.organizationName_default = Internet Widgits Pty Ltd
+
+ organizationalUnitName = Organizational Unit Name (eg, section)
+
+ commonName = Common Name (e.g. server FQDN or YOUR name)
+ commonName_max = 64
+
+ emailAddress = Email Address
+ emailAddress_max = 64
+
+ [default_conf]
+ ssl_conf = ssl_sect
+
+ [ssl_sect]
+ system_default = system_default_sect
+
+ [system_default_sect]
+ CipherString = DEFAULT@SECLEVEL=0
+ EOF
+
+ local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
+
+ disabled_tests+=( "x.connection_tls_version;0;Not compatible with OpenSSL 3.x error messages" )
+ 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}"
@@ -455,32 +494,6 @@ src_test() {
done
unset 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 \
- main.persisted_variables \
- ; 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
@@ -513,10 +526,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index e10a0fef72c6..a020a9ec2a47 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -2,13 +2,10 @@ AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e
AUX my.cnf-8.0.distro-client 749 BLAKE2B b01b39c85430714b5a4bfb9923c9ed1df99cdcef0583b25f28c2ebeee264732f4402198b1918e5ec5b4b1091dbda2d321baf31fe87eae00792b20042260969b3 SHA512 62aa589833126c2b78528e103f2de11ba0e339615cb00170a0f9f53bbb123a4bf99f2041819440297ab6cc34cf57333488e6ae12082fa5dcbe1b0ddef5f6108d
AUX my.cnf-8.0.distro-server 1125 BLAKE2B f4d6941aad1fc29e81e6c805ac42f4c8d3c7bc250990a9c432800dbe25b5c31be08d8e3895666b57f21606ffb69e704c57ed2692fd94696b9d325a4442596587 SHA512 82d35b7bc944e5690e1f2670a3d5674845610c2d11d6d8b1c5784ccb3877c6298de70eced3d7c497c0bcaecfa9e339ac43ce0534a97e7d976e950bb1a7f5c75d
DIST boost_1_73_0.tar.bz2 109247910 BLAKE2B 5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8 SHA512 86c296511c0766145097625a62bf099c3d155284d250ad6e528e788bc90b2945838498dfe473c6c6c78d1694b6fba8e19f7dee0d064a043841e6231603fff668
-DIST percona-server-8.0.22-13.tar.gz 530806570 BLAKE2B 256e5afa2e3908617c41ffcab591ccdbfd932a8ba3ce25fbf2a0be2cdfa80991b0c2d090c11ffae64e4bb3d8cf9f3011b70974ab22cbab023f6625ac422f3c73 SHA512 9b7a1d06885eb4412361bb3920adc9f050f8da95584eb910c97c8877a433ead04d02f2908e5e9648b1d79cdba677727fdb745377feac3c958339588d5f0cdf2b
-DIST percona-server-8.0.22.13-patches-02.tar.xz 9620 BLAKE2B c04e97ed422719bec5008b668e2ce3ecd5b848338a9f2f2ecd2fc867307b7fce9bae4cb0efd44f9b950f74d7f31394c06248d1c72784e9c0790378e2ea4d7934 SHA512 2476ee2f4096eaee211017609f82cf8fa9817cda6345336f478257711b64b8c37340b482a02f3d0b19e16e01055cf619cdd1b66d5fbfa0fd1d8edbd529c4096f
-DIST percona-server-8.0.23-14.tar.gz 528227168 BLAKE2B c497e69d3e7f370e6ffd71ef8129fccb35d8814e713bf78da04b7517f56e7d733d0b54543e86a24568587ae270bd7ca7add36646845e8f7dc5c288aebd1db8c7 SHA512 199669fc53b80426be709a2d7026f6aa821f2d98e5763b3311f564550687cc6401def191f56c615ffed69264a09aaec78ca8371d35a6a69386832f24f30df71b
-DIST percona-server-8.0.23.14-patches-01.tar.xz 5908 BLAKE2B 968fbe0f8e3666ada008d81e9e07a5149dc6137908bf955bdf37c6bc6703cdb7a1d9a7395435d6b8772865b08d6d6716690331968069e4c1d3059a38b3c8ca49 SHA512 31983837d7fbd42b5e227f6617e2b59303ce185c613f620a61a9b9d26cd075feaf58969e3d8b415c70ee796bd1e912204cd5780e6d07cf6e2b0dc28ca41b6f70
DIST percona-server-8.0.25-15.tar.gz 531072362 BLAKE2B aa6867a8ac72325596393723cf8735329f638cfe11f790c7690dc5f45dcf01f99f9f999c551b2ad6b9f287f8763e8b262fef7c9327b82882493b576acd8d7a69 SHA512 500fc4ab5d275d7d1d2b048920d22d725074450d9f356b4ea739a4c276bfe767db76e2b52a358867d77805ef288cfdb80ab6e230bfa77a84b97536bf153c443f
DIST percona-server-8.0.25.15-patches-01.tar.xz 7624 BLAKE2B b06495859f3df546bc42e69ec77007a335103020313524ed728309764fea8ca2ea6f246938852ab2fb5ea12b4d901af5ebb9abff4d99b7e56d6ffd501d10bd38 SHA512 69b2d478046666d7c5dbffe662f4e000fd1c2c8789bcaeea72b8bb229ad85d8cd54a293c74440f93c56dc07a06143553ff989711787e6cd610a8e23bb353a1df
-EBUILD percona-server-8.0.22.13.ebuild 39889 BLAKE2B 0a5f64db96a74046cf9a100d81b064e8c76215322ccd595f29103654f35b71f9ed60d1e60200f5a2aed105f5ffe72da67d44e76f9b5a3249fd8448478c8b1bab SHA512 b02d0974cfc4fbfeaf017bf0964b0dc34c70252543b5ecd6613bb76e5e3500806408db1ba6b5ebd58b24b2995c4098a0193444948c5daa7b0d71c1c492939d03
-EBUILD percona-server-8.0.23.14.ebuild 40149 BLAKE2B 2a0659552894b3fc1babc40431445331ce75f0e9be289967ab34d5118fbf09f583cf844f37544e6ce53f7d8cd15770d25939e120a0d6f3653163ecffc79ecf21 SHA512 de541d62f38afe7f6b7de73a172c68738e273e4e19daab520e34ea97a160710b38bc7a5659005b4867870b392b3f9b21206338c4286bdc47e88d709fb1726b34
+DIST percona-server-8.0.26-16.tar.gz 532328971 BLAKE2B bef32f7a26261f3b0d89bd9b95b826101e2e84c662ce2200a2d9d8a612d949804d233905db71bfab5aa04458e7773231659d67ea09e08e68df8ef5eca4391f39 SHA512 9ae60e2d81dfaabc214692cd0919c2fc3ba698bd0a399e42df662766c1d67714f6f3cfe6416019b26e7866bc59b78d99fc5767f64ede1ca8e5a344995c1ff4c0
+DIST percona-server-8.0.26.16-patches-01.tar.xz 8144 BLAKE2B 28a4eaec657c09a6f8290b654dd5316d44a4cbf94e418edee3754742f21df56a058de9332c15abbb7c8bbd3ed6fc63e48e6c5fa77524dccf44ff1d5a89085a6b SHA512 4a128a89abc1f48582b0c6ab841643fa0b7e018eaa32414e775705cd1e8c2dcacecd334face9db33775ca3a2a862528e1cc7f2bfd8b259b7367f0f2ebdee52c4
EBUILD percona-server-8.0.25.15.ebuild 42717 BLAKE2B e7067ee46740fc6c40cbee53fe4ac5bc602eebec871e07bea21c64beab3a053923afaed3ee1c3f74c13885245337e410c108055dcbb3c5c358c22bfb2ddb1cac SHA512 5676a89d5b5d925132fdb3b9cdd15c334476076f231f267667f11d0df7fdf9de650a614fef2afc1e4a08f2463fdb398c0c2b5207b41a83a0b79901bbc501d550
+EBUILD percona-server-8.0.26.16.ebuild 42897 BLAKE2B ace80127ce9448e1ba3772dcca7fefd85a96e14b96d3811d3705fee4cd719917d5975f6dcc43b8ff2e617bfc20d2ebed3c482b93d8a1324c3a24eaf06f847355 SHA512 0d718b32128c5a1067226b41ff4cf31c9fa29f40ecd7ca7c933d16019495ab2d5555a88a4b4c82d4f1b90b2073d9032558b84c63b58d286ce4d1fbe70a9610d1
MISC metadata.xml 1011 BLAKE2B 59166664921919352aa3bd37c1b8b8e9f5fe142698db249105908afd61f4747ddcbffa3a7f22869381126cbb9f609eebde2d103b0dc283410cbbc6fa67a4964c SHA512 aef0bef1758e147e1a7120d5147388501efe7d3bc56dcb464521fcff8ee99052213415c2388b19aa4d4252120f9e56f1edfacd5cd8ced8bcec5422b8e7df282c
diff --git a/dev-db/percona-server/percona-server-8.0.23.14.ebuild b/dev-db/percona-server/percona-server-8.0.26.16.ebuild
index 65bf6f855cba..9098b344ce11 100644
--- a/dev-db/percona-server/percona-server-8.0.23.14.ebuild
+++ b/dev-db/percona-server/percona-server-8.0.26.16.ebuild
@@ -17,7 +17,7 @@ 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.23.14-patches-01.tar.xz"
+PATCH_SET="https://dev.gentoo.org/~whissi/dist/percona-server/${PN}-8.0.26.16-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
@@ -41,7 +41,7 @@ REQUIRED_USE="?? ( tcmalloc jemalloc )
router? ( server )
tcmalloc? ( server )"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 -riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-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
@@ -366,12 +366,12 @@ src_test() {
}
local TESTDIR="${BUILD_DIR}/mysql-test"
- local retstatus_unit
local retstatus_tests
- # Run CTest (test-units)
- cmake_src_test
- retstatus_unit=$?
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
# Ensure that parallel runs don't die
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
@@ -406,37 +406,49 @@ src_test() {
local -a disabled_tests
disabled_tests+=( "auth_sec.atomic_rename_user;103512;Depends on user running test" )
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.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" )
+ disabled_tests+=( "gis.spatial_analysis_functions_buffer;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_analysis_functions_distance;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_operators_intersection;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.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.alter_kill;0;Known test failure -- no upstream bug yet" )
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.percona_log_encrypt_failure;0;Requires proper keyring setup" )
disabled_tests+=( "innodb.upgrade_orphan;0;Sporadic failing test" )
disabled_tests+=( "main.coredump;0;Known test failure" )
+ disabled_tests+=( "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.mtr_unit_tests;7975;Known test failure (PS)" )
disabled_tests+=( "main.myisam-blob;0;Sporadic failing test" )
disabled_tests+=( "main.mysql_load_data_local_dir;7416;Known test failure" )
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.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" )
+ disabled_tests+=( "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- 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;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+=( "sys_vars.innodb_sys_tablespace_encrypt_basic;7415;Known test failure" )
+ 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+" )
@@ -446,6 +458,55 @@ src_test() {
disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" )
fi
+ if has_version ">=dev-libs/openssl-3" ; then
+ # >=dev-libs/openssl-3 defaults to security level 1 which disallow
+ # TLSv1/1.1 but tests will require TLSv1/1.1.
+ einfo "Set OpenSSL configuration for test suite ..."
+ cat > "${T}/openssl_tlsv1.cnf" <<- EOF || die
+ openssl_conf = default_conf
+
+ [ req ]
+ default_bits = 2048
+ default_keyfile = privkey.pem
+ distinguished_name = req_distinguished_name
+
+ [ req_distinguished_name ]
+ countryName = Country Name (2 letter code)
+ countryName_default = AU
+ countryName_min = 2
+ countryName_max = 2
+
+ stateOrProvinceName = State or Province Name (full name)
+ stateOrProvinceName_default = Some-State
+
+ localityName = Locality Name (eg, city)
+
+ 0.organizationName = Organization Name (eg, company)
+ 0.organizationName_default = Internet Widgits Pty Ltd
+
+ organizationalUnitName = Organizational Unit Name (eg, section)
+
+ commonName = Common Name (e.g. server FQDN or YOUR name)
+ commonName_max = 64
+
+ emailAddress = Email Address
+ emailAddress_max = 64
+
+ [default_conf]
+ ssl_conf = ssl_sect
+
+ [ssl_sect]
+ system_default = system_default_sect
+
+ [system_default_sect]
+ CipherString = DEFAULT@SECLEVEL=0
+ EOF
+
+ local -x OPENSSL_CONF="${T}/openssl_tlsv1.cnf"
+
+ disabled_tests+=( "x.connection_tls_version;0;Not compatible with OpenSSL 3.x error messages" )
+ 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}"
@@ -462,6 +523,7 @@ src_test() {
local impossible_test
for impossible_test in \
encryption.default_table_encryption_var \
+ encryption.innodb-redo-nokeys2_release \
keyring_vault.innodb_online_alter_encryption \
keyring_vault.innodb_row_log_encryption \
keyring_vault.install_keyring_vault \
@@ -516,10 +578,9 @@ src_test() {
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"
+ [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests"
- [[ -z "$failures" ]] || die "Test failures: $failures"
+ [[ -z "${failures}" ]] || die "Test failures: ${failures}"
einfo "Tests successfully completed"
}
diff --git a/dev-db/percona-xtrabackup-bin/Manifest b/dev-db/percona-xtrabackup-bin/Manifest
index 080d4dace415..a5172053ed78 100644
--- a/dev-db/percona-xtrabackup-bin/Manifest
+++ b/dev-db/percona-xtrabackup-bin/Manifest
@@ -1,4 +1,4 @@
DIST percona-xtrabackup-2.4.13-Linux-i686.libgcrypt20.tar.gz 85192746 BLAKE2B 7df4fee162587830a19499cd692d5e81ba67bb445ad0bea7bb93a9857bae5e4671740d01b817b6d04043abfd436ef88e0983dc7ab80d5d20426d9c05b470c79e SHA512 c2fa43aa4654cfcf06aa47ee20ee48e9b725aa3b0514419c5af5872d7ed37a971d5afe5aa4dc9475cf4d0738354a0ec35e6dd97a24ec00b2330465e94bafb365
DIST percona-xtrabackup-2.4.13-Linux-x86_64.libgcrypt20.tar.gz 87985226 BLAKE2B 937518b96d948098f2026397947250fbe4952752cf6f83fee5fdda4031564916bbfa07cd77a5db5db16150d446593b52fd82d6ee919ceb9fb0fb41de2f6ca631 SHA512 824ad9e94c38d51291afa1c9f1b9114c88c2b777ac9e5eb41a523463355521233b682920940084f8771820ccad6bd2a9ca280f6397eebd99ca26995712e68007
-EBUILD percona-xtrabackup-bin-2.4.13-r1.ebuild 1620 BLAKE2B ef323a0a0a7bc5a0a3f953ddcccf80be36c71ddf9d115c1ff3bab28afcb488a38422758242e691178585f3fc3e96798678ba804b946cb7c483fcabf5be6e9630 SHA512 6c0b0d95de6d5a38ff2b04c619645defe1ff6e23341380d837dc20f9b1e27cd103d92cbcf4fa0b1c17dbe6753c9f2c90c156ee819bb41ffe0e5eef06bf007b33
+EBUILD percona-xtrabackup-bin-2.4.13-r1.ebuild 1620 BLAKE2B 55d4de211b3f9bc4eddd1bafeab932a3c78aafc8b38750c3b4c0175fb7ac18f30af73d78f9e0a29a42cffee821a678953d905897315b6085308dc8ad961f1162 SHA512 636110d4dffab3e0d5e8b0af5b0fceb97e1325fe7b58708de2ff82748ea1b6b4eb609f8391d5f0af5c26589260ea2486fe3f241f4bbcf846637d1fe74a793045
MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3
diff --git a/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild b/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild
index 69f1ac6bae71..b35555d20dbf 100644
--- a/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild
+++ b/dev-db/percona-xtrabackup-bin/percona-xtrabackup-bin-2.4.13-r1.ebuild
@@ -30,8 +30,8 @@ RDEPEND="dev-libs/libaio
sys-libs/zlib
sys-process/numactl
|| (
- sys-libs/glibc[crypt(+)]
sys-libs/libxcrypt[compat]
+ sys-libs/glibc[crypt(+)]
)
!dev-db/percona-xtrabackup"
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 6dd4e5dac22a..e3898180f1f6 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -12,37 +12,17 @@ AUX postgresql.confd-9.3 2477 BLAKE2B 0d42eedb99c951c8c60ed02abb5d4526bc288e8dd5
AUX postgresql.init-9.3-r1 4999 BLAKE2B f2bc23a51b6d9643bbc14320aaa9c41b7eb1df86f8b760b9146739b14060178a415fe49b77a47b6bc5522759759fa0aefa9f0050b340534a64c2f22f89c7825d SHA512 a0f003c7d00b9749b8b25fce8ac728869e0c8f5a3c87e699b62806207413d5abba8db1e9d35e801316fbfb0ee070eb3b6a099b7991065c21cdb27ca7dc164bed
AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4b46c3739c3f805072040a26128cb2ad9a25d4a7c9f109a95696d739538d379af6bac53c656f5c41af45b6110de5 SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d
AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8
-DIST postgresql-10.17.tar.bz2 19153278 BLAKE2B 0f043a9e95a76b5b96572548b82ae35c0b9fb517214ea392e6ba278f78071811ea8942fd50c14508dc3380c797a2196b5c5cfadff299d6a379ee581db18e3489 SHA512 4989abe56cf631b367252c62f15c9f4a22a864a75d607fa29c2116c95e29f95bc3855df6b2fc88dbedcfc7b238d6732d13629fc967f09bbd3ea4d5c328cb925f
-DIST postgresql-10.18.tar.bz2 19197042 BLAKE2B 3754df1820d7ffb9b1d82960f2107b2b5a9fede66467254129a478e85f684ce7c2b51a87fa0f048b064a86c8b1eb766fabd5e2029ff1b53f25baef8b7edb3fd2 SHA512 8a564256b0a5f6375a817cc5db14e56f7f7ee831881a2dc78759e7f2cf708d95fb61ad75a01f13fb05517ab165c991794d837bbb93f60d54f4fb33ca0ac45729
DIST postgresql-10.19.tar.bz2 19261478 BLAKE2B 3ccd44d68980ddb0e394b811af20c213cf89eb8d4374d2c49c9cda5165f222ca849a2db4fe4d521991f15f9cc84ec35bafa91083b9625f2a6729159f490a94c9 SHA512 41b0f5026be7d563e41b54e9ea7199dd466a132d355be0b71a91d41f533d97fbf550eccf2a2ece3d60c5dab5921ebeea3ac4780c18c54b924df52d7423305a22
-DIST postgresql-11.12.tar.bz2 20075485 BLAKE2B 0986a31662a307f76c230d7945495b42c70417835c8d7c7b6781d0ff4317607c736d9278a4b8bb95582799b771011efca256d9507d5bb9db423f3ad43eb220fb SHA512 668914424e1dbe09a66d5272e5b0a17fa24c90d3d099f8161f1420eaa76675ea1c622e4d149bdfcb31f07af19602a500913cb97c49d717df23e374de09dc0274
-DIST postgresql-11.13.tar.bz2 20123787 BLAKE2B 5adededa826c2fac32e76eb097998309bf2f65705b3780433059318dbc65ca1b037049dfc5cd9bd874c27073429ced5cd5aa2178929a8ee59395c6dded0a4166 SHA512 1b2061d505a7460e0aaae53818e77fc99fa7b73eea119033a98a3d7dd3d70d00403998654990b03bbf6eb2df383e2f44791137c8922ea4015715f8bf49c5837f
DIST postgresql-11.14.tar.bz2 20172910 BLAKE2B a033752fc5fc593c96fe63a258b2cc0d4b896548a366e3fefa8afde1f96ab64aab97eb395b10ae10494709963ed924623279f76f66870c4faee435969400c1b7 SHA512 ab71461ee6fb4cdc5b4240f7ecd8af2497ce6780283fde2abf5951ffdb616bd0c8ed22b26fdfca402a346e663ff77c4d17f3284c9d700e6fd6795b2aec97c9be
-DIST postgresql-12.7.tar.bz2 20819005 BLAKE2B 4939cb314253bb9ca2b14639f730967ce7ad5c5eb135d529b112290e6b351f7b507d6428cc48b4e24f34f664b5f4938029ceb9cc6161c9aff5f60ba0b3f848c7 SHA512 47ca347df63a441e52e52442074e85d0ebd3a89f7eb037022c4690cbe88b21a6a959092a812b79bb30db47b5975a5d7908318c73b2685683d48b4789d4ae6a44
-DIST postgresql-12.8.tar.bz2 20849478 BLAKE2B 20ad970f03665b9c1f24c646096476398c1791c49eb4f34bb6c3b1c7cf3955bb79ef81e178e5d72ffb91625a9ec1cff409fa95d390caa02862fec2599e6d8a9b SHA512 970fe1041e427ac1c8a786c93e2079b0a9c8b3fcaf9d38877894eb02e8a9afc7cd73d7ac28078c455845a922a1b7d9c1e22cb7990d8d523dd6496af9442fba01
DIST postgresql-12.9.tar.bz2 20904260 BLAKE2B fc88d61d369569a3054b889848eaf1405a4f5137cd8c2cf27282115f70853dd4d5d8b4bf0a9fc60c63db936246a0a64077c9bfdb90685d4dfe375558e4519b2b SHA512 11697d8283f5df5a9c74c2406e94d1b6da6df8358ad48f3b773825aab98e8395f9fd4e3fc8b1e6ebad3743c3dadbda8b795d4fe84a447d7913223e136cf2b88f
-DIST postgresql-13.3.tar.bz2 21119109 BLAKE2B 395a3dc5cde8f579a3c35ea70346bdc630a8e8f2f86f310a5e4f4a1f6177dab7e78ba6e41c384ba650eb86813fcd428fea8aa22481f9a494cd80aa94bd7b52dd SHA512 1560cc766982a9ea9d33c77835b20e33e11b03acb77fc75d905c565883935a7dbcd27b9b2ab6a0ecdb815261f7c259865cb3dac85c10a3181c3fcaeb4d28bf60
-DIST postgresql-13.4.tar.bz2 21157443 BLAKE2B e16684ef59f213d23366e8d18c4bf6f81d6e2eac8e940449fee1ef6b150e7ff7d3dce8831b318d1fd3f72d642110576ebc7bd981185a39f19fea6357c58be170 SHA512 f1faf676ffdcee3e7f2c3b78f4badf44770d6be58090036d119d8fb0688e2b9f9159dd44fe850c179b8e23f256942c05edb8fcc385f0e852d16b37eace785b5a
DIST postgresql-13.5.tar.bz2 21186674 BLAKE2B 3e51d6d67bba09fb134cd71c48349674e0cacfaefee299620482c93f0b09edbfead578deb63083686ab691563b088fc0ea60a6281a0bcf9145689fb3ce1ec0f0 SHA512 c76effbca8ee63be48fa3aeb39c7038221848fe83ca2afc4e0904ba8c6a50b89aa2ad37080d4e3be75e9bdc2d6ca6dfefcda334ef55a5e1a8954bb955ce905e5
-DIST postgresql-14.0.tar.bz2 21836842 BLAKE2B a1b4676f861246125428cc943a8e6d4eebd230a8a6d3bf202819e58233c5ee790339d6bc319f3d7af6f95f177236bf5fabc0e48350aaca024c61c88ddae2600c SHA512 d0b5ea1bb63847a137216074f2ac2d1410723c61c279624b3034af4a130fe0e1b6d89a549c61065f025c3505af89bcd9728b04575fde2c932fa718813d2e9635
-DIST postgresql-9.6.22.tar.bz2 19003741 BLAKE2B adff6e81ec4b289bd5c51fa44adb38d7cc3936e2e5545ff23fccb0f3f1fe1c881ed70f9a0a5d366319f876eb01a9f675b66c9374b8b41615220f45a70450ad6d SHA512 371f85f2d02a8a3b888396440149e9b432f91e106a7feb8a163b275a0586843683124281a0965abf3c1215cb68e2002976913f88c75e35e52ac5f78d4145fd7b
-DIST postgresql-9.6.23.tar.bz2 19013235 BLAKE2B a7bd7a0678c2c58efd71f320f838ee66fa3d75fb37d95e1c070e59ece69d4b66850e676054807848dbccedca7e9a4cc0b244c3cf0f0ff039b88c4f9b221e8819 SHA512 205b47cf1c22519092f840a9b3bf6bdf95f455e5ba02a7e1bc1495f85bb25f8ccfe9f60c83dc2801f1366b88fc35e64c23eb9bdc89a4bb5d233243af4606d59c
+DIST postgresql-14.1.tar.bz2 21887101 BLAKE2B a496dfd513c52339d1b3cb72773f9611721fd7c5d2a702d6fd71f650a1d41c3d7bf6574eba23671c7f9f11718e007f51f9547949bdc3d7fe1ea2248ebfb8d70b SHA512 4a0bec157d5464bb9e5f5c0eb0efdede55526e03f6f4d660b87d161a47705eb152fa0878960b1581bce42a5ed28a1f457825ea54e8d22e34b5b8eb36473ceefd
DIST postgresql-9.6.24.tar.bz2 19047518 BLAKE2B 63b53cfb2c9381fe09ed76ef3cad1ec5014bcd3b4dea388cda5b4ad8b8084abc15a38dcd62e0c3fe0bcc922749e7a4bef4ec39287c4b1ea952b8245bbc72bc2e SHA512 c17ef8e7149bd136f6058e20b28f9a7307625614e37ff837feb7a6fa37b6932dfab6379285120c9bb0198961eb446c9979d5ee1f3e8583b09f981f52bee33505
-EBUILD postgresql-10.17-r2.ebuild 13662 BLAKE2B b4b813cfae66157cc760f7e117ce2bbd9c9f9c42030771ace9693355e1ba3d284871fb948ed0e7ee32c3e563e6085629f4192ba8d9593c42a3838590de6452a0 SHA512 46c5f06bded85409d65fc3eda42d677f6b052f0bbc6795722371504d4e192bb5b87282703d924e8c34e7a1ac19df2fe33af2818b16fd0037609b424ea4f41374
-EBUILD postgresql-10.18.ebuild 13619 BLAKE2B a7fb7f0c70b7a9d11ad7c29a1fd9c59e290c083f59bf018a237d4f0a601940c16716f7a022bff7857ccc5a7001201ecca9e9407b0e9ebd582172713a6bf1e8e7 SHA512 aeabfd5aedfc54022eabaa55dde89174ac0f6de6d044ce311ac0d0185f9882907910546af35ed92f4ff043cf09644d896362fea0db1f16d3d743d7186eef8e49
-EBUILD postgresql-10.19.ebuild 13614 BLAKE2B baa88185c744925278244ccd847289608e080b499ed88a5d3c7b412a86ecb4502c48e46155342a037ff71de0aa2f41dcbcee4c01151cb795ba87754383dcd240 SHA512 466cc792000a598635e2f13b4e7328e428d065a293ee50a6e50eefcc112b68ba8fbd7e46d834447d01aeee86fb75cf1b8d32493312e0dafa0bf8fedb43003a61
-EBUILD postgresql-11.12.ebuild 13593 BLAKE2B 9d4eaf3b84f0b5317fce6a35489a376a2e0ccd24d8096970bf24438b33dc1c0aaca22b032d5255b008b44950fdff7b5bed46e1a105e12c1c0502cd2da17a6780 SHA512 4fed5ba0d16e373c19f52a1ab8e3a8fa6cc24590f6ac914e4930dd1ed7cca1048449ad572f92a816b35f7455071dca717c480c14a334763f7cdf1a0ed1139bab
-EBUILD postgresql-11.13.ebuild 13601 BLAKE2B 7dfd802360e610e0058a447f22c183e7425f02d0c68110ac0aba12120351410f2e42b66104a55d5835d99ae07e95ba5792a7662184392718d97015ae74e40e51 SHA512 b5e847839b05edec5b00b797547705747543b0d5889489b89f00c76a7b3e8ecbd03968cee4f9011004c144b100f2e1e0d7acc88af8047734fa3fc49a9191532d
-EBUILD postgresql-11.14.ebuild 13596 BLAKE2B 03b9cfd476f2b35a9d2f0d589031b185d7f24cae1512c2357b2321a530a96c4a186fcbf12dd21ac36b932bfbcd1c58f4affd38f58eaccdad79f0571b800fe72e SHA512 0a0a44e4fe1c9206427764c0cab44fedf32703c3d14011abccab4de654b4549601aaa91864aa50a9f315bafe41c3e9a3a17b5b036190fd3eebda0ddffe03e287
-EBUILD postgresql-12.7.ebuild 13565 BLAKE2B b4a8005b07b3cf5844bb46635216539d6740bffacdfed3512e10c44dc63099411d402e54f3e11732c96181381cd84e386ba700ad63800a1795a443e9e13e4261 SHA512 e557e572f9282bedde4f334c66f4f58b0fe83e8e2c5a57605037893eac904c617a6481469c5eab3ea684b4d3f4823ec28d46d6e5a6077f40cb9a1174aafc1df3
-EBUILD postgresql-12.8.ebuild 13573 BLAKE2B 89bb2fc7bdc44292f5b6e8e96af7de709c3d4eb2c112d6500d77f9fdf0f18870235adea2000f1e0e07fe5426a106e74613c19652e1b51a9bb38df02e0a8b3917 SHA512 fb73604bdab1d682b73a1f9ba29fed365bb50336a8ddb88e13bb5f9e13d7c49b791638ec553101413b8a5383b51ea045b3a9b04952e8315ac617bf58d54d467a
-EBUILD postgresql-12.9.ebuild 13568 BLAKE2B e2b7b98e6a34ac7e3a0a76af61468f8e6f0b297046134730b36fca977ebef6490ee5e72b3e3c1b20764350f8fd2ea9891996b1c40ffcfc53a8b88f0ffd576676 SHA512 3e8ec47bfe3de215b40eef7ff3be556c731c46ea376504011979cfaf93fe53525da6bf563e6240529a8dab8e0aae99420abe608ef856491cea341580dbdc3120
-EBUILD postgresql-13.3.ebuild 14003 BLAKE2B 817538787d5eba96afd490e70a5e6873b117e676485241a71d031dd12675b0473f352bd0a2de059e2ab1d265656089f82081e65d87d18c44888717b8e2061e30 SHA512 24c9210237529014350517937e7c11dbe37e41cc9998bbc8a04c85c2e16d9f54742d801c5adac7a3dc4d1d3c4b6b992e0e61b79bded03e5e78c1fae244ec7367
-EBUILD postgresql-13.4.ebuild 14011 BLAKE2B 08da204eb66c48cc2b3596b636302bc044c7d8cfac5c73c003055a4373ae0612841ae2b546ba01c2d257cbb5944fd58b0e211d9a8e78288104a9bede1da8edcb SHA512 9530bdaa11c74ff2d96f8c3c737ad226896b39f10ca9ed182166dac2f38158436f4cc9e4ac3d4aaa82e63d06731dfc9c104acc1f2dc897b5d089c1be053b8ff8
-EBUILD postgresql-13.5.ebuild 14006 BLAKE2B 19b61bc2ef21ff00ac92b66e58ad29ad01a9adfdc6a1c1045d7d6b3e1f8d02d03fcc65c4304a3342aae653c1cfe240d250a95b4735617995dff7ea7e233ddddb SHA512 8249c52ac488f10da8b7b55c58f10f9818daf5a91993c8e7bb656bd8e8a241514da1fd6ad6278b18f49f8b5f615336abcc6be22116b8b6939ea0e4a3f0091db6
-EBUILD postgresql-14.0.ebuild 13999 BLAKE2B 82543108a4cedf363b6218f9aa028295840e6817d39aead26739d009b9b37acc354005e3962e923952f50b8237272554e9409adfe77f1f1eafcf80364070104e SHA512 829f5cfac6482b6ee39bc2c640f84d7b9beaf9c49034290a35a7d297ff045ccb16c369fd17d1551b62a1b2236735a59138727c076a894295c76322335b72bf9b
-EBUILD postgresql-9.6.22-r2.ebuild 14531 BLAKE2B 6e4bebfaabd74d9e4b07a98797bb79faadb36f067a48966c0f2e6fd933422e14199e579078503aa940225309d5c2846ec724788d76b4483fd87c3fe2aa81407f SHA512 c6b49704e3e971ca772e6365501a0567c7bcba3fd6182800ff57f319481726acadf45334fa6e80fe3ad2db9bc80afb86630cbccb5449a0741ef52524eb70b5d0
-EBUILD postgresql-9.6.23.ebuild 14539 BLAKE2B 7680f6ee9db7cf9bae2dc1e12ae69ceee557dbf8e44fece0777c9ee57936eb7df68866b1064c1e1bb4dd7966c527c8a93e6e0b311c29d7b3f70a212b1e163181 SHA512 613d9ca39bd38b858256a9f475ad3b5d235bbc502b8f8126b9b5c4fe7cf12e1f3b0b0af36bd3ea222037fbf73335550cf82a8c8c4589fdf99f068acd651a3b0e
-EBUILD postgresql-9.6.24.ebuild 14534 BLAKE2B b5122b0abc29e35b02d0dc819dedf92d62bbabca4f22fe696c13f4c514c417d3b005b4000a1df7bf9fe784adf0b645693e04addd69a3bfeed4db478791889934 SHA512 b3a670c5f28f3f478ef76c20a74bf2970e8de3892447b9921dabeedfa1b1637d0aeb22b0771265f231fb91598d7a827bd292cde7e8c48b695f7d2f7fbb4d0f9b
+EBUILD postgresql-10.19.ebuild 13611 BLAKE2B 1b3d6ec345cbbe5c0c5b9a6fd3c19c96d939e0e1382f1b4406c850ac33095a6cc2fcbb36dc409311be668f2abb22f2e59d907180a54ae78be94629fee9b23751 SHA512 751070eb4dbf86879a5c35f35f5ab474cb6af29742c6f29946a1532ba7a56635563816443e1e074437cb9032a0ef5f522e565a6857c3c704be6115ef0273fd40
+EBUILD postgresql-11.14.ebuild 13593 BLAKE2B 9d4eaf3b84f0b5317fce6a35489a376a2e0ccd24d8096970bf24438b33dc1c0aaca22b032d5255b008b44950fdff7b5bed46e1a105e12c1c0502cd2da17a6780 SHA512 4fed5ba0d16e373c19f52a1ab8e3a8fa6cc24590f6ac914e4930dd1ed7cca1048449ad572f92a816b35f7455071dca717c480c14a334763f7cdf1a0ed1139bab
+EBUILD postgresql-12.9.ebuild 13565 BLAKE2B b4a8005b07b3cf5844bb46635216539d6740bffacdfed3512e10c44dc63099411d402e54f3e11732c96181381cd84e386ba700ad63800a1795a443e9e13e4261 SHA512 e557e572f9282bedde4f334c66f4f58b0fe83e8e2c5a57605037893eac904c617a6481469c5eab3ea684b4d3f4823ec28d46d6e5a6077f40cb9a1174aafc1df3
+EBUILD postgresql-13.5.ebuild 14003 BLAKE2B 817538787d5eba96afd490e70a5e6873b117e676485241a71d031dd12675b0473f352bd0a2de059e2ab1d265656089f82081e65d87d18c44888717b8e2061e30 SHA512 24c9210237529014350517937e7c11dbe37e41cc9998bbc8a04c85c2e16d9f54742d801c5adac7a3dc4d1d3c4b6b992e0e61b79bded03e5e78c1fae244ec7367
+EBUILD postgresql-14.1.ebuild 13999 BLAKE2B 82543108a4cedf363b6218f9aa028295840e6817d39aead26739d009b9b37acc354005e3962e923952f50b8237272554e9409adfe77f1f1eafcf80364070104e SHA512 829f5cfac6482b6ee39bc2c640f84d7b9beaf9c49034290a35a7d297ff045ccb16c369fd17d1551b62a1b2236735a59138727c076a894295c76322335b72bf9b
+EBUILD postgresql-9.6.24.ebuild 14531 BLAKE2B 6e4bebfaabd74d9e4b07a98797bb79faadb36f067a48966c0f2e6fd933422e14199e579078503aa940225309d5c2846ec724788d76b4483fd87c3fe2aa81407f SHA512 c6b49704e3e971ca772e6365501a0567c7bcba3fd6182800ff57f319481726acadf45334fa6e80fe3ad2db9bc80afb86630cbccb5449a0741ef52524eb70b5d0
EBUILD postgresql-9999.ebuild 14253 BLAKE2B 0555ea0a5b1734e58797184590e0102a1e000879879965a3e7933681c7b8e665567a14a1d5d35eb070b5eb56c2416ccc7590f9270260884b77af57ce6b09e831 SHA512 1f643d1456c3ac6570539a04a4839221c360f389567f618e193dc647d5cd5b50403ab74afda3d48811717edf52d548a03c27e65e47ae7514a715432a906d487f
MISC metadata.xml 716 BLAKE2B c881b294d82137c80ddfde58ef50074a2e2b92e6883e6ebc5d8c71a366e8cbb0568756b2044fc411dd18e89da0e5625df80b876820e0abeaccc24d26880d5145 SHA512 dd045716ced95dbac8763aea347125d27bdb230eeb64bfc932f94110eda2ad42aa892e9cb19595c0d2f4a593d2629d9709a7aea792ac16661a2c210158368ba3
diff --git a/dev-db/postgresql/postgresql-10.17-r2.ebuild b/dev-db/postgresql/postgresql-10.17-r2.ebuild
deleted file mode 100644
index f3ee3cc29e7f..000000000000
--- a/dev-db/postgresql/postgresql-10.17-r2.ebuild
+++ /dev/null
@@ -1,459 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-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 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/libcrypt:=
-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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
-
- # https://bugs.gentoo.org/753257
- # https://bugs.gentoo.org/766225
- eapply "${FILESDIR}"/postgresql-10.0-icu68.patch \
- "${FILESDIR}"/postgresql-10.0-icu68-2.patch
-
- 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
- newtmpfiles "${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 && tmpfiles_process ${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-10.18.ebuild b/dev-db/postgresql/postgresql-10.18.ebuild
deleted file mode 100644
index 307cad6fd9fa..000000000000
--- a/dev-db/postgresql/postgresql-10.18.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-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 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/libcrypt:=
-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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
-
- # https://bugs.gentoo.org/753257
- # https://bugs.gentoo.org/766225
- eapply "${FILESDIR}"/postgresql-10.0-icu68.patch
-
- 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
- newtmpfiles "${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 && tmpfiles_process ${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-10.19.ebuild b/dev-db/postgresql/postgresql-10.19.ebuild
index 2928911e9e9f..95b3267c64db 100644
--- a/dev-db/postgresql/postgresql-10.19.ebuild
+++ b/dev-db/postgresql/postgresql-10.19.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-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)
diff --git a/dev-db/postgresql/postgresql-11.12.ebuild b/dev-db/postgresql/postgresql-11.12.ebuild
deleted file mode 100644
index 07aed06687cf..000000000000
--- a/dev-db/postgresql/postgresql-11.12.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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-11.13.ebuild b/dev-db/postgresql/postgresql-11.13.ebuild
deleted file mode 100644
index ca84f95e4f9e..000000000000
--- a/dev-db/postgresql/postgresql-11.13.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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-11.14.ebuild b/dev-db/postgresql/postgresql-11.14.ebuild
index 8ed12986c85f..07aed06687cf 100644
--- a/dev-db/postgresql/postgresql-11.14.ebuild
+++ b/dev-db/postgresql/postgresql-11.14.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-12.7.ebuild b/dev-db/postgresql/postgresql-12.7.ebuild
deleted file mode 100644
index 82e066d4d05b..000000000000
--- a/dev-db/postgresql/postgresql-12.7.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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.8.ebuild b/dev-db/postgresql/postgresql-12.8.ebuild
deleted file mode 100644
index 20d046c4d1be..000000000000
--- a/dev-db/postgresql/postgresql-12.8.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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.9.ebuild b/dev-db/postgresql/postgresql-12.9.ebuild
index b4ded6ad725c..82e066d4d05b 100644
--- a/dev-db/postgresql/postgresql-12.9.ebuild
+++ b/dev-db/postgresql/postgresql-12.9.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-13.3.ebuild b/dev-db/postgresql/postgresql-13.3.ebuild
deleted file mode 100644
index 4063b6442c59..000000000000
--- a/dev-db/postgresql/postgresql-13.3.ebuild
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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() {
- eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
-
- # 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
-
- local myconf="\
- --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 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)"
- if use alpha; then
- myconf+=" --disable-spinlocks"
- else
- # Should be the default but just in case
- myconf+=" --enable-spinlocks"
- fi
- econf ${myconf}
-}
-
-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
- newtmpfiles "${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 && tmpfiles_process ${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
- # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
- # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
- local old_ctype=${LC_CTYPE}
- export LC_CTYPE=${LC_COLLATE}
- emake check
- export LC_CTYPE=${old_ctype}
- 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.4.ebuild b/dev-db/postgresql/postgresql-13.4.ebuild
deleted file mode 100644
index 1f97899af30b..000000000000
--- a/dev-db/postgresql/postgresql-13.4.ebuild
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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() {
- eapply "${FILESDIR}"/${PN}-13.3-riscv-spinlocks.patch
-
- # 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
-
- local myconf="\
- --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 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)"
- if use alpha; then
- myconf+=" --disable-spinlocks"
- else
- # Should be the default but just in case
- myconf+=" --enable-spinlocks"
- fi
- econf ${myconf}
-}
-
-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
- newtmpfiles "${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 && tmpfiles_process ${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
- # Some ICU tests fail if LC_CTYPE and LC_COLLATE aren't the same. We set
- # LC_CTYPE to be equal to LC_COLLATE since LC_COLLATE is set by Portage.
- local old_ctype=${LC_CTYPE}
- export LC_CTYPE=${LC_COLLATE}
- emake check
- export LC_CTYPE=${old_ctype}
- 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.5.ebuild b/dev-db/postgresql/postgresql-13.5.ebuild
index c05e1ebbb59c..4063b6442c59 100644
--- a/dev-db/postgresql/postgresql-13.5.ebuild
+++ b/dev-db/postgresql/postgresql-13.5.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9,10} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1)
diff --git a/dev-db/postgresql/postgresql-14.0.ebuild b/dev-db/postgresql/postgresql-14.1.ebuild
index 37c02e4857a7..37c02e4857a7 100644
--- a/dev-db/postgresql/postgresql-14.0.ebuild
+++ b/dev-db/postgresql/postgresql-14.1.ebuild
diff --git a/dev-db/postgresql/postgresql-9.6.22-r2.ebuild b/dev-db/postgresql/postgresql-9.6.22-r2.ebuild
deleted file mode 100644
index c105a7861618..000000000000
--- a/dev-db/postgresql/postgresql-9.6.22-r2.ebuild
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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/libcrypt:=
-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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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/postgresql/postgresql-9.6.23.ebuild b/dev-db/postgresql/postgresql-9.6.23.ebuild
deleted file mode 100644
index c64d33741fad..000000000000
--- a/dev-db/postgresql/postgresql-9.6.23.ebuild
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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 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/libcrypt:=
-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? ( >=dev-libs/openssl-0.9.6-r1:0= )
-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
- newtmpfiles "${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 && tmpfiles_process ${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/postgresql/postgresql-9.6.24.ebuild b/dev-db/postgresql/postgresql-9.6.24.ebuild
index 800eb3aac297..c105a7861618 100644
--- a/dev-db/postgresql/postgresql-9.6.24.ebuild
+++ b/dev-db/postgresql/postgresql-9.6.24.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8,9} )
inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd tmpfiles
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT=$(ver_cut 1-2)
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index d3b2bc1c7c33..fe5004f6ade6 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -28,9 +28,9 @@ DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d3
DIST redis-6.2.5.tar.gz 2465302 BLAKE2B 51cc672ab432bb87560151521289d04e8fefb8e4df820f58a9b742131a0f1960c0019dec42a601bad827ec2a172375b88b6cf32a19aef42964e18f5a7a911c40 SHA512 8c54451032cbb627ec2827251556cba2010e56544baca7ea117b5afd2c2add484acbedd3baf21bdb8fd10672602cf52294a4e26b135c1406d7a723c048275e3a
DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
EBUILD redis-5.0.13.ebuild 4665 BLAKE2B cf9e076f373a99384e49a4f411aa7e34a692b94dbbb4b58e2465735efe55fbd05ea10152373a14ac115f4f08b41b5eff580d3b457bff596ff29af9981433ffda SHA512 6fc35519713d68a57fd18dd3a6b36f1ed109481be47c988c5335469fe760a63f8f976c9834df0f25d9fb35d1c9b634c60316d64e0fd3ae32460d819ecbed2216
-EBUILD redis-5.0.14.ebuild 4666 BLAKE2B 6d8a3f7eef132c3c342e2246feb27b3272f041f2dfe8371ee05b14c8842e48daa2064526211d22222122e3539a93e08dbd2709926cd79903fa74303a523e5274 SHA512 1216b1c29c4c8724639faf148022a329aa66ef09de949fc1767dfd90588f18e9208f63d52a351cbfc6ab70c28803ae7c5daf024ddfd05eebcdd91ccfece19382
+EBUILD redis-5.0.14.ebuild 4665 BLAKE2B cf9e076f373a99384e49a4f411aa7e34a692b94dbbb4b58e2465735efe55fbd05ea10152373a14ac115f4f08b41b5eff580d3b457bff596ff29af9981433ffda SHA512 6fc35519713d68a57fd18dd3a6b36f1ed109481be47c988c5335469fe760a63f8f976c9834df0f25d9fb35d1c9b634c60316d64e0fd3ae32460d819ecbed2216
EBUILD redis-6.0.15.ebuild 5122 BLAKE2B b6a0e8a15dba59fb7614ab9f0747f26165ce1ec96e735e783450c2a1eed9fa767a35d5ad172483b620da1dc0bb8b368643f692bb57c72c31deb4245774f60dfc SHA512 831b3fa61caad327c61e1132f53a35ae47efb1b5986142cdaf348aad0c6e885b9e36e1c4be2bfe99777270ef4f4074b2350913a435156b657dc01c71eaa31be1
-EBUILD redis-6.0.16.ebuild 5123 BLAKE2B 8d59bb2c02c5b2d91468182ff17c9b286bc31cabbfa8ac566595721e12e1197fe1158fea5aa5303baccd28cc2cec4db00a71edef5e7ca611ddba99b37062615d SHA512 af428c7da99e770fef3e695398b55a790f1ce8274f537d127f823ab1fb99966cf4f2d14e6eb289d0b75648416355c6d7be514e2007b6d15d17c0ace4e5142f38
+EBUILD redis-6.0.16.ebuild 5122 BLAKE2B b6a0e8a15dba59fb7614ab9f0747f26165ce1ec96e735e783450c2a1eed9fa767a35d5ad172483b620da1dc0bb8b368643f692bb57c72c31deb4245774f60dfc SHA512 831b3fa61caad327c61e1132f53a35ae47efb1b5986142cdaf348aad0c6e885b9e36e1c4be2bfe99777270ef4f4074b2350913a435156b657dc01c71eaa31be1
EBUILD redis-6.2.5.ebuild 5128 BLAKE2B 5c13e1c15456d1038ba306e6a59c26fc56dc9558aa15e846becc56a950864203d85ef03f8c2e3d41fa24cb62fca0963bcb253c0badf49052e3b0f6f25cd297f9 SHA512 c89904640ef675c807f673a4100058bb7443895272fd73a9bd9b6d749275be3124d25203603b9459178df9c58c25a9ffcb13c330b5daaa50a4cd53d1702e12d9
-EBUILD redis-6.2.6.ebuild 5129 BLAKE2B dadfb0c3b4e0b4f9ea096515c13a119a2c5c55aec1817e024f0c8f7d59b49661f559c3a0162560bd3e909f79dc9972df7ee01fcf9d127c857fff43099def1a03 SHA512 fbb519b23191f51f3ab4154a8fb0f6aeec569bc7ddeb9744d6b7536bf7f014604bd2a883dc0ef94a223fc28ccfde3c2cd110908b9b97cecbf7bd35bf447f5250
+EBUILD redis-6.2.6.ebuild 5128 BLAKE2B 5c13e1c15456d1038ba306e6a59c26fc56dc9558aa15e846becc56a950864203d85ef03f8c2e3d41fa24cb62fca0963bcb253c0badf49052e3b0f6f25cd297f9 SHA512 c89904640ef675c807f673a4100058bb7443895272fd73a9bd9b6d749275be3124d25203603b9459178df9c58c25a9ffcb13c330b5daaa50a4cd53d1702e12d9
MISC metadata.xml 365 BLAKE2B a2a33da17b877c0e66732b18af4c41e78ad7f60403f7d63b43d16797228c2fe0b3e2af2d0ff56af23baa944ae489163732d84e0921335919f5cea26c589e12ea SHA512 54a8b9cb42305881b12ef37c4da78ba3760ab2de4b8f2663b099eba7188deaeae08f5649a0c101d6acae63cf20c20d4c5d33274dc3ec6ced80bed68114f32db2
diff --git a/dev-db/redis/redis-5.0.14.ebuild b/dev-db/redis/redis-5.0.14.ebuild
index 28815605a2ac..a8ec106eeb4d 100644
--- a/dev-db/redis/redis-5.0.14.ebuild
+++ b/dev-db/redis/redis-5.0.14.ebuild
@@ -11,7 +11,7 @@ SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc tcmalloc luajit test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-6.0.16.ebuild b/dev-db/redis/redis-6.0.16.ebuild
index 7b33d5e5e542..347c229d7386 100644
--- a/dev-db/redis/redis-6.0.16.ebuild
+++ b/dev-db/redis/redis-6.0.16.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/redis/redis-6.2.6.ebuild b/dev-db/redis/redis-6.2.6.ebuild
index e20ab768e39d..ebe779b0841d 100644
--- a/dev-db/redis/redis-6.2.6.ebuild
+++ b/dev-db/redis/redis-6.2.6.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="+jemalloc ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
diff --git a/dev-db/rqlite/Manifest b/dev-db/rqlite/Manifest
index bcf4517d71ac..0189137d4008 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -436,10 +436,12 @@ DIST rqlite-5.10.2.tar.gz 363210 BLAKE2B b3200b7e945cef01dfba20aa29cd36789fcf325
DIST rqlite-6.1.0.tar.gz 380849 BLAKE2B 87f7d0531e3abe4a574672e17921f4a7bec76dee9ebf192f7c6d303bd8796a14c8cf7d8884eea956453a4116817423b7b0f8f8c62fbc0d92c67b828a996acf7c SHA512 e1f9a4b90a09b45953924686386e5d43e8df3a7082ee3ad204c8ea06469aaf1cf6ce40f8c8158253c55c33e3d3714deb62d84962f63ac565d36f95a474af67c8
DIST rqlite-6.7.0.tar.gz 405614 BLAKE2B 9845acc7310d0c5611b3922215db473f04f0828d7267c6f84607ca7cae744ff8fe0eccd3f4d4d0617e89b0490e00a0136e1959a2ec70a608c05d4af79b05d5e1 SHA512 c0df563216062fae9b2751d9417133fdd5c02834d3b388e3132902a921ed04b9fa43a41d750bd763882bbd0369ba51f454282f071f893a03b02e2f60c6d9494e
DIST rqlite-6.8.0.tar.gz 405944 BLAKE2B 74b7feae8c26e2cbd3537df1a5de995ed63c403b54d9ceba46f914bb62ae7c486ee0b7b0e8d6ca05518b26d4ce25170c6e6760eade6cecd965ebe91ef2a02f12 SHA512 26648b411ca8a8af436400dfd0d2316fa8a0ac86de1427b4e810d05fa809c3457b7e31f321e8e28840dd671530216b9a2a3e611785d7863f6212ee2bd2b028cb
+DIST rqlite-6.8.1.tar.gz 406206 BLAKE2B edf0450e443c7da683b02bc3eb87e82ee900519a030e1b579e8849b417de006b219df0d322c6efc26ec2f7cb70ecf617d4b1bbe174d42a52d3bb3f7e4cd8356e SHA512 c2015637ee1f2ac1611e2b0ebf1adc44ef7bdc136b0253f99a89e33877851d688b15bda1c5e5d2b4906b8bd987522d5cc91e7b56efb85aeb4215ea3afd6e35ea
DIST xorm.io%2Fbuilder%2F@v%2Fv0.3.6.mod 146 BLAKE2B 2db3e352ea5e2e318fe56cfa165d5345f4d85f0523ef6cc495c7f4596bedfb4dc3730c1842a62b75e532cb50505db10162dce1dee8ce5860a3e7b17c83a37910 SHA512 05161f20c13095943f26bbddf4e8ecf60a79121edef21567e51366fe13f5ac24ed8a5ff836484a23d27ccc5b5345a780973097218e2fbf43847cdc94d45ab7ec
DIST xorm.io%2Fcore%2F@v%2Fv0.7.2-0.20190928055935-90aeac8d08eb.mod 193 BLAKE2B ee37149b40933dc6446d105468e577643ff324821320be45bb82bcedc13882e5e1236dd89eaec2d883db33ccc60584dd9a4c5309b60822b778a393897478bb22 SHA512 5af3eed4c6cfb8f258f0fd2e8fc924aa15e16431298e1d79ffc9701fb37b8393dfa4dcf922d8ce704df7dbf6b36684540eb0972da3f13ddc4c5f3bdb07dc7090
EBUILD rqlite-5.10.2.ebuild 18905 BLAKE2B 81d229db95c08c23afe8d2e48f9a8e8bab6106d3360911ee6d8f7d85eae182a96c36ffc4079d0b925437ef6918580c1537354dc21b7c0e06dd7c8eefcf3497d5 SHA512 5727b6b43ebb32f7c3913a0cb348e01d53ff015942a5281310ceb46af317da95dd66afb5ea1be55512dad05e17c33e72c5436c4c619f21a086fa0822c3a131a8
EBUILD rqlite-6.1.0.ebuild 22425 BLAKE2B d9653134e8747684d6b6d16e1df58b3a89399f94e8907671e808e428ce826f54846f80a4b7f9c94408040e945c2ea4691c8f820862a5a070bc928c2a85e21e10 SHA512 42551843e414690987e97f7d2ce520469a9d7fcec194a053f6c9ebfd5bd6e7262093ea8d2102d5f32cc460ee8cba8c2cd354ce5987b6105e25e4c36ece4d1afd
EBUILD rqlite-6.7.0.ebuild 10554 BLAKE2B d019f928ce2994fd51ae8e9a6365b1f961114a173f704765351f31a4cfd3e1ddbb043f283f753043581b29632642fe6e111856491f53549342a5d533d2aded2f SHA512 8c879f03fc5aaadc7d880774de97ed5ea3afbfdf78151a458defc2586728f395c6418e02c31e45f60382adcdefb981e129b2407623fcf1982a8bc05778ccabba
EBUILD rqlite-6.8.0.ebuild 10554 BLAKE2B b47c26445454c14971fe4dc51d74c0e5834289fc749105e882e3281d306a792ff86e9f46f64fb6b7d33a154a078ef3eba858e4bc24a4fc233c155a9785a767fb SHA512 e1b89b140c0bec8924259fbe5d5782b3cb25cdc7b739c1186c3820e1c7d7e81a8d012111870239612ccb7b5f2584db2d9b4792adc7299afcf7bcc97323029d18
+EBUILD rqlite-6.8.1.ebuild 10554 BLAKE2B c357bfbd690fafd2273eb7c5822fa3bdf44501374c2715eadcdde7765d3b3e97c163ca5d1e91f71956117ee23a9048a426125f2ed57057f3ccf48d07cfc74ee0 SHA512 eb38545d2ae03793bcdae41a755a4399fb5c6dbd929c0cd0fd904b3624dc0812ad46fe6ff9c3cc85eeb8c9eaf6c2200e234261e764ea12284cc3bcf0655f8e45
MISC metadata.xml 305 BLAKE2B 43bc299dae9450677761bfaeaa02ac649ac4ecdbb35e3242c8525db13ef0471397a352b2a8aa751ec725ff8e9c86c2a8a19caf71bbe0de206f266d945f287561 SHA512 3dbddc6b5e4e6d8cd82beb722b5b45af6621e8fb84a1d3a1ec5c444026f595fd14babadc92084afe122202c9b940be21b2e1af145d24846de4225582e5e4d5de
diff --git a/dev-db/rqlite/rqlite-6.8.1.ebuild b/dev-db/rqlite/rqlite-6.8.1.ebuild
new file mode 100644
index 000000000000..cbcfbe0fe7d7
--- /dev/null
+++ b/dev-db/rqlite/rqlite-6.8.1.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=58413c9cb9bf65a956f73fd2e04925d99c6e7d36
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+
+EGO_SUM=(
+"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
+"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
+"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
+"github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod"
+"github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
+"github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
+"github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
+"github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
+"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
+"github.com/armon/go-metrics v0.3.9"
+"github.com/armon/go-metrics v0.3.9/go.mod"
+"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
+"github.com/beorn7/perks v1.0.0/go.mod"
+"github.com/beorn7/perks v1.0.1/go.mod"
+"github.com/boltdb/bolt v1.3.1"
+"github.com/boltdb/bolt v1.3.1/go.mod"
+"github.com/cespare/xxhash/v2 v2.1.1/go.mod"
+"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
+"github.com/circonus-labs/circonusllhist v0.1.3/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/fatih/color v1.7.0/go.mod"
+"github.com/fatih/color v1.12.0"
+"github.com/fatih/color v1.12.0/go.mod"
+"github.com/go-kit/kit v0.8.0/go.mod"
+"github.com/go-kit/kit v0.9.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-stack/stack v1.8.0/go.mod"
+"github.com/gogo/protobuf v1.1.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/protobuf v1.5.0/go.mod"
+"github.com/golang/protobuf v1.5.2"
+"github.com/golang/protobuf v1.5.2/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/go-cmp v0.5.5"
+"github.com/google/go-cmp v0.5.5/go.mod"
+"github.com/google/gofuzz v1.0.0/go.mod"
+"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
+"github.com/hashicorp/go-hclog v0.9.1/go.mod"
+"github.com/hashicorp/go-hclog v0.16.2"
+"github.com/hashicorp/go-hclog v0.16.2/go.mod"
+"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
+"github.com/hashicorp/go-immutable-radix v1.3.1"
+"github.com/hashicorp/go-immutable-radix v1.3.1/go.mod"
+"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
+"github.com/hashicorp/go-msgpack v1.1.5"
+"github.com/hashicorp/go-msgpack v1.1.5/go.mod"
+"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
+"github.com/hashicorp/go-uuid v1.0.0"
+"github.com/hashicorp/go-uuid v1.0.0/go.mod"
+"github.com/hashicorp/golang-lru v0.5.0/go.mod"
+"github.com/hashicorp/golang-lru v0.5.4"
+"github.com/hashicorp/golang-lru v0.5.4/go.mod"
+"github.com/hashicorp/raft v1.1.0/go.mod"
+"github.com/hashicorp/raft v1.3.1"
+"github.com/hashicorp/raft v1.3.1/go.mod"
+"github.com/json-iterator/go v1.1.6/go.mod"
+"github.com/json-iterator/go v1.1.9/go.mod"
+"github.com/julienschmidt/httprouter v1.2.0/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/labstack/gommon v0.3.0"
+"github.com/labstack/gommon v0.3.0/go.mod"
+"github.com/mattn/go-colorable v0.1.2/go.mod"
+"github.com/mattn/go-colorable v0.1.4/go.mod"
+"github.com/mattn/go-colorable v0.1.7/go.mod"
+"github.com/mattn/go-colorable v0.1.8"
+"github.com/mattn/go-colorable v0.1.8/go.mod"
+"github.com/mattn/go-isatty v0.0.8/go.mod"
+"github.com/mattn/go-isatty v0.0.9/go.mod"
+"github.com/mattn/go-isatty v0.0.10/go.mod"
+"github.com/mattn/go-isatty v0.0.12/go.mod"
+"github.com/mattn/go-isatty v0.0.14"
+"github.com/mattn/go-isatty v0.0.14/go.mod"
+"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
+"github.com/mkideal/cli v0.2.7"
+"github.com/mkideal/cli v0.2.7/go.mod"
+"github.com/mkideal/expr v0.1.0"
+"github.com/mkideal/expr v0.1.0/go.mod"
+"github.com/mkideal/pkg v0.1.3"
+"github.com/mkideal/pkg v0.1.3/go.mod"
+"github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
+"github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
+"github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
+"github.com/modern-go/reflect2 v1.0.1/go.mod"
+"github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
+"github.com/pascaldekloe/goe v0.1.0"
+"github.com/pascaldekloe/goe v0.1.0/go.mod"
+"github.com/pkg/errors v0.8.0/go.mod"
+"github.com/pkg/errors v0.8.1/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 v0.9.2/go.mod"
+"github.com/prometheus/client_golang v1.0.0/go.mod"
+"github.com/prometheus/client_golang v1.4.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.2.0/go.mod"
+"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
+"github.com/prometheus/common v0.4.1/go.mod"
+"github.com/prometheus/common v0.9.1/go.mod"
+"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
+"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
+"github.com/prometheus/procfs v0.0.2/go.mod"
+"github.com/prometheus/procfs v0.0.8/go.mod"
+"github.com/rqlite/go-sqlite3 v1.22.0"
+"github.com/rqlite/go-sqlite3 v1.22.0/go.mod"
+"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e"
+"github.com/rqlite/raft-boltdb v0.0.0-20210909125202-124e0a496d7e/go.mod"
+"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065"
+"github.com/rqlite/raft-boltdb v0.0.0-20210909131733-595768e10065/go.mod"
+"github.com/sirupsen/logrus v1.2.0/go.mod"
+"github.com/sirupsen/logrus v1.4.2/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.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/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
+"github.com/valyala/bytebufferpool v1.0.0/go.mod"
+"github.com/valyala/fasttemplate v1.0.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-20200622213623-75b288015ac9/go.mod"
+"golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod"
+"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5"
+"golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod"
+"golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
+"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/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-20190613194153-d28f0bde5980/go.mod"
+"golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod"
+"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110"
+"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/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-20190423024810-112230192c58/go.mod"
+"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/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-20190222072716-a9d3bda3a223/go.mod"
+"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
+"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
+"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
+"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
+"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
+"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
+"golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod"
+"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
+"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
+"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
+"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
+"golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod"
+"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365"
+"golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod"
+"golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod"
+"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
+"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b"
+"golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod"
+"golang.org/x/text v0.3.0/go.mod"
+"golang.org/x/text v0.3.3"
+"golang.org/x/text v0.3.3/go.mod"
+"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+"golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod"
+"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
+"golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
+"google.golang.org/protobuf v1.26.0-rc.1/go.mod"
+"google.golang.org/protobuf v1.26.0/go.mod"
+"google.golang.org/protobuf v1.27.1"
+"google.golang.org/protobuf v1.27.1/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-20190902080502-41f04d3bba15/go.mod"
+"gopkg.in/yaml.v2 v2.2.1/go.mod"
+"gopkg.in/yaml.v2 v2.2.2/go.mod"
+"gopkg.in/yaml.v2 v2.2.4/go.mod"
+"gopkg.in/yaml.v2 v2.2.5"
+"gopkg.in/yaml.v2 v2.2.5/go.mod"
+)
+go-module_set_globals
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-db/sqlcl-bin/Manifest b/dev-db/sqlcl-bin/Manifest
index 9909db117d7c..df2c5b026b75 100644
--- a/dev-db/sqlcl-bin/Manifest
+++ b/dev-db/sqlcl-bin/Manifest
@@ -1,3 +1,3 @@
-DIST sqlcl-21.2.2.223.0914.zip 37581478 BLAKE2B 098988e17b9f347e4ce6142626174565543e701ad22f8dccb2260b4b1b8f74cd12a0c3824790e403a7dc359e329026eb83a656fde8b49e5317b70813b3fc4b07 SHA512 c5fc99095b731f2f4dc52e01a2a6974fb01d655a4d862a0b89594921183c4019bf9c07562d9f7307af5686770b19c1277e47562c6ae6786530561e13b9fd27b3
-EBUILD sqlcl-bin-21.2.2.223.0914.ebuild 764 BLAKE2B 2fafbf449da275d796c8b537feb7875f7349c174487a7fdd164fc7600858159f95e1b893364e4237a01f2e2a705fb03472c407856a15b9cb122c59f4234c4ca3 SHA512 a9c9771fde95303eb20ee06185dfeae75d751e6876550e9157a5301460377f571a9d2e969f2f95e8a1f7817cdf31ed6824a27d947d5dea845ef40a3781dbfca8
+DIST sqlcl-21.3.1.281.1748.zip 37930215 BLAKE2B a28b3d0a7b67c371bc25148b7640c8deeed735d81762247ce16590865a00bcf85c712dd8706a03370e20082af0a88687cf127b20d8adfd57cea6454736e0cfe8 SHA512 198f745e72b0030f997f948fea45392783ac4aa76ec612a45df59daed28161946bc8dcf94a17ca955124edecd92e1d91719ad6863609a44fc15aa8ef7f4e904f
+EBUILD sqlcl-bin-21.3.1.281.1748.ebuild 764 BLAKE2B 2fafbf449da275d796c8b537feb7875f7349c174487a7fdd164fc7600858159f95e1b893364e4237a01f2e2a705fb03472c407856a15b9cb122c59f4234c4ca3 SHA512 a9c9771fde95303eb20ee06185dfeae75d751e6876550e9157a5301460377f571a9d2e969f2f95e8a1f7817cdf31ed6824a27d947d5dea845ef40a3781dbfca8
MISC metadata.xml 402 BLAKE2B ab9053ca959660812f1e1bc536950c0278d23c2906ff0a82483241f16960d2ae6ecd3eff091666df8fef38fdb073a6e3d0a5c8a7c7926426fead769365df49a5 SHA512 785e5acc8811d310b7cd5dc52fe3de6a22d7a92fa81a12db8a16b1df75a83f47ffea4e2fe21a712dabc5c1fff8da4d6f2e49ae0597373fd6e106aa13e81323d3
diff --git a/dev-db/sqlcl-bin/sqlcl-bin-21.2.2.223.0914.ebuild b/dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild
index 4abb49d13644..4abb49d13644 100644
--- a/dev-db/sqlcl-bin/sqlcl-bin-21.2.2.223.0914.ebuild
+++ b/dev-db/sqlcl-bin/sqlcl-bin-21.3.1.281.1748.ebuild
diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest
index 7f69b9b9fe5a..f2bcf74c590a 100644
--- a/dev-db/timescaledb/Manifest
+++ b/dev-db/timescaledb/Manifest
@@ -6,6 +6,7 @@ DIST timescaledb-2.2.1.tar.gz 2637225 BLAKE2B 4ab37bb5c45a3f7550c2694c8757fff3e8
DIST timescaledb-2.3.1.tar.gz 2699256 BLAKE2B 5949245d4a2bf52558b3f646d3723b0571745226fcc0de236c21ad7f32316eaeb0780aa94f8ccacd420cd0b0e47c8e048172b9f9355cf01797398b7f2fc85a6a SHA512 431f716ecd98504ce8e5b85e6fd10bf87ed39aac0244b7e968383537caae965ece09f016fed8ea010f5d42b392aed2d75b012deafd807d107f3dc75cbde287ec
DIST timescaledb-2.4.1.tar.gz 2401410 BLAKE2B 752d484b03a59cde22f295d47a90d05bfc0674428dd2d03152dbf6604e10c0fb6780815666f65f4d2df58075f7911636c13a671504eed78642e211ceda8aba3d SHA512 54baced28eb20aa14c78605ce7828f7c48210125d9193c3e1c88e9ae81616b2baf37a1eb97c5eb0ddc9b6820d534d134ad047f3c7ace374e29191a42142f35a1
DIST timescaledb-2.4.2.tar.gz 2409324 BLAKE2B 387f8ba3f446af227e7bd578177a6391c6ad6b1f889eb305499dc420805ad84041bf09b48cf7087727a5d111a7b374a5a5b9b83c0c97a69dc09d9c2c5d3ee9ca SHA512 56a0ff981e7374e2845d949c5bde2f157063b36cb7f9c54c6627c35ae8a8a5e5a3637fb66c6fd5c61a25b86f80a204ab7a6071b9705646bfee6a9b252c805b2d
+DIST timescaledb-2.5.0.tar.gz 2737786 BLAKE2B 3c3af86e016e2a2d2484b65cd7754eb0c2561358a51f2d3887aa9c0fce8ec2e8598751423b2858fa25955a0744a32ac40c40766d4abe91751701fe053e6c7498 SHA512 fcb3130b472d7ebbaabcce6259b5585ceff2c2b39abeb68f13f2bf5e715afb6a5ccab8534ea9e8eea0c7aef31045680e17f48ff46465d7e693450f1cd77001e4
EBUILD timescaledb-2.0.1-r2.ebuild 1395 BLAKE2B 617efa50243741f6b6d561d1d3af2742edd1a0867dbb6255823dbe06f5e7c9cdf816d8dd233ab086b1c26dfe60249df80efc609aa3466714319ffdf6ad918cd4 SHA512 16577d3c60d150126693a73825cdda0bfd93d6cb2edf9a66473c524147744c3be0c717152668eef0d6158937f840eacc27ba5974b73f32794261a4b0292dca5b
EBUILD timescaledb-2.0.2-r1.ebuild 1395 BLAKE2B 617efa50243741f6b6d561d1d3af2742edd1a0867dbb6255823dbe06f5e7c9cdf816d8dd233ab086b1c26dfe60249df80efc609aa3466714319ffdf6ad918cd4 SHA512 16577d3c60d150126693a73825cdda0bfd93d6cb2edf9a66473c524147744c3be0c717152668eef0d6158937f840eacc27ba5974b73f32794261a4b0292dca5b
EBUILD timescaledb-2.1.0-r1.ebuild 1398 BLAKE2B a97e063bc73af8d2062acff17b7e6019d65d23241dc00cc6a4bc2d2322e2e16f1b2890f4779ea350aed86a5e3ab871b53cfb5cd04443377a635d4a1cf9d2ddf9 SHA512 599c54854e0f0e4c83740f4af9f316bf1c3ddab3b142030aee242cc13843fca061c6a947bec5cea84885e0388a23e6efefffab75c2ffa10c8b98a7cbaf323a8d
@@ -14,4 +15,5 @@ EBUILD timescaledb-2.2.1-r1.ebuild 1432 BLAKE2B cac2105c56b96160662c395e5690d747
EBUILD timescaledb-2.3.1.ebuild 1432 BLAKE2B cac2105c56b96160662c395e5690d7474a776200ed33fc7c05f0e305d8db22cb0dd1e2bdc1709410d825c960aa9cb3e278f633e78fc75a57983396ac4df3523f SHA512 154b0556d5abb8a6a4cbe82383689b98e81b8c93626b0a197cee7d0b1876407829366145dd2ec18a8f373d26fcdc5f20470ed492182cb5cfcafa2cad269f9e9d
EBUILD timescaledb-2.4.1.ebuild 1432 BLAKE2B cac2105c56b96160662c395e5690d7474a776200ed33fc7c05f0e305d8db22cb0dd1e2bdc1709410d825c960aa9cb3e278f633e78fc75a57983396ac4df3523f SHA512 154b0556d5abb8a6a4cbe82383689b98e81b8c93626b0a197cee7d0b1876407829366145dd2ec18a8f373d26fcdc5f20470ed492182cb5cfcafa2cad269f9e9d
EBUILD timescaledb-2.4.2.ebuild 1432 BLAKE2B cac2105c56b96160662c395e5690d7474a776200ed33fc7c05f0e305d8db22cb0dd1e2bdc1709410d825c960aa9cb3e278f633e78fc75a57983396ac4df3523f SHA512 154b0556d5abb8a6a4cbe82383689b98e81b8c93626b0a197cee7d0b1876407829366145dd2ec18a8f373d26fcdc5f20470ed492182cb5cfcafa2cad269f9e9d
+EBUILD timescaledb-2.5.0.ebuild 1432 BLAKE2B 092ddab1b3c1a19acb03fb53573ca1d7d94dee1c476ad75355004bf0e6c6e0b2faa807ee4a13fdd8f23a767430224af2fa5b64b9524ae49ca58a0c150851c085 SHA512 bc13e392994d7ea16e6a102dcddb5358f95ce6e5c3d29c05f9b0a6c26c5eb422726ddb601fa81108a6181986a392b6fada5ecd04d4464b7cbe85ffa6956dd1d9
MISC metadata.xml 424 BLAKE2B 8cbf1315da7aa52b81fb2b141d7d34100cd838667ec366ba000fb914251cddd35632d9f9b8f6200bf4b679683db9c487522d18bedb4b371f92651c26a3e6121b SHA512 8e8b90dec46092f8d7dd36e67fa000e3f4c108f80903ebd3dad4965bbb4797bf952208afa7e90646946207382547fdd59d4d282379a898a3121b91f86e090c20
diff --git a/dev-db/timescaledb/timescaledb-2.5.0.ebuild b/dev-db/timescaledb/timescaledb-2.5.0.ebuild
new file mode 100644
index 000000000000..122047bcdea4
--- /dev/null
+++ b/dev-db/timescaledb/timescaledb-2.5.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 12 13 14 )
+
+inherit postgres-multi cmake
+
+DESCRIPTION="Open-source time-series SQL database"
+HOMEPAGE="https://www.timescale.com/"
+SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="proprietary-extensions"
+LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
+
+KEYWORDS="~amd64"
+
+SLOT=0
+
+RESTRICT="test"
+
+DEPEND="${POSTGRES_DEP}
+ dev-libs/openssl:="
+RDEPEND="${DEPEND}"
+
+CMAKE_IN_SOURCE_BUILD=yes
+CMAKE_BUILD_TYPE="RelWithDebInfo"
+BUILD_DIR=${WORKDIR}/${P}
+
+src_prepare() {
+ postgres-multi_src_prepare
+ postgres-multi_foreach cmake_src_prepare
+}
+
+timescale_configure() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
+
+ # licensing is tied to features, this useflag disables the non-apache2 licensed bits
+ if ! use proprietary-extensions ; then
+ mycmakeargs+=("-DAPACHE_ONLY=ON")
+ fi
+ cmake_src_configure
+}
+
+src_configure() {
+ postgres-multi_foreach timescale_configure
+}
+
+timescale_src_compile() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_compile
+}
+
+src_compile() {
+ postgres-multi_foreach timescale_src_compile
+}
+
+timescale_src_install() {
+ local CMAKE_USE_DIR=$BUILD_DIR
+ cmake_src_install
+}
+
+src_install() {
+ postgres-multi_foreach timescale_src_install
+}