summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin20653 -> 20181 bytes
-rw-r--r--dev-db/couchdb/Manifest5
-rw-r--r--dev-db/couchdb/couchdb-1.7.2.ebuild77
-rw-r--r--dev-db/couchdb/files/couchdb.conf-29
-rw-r--r--dev-db/couchdb/files/couchdb.init-417
-rw-r--r--dev-db/couchdb/metadata.xml5
-rw-r--r--dev-db/datadraw/Manifest2
-rw-r--r--dev-db/datadraw/metadata.xml4
-rw-r--r--dev-db/etcd/Manifest2
-rw-r--r--dev-db/etcd/etcd-3.3.10.ebuild5
-rw-r--r--dev-db/freetds/Manifest6
-rw-r--r--dev-db/freetds/files/without-flags.patch48
-rw-r--r--dev-db/freetds/freetds-1.00.341-r1.ebuild2
-rw-r--r--dev-db/freetds/freetds-1.00.341.ebuild68
-rw-r--r--dev-db/freetds/freetds-1.00.54-r1.ebuild72
-rw-r--r--dev-db/innotop/Manifest2
-rw-r--r--dev-db/innotop/innotop-1.12.0.ebuild27
-rw-r--r--dev-db/kyotocabinet/Manifest2
-rw-r--r--dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild69
-rw-r--r--dev-db/maatkit/Manifest3
-rw-r--r--dev-db/maatkit/maatkit-7540-r1.ebuild110
-rw-r--r--dev-db/maatkit/metadata.xml14
-rw-r--r--dev-db/mariadb-connector-c/Manifest6
-rw-r--r--dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file-r1.patch32
-rw-r--r--dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file.patch21
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.0.7-r1.ebuild102
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild3
-rw-r--r--dev-db/mariadb/Manifest8
-rw-r--r--dev-db/mariadb/mariadb-10.0.37.ebuild2
-rw-r--r--dev-db/mariadb/mariadb-10.1.37.ebuild2
-rw-r--r--dev-db/mariadb/mariadb-10.2.19-r1.ebuild (renamed from dev-db/mysql/mysql-5.6.41.ebuild)467
-rw-r--r--dev-db/mariadb/mariadb-10.3.11.ebuild967
-rw-r--r--dev-db/mongodb/Manifest2
-rw-r--r--dev-db/mongodb/mongodb-3.6.9.ebuild163
-rw-r--r--dev-db/mysql++/Manifest2
-rw-r--r--dev-db/mysql++/mysql++-3.2.3.ebuild4
-rw-r--r--dev-db/mysql-proxy/Manifest7
-rw-r--r--dev-db/mysql-proxy/files/mysql-proxy.cnf47
-rw-r--r--dev-db/mysql-proxy/files/mysql-proxy.confd12
-rw-r--r--dev-db/mysql-proxy/files/mysql-proxy.confd-0.8.0-r112
-rw-r--r--dev-db/mysql-proxy/files/mysql-proxy.initd22
-rw-r--r--dev-db/mysql-proxy/metadata.xml13
-rw-r--r--dev-db/mysql-proxy/mysql-proxy-0.8.2-r1.ebuild51
-rw-r--r--dev-db/mysql-workbench/Manifest7
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild8
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.4-r2.ebuild106
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild103
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild11
-rw-r--r--dev-db/mysql/Manifest8
-rw-r--r--dev-db/mysql/mysql-5.5.62.ebuild3
-rw-r--r--dev-db/mysql/mysql-5.6.42.ebuild3
-rw-r--r--dev-db/mysql/mysql-5.7.24.ebuild11
-rw-r--r--dev-db/percona-server/Manifest6
-rw-r--r--dev-db/percona-server/percona-server-5.7.23.24.ebuild4
-rw-r--r--dev-db/percona-server/percona-server-5.7.23.25.ebuild1066
-rw-r--r--dev-db/percona-server/percona-server-5.7.24.27.ebuild1062
-rw-r--r--dev-db/pgpool2/Manifest4
-rw-r--r--dev-db/pgpool2/pgpool2-3.7.7.ebuild104
-rw-r--r--dev-db/pgpool2/pgpool2-4.0.2.ebuild104
-rw-r--r--dev-db/pgtap/Manifest2
-rw-r--r--dev-db/pgtap/pgtap-0.99.0.ebuild30
-rw-r--r--dev-db/phpmyadmin/Manifest8
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-4.7.8.ebuild4
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild2
-rw-r--r--dev-db/phpmyadmin/phpmyadmin-4.8.4.ebuild (renamed from dev-db/phpmyadmin/phpmyadmin-4.7.0.ebuild)8
-rw-r--r--dev-db/postgis/Manifest5
-rw-r--r--dev-db/postgis/postgis-2.4.6.ebuild125
-rw-r--r--dev-db/postgis/postgis-2.5.1-r1.ebuild123
-rw-r--r--dev-db/postgis/postgis-2.5.1.ebuild125
-rw-r--r--dev-db/postgresql/Manifest20
-rw-r--r--dev-db/postgresql/postgresql-10.5.ebuild460
-rw-r--r--dev-db/postgresql/postgresql-10.6.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-9.3.24.ebuild450
-rw-r--r--dev-db/postgresql/postgresql-9.3.25.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-9.4.19.ebuild482
-rw-r--r--dev-db/postgresql/postgresql-9.4.20.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-9.5.14.ebuild488
-rw-r--r--dev-db/postgresql/postgresql-9.5.15.ebuild2
-rw-r--r--dev-db/postgresql/postgresql-9.6.10.ebuild493
-rw-r--r--dev-db/postgresql/postgresql-9.6.11.ebuild2
-rw-r--r--dev-db/redis/Manifest6
-rw-r--r--dev-db/redis/redis-4.0.12.ebuild141
-rw-r--r--dev-db/redis/redis-5.0.3.ebuild (renamed from dev-db/redis/redis-5.0.1.ebuild)0
-rw-r--r--dev-db/sqlite/Manifest7
-rw-r--r--dev-db/sqlite/files/sqlite-3.26.0-full_archive-build.patch405
-rw-r--r--dev-db/sqlite/sqlite-3.25.3.ebuild2
-rw-r--r--dev-db/sqlite/sqlite-3.26.0.ebuild325
-rw-r--r--dev-db/sqlitebrowser/Manifest2
-rw-r--r--dev-db/sqlitebrowser/metadata.xml5
89 files changed, 5425 insertions, 3407 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 5bdcb46dc249..1e073ce540ac 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/couchdb/Manifest b/dev-db/couchdb/Manifest
deleted file mode 100644
index d97b3d55f2f2..000000000000
--- a/dev-db/couchdb/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-AUX couchdb.conf-2 234 BLAKE2B ced08a5fc870703da6ab1e743cb421e7f1d5e8831923dc9115e708c728b27955650e69e323567bf6ad0041eca968f6cf152e097b962d496450ac90fd3d4f6d38 SHA512 5c40927957362a7431be6980be3a239e4ee0ca47d28f1b4d4fb3014b307e459eb429f5b50e0c8aa58b3e9f2285371616a58f06207e272feae1bed33f8c32d836
-AUX couchdb.init-4 439 BLAKE2B 4b334d42238616a1bfef41f915e7e42038457b6e52b713af698aa625dcf8364008d2e0763b1b5c90bd01121778447a86646730836bacc4cafe3477bec99b77f7 SHA512 a1e0a9403082e1c336454584d78d15e5d76861b3b3d0e56fcfb25ab50c0dbbdcf658e251e25f22e2a58dc72f38ec16ce82759bf9c7b5330a569ffb5fab912999
-DIST apache-couchdb-1.7.2.tar.gz 10009424 BLAKE2B 3d3b4922fe5b2c55e4851e48993442ba23369753fb17d5cafba936947624af0d3dac70e0a23d0c22c79e7e2776a3a441d5b1020a4a420b7d9a621fb59aad48d9 SHA512 507a35a7f1e826b1562eec86146cc6fcff3c65fa7762f9742e6e8fdacfca735473105772757624183778f7a532c742f6644b301677607bb81c1f3f0ceb742867
-EBUILD couchdb-1.7.2.ebuild 1833 BLAKE2B 7f7e685bf752daf2b0a968543956b8b3debf293e01441c9e812f9740407b6df6d324f75c146f0eec8be39dc423f37991cd4b69b68cf0a3e2c7688c93dd00799e SHA512 cb0ce76bdef08e39fa286486da0b0787ef9d5c0c894aa31eb750875de5f5562c19a4ecc8216c67c5c7cb87ccee6f9ce53bc33b3acdf8e41bcc9d8c1827616b1c
-MISC metadata.xml 168 BLAKE2B 28995e217ebfd4a11f4738455bcd495fccb2214a7e4f48a820d2057a7d29a1d510707f94d15bff49abf69d68fdecd658381f34692181502eb587de9f2c7e0f9e SHA512 9f2101e330a89b03cbbc1814dcf7ad75f3dd4117abeeed5047cb695f81cd8f0719d3285b39acfb93f3ea1ba1b98911cc452b5d332d266b84a19791190ca123b6
diff --git a/dev-db/couchdb/couchdb-1.7.2.ebuild b/dev-db/couchdb/couchdb-1.7.2.ebuild
deleted file mode 100644
index 85ea96ed35b8..000000000000
--- a/dev-db/couchdb/couchdb-1.7.2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils multilib pax-utils user
-
-DESCRIPTION="Distributed, fault-tolerant and schema-free document-oriented database"
-HOMEPAGE="https://couchdb.apache.org/"
-SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="libressl selinux test"
-
-RDEPEND=">=dev-libs/icu-4.3.1:=
- <dev-lang/erlang-21.0[ssl]
- !libressl? ( >=dev-libs/openssl-0.9.8j:0 )
- libressl? ( dev-libs/libressl )
- >=net-misc/curl-7.18.2
- <dev-lang/spidermonkey-1.8.7
- selinux? ( sec-policy/selinux-couchdb )"
-
-DEPEND="${RDEPEND}
- sys-devel/autoconf-archive"
-RESTRICT=test
-
-S="${WORKDIR}/apache-${P}"
-
-pkg_setup() {
- enewgroup couchdb
- enewuser couchdb -1 -1 /var/lib/couchdb couchdb
-}
-
-src_prepare() {
- sed -i ./src/couchdb/priv/Makefile.* -e 's|-Werror||g'
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-erlang="${EPREFIX}"/usr/$(get_libdir)/erlang/usr/include \
- --localstatedir="${EPREFIX}"/var \
- --with-js-lib="${EPREFIX}"/usr/$(get_libdir)
- # bug 296609, upstream bug #COUCHDB-621
- sed -e "s#localdocdir = /usr/share/doc/couchdb#localdocdir = "${EPREFIX}"/usr/share/doc/${PF}#" -i Makefile || die "sed failed"
-}
-
-src_compile() {
- emake
- # bug 442616
- pax-mark mr src/couchdb/priv/couchjs
-}
-
-src_test() {
- emake distcheck
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- fowners couchdb:couchdb \
- /var/lib/couchdb \
- /var/log/couchdb
-
- for f in "${ED}"/etc/couchdb/*.ini ; do
- fowners root:couchdb "${f#${ED}}"
- fperms 660 "${f#${ED}}"
- done
- fperms 664 /etc/couchdb/default.ini
-
- newinitd "${FILESDIR}/couchdb.init-4" couchdb
- newconfd "${FILESDIR}/couchdb.conf-2" couchdb
-
- sed -i -e "s:LIBDIR:$(get_libdir):" "${ED}/etc/conf.d/couchdb"
-}
diff --git a/dev-db/couchdb/files/couchdb.conf-2 b/dev-db/couchdb/files/couchdb.conf-2
deleted file mode 100644
index 94d50b35f33d..000000000000
--- a/dev-db/couchdb/files/couchdb.conf-2
+++ /dev/null
@@ -1,9 +0,0 @@
-# Options for CouchDB
-
-EXEC="/usr/bin/couchdb"
-COUCHDB_USER="couchdb:couchdb"
-COUCHDB_PID_FILE="/var/run/couchdb/couchdb.pid"
-COUCHDB_STDOUT_FILE="/dev/null"
-COUCHDB_STDERR_FILE="/dev/null"
-#COUCHDB_RESPAWN_TIMEOUT=
-#COUCHDB_OPTIONS=
diff --git a/dev-db/couchdb/files/couchdb.init-4 b/dev-db/couchdb/files/couchdb.init-4
deleted file mode 100644
index aab1757d3cf4..000000000000
--- a/dev-db/couchdb/files/couchdb.init-4
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Dirkjan Ochtman
-# Distributed under the terms of the Apache License, Version 2.0
-
-pidfile=${COUCHDB_PID_FILE}
-command=${EXEC:-/usr/bin/couchdb}
-command_args="-b -o ${COUCHDB_STDOUT_FILE} -e ${COUCHDB_STDERR_FILE} -p ${pidfile} ${COUCHDB_OPTIONS}"
-
-start_stop_daemon_args="--user ${COUCHDB_USER}"
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath -q -d -m 0755 -o ${COUCHDB_USER} /var/run/couchdb
-}
diff --git a/dev-db/couchdb/metadata.xml b/dev-db/couchdb/metadata.xml
deleted file mode 100644
index cc08d6296c93..000000000000
--- a/dev-db/couchdb/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer needed -->
-</pkgmetadata>
diff --git a/dev-db/datadraw/Manifest b/dev-db/datadraw/Manifest
index ec21700e9f44..9e2146bed806 100644
--- a/dev-db/datadraw/Manifest
+++ b/dev-db/datadraw/Manifest
@@ -1,3 +1,3 @@
DIST datadraw3.1.1.tar.gz 607914 BLAKE2B ec4f6bafce924edda39a19f4e29ec7ac5c52dafbb0e8412280fd232e91b2bdf525fc931518249857f5b35a2f76c40a5fb28493db6220dacd86113361f780d38d SHA512 64773b984cb9d6928ec486833ee03f07c6c5f21dcfcc446e21fe90eb432b7a09459ea65e24c46df70bc6b791dfc640caf16b6f6cdd8a35319969bb8ec7e65009
EBUILD datadraw-3.1.1.ebuild 1002 BLAKE2B 47f1d82234b8e2548d0c3420a5fe40121d0d39530bb2c05d09ad442fc2a778b036566e7ac79df6ab6f86a3729fe0fd123576d4afaa4435873145e8850351ad84 SHA512 5ba2c3d348ce7533dff173a3ed5bbf710ef55f7a3dcadc5360581704a3ceae4857ab773ca74165c81faa1a84226d5d706a9996df16db80ea22d2837a602e545d
-MISC metadata.xml 683 BLAKE2B fe18d49ff4beb4a5a0a7948b29ced47e7fac6dfd32f9f01e9381d4f38ef4ddd227a46e0e1310c8aac05d52a5af50802bbb9af42ecbc1c90fd12399705f23e42b SHA512 cf47cf89f8b79929d9fa0b74c1e6a924c17b7f5e51d6b831593b12c7ab802eb6cb77a96cbbb0bd96c76922cfecb88c8e0e9def477a93a1cca7489cd7b34d2af2
+MISC metadata.xml 583 BLAKE2B bb602abc24fa9252a7fd6c6ef24acb1585209d7ff695f9e1d0e044672fbeffab42454fe309f9341d979ec01073241af1683aca8b3ff9b0aca2664861c7192c06 SHA512 a771756ad279d2183df72e74fb6c4df994515f7de99485fcc4ef59b6e5618ec06c192e674efee7a354b9ccb2def3f361ef19e46c1817d55af9dd9dec20f28467
diff --git a/dev-db/datadraw/metadata.xml b/dev-db/datadraw/metadata.xml
index 48833abaadc8..ca2189f2632a 100644
--- a/dev-db/datadraw/metadata.xml
+++ b/dev-db/datadraw/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>xmw@gentoo.org</email>
- <name>Michael Weber</name>
-</maintainer>
<maintainer type="project">
<email>sci-electronics@gentoo.org</email>
<name>Gentoo Electronics Project</name>
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index f091ab301740..011560c6a0c3 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -11,7 +11,7 @@ DIST etcd-3.3.8.tar.gz 3518826 BLAKE2B 4d8ac66022c63250e37871a40041a799a21361f00
DIST etcd-3.3.9.tar.gz 3521457 BLAKE2B 4c8ae96744b93efe19626225ccd5deca19e9e6bd18d87778e9ba1c207e288ed66d79410bc51bb8c7621c0bf261012ca95d86cd9d307655688a6026a46d891c34 SHA512 1e5143060d04138eee68250b57f73bf7a6fdb4ca085443df067b12a4824d24b591e42f3d890a285912126447e8b28c0e6bcee58b8633e01dcf9ae5764ff531a6
EBUILD etcd-3.2.22.ebuild 1475 BLAKE2B 4cbf762bd7dc082d11b4ef984e27673921a5a44e7cec9f8284d1feda234662352497512edc84c2ba9c29b743b481a9f06fe8b32b14695273d8fa97956e460e76 SHA512 dc2cab07f90c4c181b0453b7a15b66df3c270c63872843317838d29b985a0c9a0905b7ce0a054df2015991337bccdee7bfc920e599b17142e231f0a0aa8d9f5c
EBUILD etcd-3.2.24.ebuild 1475 BLAKE2B 4cbf762bd7dc082d11b4ef984e27673921a5a44e7cec9f8284d1feda234662352497512edc84c2ba9c29b743b481a9f06fe8b32b14695273d8fa97956e460e76 SHA512 dc2cab07f90c4c181b0453b7a15b66df3c270c63872843317838d29b985a0c9a0905b7ce0a054df2015991337bccdee7bfc920e599b17142e231f0a0aa8d9f5c
-EBUILD etcd-3.3.10.ebuild 1900 BLAKE2B 5af3103c025a7d134e3681e302f45c8c066551402f41e8ceae8c628047b3b99351894059b8fe365a3cf49628dc22333f5af7a599a613a59e63b67452ab96def2 SHA512 8fa5415e93583cb1a604d80a2dd21d50a59d21c9d5e064681f5d6ec5f46f266b42c0abcf488d24ebf20dfc167d978bd4616f113b1fb01eff6605065a438713d8
+EBUILD etcd-3.3.10.ebuild 1946 BLAKE2B 938fb4d10e7a256eded717eab622dcda726f1bebdc810e7cf5c2592ba32405c1b51df8e2eb30b944639e837164b3d32c33ac3a95605489aef73a4d7e11476575 SHA512 c1033dc5edff5f569ae1e29294057b7f79fd35f4fc8d8f1114e32819b29945a858f7cd78673b27120895a824c002020f86df8d66b55b768eca905fcb35b78611
EBUILD etcd-3.3.8.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d
EBUILD etcd-3.3.9.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d
MISC metadata.xml 679 BLAKE2B 7374379a18107011df792be631428834334ad8e6da5cfe404f18555e8c168d3fc716a1c8d6cb5cf1d9ccd173737aecf93a165f846865dbb6ba4a76bd4669b446 SHA512 8070d8b51dd3319e8b159072db237dcc5299361c2f74fa086fc4cbc174cc6a5c8f7659310332b54b2275e2bc3d028323c4dfa5775e21693a339f54312582d2f0
diff --git a/dev-db/etcd/etcd-3.3.10.ebuild b/dev-db/etcd/etcd-3.3.10.ebuild
index 19f780d06747..431d7d6ff869 100644
--- a/dev-db/etcd/etcd-3.3.10.ebuild
+++ b/dev-db/etcd/etcd-3.3.10.ebuild
@@ -7,6 +7,7 @@ inherit user systemd golang-vcs-snapshot
KEYWORDS="~amd64"
EGO_PN="github.com/coreos/etcd"
+GIT_COMMIT="27fc7e2"
MY_PV="${PV/_rc/-rc.}"
DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
HOMEPAGE="https://github.com/coreos/etcd"
@@ -19,7 +20,7 @@ RDEPEND="!dev-db/etcdctl"
src_prepare() {
default
- sed -e 's|GIT_SHA=.*|GIT_SHA=v${PV}|'\
+ sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\
-i "${S}"/src/${EGO_PN}/build || die
sed -e 's:\(for p in \)shellcheck :\1 :' \
-e 's:^ gofmt \\$:\\:' \
@@ -40,7 +41,7 @@ pkg_setup() {
src_compile() {
export GOPATH=${S}
pushd src/${EGO_PN} || die
- ./build || die
+ GO_BUILD_FLAGS=-v ./build || die
popd || die
}
diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest
index 533e7c8757f3..af86ee6ec221 100644
--- a/dev-db/freetds/Manifest
+++ b/dev-db/freetds/Manifest
@@ -1,10 +1,6 @@
-AUX without-flags.patch 1859 BLAKE2B 846c177b9773c27b329a23f54592a2b789b0d8d123a80b0b990b8938fed8a27c2ad5eac33eeb5e9caf5d12a59943048092c277ab45a34948bf19a3605d036ded SHA512 b981dd2ddab06e4c163d847de9a1086515775abacbbcf10be5d67388ce5502a37a23bb6c94eaf36082dc36d30060ff12a38fd9ceb6b93e3f8116d2de7ddcb2e7
DIST freetds-1.00.41.tar.gz 2904915 BLAKE2B d92789c9a08dc9f7f04e8efc828841c3cace0e5a3affd11d8751a785db70db79fedffb3745a681b960d30a11efbb4fa457805eb4f72444eecc20eb65d46e2d82 SHA512 dec3197a6478fc59b7386f9a7a562df8b581bba7184210c42f26827e957b9746e6820d687a9c6cbcd7c825fc5d4f556547c0483d06c786a064d5c4859db4daa1
-DIST freetds-1.00.54.tar.gz 2907015 BLAKE2B 332888565c2890657ca6440e4bbe92e0324daf6c6e67f3fa2243bd2d5746e7e9aa100a7838d33cc8fa93e71e5d6a650976ce5164317f3147b192ceb915362534 SHA512 a2a5034705fe06ee38b085f980f6ddf086789abc9485331fdaf829e7243f7ba95a5f0c612d7e3ec9e10f28a5c8b3a3fd8e7853d66f67110bd860afce949c798c
DIST freetds-dev.1.00.341.tar.gz 3002134 BLAKE2B c9396c1f205e13c9f3449bef19830cf3b6c2fa72539555ebd6bc1532c014472c862ba2ac7f495bee8f53d640d628c6b15bb50183585d43cf3dbbea4e314636d2 SHA512 fd691535dfa5c97463ff72056cfa5721557b71e41b6186ffcb08e193e51214cf966a33ee55b8e538a6f035aeeef14ac5b15fe8758f1afea9e1252a3b8951ba58
-EBUILD freetds-1.00.341-r1.ebuild 1923 BLAKE2B a4d5512227942fa186376800626487c25dd3427f2e59396fa33dcff7b3372b2ec77e937a00cb64449d7a293566779a909f7edddc52c617bd4acbdac18b6e6035 SHA512 e0b050b1f3e4561abcb78ba526ab3320d721dcb7374b37e231bd58af94f79937d5fa6ad91fd94410429e1cb4252a890fb1093185a50f3d3bb643b483d3c662b2
-EBUILD freetds-1.00.341.ebuild 1891 BLAKE2B c033f9851e0cd02697976652d48fc50d40faf24282f7c337b9df6bb12c6a2d5443ff35c710d7460f3691f927256475c4cd60d0b4113da93e54e719d181a83a83 SHA512 ebcb93cd255f63f5f8d6fa67eb149853d6d21b392f8371cd2f696a69563a48eaabfbf4499f59569309c59ac44b463f66703454ff7e993073611f7922cedb31cc
+EBUILD freetds-1.00.341-r1.ebuild 1914 BLAKE2B a88a9d5ae6c21bd1d10fbe6fef807da75051fef2cb4a3e38db57ca88da923352d1c320ae54d737dc54eeec31169a4ed38611a2bf41cd788bf55d8bac130616f7 SHA512 1f2cd77c0a6a6b834ca81928de710ceefe169eb7d1292aace246d2644946ad9e196776de04b4b2529e82458fa4278d19cc74a1b1e5d5f1b0e32b7d4bcd7cdef6
EBUILD freetds-1.00.41.ebuild 1988 BLAKE2B 58e5b9ecc1ec5196c3e4e50cfccefa6ca44510ba344b1d024f1280667e47d4351ce1946dea1f963cc3feb0a8a5382812e046173579fd961d522b3155ad422261 SHA512 a48ffe06b8303885d2e795d9cfe756979652460da4912de33dde0a06b635c3466f3abebfdad17ef7aa8cc35fb5f79eeca8457f18c2999108b13367eb2a8d7e02
-EBUILD freetds-1.00.54-r1.ebuild 2064 BLAKE2B 6ec6575c86163e8678fbf841fbe8aa85e5fc7fd6e1839ff423dc542718e8ef88c2ef19e178bc7f76493e78b8e6edbbcfec87af85ebad2ca1153e07cdbb15e664 SHA512 48931c5f0e49cdd9f07e413339a0e647a4b48eec562cfe337a6c57243d11a99d47977d8987902a6ecafa3930a94a1102912c57359e146f155f6fcf6ee5753ce0
EBUILD freetds-9999.ebuild 1603 BLAKE2B 4a6149df3ad684b7246fed4f19c457f8a74c12a6ad89114d04890a86f9a41a02f7023c07dc55c139865091aed89a70accf993dc77bae4ffdc1f0bb3ff1698794 SHA512 264144b12f57bd34d1ace56458e4ea2cda0f4f5fd9f789373d8e7b4695cdf910562441359218b0c7c8bac446c8fa5673c56a37d0cfef444fc6d11fe57f2121b9
MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
diff --git a/dev-db/freetds/files/without-flags.patch b/dev-db/freetds/files/without-flags.patch
deleted file mode 100644
index 1f04a90ac6af..000000000000
--- a/dev-db/freetds/files/without-flags.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From c4b9d766e009273c70d8953767ef2fcb95f65314 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Fri, 11 Aug 2017 16:45:15 -0400
-Subject: [PATCH] configure.ac: support "without" versions of three ./configure
- flags.
-
-The --with-iodbc, --with-unixodbc, and --with-odbc-nodm flags all use
-the standard AC_ARG_WITH macro. The resulting ./configure script
-accepts e.g. --without-iodbc to indicate that the user does not want
-to enable iODBC, and in place of a path the word "no" is placed into
-the $with_iodbc variable. The current configure.ac doesn't handle that
-and instead treats "no" as a path. This commit updates configure.ac to
-ignore "no" as the value of those three flags.
----
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4f41033ae..9dfe12bb7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -546,7 +546,7 @@ esac
-
- AC_ARG_WITH(iodbc,
- AS_HELP_STRING([--with-iodbc=DIR], [build odbc driver against iODBC in DIR]))
--if test "$with_iodbc"; then
-+if test "x$with_iodbc" != "x" -a "x$with_iodbc" != "xno"; then
- if echo "$with_iodbc" | grep -v '^/'; then
- with_iodbc="$PWD/$with_iodbc"
- fi
-@@ -563,7 +563,7 @@ fi
-
- AC_ARG_WITH(unixodbc,
- AS_HELP_STRING([--with-unixodbc=DIR], [build odbc driver against unixODBC in DIR]))
--if test "$with_unixodbc"; then
-+if test "x$with_unixodbc" != "x" -a "x$with_unixodbc" != "xno"; then
- if echo "$with_unixodbc" | grep -v '^/'; then
- with_unixodbc="$PWD/$with_unixodbc"
- fi
-@@ -588,7 +588,7 @@ fi
-
- AC_ARG_WITH(odbc_nodm,
- AS_HELP_STRING([--with-odbc-nodm=DIR], [build odbc using headers in DIR/include]))
--if test "$with_odbc_nodm"; then
-+if test "x$with_odbc_nodm" != "x" -a "x$with_odbc_nodm" != "xno"; then
- if echo "$with_odbc_nodm" | grep -v '^/'; then
- with_odbc_nodm="$PWD/$with_odbc_nodm"
- fi
diff --git a/dev-db/freetds/freetds-1.00.341-r1.ebuild b/dev-db/freetds/freetds-1.00.341-r1.ebuild
index 5dc4218c97b3..0f6169b1d435 100644
--- a/dev-db/freetds/freetds-1.00.341-r1.ebuild
+++ b/dev-db/freetds/freetds-1.00.341-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs"
# iODBC and unixODBC are mutually-exclusive choices for
diff --git a/dev-db/freetds/freetds-1.00.341.ebuild b/dev-db/freetds/freetds-1.00.341.ebuild
deleted file mode 100644
index 77ec3228c82b..000000000000
--- a/dev-db/freetds/freetds-1.00.341.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This is from the "current" release series, because the "stable" series
-# is a little too stable for us (missing bug fixes, and so on).
-MY_PN="${PN}-dev"
-
-DESCRIPTION="Tabular Datastream Library"
-HOMEPAGE="http://www.freetds.org/"
-SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-IUSE="gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs"
-RESTRICT="test"
-
-# sed, grep, and awk are used by the build system and the osql script.
-COMMON_DEPEND="sys-apps/sed
- sys-apps/grep
- virtual/awk
- gnutls? ( net-libs/gnutls:= )
- iconv? ( virtual/libiconv )
- iodbc? ( dev-db/libiodbc )
- kerberos? ( virtual/krb5 )
- odbc? ( dev-db/unixODBC )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${COMMON_DEPEND}"
-
-# bind-tools is needed because the osql script calls "host".
-# binutils is for "strings".
-RDEPEND="${COMMON_DEPEND}
- sys-devel/binutils
- net-dns/bind-tools"
-
-# iODBC and unixODBC are mutually-exclusive choices for
-# the ODBC driver manager. Future versions of FreeTDS
-# will throw an error if you specify both.
-REQUIRED_USE="?? ( iodbc odbc )"
-
-S="${WORKDIR}/${MY_PN}.${PV}"
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable iconv libiconv) \
- $(use_enable kerberos krb5) \
- $(use_enable mssql msdblib) \
- $(use_enable static-libs static) \
- $(use_with iodbc) \
- $(use_with odbc unixodbc "${EPREFIX}/usr") \
- $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \
- $(use_with gnutls) \
- $(use_with ssl openssl "${EPREFIX}/usr")
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-db/freetds/freetds-1.00.54-r1.ebuild b/dev-db/freetds/freetds-1.00.54-r1.ebuild
deleted file mode 100644
index 0032727f6bf8..000000000000
--- a/dev-db/freetds/freetds-1.00.54-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Tabular Datastream Library"
-HOMEPAGE="http://www.freetds.org/"
-SRC_URI="ftp://ftp.freetds.org/pub/freetds/stable/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos"
-IUSE="gnutls iconv kerberos libressl mssql iodbc odbc ssl"
-RESTRICT="test"
-
-# sed, grep, and awk are used by the build system and the osql script.
-COMMON_DEPEND="sys-apps/sed
- sys-apps/grep
- virtual/awk
- gnutls? ( net-libs/gnutls )
- iconv? ( virtual/libiconv )
- iodbc? ( dev-db/libiodbc )
- kerberos? ( virtual/krb5 )
- odbc? ( dev-db/unixODBC )
- ssl? (
- !libressl? ( dev-libs/openssl:0 )
- libressl? ( dev-libs/libressl )
- )"
-
-DEPEND="${COMMON_DEPEND}"
-
-# bind-tools is needed because the osql script calls "host".
-# binutils is for "strings".
-RDEPEND="${COMMON_DEPEND}
- sys-devel/binutils
- net-dns/bind-tools"
-
-# iODBC and unixODBC are mutually-exclusive choices for
-# the ODBC driver manager. Future versions of FreeTDS
-# will throw an error if you specify both.
-REQUIRED_USE="?? ( iodbc odbc )"
-
-# Won't be necessary in the next release.
-PATCHES=( "${FILESDIR}/without-flags.patch" )
-
-src_prepare() {
- default
-
- # Fix the iodbc include path in the configure script. Otherwise, it
- # can't find isql.h.
- sed -ie 's:with_iodbc/include":with_iodbc/include/iodbc":' \
- configure.ac \
- || die "failed to fix the iodbc include path in configure.ac"
-
- eautoreconf
-}
-
-src_configure() {
- local myconf=( $(use_with iodbc iodbc "${EPREFIX}/usr") )
- myconf+=( $(use_with odbc unixodbc "${EPREFIX}/usr") )
- myconf+=( $(use_enable iconv libiconv) )
- myconf+=( $(use_with iconv libiconv-prefix "${EPREFIX}/usr") )
- myconf+=( $(use_enable kerberos krb5) )
- myconf+=( $(use_enable mssql msdblib) )
- myconf+=( $(use_with gnutls) )
- myconf+=( $(use_with ssl openssl "${EPREFIX}/usr") )
- myconf+=( --docdir="/usr/share/doc/${PF}" )
-
- econf "${myconf[@]}"
-}
diff --git a/dev-db/innotop/Manifest b/dev-db/innotop/Manifest
index 6c9b306aab01..b68a02dbf58e 100644
--- a/dev-db/innotop/Manifest
+++ b/dev-db/innotop/Manifest
@@ -1,5 +1,7 @@
DIST innotop-1.11.1.tar.gz 178295 BLAKE2B d863ca92baf30d8570116892bbb3587233bfaf01cd7a3e20d659a0c6f39016c7f735961a94f2b63db2db9f01ab4ed8f87a767157ec6d4b243790c3d2d33cf460 SHA512 49654e8ed81f5690c7e80fb169ad514caedb8d62e22bddc12cc234701875bc8ca7e2cc79061c10557d63dadbb40f2328a58b38dcf8aa60469c0c1558dbf0bed9
DIST innotop-1.11.4.tar.gz 179683 BLAKE2B 972a5304e97dd430ff59f1683da782b23633a82c47491704b42d46036ca30458ec961b2e071d983905217d18007430f9732e65de2fabf72bf05838af259d30ab SHA512 678d57074fd4fc87c93032052b87dc187cfe273e99fef8ec8f93131f8d885613bacda7b900f56e7572a6cc51c36c26fe1968e55dd1736b8509fb6e269c9d2aff
+DIST innotop-1.12.0.tar.gz 182854 BLAKE2B 1470f21fe7882e920966a856365586c37461c955f0d07ea72a9bffa16b1a112fe5daa2dec585f888c90570d28f9af4e88885a36910bf892cc4f69abd044a4494 SHA512 bc650cd8fb5e5b83f12ccccc852802d676500d7241fe0beaa2a67c3dcca90ab06f329f0a6750789b6097ab201630b9ecf494159086d904ce7c1cfe7aefb5a635
EBUILD innotop-1.11.1.ebuild 636 BLAKE2B 885c065db1f297257955835aedf47c51eb768181a3cad3b17b07cae084935f1dd69b5886b2badc9adbf1f2a77acb9041d1308a5c9db35db4bab286c392cf0af0 SHA512 99631c9b1cc35783b526b46ae23cac85603b67f3aa1edee09a0b931adee9b59e67bebb8c79905c41d1447e0dad12ca791e26ff9d5918797db43c4a865fd27556
EBUILD innotop-1.11.4.ebuild 636 BLAKE2B 54eadd7a6fdce16f6e7f61347666e9a1489a8218f4e82c9ac9d65cf927913fc04b92a46d4b6e655f5517e241d150b106244467c32d2baeec09ba35b1a810e46b SHA512 7b6c18ac7149d41b54cdd296ad0431dc291ebb6baa23dbba5a0903ea58a384cece14907238e05f31c64be49f18e6f4eda913a62d01ca06ca37173bd53a6a1d7c
+EBUILD innotop-1.12.0.ebuild 633 BLAKE2B 7f987ee26b6f469700f107f5b27b5b15e81790656c326c36fec36c3429dac8aa9c982fc62700bf6004103419e1a96c43aa90be83ce01eaf5d6fd8d3937d0224f SHA512 978a673305506a4abf085f6fa5eb9dc2d895e0f550b1f757589cdd3a512ce8ddb881932b478a6096a6a4ddc38c5608286ad0704eb6681069b4df77c845f71931
MISC metadata.xml 446 BLAKE2B 240fcfb51fe22a85a88ced188db07907943c96264440ac9af750eb071cde67ed3178bc32d402dc40dbd157dead3ed604e3193813be0ab5b460e365428f7296e5 SHA512 788b300a652ef6577b92c1db658937f7db9beffe2ae3a94559f0c3a885fbe0a0cfaef2aa6b7bc8fc907823722d4b9016b2e272b47932628b55d4512a7bfc9bf7
diff --git a/dev-db/innotop/innotop-1.12.0.ebuild b/dev-db/innotop/innotop-1.12.0.ebuild
new file mode 100644
index 000000000000..d1f0d89c491b
--- /dev/null
+++ b/dev-db/innotop/innotop-1.12.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit perl-module
+
+DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features"
+HOMEPAGE="https://github.com/innotop/innotop"
+SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Artistic GPL-2 )"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-perl/DBI
+ dev-perl/DBD-mysql
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes"
+
+DIST_TEST="do parallel"
+
+src_install() {
+ perl-module_src_install
+}
diff --git a/dev-db/kyotocabinet/Manifest b/dev-db/kyotocabinet/Manifest
index 10ea8047c029..27c28c6e4400 100644
--- a/dev-db/kyotocabinet/Manifest
+++ b/dev-db/kyotocabinet/Manifest
@@ -3,5 +3,7 @@ AUX kyotocabinet-1.2.76-configure-8-byte-atomics.patch 1250 BLAKE2B 882c4897a406
AUX kyotocabinet-1.2.76-flags.patch 894 BLAKE2B 50efb4b21f0101a942eb758213cf703460056a951617298057567d08b116c7e0a631d631eace992ff447bed5b74940d2b60a8adad373cb77fe42b8c40bfcc9fd SHA512 60a15c54994a5f338cf168feb831d858fdd2cadd16ea0c8001ef652e8502797f5920d3fed0a3ec4a6a2d817381b4690410878a18c7c859df34e26b033f48fe03
AUX kyotocabinet-1.2.76-gcc6.patch 289 BLAKE2B 5f2c972bf3f789c4573206dcb5fa2d1d21e50c16bc90889a978979f875e0597f48fba56cc9558c2f11202ab892d09f02c3b3d0c4bdc42e64857170a48d2797eb SHA512 755fe06635309139d55d1ede2e5ec30e37867501ead68abd3218c59ea016b72c9aa4d7d4072e15b53d22755606949dfaafa7b283d33a821d280fe7791ee8ff10
DIST kyotocabinet-1.2.76.tar.gz 951930 BLAKE2B 7d2b5e5c85e0a6f90c88cd3b6e1b41588dffeaa2a404aa2c83281e033fe4e1275fbbc15584d4998e97f166c5060ce43c9cee9567121edbe1f72a0d5f52f42b40 SHA512 278db7b327eb4c21bf0137d9aa14fb67d74d5ce7ed1cb29fc9120d157a60de165ec0cf842903eb7952e8f998045ae585b958977fa973ba0e0773381de71d9f6a
+DIST kyotocabinet-1.2.77.tar.gz 949326 BLAKE2B faacde57e8c7fed3fb232ea6fd12b668f2d2ee352cd357d5e16e0d1740cd8f73e223964249efeae50f3ea5d0672117b2410b91ba557ebe1ac7ba4075ac28deab SHA512 f38794c11faa3f4b64097a2e314307e1a6b75ddc495103647ebe52786a689336754496e7083697417ea90436e7fad681f16440975abec9ae917874aa25153e0f
EBUILD kyotocabinet-1.2.76-r1.ebuild 1314 BLAKE2B 405aefc1e9ec0b79f997a940d69c4368497ac14cbb8a948b3e33f8e1d5864e26ce3cae491d66fa5a23aca9484ad83d8e7d67995e5aeb49b5b804a65742d1e152 SHA512 1562b94093907e7dbfd3044bd94ca5b8a9ce335638402c9382874958f1d9470db0bafb1375e8cd68ca0136c21ccc3b7884fd97065a20a3f1eb3dc23f8cd8ae94
+EBUILD kyotocabinet-1.2.77.ebuild 1530 BLAKE2B 225dde1c2e483dbfd852ef9e53dd7cd47e7bace6b55da5ecf0ba2960aaec0d2509d0c3688eaa05fe52a41c092ed56b17806bffb99532d21d93156620cb1b7436 SHA512 3cab1b19da5f3dc7f05a896220104a3532d3a3fc51d5462d18e4a30d7cda7db6d875ccd5d7fc0554337007c4cb1ba205a9351d86fded80b6c43238c9b824070f
MISC metadata.xml 247 BLAKE2B 5a20af3c9732ef7dba68131a08988652f5c93a6d186a82c4deb1bb9c06dc3ae73152a0d241cc346637f7b11caf4676da43301ba596c67b66669535e71db0b03e SHA512 29cf52c16b0cce69899d9c2da8acd9144b7d760442aa323b854dceadb42459e009545193b1df7911ac2241b59f4819b4a6bb1d206d6f57953f770031433bb6b7
diff --git a/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild b/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild
new file mode 100644
index 000000000000..36ee56423060
--- /dev/null
+++ b/dev-db/kyotocabinet/kyotocabinet-1.2.77.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A straightforward implementation of DBM"
+HOMEPAGE="https://fallabs.com/kyotocabinet/"
+SRC_URI="${HOMEPAGE}pkg/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="debug doc examples +lzma +lzo static-libs"
+
+DEPEND="sys-libs/zlib[static-libs?]
+ lzma? ( app-arch/xz-utils:=[static-libs?] )
+ lzo? ( dev-libs/lzo:=[static-libs?] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/fix_configure-1.2.62.patch
+ "${FILESDIR}"/${PN}-1.2.76-configure-8-byte-atomics.patch
+ "${FILESDIR}"/${PN}-1.2.76-flags.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "/DOCDIR/d" Makefile.in || die
+ tc-export AR
+
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # We need to set LD_LIBRARY_PATH which will be assigned to RUNENV later
+ # used by test suite
+ LD_LIBRARY_PATH=. \
+ econf $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable !static-libs shared) \
+ $(use_enable lzma) \
+ $(use_enable lzo)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ if use examples; then
+ insinto /usr/share/${PF}/example
+ doins example/*
+ fi
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/*
+ fi
+}
diff --git a/dev-db/maatkit/Manifest b/dev-db/maatkit/Manifest
deleted file mode 100644
index 007c0a341ee9..000000000000
--- a/dev-db/maatkit/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST maatkit-7540.tar.gz 1312812 BLAKE2B fae133ac0fc95b6c824eccdd156941d6cc6693dda21756752b5f9244d4053b0d13d1464ab4dbb09b95da5385638f72f2e0c91c3ac64eeece0ad387324d8d01a9 SHA512 98cb44a5ebce09322b4d9a8cfa9e14e2ccb54ef9e0e8a95ee92b0fee5277f06157415152566497893488967735049d95c6efadc0d57c8a70060c7bc714afef9a
-EBUILD maatkit-7540-r1.ebuild 2648 BLAKE2B ff112cd9ecda8f35c52391c3956c9463c19ddd570a7752b4ad1f27307e36b9d3233365f38183d746c81b7654c5fafc4ae735c72031cfdc734c6d07333e1f0da9 SHA512 50bb20b8ed8f7cfe42e672c43803f62cc97756fd268be02e6166e7b184cf2671e8447aa7f12ec29c71872a493fa2b807318faaf62fa1ea94a95aa652bfef33eb
-MISC metadata.xml 665 BLAKE2B 564d2c428e52287e471afc42c2aa43516458b3dff6cdba5daa041145ff426d62480e3d0bc5ca9bd408a05cb22691c295616a2c22357ec05cde993e34ac9f356a SHA512 afbdf9167fdf5c3efacbbe3952cede0a377c3f2eb614e1b65e15bfcc1394e586f59c5786ef3e679453a3bf3f40ae54153b9f7d324f5e4d5e07a2d8cd43c3c25b
diff --git a/dev-db/maatkit/maatkit-7540-r1.ebuild b/dev-db/maatkit/maatkit-7540-r1.ebuild
deleted file mode 100644
index 9cefb50cea68..000000000000
--- a/dev-db/maatkit/maatkit-7540-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit perl-app perl-module toolchain-funcs
-
-DESCRIPTION="essential command-line utilities for MySQL"
-HOMEPAGE="http://www.maatkit.org/"
-SRC_URI="https://maatkit.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="udf"
-
-COMMON_DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- virtual/perl-Time-HiRes"
-RDEPEND="${COMMON_DEPEND}
- virtual/perl-Getopt-Long
- virtual/perl-Time-Local
- virtual/perl-Digest-MD5
- virtual/perl-IO-Compress
- virtual/perl-File-Temp
- virtual/perl-File-Spec
- virtual/perl-Time-HiRes
- virtual/perl-Scalar-List-Utils
- dev-perl/TermReadKey"
-DEPEND="${COMMON_DEPEND}
- udf? ( dev-db/mysql )
- virtual/perl-ExtUtils-MakeMaker"
-
-mysql-udf_src_compile() {
- local udfdir="${T}/udf/"
- mkdir -p "${udfdir}"
-
- local udfname udffile udfext udfoutpath
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udfoutpath="${udfdir}/${udffile}"
- shift
- CXX="$(tc-getCXX)"
- local src="$@"
- if [ -z "$@" ]; then
- src="${udfname}.cc"
- fi
- for f in ${src} ; do
- [ -f "${f}" ] || \
- die "UDF ${udfname}: Cannot find source file ${f} to compile"
- done
- einfo "UDF ${udfname}: compiling from ${src}"
- ${CXX} \
- ${CXXFLAGS} -I/usr/include/mysql \
- ${LDFLAGS} -fPIC -shared -o "${udfoutpath}" $src \
- || die "UDF ${udfname}: Failed to compile"
-}
-
-mysql-udf_src_install() {
- local udfdir="${T}/udf/"
- local udfname udfext udffile udfoutpath
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udfoutpath="${udfdir}/${udffile}"
- insinto /usr/$(get_libdir)/mysql/plugins
- doins "${udfoutpath}"
-}
-
-udf_done_intro=0
-mysql-udf_pkg_postinst() {
- local udfname udffile udfext udffunc udfreturn
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udffunc="${2}"
- udfreturn="${3}"
- if [ ${udf_done_intro} -eq 0 ]; then
- elog "To use the UDFs that were built:"
- elog "Update your configuration to include 'plugin_dir=/usr/$(get_libdir)/mysql/plugins'"
- elog "Issue the following commands as a user with FUNCTION privileges:"
- udf_done_intro=1
- fi
- elog "CREATE FUNCTION ${udffunc} RETURNS ${udfreturn} SONAME '${udffile}'"
-}
-
-src_compile() {
- perl-app_src_compile
- if use udf; then
- cd "${S}"/udf
- mysql-udf_src_compile murmur_udf
- mysql-udf_src_compile fnv_udf
- fi
-}
-
-src_install() {
- perl-module_src_install
- if use udf; then
- mysql-udf_src_install murmur_udf
- mysql-udf_src_install fnv_udf
- fi
-}
-
-pkg_postinst() {
- if use udf; then
- mysql-udf_pkg_postinst murmur_udf murmur_hash INTEGER
- mysql-udf_pkg_postinst fnv_udf fnv_64 INTEGER
- fi
-}
diff --git a/dev-db/maatkit/metadata.xml b/dev-db/maatkit/metadata.xml
deleted file mode 100644
index d3ab294dbcd0..000000000000
--- a/dev-db/maatkit/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription>maatkit, formerly MySQL Toolkit, is a collection of command-line utilities that
-provide missing functionality for MySQL. Some of the tools implement lacking
-server functionality, such as online consistency checks for master/slave
-replication; others are client-side utilities such as a query profiler.</longdescription>
- <use>
- <flag name="udf">Build the MySQL UDFs shipped with maatkit, requires non-minimal MySQL</flag>
- </use>
- <upstream>
- <remote-id type="google-code">maatkit</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest
index f94bd1350e00..71a72b7d8812 100644
--- a/dev-db/mariadb-connector-c/Manifest
+++ b/dev-db/mariadb-connector-c/Manifest
@@ -1,6 +1,10 @@
AUX gentoo-layout-3.0.patch 311 BLAKE2B 4c2f0ae8aa53d605bcaf134274d3b549ec970b43cc68eed1ac71cf089c9fa32a1343d7ebfdf428e7f25032f5782aecfb86fb8f78528ffc708ab15dc7285a24e7 SHA512 4d5a48b4dd66aab04ba597b30e96b4601c6745acca21be1daf051ba6ce1e8fef1a0efa46d8e81da1ecdc893a8ee471bd8c7ed0c5436ee33b8b4f7cd18fdca1a5
AUX mariadb-connector-c-3.0.6-provide-pkconfig-file.patch 1838 BLAKE2B 454433d5815e818bb3cb08241b1629e7cb2e8c6b33d09e241db11cc7f18e73a8cbf40567fe47a613c420581f8487c39478bcbef22da4ba21b77a10f71e4b11ef SHA512 a3ec1a1702d2d5ae5ea6ef93e9bc7f01df548c65574b177a20e8b29694b078ebd67a409ed253467d1db38895e66285eaf73e604a507bfb09384bc3d15325cb60
+AUX mariadb-connector-c-3.0.7-fix-pkconfig-file-r1.patch 998 BLAKE2B 7c07b70ec752832d62757ee08a6f56b59d47e11c68d5333308878ef6b030a3b959bf2d6ba6ec37f0960f1e5f0be702c974f53c81886cc7a8348d4eeca4eaaa03 SHA512 06fdd1bdcbe9550257e4947bae25870525f59a729c7b78eee703990b17b9ada152d32f80f1bb57f67455bc143725a7f166cf34f9de1edcd40c49e49a2d2a6826
+AUX mariadb-connector-c-3.0.7-fix-pkconfig-file.patch 630 BLAKE2B 4d087835c14334ebfdbfcf69df16e948dfd0c46c194d56ba44516bfb647ff518d766170d95c3c86f39211555f25993d95b57c516a357bb3db52b8428273aad48 SHA512 9949b6e6ea2fe325279a6459ce6119524444dbec65cd509549bdc89d5a4c9afb6c39abe2d4e1ab64f6c7e917279f83a323f93d3fe7bd79a8d519976f8c786028
DIST mariadb-connector-c-3.0.6-src.tar.gz 666819 BLAKE2B 7245c0e13e569454d1cc70e3579afcbd53c64a0a7e828012b38d73f7d737a81b4fdf0363bd1b156dae783806a51773dbceb2ea06621bd4a73773edb78a70249a SHA512 6a41efacff1840eb8ddd8b34d8894b51f260444c76a1344f9ac9b675fd8492d44716338e4c11594d80118b12d90f75430304282650bce0d5f64179df6cc14d8e
+DIST mariadb-connector-c-3.0.7-src.tar.gz 667274 BLAKE2B 75d2d548d51889aecc8af56cbeb61f5eaf21e60924b70dd0559214de464eae209743febdb5d443797f853bc902352f7333aefe84cb367f61f7bf2c341a4a8ac2 SHA512 70facae6234f180d94c0526845a3bf7723d6de3b6871544cb8cea35311fec0537c6342fbf4f024d0dca58ee618642c38748ae73628fcba334064a3c15d307219
EBUILD mariadb-connector-c-3.0.6-r1.ebuild 2816 BLAKE2B 38450ea224a5f0e960abc65ebce37121ed02d1ec0d5bfc7c2d7a124c9ffd77f10090247493eb0c758b991e40cb8a845fe13355ba8e32b64bb2ca90fa957aca76 SHA512 f5670d8174889c3ccc8b7693cdd97d39c1c0d597d5980c6a5d15317662bffebea1e3b6573c438b076362c8c46649dedf8f285d90ac4f5ffb4eed4d4db82b0378
-EBUILD mariadb-connector-c-9999.ebuild 2824 BLAKE2B aeac543f01595fe6995ca8fb59450cfa4381593f7c034beec8f344880bf092f17e40e84fa3fb1e64aa1f8cdb82751bc75916b9d817df6800bcc8a3532c334734 SHA512 9c693876ede71b1ac59be9b10276e193b25497ee5c4411a6260449f31c73f1e7e28310574aa9e97f889f4f0382c167c188d0b3cbf03d2084aac73a1d2e5d2a90
+EBUILD mariadb-connector-c-3.0.7-r1.ebuild 2823 BLAKE2B 3ab0002c67e553d0b247a439db35c3168af1dc2b2dfd272d259b2d9eacd7649afc5d6d1ccead44d4367f046b7f63e2ef0333fcb60d20c7eda7a9a0defc24d771 SHA512 284ef747e42a2ab947e5d59cf150a1d7882b744f4a913a97f6710c9d10937103c469c48a0b8c898b21e3586e198e9a4ac15b376b6fc4db172c26d04c24f74865
+EBUILD mariadb-connector-c-9999.ebuild 2864 BLAKE2B 0bbc75c16ce0544e008b3e49df556b8c54875e93d04b706fd2f8e338295a3d02140a9eb64819c3a7e2b5485b4e17cd80528dd212330d3b9706b84e8529b43441 SHA512 b01b2b8267a532773ca62931572541ad98b13890297e39bf52f28f6d568fa82febe5662b59016fa17691f96207d3152d4f79e46a910a3e94d5455d312d3de0f3
MISC metadata.xml 324 BLAKE2B fab5394015cd337683f65a257556ed0f15e35826bb0a6ce75a7033cd5931455ff2bed527064d698e9b3165f2cfcaff8a4bdfcad0b830482ae2e4389a79d529fb SHA512 1fe9e5d5d9f8e817ce49117fbcc6a6d706a090752606647496f2b7a25de51bfb641a408ff0cdaf626d83eb5c314d2e28c3f29532307d942cb41498edf4b44aa6
diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file-r1.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file-r1.patch
new file mode 100644
index 000000000000..1fe06e2c8e5e
--- /dev/null
+++ b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file-r1.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/673218
+
+--- a/mariadb_config/CMakeLists.txt
++++ b/mariadb_config/CMakeLists.txt
+@@ -59,5 +59,5 @@ INSTALL(TARGETS mariadb_config
+ COMPONENT Development)
+
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc
+- DESTINATION "lib/pkgconfig"
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ COMPONENT Development)
+--- a/mariadb_config/libmariadb.pc.in
++++ b/mariadb_config/libmariadb.pc.in
+@@ -7,13 +7,12 @@
+ #
+
+ prefix=@CMAKE_INSTALL_PREFIX@
+-includedir=${prefix}/@INSTALL_INCLUDEDIR@/@SUFFIX_INSTALL_DIR@
+-libdir=${prefix}/@INSTALL_LIBDIR@/@SUFFIX_INSTALL_DIR@
++includedir=${prefix}/include
++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+
+ Name: libmariadb
+ Version: @CPACK_PACKAGE_VERSION@
++URL: https://mariadb.com/kb/en/library/mariadb-connector-c/
+ Description: MariaDB Connector/C dynamic library
+-Cflags: -I${includedir}
+-Libs: -L${libdir} -lmariadb @extra_dynamic_LDFLAGS@
+-
+-
++Cflags: -I${includedir}/mariadb
++Libs: -L${libdir} -lmariadb
diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file.patch
new file mode 100644
index 000000000000..1a16a2c01015
--- /dev/null
+++ b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.7-fix-pkconfig-file.patch
@@ -0,0 +1,21 @@
+--- a/mariadb_config/libmariadb.pc.in
++++ b/mariadb_config/libmariadb.pc.in
+@@ -7,13 +7,12 @@
+ #
+
+ prefix=@CMAKE_INSTALL_PREFIX@
+-includedir=${prefix}/@INSTALL_INCLUDEDIR@/@SUFFIX_INSTALL_DIR@
+-libdir=${prefix}/@INSTALL_LIBDIR@/@SUFFIX_INSTALL_DIR@
++includedir=${prefix}/include
++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+
+ Name: libmariadb
+ Version: @CPACK_PACKAGE_VERSION@
++URL: https://mariadb.com/kb/en/library/mariadb-connector-c/
+ Description: MariaDB Connector/C dynamic library
+-Cflags: -I${includedir}
+-Libs: -L${libdir} -lmariadb @extra_dynamic_LDFLAGS@
+-
+-
++Cflags: -I${includedir}/mariadb
++Libs: -L${libdir} -lmariadb
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.7-r1.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.7-r1.ebuild
new file mode 100644
index 000000000000..8622a1ea73c0
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.7-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+VCS_INHERIT=""
+if [[ "${PV}" == 9999 ]] ; then
+ VCS_INHERIT="git-r3"
+ EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git"
+else
+ MY_PN=${PN#mariadb-}
+ MY_PV=${PV/_b/-b}
+ SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz"
+ S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86"
+fi
+
+inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT}
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+
+MULTILIB_WRAPPED_HEADERS+=(
+ /usr/include/mariadb/mariadb_version.h
+)
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://mariadb.org/"
+LICENSE="LGPL-2.1"
+
+SLOT="0/3"
+IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs test"
+
+DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ virtual/libiconv:=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] )
+ kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+ app-crypt/heimdal[${MULTILIB_USEDEP}] ) )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
+ !gnutls? (
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ )
+ )
+ "
+RDEPEND="${DEPEND}
+ mysqlcompat? (
+ !dev-db/mysql[client-libs(+)]
+ !dev-db/mysql-cluster[client-libs(+)]
+ !dev-db/mariadb[client-libs(+)]
+ !dev-db/mariadb-galera[client-libs(+)]
+ !dev-db/percona-server[client-libs(+)]
+ !dev-db/mysql-connector-c )
+ !>=dev-db/mariadb-10.2.0[client-libs(+)]
+ "
+PATCHES=(
+ "${FILESDIR}"/gentoo-layout-3.0.patch
+ "${FILESDIR}"/${PN}-3.0.7-fix-pkconfig-file-r1.patch
+)
+
+src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DWITH_EXTERNAL_ZLIB=ON
+ -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+ -DWITH_CURL=$(usex curl ON OFF)
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
+ -DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+ -DINSTALL_BINDIR=bin
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+ if use mysqlcompat ; then
+ dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19
+ dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${D}" -name "*.a" -delete || die
+ fi
+ if use mysqlcompat ; then
+ dosym mariadb_config /usr/bin/mysql_config
+ dosym mariadb /usr/include/mysql
+ fi
+}
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
index 1b2b77025ff6..2e5ed26b63e0 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
@@ -55,7 +55,7 @@ RDEPEND="${DEPEND}
"
PATCHES=(
"${FILESDIR}"/gentoo-layout-3.0.patch
- "${FILESDIR}"/${PN}-3.0.6-provide-pkconfig-file.patch
+ "${FILESDIR}"/${PN}-3.0.7-fix-pkconfig-file.patch
)
src_configure() {
@@ -72,6 +72,7 @@ multilib_src_configure() {
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF)
-DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
-DINSTALL_LIBDIR="$(get_libdir)"
+ -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
-DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
-DINSTALL_BINDIR=bin
-DWITH_UNIT_TESTS=$(usex test ON OFF)
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 569cf32d1e4d..14a7755dfe6c 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -11,14 +11,18 @@ DIST mariadb-10.1.34.tar.gz 65298561 BLAKE2B 3f3af7b8bad68a08f69befd3f3e7bd88b8c
DIST mariadb-10.1.37.tar.gz 63492946 BLAKE2B 0f19b402c597443ef970cbe2a2d85d51743cc2d05ab741897efb150f007d7be8b645706a2d0dc5a9f91c7a380d2313840f77d6e9b15f3335495f275b415e5a33 SHA512 b7c35cd67ad265ce2e3a4db20a2ae2b78745db96dc70a211f027a39b6dbb3dc900991c2ee1021ee6a97d12489c3e2a70252e2adf348a458af38b99c3de5a4f25
DIST mariadb-10.2.19.tar.gz 71856357 BLAKE2B 7e55760b85d7b8b19f9d1afe22e7cf5c3001ab03d64062bd702442cb771b2c76f62cf8794b027098b6fb4ade5bf3de39d68dbede65c72fc9e1482083fb19a9c9 SHA512 7bfd65687c923d50b04d598fccea60a23a3fafc3e57b803b2a06c2f25ae68bd25206e18bd71af4797492792d821f4be05cef19e8075080b82b539afdd8af9f46
DIST mariadb-10.3.10.tar.gz 70493771 BLAKE2B 03540ed111405febb46c27422f957fb6c533ffe7502c56d6eb4fe8a3bc45bfd18fb2b12a16a01780c0bc291ff139132666741df00d4be068fb99e2a63c543cc2 SHA512 dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31
+DIST mariadb-10.3.11.tar.gz 70669435 BLAKE2B e16346519b60aa11a0ffd2c19254ef888c44c054d55b7f98a8d696e3df2c0801c6141adddfb9169098ad5efa5d881c83681c3c5741f68b10c9ce4d15def34254 SHA512 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298
DIST mariadb-5.5.62.tar.gz 45938380 BLAKE2B aa17d0e5740805d74f7f74f54605e04c4e29c4208a2efa6da2dde5855dfdc13e3225fe349e2146b11a6cbf5a0ac82a9e6c3e4f31e62afa71fc7ab1381040c68f SHA512 136668a54b404a303ee8f87e736bd14463b2323f0a517e7161c8729f4534bc1d653241d6b79f8cb7ad66ea09cf4190f9b95eceaa209b18a46822a68d9580ba5a
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20181104-2252Z.tar.bz2 328613 BLAKE2B c869dbdd8eb8ab6706b52815fae88e0789b955b9d3e89eac305e6de6e1bc9e78ea10ac58efeac0d6478c7f83587910834e9b4c44e3621224f006daae44dc2bf3 SHA512 e0dff23aa6420a9cfcf2f60464381d4b08194759dcd96910cdf94075fa71e90b74fa3dae700f279f421fee68315af37e47054c9422adeb6cc757fa968a1b65bf
+DIST mysql-extras-20181211-1735Z.tar.bz2 330779 BLAKE2B 4a41b9067a8b8bc5b595ff8dfeaa20d6577083ad1f6a0d1b56d29663cd436abc611a2ff394fafb8d466771c8676e2019a415554b830f20828ace31eb5b7e082a SHA512 03db4b1b483395eeba57d049c10a07ef50b26ba97f3fad74aa6a19f8835aea60106bbc86dea2a168ec613d9b2caa016240d8d888e42823d383fa3466f8b262d4
EBUILD mariadb-10.0.35-r2.ebuild 27520 BLAKE2B 09bb435fc35e43e9d5a9f0bb234d7583d8ceb55f19e46176def7d1d4370fe99aedb89e28860cc49134f693bf0f49ff4333916441742da72cf65ad7ef6353c72a SHA512 159b2c09d0da83841f77822b4501cc4302758711c9db9447e6c34ebe6185801cbacb4774060d238f7c5aee4595ccc4e0e05f062300f38e27ff86a54a2dce4a95
-EBUILD mariadb-10.0.37.ebuild 27526 BLAKE2B f41159bb252097eda7e9d5f39b5d8eeb879cc8e8e4c7fa99ef8da8cd6333b5532c8d7a73b4b4defca423d1a5c3469bd35cee30bca1266d43127b202078277ea4 SHA512 4e05fc6fb048592975de40178faaa2120466b48129d80780ff1a1deb05eb0eeeeaf8dba7f224efcc59a10cf72676057b7641df595caf006ecd4d1e6be03acd7b
+EBUILD mariadb-10.0.37.ebuild 27521 BLAKE2B 2dee454767b07e9ef957a3d44d3abebb3bace6a7119b81c7662051a3db9315382d3ea1f73dd03380da695ba16d724560d2b03eea3dd09eb206abcaee1358de7a SHA512 d90e140866541db92272855beb315aea7f037304e018efa6ac090b9d838864de0b7efe24d63ffdc2bc605ce659e0a8b722e2c7650ba21d740ab7d337ddd2c9d2
EBUILD mariadb-10.1.34.ebuild 29472 BLAKE2B 859741b70abf8c2347395b26b7543f36be94165141227bb7dc75f054768490bf891eea5bd2f171aa0c0f8caed7603abf1347a0087caa10e55ce920aaa9c6677b SHA512 ff30a1fcdcc72b8324dec1be29db63a1792ca58474744f0c02014b1fba28d856ac0f154235b0889aedcc95cf24c4b58fcfd681458be726609861ba6f4220ad8f
-EBUILD mariadb-10.1.37.ebuild 29478 BLAKE2B b22351b19402a3536bb7c154b0ef917366fef4ea72122518b30cf5e85753b80b29642f6829d05cd66718745b1f01b7545e67b8cd538abca9df1c909e2bbcf6e8 SHA512 c6dd0e9974ca67ba0750e86fcfb9e9afea283c1817c3284ef24c6a25c5d61fa35f993041e6b086a8632943da4c8f1b592e95e6e9923089f472ceaae2a3f25671
+EBUILD mariadb-10.1.37.ebuild 29474 BLAKE2B dba8dc78e78319041edbf8583ed9584f74964ee114a55a2e77702b086e878905d098dacbf01a8fa802f69c8252cfc0a763fbce7412fc69ccdb8dc78b20bd1a56 SHA512 0cc0d703727393dd5c601027c156b194ff6957e46935077fda1312da37ae6b0aa4282b51666b849ac7414ed3d4ead2640b530ffc8e6cd04bc5c9df2d3502848a
+EBUILD mariadb-10.2.19-r1.ebuild 31815 BLAKE2B f0253639ed06bcb91807a014a7f2fe5958564324cd349399a54a3c8ed2269bbdca514da31ca0cb91738f7fe163ed4753497f24376d7e6d5e8d93c4122496d386 SHA512 48d092550452370f677e3a74b9a560187fb9d26e5664132c94e7acae825d09972957a922c504eab2f3c7a5eac50bf3db97bd5a5503bf9e6ff3013a552e14d04d
EBUILD mariadb-10.2.19.ebuild 34504 BLAKE2B f6269aa1a93d89d39ffd0fe57a67899692ee5ad670a308aee8e7d4cbaa7878064db879fca718e65ec1343ab85649eab7fe29ec03a4e4d9670905034dcb07e170 SHA512 766367854b21972954736c450a39759f545b24ca60ec3f6d015bb117de40cf38af5144998cd63e2afef0d4a5d0d395a69c42bfb5e6eb67ded64b1863bd7512db
EBUILD mariadb-10.3.10.ebuild 32157 BLAKE2B 9d3229c8de1910799d951b8a57315fba6271b70ec11810f2c0df2bb39a47e2b80e2046b06187a276ae85bf21c9c0b90283a626f065f4da983b4b72bd595be988 SHA512 9f1c3412ab863fa2b70371bdd4c090b9d4ded4e8a3575e2a8e0ea48cf0b3a78f5a9c154e0eb67bdae5e4a28ab5a7a3ad9db08d89678af511a93948a638cd85f0
+EBUILD mariadb-10.3.11.ebuild 32092 BLAKE2B 4f0791e2953cb29f2fa00eaaba33bde0c3caa3cbc3f08e4c9064e0295f7f159d147bb5c0e3fcf639b437262c16d7e7fa6047183adefdaff1a34699dd308f95fc SHA512 3bc6fee26921b11ee1a8a7bf9d1478bb3ec899284f3cf8aa501598e45ffd75f9d84205f68a7f5c20b88c6b66197d86ae8e8effbb28b64e45da340564aa29271e
EBUILD mariadb-5.5.62.ebuild 27071 BLAKE2B 528f4e740b597cad24ecfd5c03137bae7fd65fb6adaa615a9b5ceeeb9f8d138ad47e2c034f9b4a2727d0059148b06985e3dc9cc9223ef756959d730f319c4b07 SHA512 e79e999633aef9b04558d71ed6e3398d372816b3a343429c521c44b33d3bf7e0afece3723d2557aaf03106dfc880fcc0c1504e6d12eb2dbff9c08927af716b2e
MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97
diff --git a/dev-db/mariadb/mariadb-10.0.37.ebuild b/dev-db/mariadb/mariadb-10.0.37.ebuild
index fe61ec153cb0..ea2124331e47 100644
--- a/dev-db/mariadb/mariadb-10.0.37.ebuild
+++ b/dev-db/mariadb/mariadb-10.0.37.ebuild
@@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
diff --git a/dev-db/mariadb/mariadb-10.1.37.ebuild b/dev-db/mariadb/mariadb-10.1.37.ebuild
index c2b7bcbd247b..2e9377e50577 100644
--- a/dev-db/mariadb/mariadb-10.1.37.ebuild
+++ b/dev-db/mariadb/mariadb-10.1.37.ebuild
@@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
diff --git a/dev-db/mysql/mysql-5.6.41.ebuild b/dev-db/mariadb/mariadb-10.2.19-r1.ebuild
index d4052c130f80..7ed2c00ee4ab 100644
--- a/dev-db/mysql/mysql-5.6.41.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.19-r1.ebuild
@@ -2,18 +2,17 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-MY_EXTRAS_VER="20181111-2314Z"
+MY_EXTRAS_VER="20181211-1735Z"
+SUBSLOT="18"
-CMAKE_MAKEFILE_GENERATOR=emake
+JAVA_PKG_OPT_USE="jdbc"
# Keeping eutils in EAPI=6 for emktemp in pkg_config
-inherit eutils flag-o-matic prefix toolchain-funcs \
- user cmake-utils multilib-build
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 user cmake-utils
-SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
- https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
- http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz"
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
# Gentoo patches to MySQL
if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
@@ -25,19 +24,25 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
fi
-HOMEPAGE="https://www.mysql.com/"
-DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
-LICENSE="GPL-2"
-SLOT="0/18"
-IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
- +server static static-libs systemtap tcmalloc test yassl"
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
-RESTRICT="libressl? ( test )"
+RESTRICT="!bindist? ( bindist ) libressl? ( test )"
-REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -46,25 +51,20 @@ S="${WORKDIR}/mysql"
if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
EGIT_CLONE_TYPE=shallow
- MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
else
- MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
fi
PATCHES=(
- "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
- "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
- "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
- "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
- "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
- "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
- "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
- "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
- "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
- "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
- "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch
+ "${MY_PATCH_DIR}"/20037_all_mariadb-10.2-restore-jemalloc.patch
)
# Be warned, *DEPEND are version-dependant
@@ -74,41 +74,83 @@ COMMON_DEPEND="
sys-process/procps:0=
dev-libs/libaio:0=
)
- net-misc/curl
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
!yassl? (
!libressl? ( >=dev-libs/openssl-1.0.0:0= )
libressl? ( dev-libs/libressl:0= )
)
- >=sys-libs/zlib-1.2.3:0=
sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ 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? ( virtual/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
)
- !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
+ >=dev-libs/libpcre-8.41-r1:3=
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
- client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
- !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !<virtual/mysql-5.6-r11
${COMMON_DEPEND}
+ server? ( galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-25*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ sst-xtrabackup? ( net-misc/socat[ssl] )
+ ) )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
"
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
-PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? ( ~virtual/mysql-5.6[static=]
+ galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
local GCC_MAJOR_SET=$(gcc-major-version)
local GCC_MINOR_SET=$(gcc-minor-version)
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
# Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
# non x86{,_64} arches
if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
@@ -118,6 +160,7 @@ pkg_setup() {
die
fi
fi
+ java-pkg-opt-2_pkg_setup
if has test ${FEATURES} && \
use server && ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
@@ -129,11 +172,13 @@ pkg_setup() {
}
pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+
# Here we need to see if the implementation switched client libraries
# We check if this is a new instance of the package and a client library already exists
local SHOW_ABI_MESSAGE libpath
- if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then
- libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so")
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
elog "Due to ABI changes when switching between different client libraries,"
elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
elog "Please run: revdep-rebuild --library ${libpath}"
@@ -149,6 +194,14 @@ pkg_postinst() {
[[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
einfo
elog "You might want to run:"
@@ -164,47 +217,59 @@ pkg_postinst() {
elog "mysql_upgrade tool."
einfo
fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ fi
fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
}
src_unpack() {
unpack ${A}
# Grab the patches
- [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
- mv -f "${WORKDIR}/${P}" "${S}" || die
+ mv -f "${WORKDIR%/}/${P}" "${S}" || die
}
src_prepare() {
- _disable_engine() {
- echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
- }
-
_disable_plugin() {
echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
}
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
- if use jemalloc ; then
- echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
if use tcmalloc; then
- echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
- fi
- # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
- if [[ -d "${S}/support-files/SELinux" ]] ; then
- echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
- fi
-
- if use libressl ; then
- sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
- "${S}/cmake/ssl.cmake" || die
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
- sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
local plugin
- local server_plugins=( semisync )
- local test_plugins=( audit_null daemon_example fulltext )
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management )
if ! use server; then # These plugins are for the server
for plugin in "${server_plugins[@]}" ; do
_disable_plugin "${plugin}"
@@ -215,14 +280,25 @@ src_prepare() {
for plugin in "${test_plugins[@]}" ; do
_disable_plugin "${plugin}"
done
+ _disable_engine test_sql_discovery
fi
- # Don't build example
_disable_engine example
- _disable_engine ndb
- _disable_plugin innodb_memcached
+
+ 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
cmake-utils_src_prepare
+ java-pkg-opt-2_src_prepare
}
src_configure(){
@@ -252,35 +328,107 @@ src_configure(){
-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_MYSQLSHAREDIR=share/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
-DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
-DINSTALL_SBINDIR=sbin
- -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
- -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_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_LIBEDIT=0
-DWITH_ZLIB=system
- -DWITH_LIBWRAP=0
+ -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)
- -DWITH_LIBEVENT=NO
+ -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_MYSQL_CLEAR_PASSWORD=STATIC
+ )
+ 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)
- -DWITH_SSL=$(usex yassl bundled system)
- -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
- -DWITHOUT_VALIDATE_PASSWORD=1
)
if use server ; then
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=share/mariadb
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
@@ -303,18 +451,22 @@ src_configure(){
)
fi
mycmakeargs+=(
- -DWITH_NUMA=$(usex numa ON OFF)
-DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
-DDISABLE_SHARED=$(usex static YES NO)
-DWITH_DEBUG=$(usex debug)
-DWITH_EMBEDDED_SERVER=OFF
- -DENABLED_PROFILING=$(usex profiling)
+ -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
@@ -325,7 +477,6 @@ src_configure(){
-DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
- -DWITH_INNODB_MEMCACHED=0
)
else
@@ -333,6 +484,8 @@ src_configure(){
-DWITHOUT_SERVER=1
-DWITH_EMBEDDED_SERVER=OFF
-DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
)
fi
@@ -346,8 +499,11 @@ src_compile() {
src_install() {
cmake-utils_src_install
- # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
- find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+ # 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
@@ -372,21 +528,32 @@ src_install() {
# Configuration stuff
einfo "Building default configuration ..."
insinto "${MY_SYSCONFDIR#${EPREFIX}}"
- [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
- local mycnf_src="my.cnf-5.6"
- sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
- "${FILESDIR%/}/${mycnf_src}" \
- > "${TMPDIR%/}/my.cnf.ok" || die
- use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
- if use latin1 ; then
- sed -i \
- -e "/character-set/s|utf8|latin1|g" \
- "${TMPDIR%/}/my.cnf.ok" || die
- fi
- eprefixify "${TMPDIR%/}/my.cnf.ok"
- newins "${TMPDIR}/my.cnf.ok" my.cnf
+ [[ -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
@@ -400,6 +567,10 @@ src_install() {
for script in "${S}"/scripts/mysql* ; do
[[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
fi
#Remove mytop if perl is not selected
@@ -407,9 +578,9 @@ src_install() {
}
# Official test instructions:
-# USE='perl server static-libs' \
+# USE='extraengine perl server' \
# FEATURES='test userpriv -usersandbox' \
-# ebuild mysql-X.X.XX.ebuild \
+# ebuild mariadb-X.X.XX.ebuild \
# digest clean package
src_test() {
@@ -459,15 +630,25 @@ src_test() {
pushd "${TESTDIR}" > /dev/null || die
touch "${T}/disabled.def"
- # These are failing in MySQL 5.7 for now and are believed to be
+ # These are failing in MariaDB 10.0 for now and are believed to be
# false positives:
#
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
- for t in auth_sec.keyring_udf federated.federated_plugin ; do
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
_disable_test "$t" "False positives in Gentoo"
done
+ _disable_test main.plugin_auth "Needs client libraries built"
+
# 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=$?
@@ -487,10 +668,10 @@ src_test() {
}
mysql_init_vars() {
- MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
- MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
- MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
- MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+ 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=""
@@ -544,7 +725,7 @@ mysql_init_vars() {
pkg_config() {
_getoptval() {
- local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local mypd="${EROOT}"/usr/bin/my_print_defaults
local section="$1"
local flag="--${2}="
local extra_options="${3}"
@@ -553,20 +734,20 @@ pkg_config() {
local old_MY_DATADIR="${MY_DATADIR}"
local old_HOME="${HOME}"
# my_print_defaults needs to read stuff in $HOME/.my.cnf
- export HOME=${EPREFIX%/}/root
+ export HOME=${EPREFIX}/root
# Make sure the vars are correctly initialized
mysql_init_vars
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
die "Minimal builds do NOT include the MySQL server"
fi
if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
- local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
+ local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
MY_DATADIR_s="${MY_DATADIR_s%%/}"
- local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
+ local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
@@ -625,22 +806,22 @@ pkg_config() {
MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
- if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
fi
- if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
+ if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
fi
- if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
+ if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
- install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
fi
- if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
ewarn "You have already a MySQL database in place."
- ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
ewarn "Please rename or delete it if you wish to replace it."
die "MySQL database already exists!"
fi
@@ -670,19 +851,13 @@ pkg_config() {
local sqltmp="$(emktemp)"
# Fix bug 446200. Don't reference host my.cnf, needs to come first,
- # see http://bugs.mysql.com/bug.php?id=31312
+ # see https://bugs.mysql.com/bug.php?id=31312
use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
- local help_tables="${EROOT%/}${MY_SHAREDSTATEDIR}/fill_help_tables.sql"
- [[ -r "${help_tables}" ]] \
- && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
- || touch "${TMPDIR}/fill_help_tables.sql"
- help_tables="${TMPDIR}/fill_help_tables.sql"
-
# Figure out which options we need to disable to do the setup
- local helpfile="${TMPDIR%/}/mysqld-help"
- "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
- for opt in host-cache name-resolve networking slave-start \
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
federated ssl log-bin relay-log slow-query-log external-locking \
log-slave-updates \
; do
@@ -693,7 +868,7 @@ pkg_config() {
einfo "Creating the mysql database and setting proper permissions on it ..."
# Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
- PID_DIR="${EROOT%/}/var/run/mysqld"
+ PID_DIR="${EROOT}/var/run/mysqld"
if [[ ! -d "${PID_DIR}" ]]; then
install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
fi
@@ -705,37 +880,32 @@ pkg_config() {
pushd "${TMPDIR}" &>/dev/null || die
# Filling timezones, see
- # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
- "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
- chown mysql "${sqltmp}" || die
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
- local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
- [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
- if [[ -r "${help_tables}" ]] ; then
- cat "${help_tables}" >> "${sqltmp}"
- fi
- cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
+ local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
einfo "Command: ${cmd[*]}"
su -s /bin/sh -c "${cmd[*]}" mysql \
- >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ >"${TMPDIR}"/mysql_install_db.log 2>&1
if [ $? -ne 0 ]; then
- grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
- die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
fi
popd &>/dev/null || die
- [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
|| die "MySQL databases not installed"
use prefix || options="${options} --user=mysql"
- local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
- local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
- local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT}/usr/sbin/mysqld \
${options} \
- $(use prefix || echo --user=mysql) \
--log-warnings=0 \
- --basedir=${EROOT%/}/usr \
- --datadir=${ROOT%/}/${MY_DATADIR} \
+ --basedir=${EROOT}/usr \
+ --datadir=${ROOT}/${MY_DATADIR} \
--max_allowed_packet=8M \
--net_buffer_length=16K \
--socket=${socket} \
@@ -759,9 +929,8 @@ pkg_config() {
ebegin "Setting root password"
# Do this from memory, as we don't want clear text passwords in temp files
- local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');"
- "${EROOT%/}/usr/bin/mysql" \
- --no-defaults \
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT}/usr/bin/mysql" \
"--socket=${socket}" \
-hlocalhost \
-e "${sql}"
@@ -769,8 +938,8 @@ pkg_config() {
if [[ -n "${sqltmp}" ]] ; then
ebegin "Loading \"zoneinfo\", this step may require a few seconds"
- "${EROOT%/}/usr/bin/mysql" \
- --socket="${socket}" \
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
-hlocalhost \
-uroot \
--password="${MYSQL_ROOT_PASSWORD}" \
diff --git a/dev-db/mariadb/mariadb-10.3.11.ebuild b/dev-db/mariadb/mariadb-10.3.11.ebuild
new file mode 100644
index 000000000000..f13182f68fa2
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.3.11.ebuild
@@ -0,0 +1,967 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20181211-1735Z"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 user cmake-utils
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz "
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
+ "${MY_PATCH_DIR}"/20037_all_mariadb-10.3-restore-jemalloc.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( virtual/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !<virtual/mysql-5.6-r11
+ ${COMMON_DEPEND}
+ server? ( galera? (
+ sys-apps/iproute2
+ =sys-cluster/galera-25*
+ sst-rsync? ( sys-process/lsof )
+ sst-mariabackup? ( net-misc/socat[ssl] )
+ sst-xtrabackup? ( net-misc/socat[ssl] )
+ ) )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+ server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? ( ~virtual/mysql-5.6[static=]
+ galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ java-pkg-opt-2_pkg_setup
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ cmake-utils_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure(){
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+ fi
+
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ _disable_test main.plugin_auth "Needs client libraries built"
+
+ _disable_test main.func_time "Dependent on time test was written"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
+ local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
+ fi
+ if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see https://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]]; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # https://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR}"/mysql_install_db.log 2>&1
+ if [ $? -ne 0 ]; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT}/usr/sbin/mysqld \
+ ${options} \
+ --log-warnings=0 \
+ --basedir=${EROOT}/usr \
+ --datadir=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]]; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ if [[ -n "${sqltmp}" ]] ; then
+ ebegin "Loading \"zoneinfo\", this step may require a few seconds"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -uroot \
+ --password="${MYSQL_ROOT_PASSWORD}" \
+ mysql < "${sqltmp}"
+ rc=$?
+ eend $?
+ [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
+ fi
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index 466889144a43..3e39a2720fe5 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -15,10 +15,12 @@ AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac212
AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144
DIST mongodb-src-r3.4.16.tar.gz 40093657 BLAKE2B 7123444dbdd0b2ad3adfb3391e0177d33c1b6c6a4ea83027821c564faad047a736e52926bc15c58bef59c18282436e913fd3bc9963705e030da01356f83ea367 SHA512 e22eb1fe2a832fed8305200614988c5ecfd619cee44fe2263bffa151732c0e26584084e64065dbc65152be6e5c1767a538193770359bea92f3703c72239075db
DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999
+DIST mongodb-src-r3.6.9.tar.gz 40515460 BLAKE2B 5637e7b5cc4b3c7874fedacbe0b05dac1b3dde3ae1c58ecbfc8caf9526c0a8696bdfa1b9b40ffd1adfc81ef90fcb7a41de2c53ccce09da8b7879b9ab2f238eb7 SHA512 00202820570ba5cdc16951b1cb0e9b52bcb8362cee252c857b84d9107761f4061496fc3379ceae6e052f14477d702714384ad1b24eca2c4173af2506a8d1f39f
DIST mongodb-src-r4.0.3.tar.gz 49435646 BLAKE2B 1663823d48ec6d93b30b4d68a09bab164291530fd4966fcdd07ffbaceaf25d9fc5c7480d0d794fdd374fa3a2d11f19d87556cf0c47198a13f9d8fb5ccf7f0343 SHA512 c77a01d8d16322514f42030c46a0aa9cedb90f186375222eeb31648060265006b5e929bdde6ca8e7ecd71018f7c19f5bade463d98db0f053d586ffc8adc99550
DIST mongodb-src-r4.0.4.tar.gz 49462543 BLAKE2B a1193ebc6ed818d4e5f27bff1792b6c6c193ff063cae36f2f7adcf63a3b780658d221691c58f42e494ec514d78c81d093067ea7dce8c7158a28846434f493821 SHA512 7e434c8ac715793d7b0015116af72cde766bae953cdc38653a2746ef4a76898dec58f8ee607d9357b87fa11e5a1f0248ae739473ded2d3dcca2b2801434b07e2
EBUILD mongodb-3.4.16.ebuild 4086 BLAKE2B 09d968fc68f4a3c717ce1e4b2f714464c04251fa8c241c9492a26f3777fcc458d7d27810530129753756012341924773c46bea0474900dd7289edb7778283187 SHA512 6f29c0d7dcb54403fe689f168652586bc4fae81de2b0d28f284046ab33c1e3ad94fbed3815ba2fd2164eacd12e9f43bdd1943179778175d6fe3097165a2410e0
EBUILD mongodb-3.6.8.ebuild 4196 BLAKE2B 5c5a72caa94102818cc03de85afc8d4c2818775814a9dd04555db4c1676dda953c8e64e3d222e35e96dfa90a26a18d9825c910f48102c6d574e8de816749523e SHA512 f6f83c1dd60eb8887457135b82194dd16c874678369a3b3a29907406b921502100e6d52d08b4dca6d9777d6d6c6453e6f134b08550304b0321138fb296e259dd
+EBUILD mongodb-3.6.9.ebuild 4185 BLAKE2B 12daa13a2537b60508d13fcdc12de00c124570bdd419ba885d3614dfaa7f5307fd2d2cb4f3a1e2cc18d3d08c3014d649eb62fe0435f966a9b2680a91360a69c3 SHA512 f33ec6397321b79db8fb8d4fd7aeff2c8942045d088a9599bacf43c18a91c80e11eb55deed3f77f08cbac009a89939702a3dec7de69f8253b237224d109d62a6
EBUILD mongodb-4.0.3.ebuild 4198 BLAKE2B 8ecf5ad9712f6c5f3257df6dbd7dba686206c5498287cd39082920a9bbdaaf75585bb205cf09c515d27331a404f2b493d222bcf22d15c6904933bf753db04d01 SHA512 1f0932d7f192b2526d48389375aacc1f73e4b388f6ad46014d47eb18583940c13c9356288db29270d199f5e8930882842128df42c98171a7abf1cc582ffcb210
EBUILD mongodb-4.0.4.ebuild 4196 BLAKE2B 74791aaa39a513dabf0f5f21bf7fc0fb2a9baf63ba7ca7221f18b631e366b24ca3f59d3d2ed55886478ccab5bd836e11fc5b99e30c1e4866be90132a002a4d31 SHA512 45910cb89a28eb11f0e9d37311feca1cfbc5a6f5c22d7ea2c057d44849dc722e2322b6b3de77dddf1af9daa5af4b21817d4a94e6401dc5e6470a813ee3c2da74
MISC metadata.xml 835 BLAKE2B 6aaa10090846882c813db2fcbec27e9bb8d8ab5b34bbb0f5ac7b0de922606a6382be60f30a19502694022a38dc7c67f03b986d5cd1473e530ab4d05f5ee233a0 SHA512 8d190ebb08b6951c9c9ce39872c0c76b6236a0687980577eae7b2181c0bccacc60ccc67cccc4edc05aa21f4d9d65621eb57f803aab91c7ace6ab794559c9d08a
diff --git a/dev-db/mongodb/mongodb-3.6.9.ebuild b/dev-db/mongodb/mongodb-3.6.9.ebuild
new file mode 100644
index 000000000000..ceeb89c1f239
--- /dev/null
+++ b/dev-db/mongodb/mongodb-3.6.9.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug kerberos libressl mms-agent ssl test +tools"
+
+RDEPEND=">=app-arch/snappy-1.1.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
+ >=dev-libs/boost-1.60:=[threads(+)]
+ >=dev-libs/libpcre-8.41[cxx]
+ dev-libs/snowball-stemmer
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.8:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ mms-agent? ( app-admin/mms-agent )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )
+ test? (
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch"
+ "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
+ "${FILESDIR}/${PN}-3.6.1-no-compass.patch"
+)
+
+S=${WORKDIR}/${MY_P}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 3.4; then
+ ewarn "To upgrade from a version earlier than the 3.4-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 3.4-series. Then upgrade to 3.6 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading."
+ fi
+ fi
+}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ )
+
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest
index 5af88c8080f4..604bf023abf1 100644
--- a/dev-db/mysql++/Manifest
+++ b/dev-db/mysql++/Manifest
@@ -11,6 +11,6 @@ DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b2
DIST mysql++-3.2.4.tar.gz 4594696 BLAKE2B 7e0553b0e22bb3607a914fc7756ec192465af546749b0147a97558fb3d397e504f4552dcbc783f5bcc934e51fd1dac863e5479c4af3053d394a51c94cd825ee0 SHA512 69e23c211240854b59951bdb1cecc57f2f818d822a977942177e65195900dbdcc62d598c3e90c18f4a0a37e5340df7a149719c45b791de59c03d1f1259c5f4fd
EBUILD mysql++-2.3.2-r1.ebuild 1410 BLAKE2B 6acbf4805dc44570d1d1b9df9a1c8769d3c13c9658b74cbad2052313d0538552693da45f2558be1afea78f80d6492ec36a9c02389ecbc054c60610ad521030eb SHA512 badefe7d214bd55b81965070b814b94c15fe3635d87c265225d2f9fef02360c3e09adeeb79a75c9990e89d596f111fc958c2a5fcec63624f14404192e4a26884
EBUILD mysql++-3.2.1.ebuild 901 BLAKE2B 0e6c3feef947f749d7124284dad8ce91d14fed57d7a24730482dea19646a8b675113577138d4d81dd3e803df74f13a91fe40b1959fa145bf676b8d301a24d588 SHA512 6a2029dab230cf4c1e4c344362ef7ae8204775a1dd898da6d5bbe274c3b5ad1b1d223eb6e4b4c5915b87b7c6b401c40b3630c8aa0546d4c0192ba418f4d1cf31
-EBUILD mysql++-3.2.3.ebuild 1561 BLAKE2B c55bc278056abe36b0ab2eb902882ad97b2d99230b50bc55ab0d426b9342b98a9fbb46fba0767fad520d0cce3bda9ed31457ced665d436df511abf9ff2fd9b41 SHA512 9cb3fb85b33b17ad94861dff4970a18e537b13e6b1d72b10ff21d93deb5d773a7529be4dca96ee75e877d5bb8da10f75960ffbea49fe22f22634b448a40c31ea
+EBUILD mysql++-3.2.3.ebuild 1557 BLAKE2B 4d6e6743162da47c5af3f50f460a383de1b893f878d100d298e9af3e0dd520c197c551923195374a469cebe8b0662986f31e3531f51e1f9da8e4c13cff7fd1bd SHA512 c937096617395b6ea1fc9058037a9e7e7357bffed51c9d543cac61567effef511ab4767dfb0116115ea005929a5930b3d732cb7bcffb90fd48a263527dbf2470
EBUILD mysql++-3.2.4.ebuild 1704 BLAKE2B c67e5a1e752602037503871f061f6a0430af178beab1c8fe293b19f903afbc78a62f602e8fa1af1c2812c0c938b540a99f0c25dd37ea782b9815237cfe8b4036 SHA512 7358abde75d8f9b57487955a75c7718d383b2ef0aea9094a9bce3affd8151ed94c509e884dea6b10b9d8d709fa893fcb0153e26520375410661045ed198013b2
MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b
diff --git a/dev-db/mysql++/mysql++-3.2.3.ebuild b/dev-db/mysql++/mysql++-3.2.3.ebuild
index 4e9adb043372..09d80aa43cdf 100644
--- a/dev-db/mysql++/mysql++-3.2.3.ebuild
+++ b/dev-db/mysql++/mysql++-3.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0/3"
-KEYWORDS="alpha amd64 ~hppa ~mips ppc ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="doc"
RDEPEND="virtual/libmysqlclient:="
diff --git a/dev-db/mysql-proxy/Manifest b/dev-db/mysql-proxy/Manifest
deleted file mode 100644
index 2f94ea4a276e..000000000000
--- a/dev-db/mysql-proxy/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-AUX mysql-proxy.cnf 1120 BLAKE2B 5e1bd66b984948dfde35be6709e0e6c175ff2685f708f34a98b1ee27bacb624b57a4be5775318663c0996dd780e8b05797b0320cedd5165135533042a04721ad SHA512 5f889422d7232608dcde5f332577c563b0c29b0db5a327659ce7b30cef7e4d498eca641159d49671b7368080ff2113511b6b362b44fb75ddd781a00e2879246b
-AUX mysql-proxy.confd 365 BLAKE2B 064bd99f0b233109fffb65dace18df9a6803cec6c6dbe7e47e3043eb1e4c627a875c07300bef2446968e3f493caa0426ee4f58f4b1dc59652eb89e2ac5330d7c SHA512 9a4a6499e03d939fcc5fbd5f71d1e377a1d003e542be7fab47d810899649f58e518aa34617c67b207477c7b1a85b75ce3045eb5959156c673b4c28c2c101185b
-AUX mysql-proxy.confd-0.8.0-r1 391 BLAKE2B 7896a8f6e4aa8edf8dfcee3e8a29f0aa30bfd1b4fcbb76dad92eafe1c42b1a9eff4a050ea71d1b98196459da39eaf843ec849e9dfc0d2b81f0bca77c34e94be0 SHA512 e07afd8502d87006cfd4640e83c1ecab98b862d0916ee351c9c60aaaa01f0766d51d0749d3f63f33df9f8bbbbc45ef21517fa0dbc87bf3ade8e3e6c4048c8a5b
-AUX mysql-proxy.initd 431 BLAKE2B fd9b3512056162470cb331cade13ee9d83ad91398bc7d907540606fbdf9c8139bec25aad9c2d8ad58d91bb39a406218ddb42d948b21d5a2aa03f714d43ac66b6 SHA512 184850991fbc7c2c625e28f217b12a6e44a38392d1f054dfd25ab6b4c298fb5c53177d6590f536ec3b23bf03b127ae7ee144cc5402bcd2cc8be44a478bc82af3
-DIST mysql-proxy-0.8.2.tar.gz 861995 BLAKE2B 2f6071d5c2a63462dc619ade0ce92db6845d0e010d4d5022314157b3cdac553b5ccff8149763844d42892eaa444f132587f02b8495ddd446ed02953909e59b5a SHA512 e083ea6344bf2d3b85a38127e42cbab659a959684f7f0f63272fa0df926d6d32dbbaaab2b6479ee8fc227fbc9af6f24e855d19700ec1ab4b904c5e638b4d64c8
-EBUILD mysql-proxy-0.8.2-r1.ebuild 1268 BLAKE2B fdaebbcb3663055180073a77f7868ea49b9d888bf72075696151d49a692c5692d50163473068f0184b734cf5d9aede13acd055b07f485c76a2b8f47e1a537f86 SHA512 491326aa07da2e83e440420950c687162d33c3393dd33ae845259a4e663726258f2bc2ba4783ad03289e99cd4164d008d0c8805e36358fa519fe528697d95c76
-MISC metadata.xml 553 BLAKE2B cbbc397ac51dc4760dcd482204ea2d1eca1ea479b9b46cb6681eb642143204d1d4e11da9483c1775d25f89419bbb263975606c3874d01f924df8bbdfd1b80195 SHA512 ea9b0711830e204234c0395e2637005cbf83187c7554435351447871ca99595756893ab4113adcac3deaa6df5495fdf9bf4d3091140c6d2ef498e832cc520388
diff --git a/dev-db/mysql-proxy/files/mysql-proxy.cnf b/dev-db/mysql-proxy/files/mysql-proxy.cnf
deleted file mode 100644
index 7d15674f6b9d..000000000000
--- a/dev-db/mysql-proxy/files/mysql-proxy.cnf
+++ /dev/null
@@ -1,47 +0,0 @@
-# MySQL Proxy's configuration file (mysql-proxy.cnf)
-# This file must be 0660 or more restrictive
-# otherwise mysql-proxy will refuse to load
-[mysql-proxy]
-#basedir = ...
-#daemon = true
-#defaults-file = ...
-#event-threads = ...
-keepalive = true
-log-backtrace-on-crash = true
-log-file = /var/log/mysql/mysql-proxy.log
-log-level = warning
-#log-use-syslog = true
-#lua-cpath = ...
-#lua-path = ...
-#max-open-files = ...
-pid-file = /var/run/mysql-proxy.pid
-#plugin-dir = ...
-#plugins = admin,proxy,debug,replicant
-#plugins = admin,proxy
-plugins = proxy
-#user = ...
-
-# module: admin
-admin-address = 127.0.0.1:4041
-#admin-lua-script = ...
-#admin-password = ...
-#admin-username = ...
-
-# module: proxy
-#no-proxy = false
-proxy-address = 127.0.0.1:4040
-proxy-backend-addresses = 127.0.0.1:3306
-proxy-fix-bug-25371 = false
-#proxy-lua-script = ...
-#proxy-pool-no-change-user = ...
-#proxy-read-only-backend-addresses = ...
-proxy-skip-profiling = false
-
-# module: replicant
-#replicant-master-address = ...
-#replicant-username = ...
-#replicant-password = ...
-#replicant-read-binlogs = ...
-
-# module: debug
-debug-address = 127.0.0.1:4043
diff --git a/dev-db/mysql-proxy/files/mysql-proxy.confd b/dev-db/mysql-proxy/files/mysql-proxy.confd
deleted file mode 100644
index 079530159f82..000000000000
--- a/dev-db/mysql-proxy/files/mysql-proxy.confd
+++ /dev/null
@@ -1,12 +0,0 @@
-# /etc/conf.d/mysql-proxy: config file for /etc/init.d/mysql-proxy
-
-# location of pidfile
-PIDFILE="/var/run/mysql-proxy.pid"
-
-# general options for mysql-proxy
-# do NOT specify --daemon or --pid-file=... here!
-OPTS="--log-use-syslog"
-
-# if you want mysql-proxy to depend on mysql, enable this:
-#RC_NEED="mysql" # baselayout-1
-#rc_need="mysql" # baselayout-2/OpenRC
diff --git a/dev-db/mysql-proxy/files/mysql-proxy.confd-0.8.0-r1 b/dev-db/mysql-proxy/files/mysql-proxy.confd-0.8.0-r1
deleted file mode 100644
index 8b86431a3d8f..000000000000
--- a/dev-db/mysql-proxy/files/mysql-proxy.confd-0.8.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-# /etc/conf.d/mysql-proxy: config file for /etc/init.d/mysql-proxy
-
-# location of pidfile
-PIDFILE="/var/run/mysql-proxy.pid"
-
-# general options for mysql-proxy
-# do NOT specify --daemon or --pid-file=... here!
-OPTS="--defaults-file=/etc/mysql/mysql-proxy.cnf"
-
-# if you want mysql-proxy to depend on mysql, enable this:
-#RC_NEED="mysql" # baselayout-1
-#rc_need="mysql" # baselayout-2/OpenRC
diff --git a/dev-db/mysql-proxy/files/mysql-proxy.initd b/dev-db/mysql-proxy/files/mysql-proxy.initd
deleted file mode 100644
index 7107facfd6f8..000000000000
--- a/dev-db/mysql-proxy/files/mysql-proxy.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting MySQL Proxy"
- start-stop-daemon --start --quiet \
- --exec /usr/bin/mysql-proxy \
- -- --daemon --pid-file="${PIDFILE}" ${OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping MySQL Proxy"
- start-stop-daemon --stop --quiet \
- --pidfile "${PIDFILE}"
- eend $?
-}
diff --git a/dev-db/mysql-proxy/metadata.xml b/dev-db/mysql-proxy/metadata.xml
deleted file mode 100644
index dc0c708273db..000000000000
--- a/dev-db/mysql-proxy/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription>
-MySQL Proxy is a simple program that sits between your client and MySQL
-server(s) that can monitor, analyze or transform their communication. Its
-flexibility allows for unlimited uses; common ones include: load balancing;
-failover; query analysis; query filtering and modification; and many more.
-</longdescription>
- <upstream>
- <remote-id type="launchpad">mysql-proxy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-db/mysql-proxy/mysql-proxy-0.8.2-r1.ebuild b/dev-db/mysql-proxy/mysql-proxy-0.8.2-r1.ebuild
deleted file mode 100644
index 6a7abae6bab8..000000000000
--- a/dev-db/mysql-proxy/mysql-proxy-0.8.2-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils versionator
-
-MY_PV=$(get_version_component_range 1-2)
-DESCRIPTION="A Proxy for the MySQL Client/Server protocol"
-HOMEPAGE="http://dev.mysql.com/doc/mysql-proxy/en/"
-SRC_URI="https://launchpad.net/${PN}/${MY_PV}/${PV}/+download/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-RDEPEND=">=dev-libs/libevent-2.1
- >=dev-libs/glib-2.16
- >=dev-lang/lua-5.1:0"
-DEPEND="${RDEPEND}
- >=virtual/mysql-5.0
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i \
- -e 's|_EVENT_VERSION|LIBEVENT_VERSION|g' \
- src/chassis-mainloop.c || die
-}
-
-src_configure() {
- econf \
- --includedir=/usr/include/${PN} \
- --with-mysql \
- --with-lua \
- || die "econf failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
- newinitd "${FILESDIR}"/${PN}.initd ${PN} || die
- newconfd "${FILESDIR}"/${PN}.confd-0.8.0-r1 ${PN} || die
- dodoc ChangeLog NEWS README
- if use examples; then
- docinto examples
- dodoc examples/*.lua || die
- dodoc lib/*.lua || die
- fi
- # mysql-proxy will refuse to start unless the config file is at most 0660.
- insinto /etc/mysql
- insopts -m0660
- doins "${FILESDIR}"/${PN}.cnf || die
-}
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
index cb16cb13ebd4..a4cf786bf5ac 100644
--- a/dev-db/mysql-workbench/Manifest
+++ b/dev-db/mysql-workbench/Manifest
@@ -9,11 +9,8 @@ DIST antlr-3.4-complete.jar 2388361 BLAKE2B 561c1dffe464bbc387075df6d95bbdcab273
DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1
DIST mysql-workbench-community-6.3.10-src.tar.gz 14969443 BLAKE2B 57f7b0d661bc8211e123a027ce12e71be5637c189cc6e3b949df4f8e5a7edfc8c78f3c6e85b7292347dce2b720ee79070ac8fb91224396a3afae4104583d4325 SHA512 f892853a5f8b000c424b945c38680e17b041699fe2b03743b71c803de6cedeb12e3f69ad94d1c737e23f26d8608026e18fb29d31be6b3a2ffea1d78229212a4d
DIST mysql-workbench-community-6.3.4-src.tar.gz 14954524 BLAKE2B 54941a760cc44b745039a59d0ad88e109605c47285b34098d7ebc9e7a32758027c07219f7b8dc96fad198fbc68086582ccfa5ba7e7a35fa1fff8ff57b467f91f SHA512 8d7eacd46fd3cac912dac2fdbc0669759f9411796507cca76b0ad47228381b15b7f88e60a7a5a8763e704b456884828783cb0c7ed218025edb35aa5033d7d02f
-DIST mysql-workbench-community-6.3.9-src.tar.gz 14634678 BLAKE2B 0991036cedc3198e789369a40641cc318fdc4230c2b6242b923e836c50248e3e1f5b891c1ce7465d132c30e482ef5458a19ed8b9e4a9865719be8eda61eeb1dc SHA512 a3df060114adb0c4f95423dc2732a39917be4eb2281cc2d811cc68c2d43cfa28eea52c4ab743018e91c8c58b0ad7d4b34a9936df8c17381accee8159afe19901
DIST mysql-workbench-community-8.0.13-src.tar.gz 16047080 BLAKE2B c31560a978620ae04210b452bcf90b75e7eb2ec20335470054b2640220ed29c3476f5ee1bacd86575f9b42481de5452e94b8d7a5e8f56eb17ea0770be19dc296 SHA512 d6f7aeb85e1bb59474d432f8088fd5603e5b539f3fce9c78db2aeaa8de3bc9356de09a6486138e07a29dd62b971e7601cce12a2e4a9f7309364081ee5db4b55d
-EBUILD mysql-workbench-6.3.10.ebuild 2709 BLAKE2B 7bafff793dcc713d9a3cb87d118bb3e1831a1888de1d0783ab571631af0f6576bb55be6ce523330b5b3d88db43d63440c50662889a3d6ae52fb4809303d2bf02 SHA512 3d8218213530fa62ab192ef2ec57027c92049edbf5d735bb440c8e3e825041e0530d5351911c0b7838053a3b49df3d7efe23139e3e578f0d515c48f1c1c4a451
+EBUILD mysql-workbench-6.3.10.ebuild 2858 BLAKE2B 09cfdc16accc4772a41b3f0de95982bd5aae411309bcc0b17efb7f4cb801ba94f4f9898226b7ddec30ff4544094f9526b4f93c34e535a4a306e65d021a57acfb SHA512 abe0d26d0e9424262d58b9063cfc2f979af87bd084339fc7a2d9384d188d7f762401ba6223b86a3ba73de9774d2eaef16c8b7d08d2bca4dc177684dd3828bd97
EBUILD mysql-workbench-6.3.4-r1.ebuild 2798 BLAKE2B 20f49f347c9c3300de21e66e851e43670f78e128187287931a6eff0d3fb242ec5ef114d5b6749614895e146332220ce7d11be19a2c27ac153e1de457a18e7baf SHA512 9c9556b5dc88f38381357fdb9991ff94ac6d827db5c9e8320d4d665d1df9b779742364d52a1e1924f8cdd4579eb71e1f8c62af5cf5130ef7aaeab396a7138f54
-EBUILD mysql-workbench-6.3.4-r2.ebuild 2639 BLAKE2B 3ec26fc7bc62e5b4ca9840a7d2f0116566fd4af7d848f89175e67d07ebff340466221a6226d632fc960e6a8f41cae60cb8a8d50317ceb00d049b395c6ab0c493 SHA512 da097fc7e58b6d3383aa66d37cfa0b734c203db43904c0aa8266e51f160a61f649f6bd08136569076eb0ad5b56bdbb855139a58a9adbb8736ff419574e05702a
-EBUILD mysql-workbench-6.3.9.ebuild 2621 BLAKE2B 1a2583c3a0cf268ab0c0d52203773612fa115a1c6096d4a4571ca40bedbeff4cf3fe95bccf75512705d4c3eed7cf72a0358b1dd6acccbb95fa1e1eb2d6c154ef SHA512 26f05929ce84c1e64e5d3aadf95d19431ba129528bff947646a9b952a155887f773370caca1d44d68f7d09d7b0b9184d77d44ef3eb6ceb016976a549369bc1cb
-EBUILD mysql-workbench-8.0.13.ebuild 2622 BLAKE2B 9956ab1b7eb3af674393e18c47443531fc2316e06b45f9a4a4c4c19fe8c4d3678ef504b2e5feb3cf587005aa3b1eaa744c79d9a353f87ad3025bec5b9f8b3e8b SHA512 1858cdde3fb74e212dce8d2c90975598a03c9515293c5df638930868f380dcb72a2f8e632a9291116fb3a50fd553db2cbb4b209e72042d8fe0124df82a80e2a5
+EBUILD mysql-workbench-8.0.13.ebuild 2676 BLAKE2B 5ad4a670e549174be069f984eacd450b4970fe3654c1b9ee1b832094616b9bf84352a38e606f01a1e662d3dcf88cbc1640c31d98007ada0dace758081600768f SHA512 2205d02eebf2bc3fdf95d1d80b5f94597eb000da73d5db0965728d0e50e16e98e121d75786f48d56b0b4b4e7f8d2f01042848c31ef765347c5c1fbd09fa85842
MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
index 4e80549449d4..772ccb85d543 100644
--- a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild
@@ -17,7 +17,7 @@ SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz https://github.co
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="debug doc gnome-keyring"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -88,10 +88,16 @@ src_prepare() {
}
src_configure() {
+ if has_version dev-db/libiodbc ; then
+ IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
+ fi
+
append-cxxflags -std=c++11
local mycmakeargs=(
-DUSE_GNOME_KEYRING="$(usex gnome-keyring)"
-DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DIODBC_INCLUDE_PATH="/usr/include/iodbc"
+ ${IODBC}
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
-DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.4-r2.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.4-r2.ebuild
deleted file mode 100644
index 84f314bf0128..000000000000
--- a/dev-db/mysql-workbench/mysql-workbench-6.3.4-r2.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GCONF_DEBUG="no"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="sqlite"
-
-inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils
-
-MY_P="${PN}-community-${PV}-src"
-
-DESCRIPTION="MySQL Workbench"
-HOMEPAGE="http://dev.mysql.com/workbench/"
-SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc gnome-keyring"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# glibc: deprecated mutex functions, removed in 2.36.0
-CDEPEND="${PYTHON_DEPS}
- dev-libs/glib:2
- dev-cpp/atkmm
- dev-cpp/pangomm
- >=dev-cpp/glibmm-2.14:2
- >=dev-cpp/gtkmm-2.14:2.4
- dev-libs/atk
- x11-libs/pango
- >=x11-libs/gtk+-2.20:2
- gnome-base/libglade:2.0
- >=x11-libs/cairo-1.5.12[glib,svg]
- dev-libs/libsigc++:2
- >=dev-libs/boost-1.55.0[nls]
- >=dev-cpp/ctemplate-0.95
- >=dev-libs/libxml2-2.6.2:2
- dev-libs/libzip
- >=virtual/mysql-5.1
- dev-libs/libpcre[cxx]
- >=sci-libs/gdal-1.11.1-r1[-mdb]
- virtual/opengl
- >=dev-lang/lua-5.1:0[deprecated]
- || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
- dev-libs/tinyxml[stl]
- dev-db/mysql-connector-c++
- dev-db/vsqlite++
- || ( dev-db/libiodbc dev-db/unixODBC )
- gnome-keyring? ( gnome-base/libgnome-keyring )
- dev-python/pexpect
- >=dev-python/paramiko-1.7.4
- "
-
-# lua perhaps no longer needed? Was used via libgrt only
-
-RDEPEND="${CDEPEND}
- app-admin/sudo
- >=sys-apps/net-tools-1.60_p20120127084908"
-
-DEPEND="${CDEPEND}
- dev-lang/swig
- virtual/pkgconfig"
-
-S="${WORKDIR}"/"${MY_P}"
-
-src_unpack() {
- unpack ${PN}-community-${PV}-src.tar.gz
-}
-
-src_prepare() {
- ## Patch CMakeLists.txt
- epatch "${FILESDIR}/${PN}-6.2.3-CMakeLists.patch" \
- "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" \
- "${FILESDIR}/${PN}-6.3.3-mysql_options4.patch" \
- "${FILESDIR}/${PN}-6.3.4-cxx11.patch" \
- "${FILESDIR}/${PN}-6.3.4-gtk.patch"
-
- sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt sqlparser/' \
- modules/db.mysql.sqlparser/CMakeLists.txt
-
- ## remove hardcoded CXXFLAGS
- sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
-
- ## package is very fragile...
- strip-flags
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- append-cxxflags -std=c++11
- local mycmakeargs=(
- $(cmake-utils_use_use gnome-keyring GNOME_KEYRING)
- -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- # Work around parallel build issues, bug 507838
- cmake-utils_src_compile -j1
-}
diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild
deleted file mode 100644
index efa53cd769f5..000000000000
--- a/dev-db/mysql-workbench/mysql-workbench-6.3.9.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GCONF_DEBUG="no"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="sqlite"
-
-inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils
-
-MY_P="${PN}-community-${PV}-src"
-
-DESCRIPTION="MySQL Workbench"
-HOMEPAGE="https://www.mysql.com/products/workbench/"
-SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar?raw=true -> antlr-3.4-complete.jar"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc gnome-keyring"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# glibc: deprecated mutex functions, removed in 2.36.0
-CDEPEND="${PYTHON_DEPS}
- dev-libs/glib:2
- dev-cpp/atkmm
- dev-cpp/pangomm
- >=dev-cpp/glibmm-2.14:2
- dev-cpp/gtkmm:3.0
- dev-libs/atk
- x11-libs/pango
- x11-libs/gtk+:3
- gnome-base/libglade:2.0
- >=x11-libs/cairo-1.5.12[glib,svg]
- dev-libs/libsigc++:2
- >=dev-libs/boost-1.55.0[nls]
- >=dev-cpp/ctemplate-0.95
- >=dev-libs/libxml2-2.6.2:2
- dev-libs/libzip
- >=virtual/mysql-5.6
- dev-libs/libpcre[cxx]
- >=sci-libs/gdal-1.11.1-r1[-mdb]
- virtual/opengl
- || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid )
- dev-libs/tinyxml[stl]
- >=dev-db/mysql-connector-c++-1.1.8
- dev-db/vsqlite++
- || ( dev-db/libiodbc dev-db/unixODBC )
- gnome-keyring? ( gnome-base/libgnome-keyring )
- dev-python/pexpect
- >=dev-python/paramiko-1.7.4
- "
-
-RDEPEND="${CDEPEND}
- app-admin/sudo
- >=sys-apps/net-tools-1.60_p20120127084908"
-
-DEPEND="${CDEPEND}
- dev-lang/swig
- virtual/jre
- virtual/pkgconfig"
-
-S="${WORKDIR}"/"${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch"
- "${FILESDIR}/${PN}-6.3.9-mariadb-json.patch"
-)
-
-src_unpack() {
- unpack ${PN}-community-${PV}-src.tar.gz
-}
-
-src_prepare() {
- sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt sqlparser/' \
- modules/db.mysql.sqlparser/CMakeLists.txt
-
- ## remove hardcoded CXXFLAGS
- sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die
-
- ## package is very fragile...
- strip-flags
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- append-cxxflags -std=c++11
- local mycmakeargs=(
- -DUSE_GNOME_KEYRING="$(usex gnome-keyring)"
- -DLIB_INSTALL_DIR="/usr/$(get_libdir)"
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
- )
- ANTLR_JAR_PATH="${DISTDIR}/antlr-3.4-complete.jar" cmake-utils_src_configure
-}
-
-src_compile() {
- # Work around parallel build issues, bug 507838
- cmake-utils_src_compile -j1
-}
diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild
index df7e12b90286..ab3a1f466f1f 100644
--- a/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild
+++ b/dev-db/mysql-workbench/mysql-workbench-8.0.13.ebuild
@@ -89,19 +89,20 @@ src_prepare() {
}
src_configure() {
+ if has_version dev-db/libiodbc ; then
+ IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config"
+ fi
+
append-cxxflags -std=c++11
ANTLR_JAR_PATH="${DISTDIR}/antlr-4.7.1-complete.jar"
local mycmakeargs=(
-DWITH_ANTLR_JAR=${ANTLR_JAR_PATH}
- -DUSE_GNOME_KEYRING="$(usex gnome-keyring)"
-DLIB_INSTALL_DIR="/usr/$(get_libdir)"
+ -DIODBC_INCLUDE_PATH="/usr/include/iodbc"
+ ${IODBC}
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
-DMySQL_CONFIG_PATH="/usr/bin/mysql_config"
)
cmake-utils_src_configure
}
-
-#src_compile() {
-# cmake-utils_src_compile -j1
-#}
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index b4e6479bf20a..11b19c8e6fa4 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -7,7 +7,6 @@ AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1f
DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49
DIST mysql-5.5.62.tar.gz 21111902 BLAKE2B f1cbb1c6b4dfac11c2c517a57a5c6216ce43766cc247b3c9b387326a7f6446cbc21ddb42bd95afa658c3b0ed2568a29563ceea248c6ec63364ce210119d39cc2 SHA512 1080a3989c20bbbfe98739f99dacd183f2087ceee5147845852144240386808568af4c908ecdbccdcb6114000ab760ed7257492834d50018eff9520260fd91ce
DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c
-DIST mysql-5.6.41.tar.gz 32111985 BLAKE2B 5ccad59333525b354db4fa892857e237cddf8fe1a4d289c6e410c31d6142a71d3ce4dab8d954fa9932ec1f83b50e8eccd5845e082deaaa56f1c0c5e21b2ce6c0 SHA512 a62d7a68c6bb49de33f8c9e634bce53cb453a87238e92967115e8e928fa9ed291727b8bd5a5271a0b5b634d957eb310c745edfb14b6be1deb9099bb757aa2cff
DIST mysql-5.6.42.tar.gz 32201731 BLAKE2B c573328b37225dac090c32178f90e1419fc1848612e304bddc11eafdd48228981a846857be680978b72ef76edbd5d2422a98b5d20b4d082fabcc2b072e2b8fde SHA512 3104e6a3145a119f2b012de6af2a92fc37134aa402b889a562f5fc2391705d0bc2f718166c5fa8387d973fff5ecd9544c8b389b6d0c81d98bdcaf2acfb9b55e8
DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953
DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f7cbf5ae9107106d86705575ea9739fa582e1f079447d9a58c4762fffc636d69e448ebdec9172ee15dc09245bc39c3525 SHA512 bbd411e15cd9e6053a353146808b74881d2d950f09e94794a699e7604dadf767b58b661a8321fbe1424f2c2e6cfc3adaa388242183e759082eae47b64cbfbcde
@@ -15,10 +14,9 @@ DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf4347333586
DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa
DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2
EBUILD mysql-5.5.61.ebuild 25515 BLAKE2B 2e8a5ff36ec6003ff7e4d746157afe8af9d462537d2808ab6cfe4d469cee1a594df38aafddcb010d0157335b42253f12474614f4eec85729f79d2e05a28cb8b3 SHA512 9ea05d2509c6693d71c5ce048e11393a77cf50570fa19f40500900284b9e5e5d1097de5c82fa518058ea773ac8fd30131a9c153b4effb371f4ce04f454e8867e
-EBUILD mysql-5.5.62.ebuild 25662 BLAKE2B 88668c4e8deda3bb3cd4fd000457f0eade2b35b60bfb3ed82c56dfaa7e4e092aa7115ba997061086a958c72575042f846774ad34a9f9f71fdf87f2a8387686f0 SHA512 1c0360dd22cdc207775fd2bfdf37baebb25736ee15311ae946b62a4d557ffaceee5a2b33bc9c24bf8af8fcb18cffa9cf65304438eb49bd355e7cfa7e5df5c030
+EBUILD mysql-5.5.62.ebuild 25693 BLAKE2B abb1400994767e1a29259fda70531e27e9160b849a6228802baa440f8a5c8244393cb155ac9985f04353c8b35516e653a563c2eb84b72a714c5ee81d016e5d27 SHA512 759b82802fdeb7840b0da3e4ef1d6e7b1f32d7bd815ba780b11e57143b52bcb7eb483c008d25670f4626968028a46f7080abff247e5d2047f6b500ac67888ad4
EBUILD mysql-5.6.40-r2.ebuild 25714 BLAKE2B c78b1d8b2a77d095302f7e203c3ee6c0c2014770944072b87bd77f97972fcb6db52b05088adacbc821ce2e8f3dbb780bd40d850e381b866458b0d530fd11ea5d SHA512 b6301834c7813714f18f9763922d10e6faa33675705ba479c6d76e3c5673d903b0683f64a8281836bd6be396f398ed1bee14f9e6c8ddfe30b84ad1ac66a8be48
-EBUILD mysql-5.6.41.ebuild 25721 BLAKE2B babbbcf2b0004de259843b201af56ed5513d3c61e484164aff8ff8dc8266bad491628b5f4805a2deda373af6a39e0b086e23dec53799546e35dbb4f51a3c645e SHA512 5933bf59434bf7fdc2ff8d119d2c1cf58284bfda94ec2adbd4340e2958a6ac325bcbdd2106f538e26bcddf8c93ac3d9d0646757ba3e4c32f7dbc5336320a6df1
-EBUILD mysql-5.6.42.ebuild 25935 BLAKE2B 76cbf8b06b40ed74841ad1f10a31a2ea46f0a7f13cfddc65a8756ba222c3c893a92e0cb1a523120400b10911a56ff506fc94cfae0635711e409d4c9b0a826cfe SHA512 2125f86ca1245b86f41438a2fb4c08076e71f11ef8ca6365e48b979d075b9b24bf5c20163a38ee53029dada7f45a3e4ae71310f13e9eef5c97828f68db23df2e
+EBUILD mysql-5.6.42.ebuild 25955 BLAKE2B de075ce30850d5f2fe17a5aaf02e5888d62634028a042105ac4bff9a90dbec7803c6b1d348e35267be6b4b12afa8f12f4a02f969c536890bf7970cb4e466907c SHA512 56aa82fe363e091a6db7b307318f14ff93ded6eba2a61142eb3e026205740b02dca8587e23accf2ff757e941b0d4b2a0e7ab386b879d7cee35976facbb7aec94
EBUILD mysql-5.7.23-r2.ebuild 30078 BLAKE2B 57bf58e862639e651335a10a8c4dfc5f7f0f76bfb0545414d697875906d917131fedd3e9d0e58f57b886d8cae55adbd2a104ee3632d49b4ba0669b93a1a68bff SHA512 dfbb88e79b717ceb615246a806123ee2d30c1632cfb40d0bb9e04a9204565a92afbb2b37245794c15985e99a60d2adc46723b97e455fb85e137079d6192b148c
-EBUILD mysql-5.7.24.ebuild 30085 BLAKE2B bd5de2f76e2c2b908a2b7f316ead2f7daa6b652394fcfe84d099f006b9b82f8225c6babdce75db77370765d6ae26bbecaa433d86299477f2b58917fd87bf292c SHA512 b60aa816475f58f8603249d693d107115fb6778eeb8b5ee3335328bfcad19140344247dc9fba9bc0a13bcf743a90a1f293a045a492da3072fbceb63c16fb15c7
+EBUILD mysql-5.7.24.ebuild 30386 BLAKE2B ecf0c03821af6a21467b53a02e6e0a0ae2f7e5d267ff4669266d34cdb9fddb7defbd8a4013dd3a1f8a103c84da4c6eddafae06fc1ebc4bf94c9769e64dbbfc1b SHA512 f8b372573d82b513ea1d82a1e00d728501c483ef949a2411c05ac93a8d2d90162d6992b58d3a101fefcbac541f9f37dcfa2263ac49231839d338af158557153f
MISC metadata.xml 1539 BLAKE2B 0bc66c5855bd1f4353a7f0b551229d68a940478687b4f38653f973e4a5cfcb946c86bdc2d8318aa96aba43598eb476b995005f26727dfa176ced00fbe2b129a1 SHA512 bc0ce8a3de5e55d954f65eec657930af069d3550f485334f80dfa4c6d17c6298d0609d1ba4fe8b6c988f8ad007858f147c17f1354c207891ac1a062a36af50ad
diff --git a/dev-db/mysql/mysql-5.5.62.ebuild b/dev-db/mysql/mysql-5.5.62.ebuild
index 630c5076e7d4..cb229697802e 100644
--- a/dev-db/mysql/mysql-5.5.62.ebuild
+++ b/dev-db/mysql/mysql-5.5.62.ebuild
@@ -476,7 +476,8 @@ src_test() {
# segfaults at random under Portage only, suspect resource limits.
local t
- for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ for t in federated.federated_plugin \
+ main.mysql_client_test main.mysql_client_test_nonblock \
main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \
rpl.rpl_semi_sync_uninstall_plugin ; do
diff --git a/dev-db/mysql/mysql-5.6.42.ebuild b/dev-db/mysql/mysql-5.6.42.ebuild
index a7c2b5d4d840..1ec7ebd88269 100644
--- a/dev-db/mysql/mysql-5.6.42.ebuild
+++ b/dev-db/mysql/mysql-5.6.42.ebuild
@@ -37,7 +37,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -93,6 +93,7 @@ COMMON_DEPEND="
"
DEPEND="virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
+ test? ( dev-perl/JSON )
|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
${COMMON_DEPEND}"
RDEPEND="selinux? ( sec-policy/selinux-mysql )
diff --git a/dev-db/mysql/mysql-5.7.24.ebuild b/dev-db/mysql/mysql-5.7.24.ebuild
index d42e62682c48..f178d936fc9a 100644
--- a/dev-db/mysql/mysql-5.7.24.ebuild
+++ b/dev-db/mysql/mysql-5.7.24.ebuild
@@ -34,7 +34,7 @@ RESTRICT="libressl? ( test )"
REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase
@@ -111,6 +111,7 @@ DEPEND="${COMMON_DEPEND}
experimental? ( net-libs/rpcsvc-proto )
)
static? ( sys-libs/ncurses[static-libs] )
+ test? ( dev-perl/JSON )
"
RDEPEND="${COMMON_DEPEND}
!dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
@@ -544,10 +545,16 @@ src_test() {
# Unstable tests
# - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340
- for t in main.xa_prepared_binlog_off ; do
+ # - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489
+ for t in main.xa_prepared_binlog_off rpl.rpl_non_direct_stm_mixing_engines ; do
_disable_test "$t" "Unstable test"
done
+ if ! use amd64 ; then
+ # fixed in >=mysql-8 via commit 0a417e84
+ _disable_test "gis.gis_bugs_crashes" "Unstable results on non-amd64 architectures due to floating-point operation"
+ fi
+
if use numa && use kernel_linux ; then
# bug 584880
if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index b62ff3a18f58..12450ee7c23f 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -9,8 +9,12 @@ DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b
DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c
DIST percona-server-5.7.23-23.tar.gz 79165468 BLAKE2B a460ac88886fa2be65abb0520d541db54413274599e02d8de3a01a68f8c3da431bfe819eb32bf80518fdff69bbcfae90ee089d2a096ee6210f9e4efe60dbab25 SHA512 351d40d3f7c3fe72f733443a6ef3902e1455390835e52e73d7eb48698ac6f2363e07811d40b22af5b1c7607622017d613279581940522c5e99660fac89d4d4c6
DIST percona-server-5.7.23-24.tar.gz 81641623 BLAKE2B f23e8787f7c3b38517e22b8b12da38f549b03343091cdb7ff17b0b719036a10aa954f30162fdf032fa4813f6ee59881fa9334f7ce6d1a646fa2c338b4bf3f2cb SHA512 9449cf4f5e6b9abb062b17652a258ddf99397d82efd89c9b0c1b20ddfef3d3531c2c1b71cb91664ea6ee897c136310af58fcc900d5f80d37e8eb73a2a616fa41
+DIST percona-server-5.7.23-25.tar.gz 81600024 BLAKE2B 5db3f3abe5a88b4178bb7f93801a8169994a75caa3677e7653a169e380c221a9bd8c390254207b0104e3b74bd751476720ba25f65cd965d7e4b0ad86174f749d SHA512 1ce27b4a08f1e882e8635c688d44f593d95bfe30dc0678a0e6779381e80c081bf147047b40d990613893cfcb5e0d870ac3fcec1f24cd52b64efd0ed78ed05ccb
+DIST percona-server-5.7.24-27.tar.gz 81757023 BLAKE2B 80c28ca3195874133b127ba7268aa6a6af89f4d1a38ee34f0a761e8c35b8da2c8a94781e7672e241164b9887549846875fc294e36e4229f8e2c4d3f65562350e SHA512 f2a5af3c75577da911bcee5bf962e5b6d723ede1a21f19f9211cda1a7e37a3523d904ea0af6fa9787418959c8824c0cf48726b8b0a426b81df01e5a51214b70d
EBUILD percona-server-5.6.40.84.0.ebuild 31731 BLAKE2B fcceabd0a8346cdae61fc980ec94e87a1da1a2a4ea638a436eec4e9fdaccd9d2cd121b4b3373c45be7d3c1002d721fb25f600d84801db36c8fbe84bccae9edf4 SHA512 72979e5ee1be9ef964df0fce7a334baaa549879b566d44cc66106ce121d0043fa469417efef5e179c8e237d43d3650edb71fed96637196d1e6060986503ebe8a
EBUILD percona-server-5.6.41.84.1.ebuild 31632 BLAKE2B e1c3c7c21210fe2208c5b66e141859f9cf2f77fc5f80d829b6b5f6fa653a6219c1f6bea0bbe1d18886ac57d8925911b8027ffdae20d99753baf56aafbfa8a03b SHA512 28746c8ea7b36a974d5e9004eea7b9b10f0cc3740d0752247ce99f876176e709357078da02f7682888bbcb006aaa995c301e9725aed78f420fc931fc53d7ada9
EBUILD percona-server-5.7.23.23-r1.ebuild 33819 BLAKE2B 9296bad3b209d628f7afe202f3cea1f14b6a23395ba2a3090e48cdf0d558b6c39a5fe54b6031b69deec5498c032d4253ead7f2a7848d1d4c3f75f143e5598b5e SHA512 27a6f6c5f7cafb3a1cb34bf411ac101bca18bf0a5b6ca0dbb05f0604cb07998f44899850f13f2b1418da90232723c391e74528668943860af10818a4a5429dc6
-EBUILD percona-server-5.7.23.24.ebuild 35267 BLAKE2B 3f01d4ca699c13f3fdb92bc29b1cfe0c704e942c47810734531ae842ef085c30841212219169c99dde6028f9611d6f16f74c5e8d0d1272d274df1ac29e4e0dbc SHA512 01af980140cb55480c1665bfb612f009853688a12e0bcf2ca17835877ef1c417cc418914796032c2b5a9c72be3fc26de243af5e09dd24103d44d3399be0580da
+EBUILD percona-server-5.7.23.24.ebuild 35551 BLAKE2B 2e890be0c59ba78f1a08fa531e437aa28cb778fe6b7b71c1acc4b488f3a897dabaab2a68908a9297b084410e9627ed4b72307775646a881af1d8cf3a3ad07064 SHA512 ad98f7723ac8907d6cf885ddd19211a8b91e02eb72cf86f6a5e9e895aa6582faea28fb2abe2be58df012243347aa50f825ff9d00433914042c442b753ece999d
+EBUILD percona-server-5.7.23.25.ebuild 35551 BLAKE2B 2e890be0c59ba78f1a08fa531e437aa28cb778fe6b7b71c1acc4b488f3a897dabaab2a68908a9297b084410e9627ed4b72307775646a881af1d8cf3a3ad07064 SHA512 ad98f7723ac8907d6cf885ddd19211a8b91e02eb72cf86f6a5e9e895aa6582faea28fb2abe2be58df012243347aa50f825ff9d00433914042c442b753ece999d
+EBUILD percona-server-5.7.24.27.ebuild 35329 BLAKE2B c55fdfe8e6a642527223991fba51c1538d0b9bc1dab3aa371f205177f9f89790b96c14a0203269a87f6ee4ee950097bcee770b5f78e9d262025549b7aefe50fc SHA512 7450b66e5db69026a17f5da743948af9c23f5f759a2b5416ab077cc85c6e2141ee5aa312bf2bcbf77f30c0cd4e9f87ccf288469307038516cb8a6d4887f131c6
MISC metadata.xml 1490 BLAKE2B 8e9d17e8f501a86cf8293f3112ce98b920833fb8bf71d9c9ff3a8d6e452fd486cd2bb665ba9d7938dfc6b94551becdd498993c69f0647a6b64ccab417467d5e0 SHA512 8e75680e685703072f2628cf812e884eaf47974ed088f44445b8476caf38a97c91b525555f25b4279b73cae78be21af6f8dd173be51cc1e1b1e03a2c779355e5
diff --git a/dev-db/percona-server/percona-server-5.7.23.24.ebuild b/dev-db/percona-server/percona-server-5.7.23.24.ebuild
index 9887b0d1eb4f..2c75a45d8e37 100644
--- a/dev-db/percona-server/percona-server-5.7.23.24.ebuild
+++ b/dev-db/percona-server/percona-server-5.7.23.24.ebuild
@@ -608,6 +608,8 @@ src_test() {
# rocksdb.rocksdb: https://jira.percona.com/browse/PS-5034
# rocksdb.show_engine: https://jira.percona.com/browse/PS-5033
# rocksdb.show_table_status: https://jira.percona.com/browse/PS-5035
+ # rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
+ # rpl.rpl_multi_source_mts_reset_worker_info: https://jira.percona.com/browse/PS-3786
# x.crud_insert_cast: https://jira.percona.com/browse/PS-5032
# x.insert_table_bad_column: https://jira.percona.com/browse/PS-5032
# x.insert_table_bad_numcolumns: https://jira.percona.com/browse/PS-5032
@@ -628,6 +630,8 @@ src_test() {
rocksdb.rocksdb \
rocksdb.show_engine \
rocksdb.show_table_status \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_multi_source_mts_reset_worker_info \
x.crud_insert_cast \
x.insert_table_bad_column \
x.insert_table_bad_numcolumns \
diff --git a/dev-db/percona-server/percona-server-5.7.23.25.ebuild b/dev-db/percona-server/percona-server-5.7.23.25.ebuild
new file mode 100644
index 000000000000..2c75a45d8e37
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.7.23.25.ebuild
@@ -0,0 +1,1066 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20181017-2201Z"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Python2 required for innodb_stress.innodb_stress{,_blob,_crash} test
+PYTHON_COMPAT=( python2_7 )
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \
+ prefix python-any-r1 toolchain-funcs user multilib-minimal
+
+MY_PV=$(ver_rs 3 '-')
+MY_PN="Percona-Server"
+MY_P="${PN}-${MY_PV}"
+MY_MAJOR_PV=$(ver_cut 1-2)
+MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.7/release-notes/release-notes_index.html"
+
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
+ mirror://sourceforge/boost/boost_1_59_0.tar.gz
+"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb
+ selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
+ "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
+ "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-fix-libressl-support.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-rocksdb-use-system-libs.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+# MULTILIB_USEDEP only set for libraries used by the client library
+COMMON_DEPEND="net-misc/curl:=
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=
+ dev-libs/protobuf:=
+ net-libs/libtirpc:=
+ )
+ numa? ( sys-process/numactl )
+ pam? ( virtual/pam:0= )
+ rocksdb? (
+ app-arch/zstd:=
+ dev-libs/protobuf:=
+ )
+ tokudb? (
+ app-arch/snappy:=
+ app-arch/xz-utils:=
+ )
+ tokudb-backup-plugin? ( dev-util/valgrind )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ !yassl? (
+ client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ dev-libs/protobuf
+ virtual/yacc
+ server? (
+ dev-libs/libevent
+ experimental? ( net-libs/rpcsvc-proto )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+ test? (
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ dev-perl/JSON
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
+ selinux? ( sec-policy/selinux-mysql )
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+python_check_deps() {
+ has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]] ; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if use numa ; then
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ use test && python-any-r1_pkg_setup
+ fi
+
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so" ]] ; then
+ libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libperconaserverclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ if use tcmalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ # Don't build bundled xz-utils
+ if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
+ echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
+ elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+ fi
+
+ if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
+ rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
+ fi
+
+ # Remove bundled libs so we cannot accidentally use them
+ # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
+ rm -rv \
+ "${S}"/extra/protobuf \
+ "${S}"/libevent \
+ "${S}"/storage/rocksdb/third_party \
+ "${S}"/storage/tokudb/PerconaFT/third_party \
+ "${S}"/zlib \
+ || die
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+}
+
+src_configure(){
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ if use tokudb ; then
+ # https://jira.percona.com/browse/PS-4399
+ append-cxxflags -Wno-error=shadow
+ fi
+
+ if use client-libs ; then
+ multilib-minimal_src_configure
+ else
+ multilib_src_configure
+ fi
+}
+
+multilib_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if ! multilib_is_native_abi && ! use client-libs ; then
+ return
+ fi
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_CURL=system
+ -DWITH_BOOST="${WORKDIR}/boost_1_59_0"
+ -DWITH_PROTOBUF=system
+ )
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ if ! use client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ # systemtap only works on native ABI, bug 530132
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_TOOLS=1
+ -DWITH_READLINE=1
+ -DENABLE_DTRACE=0
+ )
+ fi
+
+ if multilib_is_native_abi && use server ; then
+ mycmakeargs+=(
+ -DWITH_LIBEVENT=system
+ -DWITH_LZ4=system
+ -DWITH_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
+ -DWITH_ROCKSDB=$(usex rocksdb 1 0)
+ $(usex tokudb '' -DWITHOUT_TOKUDB=1)
+ )
+
+ if use tokudb ; then
+ # TokuDB Backup plugin requires valgrind unconditionally
+ mycmakeargs+=(
+ $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
+ )
+ fi
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='latin1 perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]] ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" &>/dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in Percona-Server 5.7 for now and are believed to be
+ # false positives or are known to fail:
+ #
+ # encryption.innodb_encryption_tables: https://jira.percona.com/browse/PS-5036
+ # group_replication.gr_communication_configuration: requires a valid local network address
+ # which clashes with FEATURES=network-sandbox
+ # main.mysqlshow: https://jira.percona.com/browse/PS-5017
+ # main.percona_bug1289599: https://jira.percona.com/browse/PS-2072
+ # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com
+ # which clashes with FEATURES=network-sandbox
+ # perfschema.show_sanity: https://jira.percona.com/browse/PS-5018
+ # rocksdb.rocksdb: https://jira.percona.com/browse/PS-5034
+ # rocksdb.show_engine: https://jira.percona.com/browse/PS-5033
+ # rocksdb.show_table_status: https://jira.percona.com/browse/PS-5035
+ # rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
+ # rpl.rpl_multi_source_mts_reset_worker_info: https://jira.percona.com/browse/PS-3786
+ # x.crud_insert_cast: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_numcolumns: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column_type: https://jira.percona.com/browse/PS-5032
+ # x.insert_table: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayappend_o: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayinsert_o: https://jira.percona.com/browse/PS-5032
+ #
+ local t
+
+ for t in \
+ encryption.innodb_encryption_tables \
+ group_replication.gr_communication_configuration \
+ main.mysqlshow \
+ main.percona_bug1289599 \
+ keyring_vault.keyring_vault_timeout \
+ perfschema.show_sanity \
+ rocksdb.rocksdb \
+ rocksdb.show_engine \
+ rocksdb.show_table_status \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_multi_source_mts_reset_worker_info \
+ x.crud_insert_cast \
+ x.insert_table_bad_column \
+ x.insert_table_bad_numcolumns \
+ x.insert_table_bad_column_type \
+ x.insert_table \
+ x.update_crud_arrayappend_o \
+ x.update_crud_arrayinsert_o \
+ ; do
+ _disable_test "$t" "False positives in Gentoo / Known bug"
+ done
+
+ if use numa && use kernel_linux ; then
+ # bug 584880
+ if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+ for t in sys_vars.innodb_numa_interleave_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ if use tokudb ; then
+ if [[ -f "/sys/kernel/mm/transparent_hugepage/enabled" ]] ; then
+ if grep -q -E "\[always\]" /sys/kernel/mm/transparent_hugepage/enabled &>/dev/null ; then
+ # TokuDB refuses to start when transparent hugepages are enabled
+ for t in \
+ tokudb.rows-32m-rand-insert \
+ tokudb.savepoint-2 \
+ tokudb.savepoint-3 \
+ tokudb.savepoint-4 \
+ tokudb.savepoint-1078 \
+ tokudb.savepoint-1078-2 \
+ tokudb.savepoint-1078-3 \
+ tokudb.savepoint-1078-4 \
+ ; do
+ _disable_test "$t" "TokuDB will not work with transparent hugepages enabled"
+ done
+ fi
+ else
+ einfo "Cannot determine transparent hugepage status."
+ einfo "Please note that TokuDB refuses to start when transparent hugepages are enabled!"
+ fi
+ fi
+
+ if ! use latin1 ; then
+ # The following tests will fail if DEFAULT_CHARSET
+ # isn't set to latin1:
+ for t in \
+ binlog.binlog_mysqlbinlog_filter \
+ binlog.binlog_xa_prepared_disconnect \
+ funcs_1.is_columns_mysql \
+ funcs_1.is_tables_mysql \
+ funcs_1.is_triggers \
+ innodb.innodb_pagesize_max_recordsize \
+ innodb.innodb-system-table-view \
+ innodb.mysqldump_max_recordsize \
+ main.mysql_client_test \
+ main.mysqld--help-notwin \
+ main.type_string \
+ main.information_schema \
+ perfschema.binlog_edge_mix \
+ perfschema.binlog_edge_stmt \
+ rpl.rpl_xa_survive_disconnect \
+ rpl.rpl_xa_survive_disconnect_lsu_off \
+ rpl.rpl_xa_survive_disconnect_table \
+ ; do
+ _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
+ done
+ fi
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd &>/dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS
+ local MULTILIB_CHOST_TOOLS
+ if use client-libs ; then
+ # headers with ABI specific data
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mysql/server/my_config.h
+ /usr/include/mysql/server/mysql_version.h )
+
+ # wrap the config scripts
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ multilib-minimal_src_install
+ else
+ multilib_src_install
+ multilib_src_install_all
+ fi
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+
+ cmake-utils_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+multilib_src_install_all() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ if use tokudb ; then
+ # Remove some unwanted files
+ rm -fv \
+ "${ED%/}"/usr/COPYING.AGPLv3 \
+ "${ED%/}"/usr/COPYING.GPLv2 \
+ "${ED%/}"/usr/PATENTS \
+ "${ED%/}"/usr/README.md \
+ || die
+ fi
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX%/}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
+ local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client ; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ echo "USE mysql;" >"${sqltmp}"
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
+ chown mysql "${sqltmp}" || die
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
+ cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ ${options} \
+ $(use prefix || echo --user=mysql) \
+ --log-warnings=0 \
+ --basedir=${EROOT%/}/usr \
+ --datadir=${ROOT%/}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]] ; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
+ "${EROOT%/}/usr/bin/mysql" \
+ --no-defaults \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/percona-server/percona-server-5.7.24.27.ebuild b/dev-db/percona-server/percona-server-5.7.24.27.ebuild
new file mode 100644
index 000000000000..a980f25cd9d7
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.7.24.27.ebuild
@@ -0,0 +1,1062 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20181017-2201Z"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Python2 required for innodb_stress.innodb_stress{,_blob,_crash} test
+PYTHON_COMPAT=( python2_7 )
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \
+ prefix python-any-r1 toolchain-funcs user multilib-minimal
+
+MY_PV=$(ver_rs 3 '-')
+MY_PN="Percona-Server"
+MY_P="${PN}-${MY_PV}"
+MY_MAJOR_PV=$(ver_cut 1-2)
+MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.7/release-notes/release-notes_index.html"
+
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz
+ mirror://sourceforge/boost/boost_1_59_0.tar.gz
+"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb
+ selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch
+ "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch
+ "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-fix-libressl-support.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-rocksdb-use-system-libs.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+# MULTILIB_USEDEP only set for libraries used by the client library
+COMMON_DEPEND="net-misc/curl:=
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ sys-libs/ncurses:0=
+ client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
+ !client-libs? (
+ dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?]
+ >=sys-libs/zlib-1.2.3:0=
+ )
+ jemalloc? ( dev-libs/jemalloc:0= )
+ kernel_linux? (
+ dev-libs/libaio:0=
+ sys-process/procps:0=
+ )
+ server? (
+ >=app-arch/lz4-0_p131:=
+ cjk? ( app-text/mecab:= )
+ experimental? (
+ dev-libs/libevent:=
+ dev-libs/protobuf:=
+ net-libs/libtirpc:=
+ )
+ numa? ( sys-process/numactl )
+ pam? ( virtual/pam:0= )
+ rocksdb? (
+ app-arch/zstd:=
+ dev-libs/protobuf:=
+ )
+ tokudb? (
+ app-arch/snappy:=
+ app-arch/xz-utils:=
+ )
+ tokudb-backup-plugin? ( dev-util/valgrind )
+ )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ !yassl? (
+ client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ dev-libs/protobuf
+ virtual/yacc
+ server? (
+ dev-libs/libevent
+ experimental? ( net-libs/rpcsvc-proto )
+ )
+ static? ( sys-libs/ncurses[static-libs] )
+ test? (
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ dev-perl/JSON
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= )
+ selinux? ( sec-policy/selinux-mysql )
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+python_check_deps() {
+ has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]] ; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if use numa ; then
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+
+ use test && python-any-r1_pkg_setup
+ fi
+
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so" ]] ; then
+ libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libperconaserverclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of ${PN} reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/mysql.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${MY_P}" "${S}" || die
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ if use tcmalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ # Don't build bundled xz-utils
+ if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
+ echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
+ elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+ fi
+
+ if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
+ rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
+ fi
+
+ # Remove bundled libs so we cannot accidentally use them
+ # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394
+ rm -rv \
+ "${S}"/extra/protobuf \
+ "${S}"/libevent \
+ "${S}"/storage/rocksdb/third_party \
+ "${S}"/storage/tokudb/PerconaFT/third_party \
+ "${S}"/zlib \
+ || die
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+}
+
+src_configure(){
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ if use tokudb ; then
+ # https://jira.percona.com/browse/PS-4399
+ append-cxxflags -Wno-error=shadow
+ fi
+
+ if use client-libs ; then
+ multilib-minimal_src_configure
+ else
+ multilib_src_configure
+ fi
+}
+
+multilib_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if ! multilib_is_native_abi && ! use client-libs ; then
+ return
+ fi
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_CURL=system
+ -DWITH_BOOST="${WORKDIR}/boost_1_59_0"
+ -DWITH_PROTOBUF=system
+ )
+
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ if ! use client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ # systemtap only works on native ABI, bug 530132
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_TOOLS=1
+ -DWITH_READLINE=1
+ -DENABLE_DTRACE=0
+ )
+ fi
+
+ if multilib_is_native_abi && use server ; then
+ mycmakeargs+=(
+ -DWITH_LIBEVENT=system
+ -DWITH_LZ4=system
+ -DWITH_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
+ -DWITH_ROCKSDB=$(usex rocksdb 1 0)
+ $(usex tokudb '' -DWITHOUT_TOKUDB=1)
+ )
+
+ if use tokudb ; then
+ # TokuDB Backup plugin requires valgrind unconditionally
+ mycmakeargs+=(
+ $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
+ )
+ fi
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+}
+
+# Official test instructions:
+# ulimit -n 16500 && \
+# USE='latin1 perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]] ; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" &>/dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in Percona-Server 5.7 for now and are believed to be
+ # false positives or are known to fail:
+ #
+ # encryption.innodb_encryption_tables: https://jira.percona.com/browse/PS-5036
+ # group_replication.gr_communication_configuration: requires a valid local network address
+ # which clashes with FEATURES=network-sandbox
+ # main.mysqlshow: https://jira.percona.com/browse/PS-5017
+ # main.percona_bug1289599: https://jira.percona.com/browse/PS-2072
+ # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com
+ # which clashes with FEATURES=network-sandbox
+ # perfschema.show_sanity: https://jira.percona.com/browse/PS-5018
+ # rocksdb.prefix_extractor_override: https://jira.percona.com/browse/PS-5199
+ # rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223
+ # rpl.rpl_multi_source_mts_reset_worker_info: https://jira.percona.com/browse/PS-3786
+ # x.crud_insert_cast: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_numcolumns: https://jira.percona.com/browse/PS-5032
+ # x.insert_table_bad_column_type: https://jira.percona.com/browse/PS-5032
+ # x.insert_table: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayappend_o: https://jira.percona.com/browse/PS-5032
+ # x.update_crud_arrayinsert_o: https://jira.percona.com/browse/PS-5032
+ #
+ local t
+
+ for t in \
+ encryption.innodb_encryption_tables \
+ group_replication.gr_communication_configuration \
+ main.mysqlshow \
+ main.percona_bug1289599 \
+ keyring_vault.keyring_vault_timeout \
+ perfschema.show_sanity \
+ rocksdb.prefix_extractor_override \
+ rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \
+ rpl.rpl_multi_source_mts_reset_worker_info \
+ x.crud_insert_cast \
+ x.insert_table_bad_column \
+ x.insert_table_bad_numcolumns \
+ x.insert_table_bad_column_type \
+ x.insert_table \
+ x.update_crud_arrayappend_o \
+ x.update_crud_arrayinsert_o \
+ ; do
+ _disable_test "$t" "False positives in Gentoo / Known bug"
+ done
+
+ if use numa && use kernel_linux ; then
+ # bug 584880
+ if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+ for t in sys_vars.innodb_numa_interleave_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ if use tokudb ; then
+ if [[ -f "/sys/kernel/mm/transparent_hugepage/enabled" ]] ; then
+ if grep -q -E "\[always\]" /sys/kernel/mm/transparent_hugepage/enabled &>/dev/null ; then
+ # TokuDB refuses to start when transparent hugepages are enabled
+ for t in \
+ tokudb.rows-32m-rand-insert \
+ tokudb.savepoint-2 \
+ tokudb.savepoint-3 \
+ tokudb.savepoint-4 \
+ tokudb.savepoint-1078 \
+ tokudb.savepoint-1078-2 \
+ tokudb.savepoint-1078-3 \
+ tokudb.savepoint-1078-4 \
+ ; do
+ _disable_test "$t" "TokuDB will not work with transparent hugepages enabled"
+ done
+ fi
+ else
+ einfo "Cannot determine transparent hugepage status."
+ einfo "Please note that TokuDB refuses to start when transparent hugepages are enabled!"
+ fi
+ fi
+
+ if ! use latin1 ; then
+ # The following tests will fail if DEFAULT_CHARSET
+ # isn't set to latin1:
+ for t in \
+ binlog.binlog_mysqlbinlog_filter \
+ binlog.binlog_xa_prepared_disconnect \
+ funcs_1.is_columns_mysql \
+ funcs_1.is_tables_mysql \
+ funcs_1.is_triggers \
+ innodb.innodb_pagesize_max_recordsize \
+ innodb.innodb-system-table-view \
+ innodb.mysqldump_max_recordsize \
+ main.mysql_client_test \
+ main.mysqld--help-notwin \
+ main.type_string \
+ main.information_schema \
+ perfschema.binlog_edge_mix \
+ perfschema.binlog_edge_stmt \
+ rpl.rpl_xa_survive_disconnect \
+ rpl.rpl_xa_survive_disconnect_lsu_off \
+ rpl.rpl_xa_survive_disconnect_table \
+ ; do
+ _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set"
+ done
+ fi
+
+ # Try to increase file limits to increase test coverage
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd &>/dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS
+ local MULTILIB_CHOST_TOOLS
+ if use client-libs ; then
+ # headers with ABI specific data
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mysql/server/my_config.h
+ /usr/include/mysql/server/mysql_version.h )
+
+ # wrap the config scripts
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ multilib-minimal_src_install
+ else
+ multilib_src_install
+ multilib_src_install_all
+ fi
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+
+ cmake-utils_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+multilib_src_install_all() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+
+ eprefixify "${TMPDIR}/my.cnf.ok"
+
+ newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf
+
+ if use tokudb ; then
+ # Remove some unwanted files
+ rm -fv \
+ "${ED%/}"/usr/COPYING.AGPLv3 \
+ "${ED%/}"/usr/COPYING.GPLv2 \
+ "${ED%/}"/usr/PATENTS \
+ "${ED%/}"/usr/README.md \
+ || die
+ fi
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX%/}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
+ local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client ; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
+ fi
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]] ; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ echo "USE mysql;" >"${sqltmp}"
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
+ chown mysql "${sqltmp}" || die
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
+ cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ ${options} \
+ $(use prefix || echo --user=mysql) \
+ --log-warnings=0 \
+ --basedir=${EROOT%/}/usr \
+ --datadir=${ROOT%/}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]] ; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
+ "${EROOT%/}/usr/bin/mysql" \
+ --no-defaults \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
index 48871115c897..72b5d35736ff 100644
--- a/dev-db/pgpool2/Manifest
+++ b/dev-db/pgpool2/Manifest
@@ -9,9 +9,13 @@ DIST pgpool-II-3.7.0.tar.gz 3269076 BLAKE2B f7a396e82022a35e5f46fb644ca4a9007db3
DIST pgpool-II-3.7.1.tar.gz 3237755 BLAKE2B ec196e384c9c4c03a28081fbb74b820c7480e2a98427441572142bd80bff6d2adbbda9bc19df1c70f4699af28fcac5f09161a5938df633bb9eba52c0d9dc24ac SHA512 2a83f573ca2a720ee7beb75d8d1380747e29b2bb3c809f51bd0f8e4423d67f882ce2acb7d9ea118c55313e969aba3bf94a0d5b190eb905123d43c09df25e00ef
DIST pgpool-II-3.7.3.tar.gz 3259752 BLAKE2B 398257b2a647039a634d52b0e23ab1584aaa67f58d6f234f03bf2e99380b346b4ff51647f876d0789c484e88fc149a2af5a5b1b8fd3aa48323aada064ea3421d SHA512 c7fea570f11dfc348b0099fde074f61a15e6979b6f16526d24d73b26d723edfdbadbcf10e90c2111aeb72599970718d3cda4abed3e99e8a711cf03b715c29624
DIST pgpool-II-3.7.5.tar.gz 3276279 BLAKE2B d9c52684985e0a74ef115792f79a71305fbcc5f44663971e5fee41d543c7c290999091c387f5da6c73c88466880a24b21d469046de7981983d9984a606ae357e SHA512 4840047f11b5e176803c03073d1ef6ef54f9d0be3d9bd622fedc9fd0ad4f835090fbf671bfd71cda0d994af6ea9a1658b0d5e5d09ec317b345c41fb0fa4b7b70
+DIST pgpool-II-3.7.7.tar.gz 3325039 BLAKE2B 47f4d48b811af0fb6626a6ea4b46bd81d13997fa8756f533711f733eed7526ea79bbc929cf894911cc5697c37fd5fde0306eaee485f00b6c41c2701bf08c972c SHA512 9766d011f8a93ae292770b24915f6825d037d55ad3f75be131a58a9dcfb4d1a61f572f2c48f69ee0d3c6cbdfe76da15e417c26f102c646c3d9e1a2f71d205374
+DIST pgpool-II-4.0.2.tar.gz 3576212 BLAKE2B 4027b8d02f4422900e674ee49a1946521b0737e73c9cd73363cd1ad1328de294bdec219bb8df55db58c6b2da365f8094e6b2228e13f1d24f35f7fb373280bd66 SHA512 9014c34f69cdcb3064a3713ed97fa0847f5572866db709c53f703b2ff996dbb31988d6573fcd85c9bb715bb54b9c215adaf11eb2f90193371be804ec37ac955e
EBUILD pgpool2-3.7.0.ebuild 2489 BLAKE2B 79706764ecb54cd2e682bb200640f6635f9a2f6ff8d26f9129a290ea68cb43adef5ba6f6622c591bd9cd5e996456f396d2f936ed8d4d303367fef0032bf2cd56 SHA512 7f74ded58782b8657b3c3f1de92a7a268a806019978e73ed3f4ed93c160d75d9e251acc2bbc39ee266dbc23f662fad8678b98f31b9a476d1b9f0c6b6719377c6
EBUILD pgpool2-3.7.1.ebuild 2491 BLAKE2B f31a347236dacc779b0c019663205b5472a994da5be4136919a4fc3c86cf730a48abbb2741224855a3fd284a937ad97b1b1a7f0b8e6741ea6570974841d5d6e6 SHA512 42026cf2f0d76578b8324b14af12b0fb53c21a75b33d04ef997589878943fb29887488219f175d4481833854dfdf3f6d91c804b54f73157b72d6f786173d6950
EBUILD pgpool2-3.7.3.ebuild 2491 BLAKE2B f31a347236dacc779b0c019663205b5472a994da5be4136919a4fc3c86cf730a48abbb2741224855a3fd284a937ad97b1b1a7f0b8e6741ea6570974841d5d6e6 SHA512 42026cf2f0d76578b8324b14af12b0fb53c21a75b33d04ef997589878943fb29887488219f175d4481833854dfdf3f6d91c804b54f73157b72d6f786173d6950
EBUILD pgpool2-3.7.5.ebuild 2636 BLAKE2B 1d4b4147857c2d5f181d455ade1bc8c2879c6b368b5394cdd0ec01afc68af668855432bafd76d1f01832908323efbbd2532c13b65109288ff32cb4e1983258b9 SHA512 ff1fbf75a9bd7281166546e9f04462062c033a052fb83a299e6fe266b5e018d76819ad9a347f1130015f784718f636ea3f070fffadde299219cb04301e2de845
+EBUILD pgpool2-3.7.7.ebuild 2638 BLAKE2B 554f9cf5bba88a23e09efec63bb6daaa24a29cf31738f2d177750bcfe3b5c2d938a01c28f0a37ac2aa0c2a20e6722050e8a69c52c6f7336dc01e3326ae982311 SHA512 7e150e36e77df5c44c991a51aa34a87762dddd9e15953f676c10ce5eb2d8107064a8a50247cb1d18062c5fbbc421f256a022c134683906fa73a0103f5860da7f
+EBUILD pgpool2-4.0.2.ebuild 2644 BLAKE2B b2f3c100bd902c2e7d1c937544c5199fa3b47ff67aa71ee29f8ecc79701dabba4fd1ab6dc3b5e50cb68bb90a4153e554fd022b04e5cf02b25ea5f36869c33346 SHA512 da03de0e0d76641814ca1de20e8b90e0ab14ae8b7561997e1692f827a6b8e4afbc3f4ab25bffa8d1f6486805649beff57c9b9aee7e71943fe5c096766a5ab52a
EBUILD pgpool2-9999.ebuild 2722 BLAKE2B a9589fdfa37dc5650bce8cc5c7758b6956fba3670e5629308bc34d1b9e9642bb92fdc7e069231cd7fad1d2185afe8b763de6093b0e97446ddb4a7186915149e5 SHA512 ea19202c508243bb2801266cae49d7e8939a6d7ee51fc4d9a02fe7ba3c7464cf440dd712c098ddb183c56839b9e8093f9222f8348bb52bac921003f601a8514b
MISC metadata.xml 390 BLAKE2B d6a0560051449e95bb43e81589eee966a477a75d7ec8211ae96b15f2d51ce9555181b8640d9d830f2b42f8159989e9126423c6ccbbc2bf2dd8121f4920a87a16 SHA512 ce26ee116c3c7ff77a771294ed07f38d8f940dc380915c339eb4c543d86fa5bde025ba83e70af2b7bf4a1bef1e51957f151131836855e0dae2e1daed73ffae8d
diff --git a/dev-db/pgpool2/pgpool2-3.7.7.ebuild b/dev-db/pgpool2/pgpool2-3.7.7.ebuild
new file mode 100644
index 000000000000..79ac82b65293
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-3.7.7.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+POSTGRES_COMPAT=( 9.{3..6} 10 )
+
+inherit autotools postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="http://www.pgpool.net/"
+SRC_URI="http://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc libressl memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ net-libs/libnsl:0=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? (
+ !libressl? ( dev-libs/openssl:* )
+ libressl? ( dev-libs/libressl:= )
+ )
+"
+DEPEND="${RDEPEND}
+ !!dev-db/pgpool
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ postgres_new_user pgpool
+
+ postgres-multi_pkg_setup
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-configure-pthread.patch" \
+ "${FILESDIR}/pgpool_run_paths-3.6.5.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EROOT%/}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # Examples and extras
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED%/}/usr/share/${PN/2/-II}" "${ED%/}/usr/share/${PN}" || die
+ into "/usr/share/${PN}"
+ dobin src/sample/{pgpool_recovery,pgpool_recovery_pitr,pgpool_remote_start}
+ insinto "/usr/share/${PN}"
+ doins src/sample/{{pcp,pgpool,pool_hba}.conf.sample*,pgpool.pam}
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-4.0.2.ebuild b/dev-db/pgpool2/pgpool2-4.0.2.ebuild
new file mode 100644
index 000000000000..099a14d08702
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.0.2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+POSTGRES_COMPAT=( 9.{3..6} {10..11} )
+
+inherit autotools postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="http://www.pgpool.net/"
+SRC_URI="http://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc libressl memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ net-libs/libnsl:0=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? (
+ !libressl? ( dev-libs/openssl:* )
+ libressl? ( dev-libs/libressl:= )
+ )
+"
+DEPEND="${RDEPEND}
+ !!dev-db/pgpool
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ postgres_new_user pgpool
+
+ postgres-multi_pkg_setup
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-configure-pthread.patch" \
+ "${FILESDIR}/pgpool_run_paths-3.6.5.patch"
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EROOT%/}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # Examples and extras
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED%/}/usr/share/${PN/2/-II}" "${ED%/}/usr/share/${PN}" || die
+ into "/usr/share/${PN}"
+ dobin src/sample/{pgpool_recovery,pgpool_recovery_pitr,pgpool_remote_start}
+ insinto "/usr/share/${PN}"
+ doins src/sample/{{pcp,pgpool,pool_hba}.conf.sample*,pgpool.pam}
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgtap/Manifest b/dev-db/pgtap/Manifest
index a1904b193094..cfddeffc5832 100644
--- a/dev-db/pgtap/Manifest
+++ b/dev-db/pgtap/Manifest
@@ -1,3 +1,5 @@
DIST pgtap-0.98.0.zip 270583 BLAKE2B 25d409f5fc63bc7059e8a4ffd3cb460885648f8569cd10ca05d4c5fbe09af323ecc719d663f81389d45f4a4910ca77beef968e264a0d3f4fabf63fa30b8b98ac SHA512 478841aa9cf378120713b90f33dc16d40fdd030ee1856edd4bfa288a7803cabad09661cf5219925335d9220e12b6202a1fcd8cc0fc55d1974d1e98dc0f6ddac0
+DIST pgtap-0.99.0.zip 275915 BLAKE2B 33499dacc0019ecbe85ff3dc4fcc243b6102e0b7e7018d70b17cda44b8d22d8260229ab732db9900296232e0801070722bf97a752734ea7d389dc8ae57198b6f SHA512 c1b39bf2c041d759006d692229a67af1520b6a3d23fdac43f0781cac9ce69e7714fc854d1e45f1cb3ee188a20dccfb7904bc4dd1513699189fae70f425c13b5f
EBUILD pgtap-0.98.0.ebuild 488 BLAKE2B 4c9e215882a272b5cfd2c58c75cc3e589cabf79f1653d1eaf259fb198316dd3fb98b0d7792e742af88e9931039c29a5c459205c9624d15f8cb1e212bb39b46a7 SHA512 ccb8d89695c5ac7d4eaf8cd281bb4f29fdd85e490e7d6aac4a78b62c09c4d1a6f0601f728ed52a83e0cac543e1f862836872ea9717967190f06f169e31353e9b
+EBUILD pgtap-0.99.0.ebuild 590 BLAKE2B e9a8511a2ee4a2f5c251a2a4ccbe2e12f3d7185640b8de221bca1189db0638a17fc1d0606da728aa938fd1acd9f5e1e3b61a2a01256fac3e0a368e14b186f82b SHA512 9c27784cd2eae449e43427adb38db81150cb0a8441e0961fd80c3786ea27fc2519379f84c9a1af26c6ace6aece7f4fc5c5055e58c955f49e2389cfc1f092e922
MISC metadata.xml 628 BLAKE2B 8a671273bb0de6f11d5ea56a3bf38e9eee05c0a70ff8cefe183f0eb798afbead29e96d5a45f764e2afc437cc97d91590e648c6716a8dd8fa7a6cc9f072332e0c SHA512 1c06c14ea5af9248950e6c10ab877b0725c4885082211db94b8a195fdf0dd115dc584a325655b7155895ec4382008e03511aa238d43179310fbe3dc835f5270a
diff --git a/dev-db/pgtap/pgtap-0.99.0.ebuild b/dev-db/pgtap/pgtap-0.99.0.ebuild
new file mode 100644
index 000000000000..2be40ea3ba4a
--- /dev/null
+++ b/dev-db/pgtap/pgtap-0.99.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+POSTGRES_COMPAT=( 9.{3..6} {10..11} )
+
+inherit postgres-multi
+
+DESCRIPTION="Unit testing for PostgreSQL"
+HOMEPAGE="https://pgtap.org/"
+SRC_URI="https://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="${POSTGRES_DEP}
+ app-arch/unzip
+ dev-perl/TAP-Parser-SourceHandler-pgTAP
+"
+RDEPEND="${DEPEND}"
+
+# Tests requires a running database that match up with the current testing slot.
+RESTRICT="test"
+
+src_configure() {
+ :
+}
diff --git a/dev-db/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest
index ee4a49a6255e..eda9e03b17bd 100644
--- a/dev-db/phpmyadmin/Manifest
+++ b/dev-db/phpmyadmin/Manifest
@@ -1,8 +1,8 @@
AUX postinstall-en-3.1.txt 1160 BLAKE2B 0aa21601490830f93a784c1a3c09b90986d606d0086b128b37d6598c946e9ebe43f575f12ca5ee571db8520841a2c08624b567b721567d26ee02e1e3c4c9124e SHA512 7b50ab9f9e3a828bd9bff600550ea97712c28804467ab5900a52710d4adb0581fe33155a965dd3956fcd36cc153b1a18a1f001d88ac52d70c8288faf695f01ec
-DIST phpMyAdmin-4.7.0-all-languages.tar.xz 7600296 BLAKE2B 10e1168ab7a1d8dfccf5837c211a2e6455d767e27f11aec870a9c4a1a19e8a4a1df67b82a7a83ff3c184c8a111dc272da5c876150615a9fd9a32a643bba84007 SHA512 03f3b56d3fed846e8e27e38a1bf32175b267a3cc2784ee499b64a48b6a37f0352302a9c150e1db1c99f633aabd8a373a834ad7ab2b694146b0ac13dd05bd27e3
DIST phpMyAdmin-4.7.8-all-languages.tar.xz 6218056 BLAKE2B 879ef6703711725781fcf3b4c9ab607741c4df0d2f1955f632087e33b599e54128c0811dbd125d9015a0ec597dd6d9af54e7136e91f8637badf698ad7a30b8ba SHA512 ae6edcfba72413a6e0af0b120a99809320a840ab332ae77263f21e14f3b34a38cca70591628ba5818d6732ff6d23551ea51cbf6a75012d2326d0fab1c2a1b9ae
DIST phpMyAdmin-4.8.3-all-languages.tar.xz 5996528 BLAKE2B cf00bab32547c5a6e8c81f529e5b074e3a7c576a7991d6823239172f91cebad7e1b10e2baee589043bf8a5d1d37470a7614a038a0054eaa18e74028bf3cecfd4 SHA512 95998eda6a2db9020671073c62458d819cbd5e54c5f56f467b109401f6b9ebd2dfbc34cc840980bf2d3a7ee3bc93683b7fe20d9bd72b537d8aa066d39089ff89
-EBUILD phpmyadmin-4.7.0.ebuild 1569 BLAKE2B 8582b641380f4a9c47dc3ff62a32774b35f2c252774c91a8ddfa8e7470c8649a192984ccf4124d21af09a3843c1a8d0d520907eb51d50c368d166f1b570ffb1a SHA512 dbc88883d5605423c3ed17563736c1f7e862fcf60e9f162d057229dbd8e372b056072fca592063349361be2a2baeab0ca3ca3a36b4af7130758836a95f1988b7
-EBUILD phpmyadmin-4.7.8.ebuild 1564 BLAKE2B 771fd31cb0188c4d229e7bb9af796cbc3ca6d90d03502fae7cdc0b038d3e9e723cfdf72db72952155d5bfbc37bd7d61b669ceac7a5b11304ad283e32321b51a0 SHA512 3b7fe1cd8b766138e569a82e3161c9c21a0853254f0392d94e9cdb3af3e8934a3cbc689bd14d5b04881dd6cde8dc057585417a1d5dd18ad9d250c2c66f35c9af
-EBUILD phpmyadmin-4.8.3-r1.ebuild 1561 BLAKE2B 7f8bae1983e7f2194765edf45842c45b3be557e97b0803b899acbeb368f625345a0473231221d5cadfceecceaa8a3e51bde23720c640de7a54ba49de7063426b SHA512 a5dc139da13c1c5397cca03789b8453ff80c0df60773d5a840eebe62958cd3e02a91af2d4c7355f44aaef79f12f7ce6f4596d48c3345db0e35e36a333519e633
+DIST phpMyAdmin-4.8.4-all-languages.tar.xz 6012216 BLAKE2B 3e6503a7f2d76c6c9e7d8064ef2eb3ea21ee5ef040c0439e24afe9388f8f47aef4fbd8cbe27ae809f45f2c789a289f529a3eda1cf91ef80681d1f76147d753ee SHA512 4f7018416fb925b28d5e061ebba4d99c45497f0e33c6a4bfa32aaa74197a429d61469d8084fd5ea6b23a34444c81905e072b5508f9a87c75e18e0ac596ff2121
+EBUILD phpmyadmin-4.7.8.ebuild 1560 BLAKE2B 5f4cfc1b75bf5c23897c14c46bf952f1dd2021a8be3e4e022305eae14f6155c14a5b4f6db74518e0df24d7529dc6362f83614b859f51599c62c8a7135cfb0602 SHA512 b53a8697b1a16a8ddaac4240639d81fe1d9e35130892949cb95fdbabdf4839d23d2cdf077a2dc43bcddc836e015c28b922648ea1e8ac3f5f981ecc07a4b235e6
+EBUILD phpmyadmin-4.8.3-r1.ebuild 1558 BLAKE2B 841f68f731b7f0c0c21b718ce1ee7823c151ec936c3060c6e61e75181efa1bf4cdfea8619a1a93e89f9fb2c04d36cad759d6dea2d6ceaebc418be0b2270e7a15 SHA512 8eb64005bf20bb5740207fc3e217a5e68daa0c0eb28a48c518dfcccd211ebb9e5578433edc364bd13f8096e6e112afca34556b4bf5f408d813e3938e6d2aa5a4
+EBUILD phpmyadmin-4.8.4.ebuild 1564 BLAKE2B 5ac1abd3d55453b52b0eb5c9a6c32427e15ee221f7641222c999396b7efeb1dc3c0e6af8949661106d3e49d0a78c1532cfad1b6bfb2743c08d7f8a54e9bfff11 SHA512 247d39125762dd7117b05d4655364784e717a5ff536ef730327e3e83f6fb5ae14eabbf42839c5f568b3ef5e9caa474fb1e8e5b2c21243de651b6d0d750aba50e
MISC metadata.xml 701 BLAKE2B aef0a047bca31221714bf27203bd720863c5cef6b7b4dd72b441761a0638bca38c03610e65b3819ca0fba6577973908d7ca40ec8baa3aac1255d19b7cfa9f0a7 SHA512 6dcb099779cd0db4928ee812c81fee762612846044e6ee3df3b661a2dce6aed01420d0bc1301c8ff9d763fb8aeaeef3290a7889b32705fc48e8c392aa8b8ca82
diff --git a/dev-db/phpmyadmin/phpmyadmin-4.7.8.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.7.8.ebuild
index cab151563aaa..1d0f18f80395 100644
--- a/dev-db/phpmyadmin/phpmyadmin-4.7.8.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-4.7.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
-KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="setup"
RDEPEND="
diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild
index 507ccf8cc7e9..044f2857fe2c 100644
--- a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="setup"
RDEPEND="
diff --git a/dev-db/phpmyadmin/phpmyadmin-4.7.0.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.4.ebuild
index 4cfb0dc84d8f..646226a38ba1 100644
--- a/dev-db/phpmyadmin/phpmyadmin-4.7.0.ebuild
+++ b/dev-db/phpmyadmin/phpmyadmin-4.8.4.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=6
inherit eutils webapp
@@ -14,11 +14,11 @@ HOMEPAGE="https://www.phpmyadmin.net/"
SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz"
LICENSE="GPL-2"
-KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="setup"
RDEPEND="
- dev-lang/php[crypt,ctype,filter,json,session,unicode]
+ dev-lang/php[ctype,filter,json,session,unicode]
|| (
dev-lang/php[mysqli]
dev-lang/php[mysql]
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index 72f2e45d5c64..502272b6f141 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -2,7 +2,12 @@ AUX postgis-2.2.0-arflags.patch 535 BLAKE2B 6420573e9623d4e2115ed3616bc3b8648ae7
AUX postgis-2.4.2-jsonc_0.13.patch 786 BLAKE2B c55fd81f28b9a4db965ef3f4bb3ca6fcf2cd6ba44d4f7a93c35ade90ffdcb195325ce219348aa6dc3645f6822214b4bc75263c02fc316f3dd9b4369114eb5493 SHA512 9088304bb77db2d86dd077510f94ae8b3796474a02377f1f076476c739d9506f0b7c7c6dcf6e90ad51e84bc528302a6ecda4bedc6eac42dfeba3a71c0144a399
DIST postgis-2.4.2.tar.gz 12470881 BLAKE2B 116bb5d1c8f6066d537cac950254923a681babac456d155139dbdd2853b80499f4f9445dad985b94bffffd1d1285a6c78fee0fccb24e301d18147f3cd9230416 SHA512 e268572d5cd009754ef05f5d2eedcac7e362fa47199459c637cd4d9050d2b648d4b2b3746cde0dce5a42be2606a432b64dc905f193e12cf0869e3dd6f820b425
DIST postgis-2.4.3.tar.gz 12601055 BLAKE2B 662b2afe145bc23c77ebda7306d07a20e39c1a598316cee58e1591e65ce1b2d2a3f727f5463ba144711faa55f7c11e4a038b6ad2a76cab760b4fdd43647f09c3 SHA512 95b2c925cb10943e7136aa3b7b08a9ad3d6ff59a3994c653bba52e4c65193d519daa49684b924f68945dd596187aa17e0c713bf0b9e29f8c5973346b279dba1b
+DIST postgis-2.4.6.tar.gz 12616474 BLAKE2B 8e33ae7e8ca5ef2a4dd90f64a8e9910118e4ef711444b196f46e4a63f98ff6044709d65a853c5c10de91308658a206965503b6a85a16438ea422becdbbd9bb40 SHA512 eec4276a58549f3cc57d6574186aebc72df0dd7dc2ab9acbaf410604b4d271dee6d5154caacd7297d20493d879434ca78050672e8197ff0fc63a36100c20c66c
+DIST postgis-2.5.1.tar.gz 16041872 BLAKE2B 589cf7168d3698737a19d817b8efb91695c2c3f63d6c3aa24189d9a37459a28ca8a7db0450aa2d557699f76cd8e3ab1eec198bd332b294d976330fdc9d8a7f60 SHA512 c6c9c8c5befd945614e92d1062df1d753ca8b7fd69b70226065c2dac77a59783b14ece4da994187079b683ee090ba5a79389ba679f22fce8c20a5afc2c8dfca0
EBUILD postgis-2.4.2.ebuild 3111 BLAKE2B 5e73b003ce160340df936ffc7571fa4873b1e3cc6519fae8f7f452d98c2c5786c2ecedb96a544bef39f566a28db8089b7f9dfd37e97b910cf33fa83fb0307bcf SHA512 0cd08ef2930688412f1ffe4846ac88a9037f68dda0cde535c810fbbb218f2c033fec74a2f7b1539f0ff42ea40f085ea290fcdd3892fcc27a38fad25085686152
EBUILD postgis-2.4.3.ebuild 3113 BLAKE2B 4ea7488d7c87a8d946d074d36f306db9791bca9d0d63f7ad67622defd797052fad8d4b0652ef2a3445ee1da436450e2f30683870dcf54de3255db9b61095e2b3 SHA512 a7f5e10d00f67a6f6c322ed59937ccd103e3491b9ae9ffc516240c5185b10ed808b4044e44ab276576e07a5bc34e3f9464abf242623b85e9a718733713cbeb1b
+EBUILD postgis-2.4.6.ebuild 3064 BLAKE2B 0db79ef8795463982620e44522a0eeafbaff89ad9da666ee0be4a5f30e1fac7d45b6cf79340289f0a8ebe49ec2fffbd0157aa576f63807e1b055547c196e13ef SHA512 e8c8f804684886fac800d8c9fb3f325203f8ebe1f0852eaee6eb3be7255038d9b9bba59a04be5a32de13c65f65d054194f4919946860edda8209c01254f089a4
+EBUILD postgis-2.5.1-r1.ebuild 3046 BLAKE2B 27e063256480698c255088e1e4ba53a8355ed325a228829f93d2606a8110f5315362cd1b52f7774c0fd3e2f28b95376d5dc2b8f7267115eb53dbaeedce893898 SHA512 154b19f8dd6b06c32f28e62cb6fd14af2b9ea46b126b61285790542f79d2168dff6ec765f4c423e38917f4fa364527e760592b25a1c8f9c90f6e15fd66f0c4e3
+EBUILD postgis-2.5.1.ebuild 3064 BLAKE2B 0db79ef8795463982620e44522a0eeafbaff89ad9da666ee0be4a5f30e1fac7d45b6cf79340289f0a8ebe49ec2fffbd0157aa576f63807e1b055547c196e13ef SHA512 e8c8f804684886fac800d8c9fb3f325203f8ebe1f0852eaee6eb3be7255038d9b9bba59a04be5a32de13c65f65d054194f4919946860edda8209c01254f089a4
EBUILD postgis-9999.ebuild 2647 BLAKE2B b379c0ebfd30c407817139b72264bbb70c0cae3ba281b2f2ffda38c61c851bb363266e2675437e32dd3ffc80a6c1dca4608e34833d7a729cbd6997eb2501411d SHA512 4b654b604752b9e30ea0662e89429e0deb74e1ce6cfb8beef34f8bf33ea2aeb28e07398828fc5ddc3d27a520258313cb552b7ef24069ca5b9001a4db7aaa1cec
MISC metadata.xml 779 BLAKE2B 9dfbc86514c5f6e0c859dc41a46890e4f518f23c572786bf340112eadf21b35f5f583a3835f6ba58bef8c99a7ef8483f3a98898d372d1c0e5cc537bb9ecc2b12 SHA512 33ad2ddabf49e97af2cf188f2c0f72e1a936c228b43d8d3637230c43be0df82ec2aa20b63cb5f2385e936c215263fcd009332afe504bc5f30746a387b9b37ada
diff --git a/dev-db/postgis/postgis-2.4.6.ebuild b/dev-db/postgis/postgis-2.4.6.ebuild
new file mode 100644
index 000000000000..c78f3e5ac27d
--- /dev/null
+++ b/dev-db/postgis/postgis-2.4.6.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+POSTGRES_COMPAT=( 9.{3..6} {10..11} )
+POSTGRES_USEDEP="server"
+
+inherit autotools eutils postgres-multi versionator
+
+MY_PV=$(replace_version_separator 3 '')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="address-standardizer doc gtk static-libs mapbox test topology"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.5.0
+ >=sci-libs/proj-4.6.0
+ >=sci-libs/gdal-1.10.0
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+ mapbox? ( dev-libs/protobuf )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[imagemagick,png]
+ )
+ )
+ virtual/pkgconfig
+ test? ( dev-util/cunit )
+"
+
+PGIS="$(get_version_component_range 1-2)"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+MAKEOPTS+=' -j1'
+
+# These modules are built using the same *FLAGS that were used to build
+# dev-db/postgresql. The right thing to do is to ignore the current
+# *FLAGS settings.
+QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myargs=""
+
+ use gtk && myargs+=" --with-gui"
+
+ use address-standardizer || myargs+=" --without-address-standardizer"
+ use mapbox || myargs+=" --without-protobuf"
+ use topology || myargs+=" --without-topology"
+
+ postgres-multi_foreach econf ${myargs}
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-2.5.1-r1.ebuild b/dev-db/postgis/postgis-2.5.1-r1.ebuild
new file mode 100644
index 000000000000..5d81ec77f469
--- /dev/null
+++ b/dev-db/postgis/postgis-2.5.1-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+POSTGRES_COMPAT=( 9.{3..6} {10..11} )
+POSTGRES_USEDEP="server"
+
+inherit autotools eutils postgres-multi versionator
+
+MY_PV=$(replace_version_separator 3 '')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="address-standardizer doc gtk static-libs mapbox test topology"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.5.0
+ >=sci-libs/proj-4.6.0
+ >=sci-libs/gdal-1.10.0
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+ mapbox? ( dev-libs/protobuf )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[imagemagick,png]
+ )
+ )
+ virtual/pkgconfig
+ test? ( dev-util/cunit )
+"
+
+PGIS="$(get_version_component_range 1-2)"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+# These modules are built using the same *FLAGS that were used to build
+# dev-db/postgresql. The right thing to do is to ignore the current
+# *FLAGS settings.
+QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myargs=""
+
+ use gtk && myargs+=" --with-gui"
+
+ use address-standardizer || myargs+=" --without-address-standardizer"
+ use mapbox || myargs+=" --without-protobuf"
+ use topology || myargs+=" --without-topology"
+
+ postgres-multi_foreach econf ${myargs}
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgis/postgis-2.5.1.ebuild b/dev-db/postgis/postgis-2.5.1.ebuild
new file mode 100644
index 000000000000..c78f3e5ac27d
--- /dev/null
+++ b/dev-db/postgis/postgis-2.5.1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+POSTGRES_COMPAT=( 9.{3..6} {10..11} )
+POSTGRES_USEDEP="server"
+
+inherit autotools eutils postgres-multi versionator
+
+MY_PV=$(replace_version_separator 3 '')
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="address-standardizer doc gtk static-libs mapbox test topology"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ dev-libs/json-c:=
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.5.0
+ >=sci-libs/proj-4.6.0
+ >=sci-libs/gdal-1.10.0
+ address-standardizer? ( dev-libs/libpcre )
+ gtk? ( x11-libs/gtk+:2 )
+ mapbox? ( dev-libs/protobuf )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.5
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[imagemagick,png]
+ )
+ )
+ virtual/pkgconfig
+ test? ( dev-util/cunit )
+"
+
+PGIS="$(get_version_component_range 1-2)"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+MAKEOPTS+=' -j1'
+
+# These modules are built using the same *FLAGS that were used to build
+# dev-db/postgresql. The right thing to do is to ignore the current
+# *FLAGS settings.
+QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+
+ local AT_M4DIR="macros"
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ local myargs=""
+
+ use gtk && myargs+=" --with-gui"
+
+ use address-standardizer || myargs+=" --without-address-standardizer"
+ use mapbox || myargs+=" --without-protobuf"
+ use topology || myargs+=" --without-topology"
+
+ postgres-multi_foreach econf ${myargs}
+}
+
+src_compile() {
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C topology
+
+ if use doc ; then
+ postgres-multi_foreach emake comments
+ postgres-multi_foreach emake cheatsheets
+ postgres-multi_forbest emake -C doc html
+ fi
+}
+
+src_install() {
+ postgres-multi_foreach emake DESTDIR="${D}" install
+ postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+ postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ if use doc ; then
+ postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+ docinto html
+ postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+ docinto html/images
+ postgres-multi_forbest dodoc doc/html/images/*
+ fi
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+ ebegin "Refreshing PostgreSQL symlinks"
+ postgresql-config update
+ eend $?
+
+ elog "To finish installing PostGIS, follow the directions detailed at:"
+ elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
+}
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index 85406009372f..0f9dd85cec24 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -10,27 +10,17 @@ AUX postgresql.init-9.3-r1 4999 BLAKE2B f2bc23a51b6d9643bbc14320aaa9c41b7eb1df86
AUX postgresql.service-9.2 1666 BLAKE2B d4b81415539db3d78e0f5908185f903b70966ce3a27feed9bdf80eb6a9065ca6bd4b49e4bb822c41548b7efa9de37656378c395a8bd00a7a3daaa52911a2f674 SHA512 8c64b59f1e80096382a7166e1e8f183a5b9cf14c75138c15a39de74b983bfbed2f41cf9b33b2c72c3b9c79130c10104836a3505c96cb18ac1be1297c0fce1af0
AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4b46c3739c3f805072040a26128cb2ad9a25d4a7c9f109a95696d739538d379af6bac53c656f5c41af45b6110de5 SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d
AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8
-DIST postgresql-10.5.tar.bz2 20284578 BLAKE2B af2bc5bdc7e69682dac38785ce4a10c2c5c04202f2c3cd4acbb9200dbae7eec75d83813ac4df84b5a8064e77167f22a4dd54c6e84a68e564642cb5d75effd0ac SHA512 1bad30ae88beca66f7e8b99b82e7f02aac1e9230b328e6e5a762a704cdd9dc767d924f5a66c68c93586badfef91b7ff336120a567ce970eaa58bb44c662ad48c
DIST postgresql-10.6.tar.bz2 20350612 BLAKE2B b751085b8fce73efb2531378a553c8c956f5e05a0002de8fdc58c0f2a6cf2b9dfaff6bd621047a094a51e459bc8fc5b1658d6a754a396fa3b7aedc1024ea3b4c SHA512 5d4d5cee2a19ad1820c3411bc4851904e3059cdcacc837350694d54d7d59260b66c565c72cc14a3a10541a8fc49c5185f08f57b7a8c7e4c64ed2614da6e1201f
DIST postgresql-11.1.tar.bz2 21263173 BLAKE2B d762b6e8b0e7b08b16ed252687118a0a4516172e38e8940879fd050f72d19ff045af949e72977a62c2ce0a788af7d42c9bde7748347566bec3694e337bba6f73 SHA512 35d00984e9f5f063a5b96e97aa1b40381ab76d07b2336bda5981fd80bef1324f56eefca5069ae78770ecd6ece5df85264e599fdb3478ecb71d4fdd0d7b6becca
-DIST postgresql-9.3.24.tar.bz2 17042985 BLAKE2B 976debbc2a072cc307e22beac1d59352ecc214b9879284e635f30295d1f46ad2e0542ffc5f62639527be870afe46ea5daf5b8b2d3da9a069adf1701218def968 SHA512 3d457b6218eeb8da2d8dd134dabc7ec8000cad5863870079b85ce00d94218fa049146290a8389fec15e57d586b0edee9810cdad85f36cbabce49b6b4378ce1ee
DIST postgresql-9.3.25.tar.bz2 17067593 BLAKE2B fd9ca5685e5511dcaa72da882b674846dcd5a16227e5b33ae06701fe7881df71847666c37925033c6cb01c916111a8f76df134491645f4d1e1dd48a008bd2831 SHA512 319e12b73853b74f5ef2c520d64795bb586ffd495ceab6518f7844de6e0a054aea821976c470108d346f8090c7d3949920d9c435432e33004b7caa7a77a5cdca
-DIST postgresql-9.4.19.tar.bz2 17879273 BLAKE2B 775a8748218c40440df91307107d46a35bcb3b2baf1c383014684c15d06c0026548770f88dccb1c26c3247813761e4a43003c50fe930041afc5701cddabfbde3 SHA512 38e2f1f25bd80fdfdec728cd4a3fee6696ca051e496f0629a0a554ea013bfb9bb83ef5659b00130666462a45036a648cf880a2f49693a8ef2edbde938e4dd830
DIST postgresql-9.4.20.tar.bz2 17905682 BLAKE2B cb65228f8e78dc8b6303a06480a68de58ecac1fefa1342e4563f2c4051c9f5506b366b36c2dbd54207d25ae497625f8fc5e3e771174a6b3ec33c3c19d2c9ea08 SHA512 664c6e97979f38d263d1dc75a7db442f193a230435cad43ddfa2afcd42ac0d73b2aef0e846fddcc9008cd6d89cba2d5c0a4db93b111665646d3ff4d8f6fbe1e8
-DIST postgresql-9.5.14.tar.bz2 18687959 BLAKE2B ac377b5e279d9e8179a94eb91d0cf1a7e3f6443c860d68a4540357d80128fbc54ac1ffec198725b2a783a80448f8a625556f2e6018162304d65659982890d46f SHA512 9b5ebc8dc13bbdbd5b5bc02552e2b9b5029d899a80e82b653542c735868590ebe57d586951bf036c5abd28aae325c71cc69536f88321d50dd3d254f8ee0cfe35
DIST postgresql-9.5.15.tar.bz2 18707696 BLAKE2B f1be26085953d5a15a6545aed3527b9eec6eb57c72f2e05401e43200e628b3a42ee824dd1cb0138556b97fe4922a991489dffa77329b653475874766c1d5b944 SHA512 2ea241b6751a2812c689da9bde40151ebb7cdabdd14e93d92f8bea1e3fcf5bc0d4854834999f33270329e22a09c5aeaf8d59d36ca6e8860704f81f3adcfb30d5
-DIST postgresql-9.6.10.tar.bz2 19991204 BLAKE2B 3d99296b5045a0b56b89257b2aa3f0c8be1108428acd77469b8db94200ad6b0b8d2fa84c73f652f79db56620c46928524d2f3a1a265ac332eb36c0625b800f76 SHA512 960a32c86466f9d5f5491ef163f5c4a99cb5de7312d13371e2223b1d156e31eb2a23ed478e6654bcbb7bd19db9470aaf63473ff661c11c60971b92af5e9daf82
DIST postgresql-9.6.11.tar.bz2 20009048 BLAKE2B aa3e5b1e63c983226ea71737982e62eaff655af7e0f55f20ec886f5d7406b1e30e2fe5378b0dd1ef59e777f862ccc2386121653853d4c186a1b4853a9bbb1591 SHA512 a4314f92d1a661af4076d8c120533ecae76d91461043b8a6ad22dd6e5b562e0bf019bc7f3157a26d9666ba5866e254613ae5b690310168b029795dc088f8c060
-EBUILD postgresql-10.5.ebuild 13694 BLAKE2B cbc3b1250d2b50dd7a9c318a9c610506db4b2593b013b2d89a573276ab8604cff741a1a3ca03a97e3c9a6bd7392762f821caf90d642c9a05cc9ca0b411340bbf SHA512 4b6fb894e8d5196139a56b897d3a06169c35def0d7e472ac8332987445f7c7ce72568b3b7a45bd7e8dac651108731761c413296864b0c9be4a617217d49ef3ec
-EBUILD postgresql-10.6.ebuild 13817 BLAKE2B bb4a8acc19b31031663f88c98206de6db356bc911ae7c332ec7c69795892d33e0046d7de6b0aedea5f8314897424527b44d5dfa5acb0505a74574fb59f88934d SHA512 354b7a202b7fb13a9f49a86e6680bc5d5ec3cc1a292c9edac85e8e7700c04cab00546cfa294ebfaf8e3bfceaca476ff76fca15377df73b6205043d81896d9068
+EBUILD postgresql-10.6.ebuild 13813 BLAKE2B c5b6ef7c257632a9c296a40c845c9b147c6b04e327e0706629b9e832775013208cf0f03585a57d6a4979d005f8bb17dd6160cc6669085869748a9c433b9a2ec5 SHA512 8196ba1dc122a0d1c88aa428322f56eea3b6ec5f6e3588b07da2082780dbda5f78df8d095d850fe9ad72e7590c356ebe563662b13d32ab5a0178305b8ccdcd2b
EBUILD postgresql-11.1.ebuild 13751 BLAKE2B c86eb35ea10ad4cdb7910fb89b6fdb733bb2594960257d2023aee0741389818f339f0dc646a1b4d8310d84982c95a1ccac7ae90dda126dd9a8e8999f20a8ad11 SHA512 f74e3d23c3c8b4abb6fba146199dad2be2014d950d2cc7038782a4c2d78cb73389e7332b43ae216a5fd3baa0bac763fe4d343aa7b2e4f118da53095d1886d29f
-EBUILD postgresql-9.3.24.ebuild 13747 BLAKE2B 12e74f2f7bc2b18507b5c4e07d093cebd96406c6d981fbcaa6c2851004183acfac3e3fb882e1eea662e8cf1d35c10a1bcd6ad2820a5770874f04ad9cf508c387 SHA512 c89150f9b09e18b196d267dbec2c6539d3eb1ed6326193681249770c5d1ad42e48cffcad160121497dc8dbdd692994bd2704f581d52d029ba4dff5178a773746
-EBUILD postgresql-9.3.25.ebuild 13565 BLAKE2B d9c011373e4bf60577f8b54ff4008effbd800d0598f600f071bee0d109b83930556bde74649905b86951978775240525ab45a2e66e1ba6a23dd8a9a94dc68d68 SHA512 0ee0f0f5c2ad70fa97d2aa792e4e86d463f90b96483b91b11553f1382b75b9fcb4c76f9fd105351a3ab1e419d1cb937e83b30bb1a29d7cfcab849075266b1207
-EBUILD postgresql-9.4.19.ebuild 14557 BLAKE2B 57446276df8b11ebe12ef5a4b3e95dfc2892cdf93cb1a40117f0e7ae5774e0ba1a4a08b2306d971625636d4f0bddb4d0395bc6671397ef291c0251a31bc37256 SHA512 05b6604f17b63442a1eda4673a702eab7bb0ac4af87dce7c9f56085573768aec408aa441873317cf610e379972221f68d49c19f47f7be48b1e6a74809d13c407
-EBUILD postgresql-9.4.20.ebuild 14375 BLAKE2B 334af76498eec538a8af8bf9b0b318f8708f89f3489fc93aaa56b272a703f31953a1f0a03a9fa58e12f4ab32368b93ba2bc6cfa3936067dcf53a083ec0387c45 SHA512 fcfecc1e6255a00b829584eea10bea4ad7fdada2543a73cbb67385d2f02a44b2406c44eddd3e1b691043b00caa2bf40dc07b749113d1dd31036d644f93e9d73d
-EBUILD postgresql-9.5.14.ebuild 14785 BLAKE2B bbd02c18eb7e6b6c9bb2f3e4b4010bc1aadc0aaabe158accac75b1f692c8905d565647bac95c46b69003f70ce6608017a877e74e37e915a2827f5a6f35a732a5 SHA512 2ae77b20602445192062ab5930cc518c3524aa8c57c4aaa4923ec15b924f3b166dcd51dca32a19618d3055214bfed7977c4630dd40b6967aaf491f1688aaf717
-EBUILD postgresql-9.5.15.ebuild 14603 BLAKE2B e43248abb32608d97b6d900ce2de1fdebdcbb673deec0fc40f76de1eab02074789de4476b8b22e1a7bd3987c40e03adf398f43e93f8f4c699d84c077f8f26169 SHA512 c2d274e2083c1ec45c09a9738d56ae6d10c91f9756a4e6110e5167816f40573866ca6264ac4050ef168d85b9c816ad26097d94f4c0b81db2c17b5395a8c3d42d
-EBUILD postgresql-9.6.10.ebuild 14927 BLAKE2B 36ba33cfc700526cd716243a838a9b52a3823feabf53fe7045aca86e54c048a0c1e5c7c4950e33d131e29a96e7f00eebe2a366e46912a942c871b799c5df8a29 SHA512 0e547e8a39b0c96ff4d100d42ba1113aa87f537f14ccd242436270a6972db3c09690a9925d869c0256342e89687421b26e18fd210313dce3b23dd4062c1ad1c6
-EBUILD postgresql-9.6.11.ebuild 14745 BLAKE2B 864b2bd0e3e38eec48e79c31c65d59cddb42daf9fa61d9c7d4089ca5c22a955ce944fe655959ed5bca65ba59cb3eba04e38aa0afb578e836a5511c87d84630a9 SHA512 b193e427dba98a7f4b1abb2138c06a00d1d13fa41e401f96374ce3cce2048309c4ffe9112eb102e80541aa4b6a28f0e6834e2c195f10471529abb68285dd3798
+EBUILD postgresql-9.3.25.ebuild 13561 BLAKE2B 8f3e75179dec828e49786bb1fb52ecb5488c5edab4dcc775b42e2343261f1f1cc55088121d40074cca5b89c243cbad42d8468b175a17bd86f8042e8b191f04c1 SHA512 7bddfe493a2295730e690f431f94b6f2d713cf9261fbea08c1dc380ebc7f29e60c96a045144d10ef6183473a340c2b8668f52e5fa05107822ba0e5493c208c40
+EBUILD postgresql-9.4.20.ebuild 14371 BLAKE2B 7f595656f7d398f89e9c34423dfefc97b5474dc8ff2cec61734041b62b1681e7055210eee5ccbad1a2e0ab364a44438310e93ec9d7937dd8910e03320ad88204 SHA512 e720d9f3bc8d4791cf38b7015498f90a2408ac5d243bd0ec3471fa3ad5ec1587fdab17fdb244cde35ae80b7bc322bf639c7160e84b7d64cda6a5cd1fd8af3f21
+EBUILD postgresql-9.5.15.ebuild 14599 BLAKE2B 8f0b7fc2b6b49a04996ed19cdf6a6b212c8f1aea60cbc9ea6809ed6913e67831cfe98ebc266ff7379f69be58b1f672ce0028e9d453932244759f75598c04d8a7 SHA512 522a170ce59a87e09ad8656ba1047b41ba41104edfcf5950260389e278725f076cd4ebb02ea5a95c8d9c8b372a80ec66d18be9bb7e08c70fea7116bf09a8fd1a
+EBUILD postgresql-9.6.11.ebuild 14741 BLAKE2B b720b399b96f67923906a3dc1ddaa71610113d42eb3c301f03ef9fc67dbf7dc46b7ddfb2d252b8685b16382813b7e4890f838e8660988c334d457f1d2c7784fa SHA512 ceb1cf6e13e24dfc80d68c5af141adf04b8abfddc11aad9ec7433ea28625071a10cf89241842b7f087f564c0666592413110711fafa66f455cd1dd3bac11b218
EBUILD postgresql-9999.ebuild 14262 BLAKE2B 43b6b2ab7b5137e8a0ca2edf28781d30f7a27afbf01ab718f4742c4ec981071797074f6dcad9995796d30bbd0b1e39d4ee7a63a404e7246a9bafbb5298a12c47 SHA512 29e5bcb9463c6cb8a43e8ba04840aacda074ddbfdcccd1dafcbd66e13d5c20a765c53f637e1c8993fe6647c286f7ef40254f3211f3341054c96bec1f327393fa
MISC metadata.xml 715 BLAKE2B 59ad51ae06a697fe649054d9fe13040423f425b95abdcf3797e1d0d5abba8c62d54cc8c1afb0be0d0a29d1a39d379912bd931925b5df480fb0bb9b238c36e598 SHA512 03027757eaf95313a6825710b1054a9671aa8396381789397006dfe2f66cd41e85cde418e792bf7d71d7db2413905816ff39685774219c1ea5e8b8d35c5cffd0
diff --git a/dev-db/postgresql/postgresql-10.5.ebuild b/dev-db/postgresql/postgresql-10.5.ebuild
deleted file mode 100644
index 7170883aee52..000000000000
--- a/dev-db/postgresql/postgresql-10.5.ebuild
+++ /dev/null
@@ -1,460 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
- systemd user versionator
-
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
-
-SLOT=$(get_major_version)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl python +readline
- selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-wanted_languages() {
- local linguas="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru
- sk sl sv tr zh_CN zh_TW"
- local enable_langs lingua
-
- for lingua in ${linguas} ; do
- has ${lingua} ${LINGUAS-${lingua}} && enable_langs+="${lingua} "
- done
-
- echo -n ${enable_langs}
-}
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( virtual/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
- libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
- local front back
- while [[ ${#} -gt 1 ]]; do
- front+="${1}? ( "
- back+=" )"
- shift
- done
- echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
- ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Work around PPC{,64} compilation bug where bool is already defined
- sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
- # Set proper run directory
- sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
- -i src/include/pg_config_manual.h || die
-
- # Rely on $PATH being in the proper order so that the correct
- # install program is used for modules utilizing PGXS in both
- # hardened and non-hardened environments. (Bug #528786)
- sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
- use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
-
- if use pam ; then
- sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
- -i src/backend/libpq/auth.c || \
- die 'PGSQL_PAM_SERVICE rename failed.'
- fi
-
- eapply_user
-}
-
-src_configure() {
- case ${CHOST} in
- *-darwin*|*-solaris*)
- use nls && append-libs intl
- ;;
- esac
-
- export LDFLAGS_SL="${LDFLAGS}"
- export LDFLAGS_EX="${LDFLAGS}"
-
- local PO="${EPREFIX%/}"
-
- local i uuid_config=""
- if use uuid; then
- for i in ${UTIL_LINUX_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=e2fs"
- done
- for i in ${BSD_LIBC[@]}; do
- use ${i} && uuid_config="--with-uuid=bsd"
- done
- [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
- fi
-
- econf \
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --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 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 nls "$(wanted_languages)")"
-}
-
-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
-
- use static-libs || find "${ED}" -name '*.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/.}"
- done
-
- if use doc ; then
- docinto html
- dodoc doc/src/sgml/html/*
- fi
-
- if use server; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
- if use systemd; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.service-9.6-r1" | \
- systemd_newunit - ${PN}-${SLOT}.service
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT%/}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- 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.6.ebuild b/dev-db/postgresql/postgresql-10.6.ebuild
index 8996fc7b18ba..46440b2e9c30 100644
--- a/dev-db/postgresql/postgresql-10.6.ebuild
+++ b/dev-db/postgresql/postgresql-10.6.ebuild
@@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user versionator
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT=$(get_major_version)
diff --git a/dev-db/postgresql/postgresql-9.3.24.ebuild b/dev-db/postgresql/postgresql-9.3.24.ebuild
deleted file mode 100644
index e1ed1641a5fc..000000000000
--- a/dev-db/postgresql/postgresql-9.3.24.ebuild
+++ /dev/null
@@ -1,450 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
- systemd user versionator
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
- +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-wanted_languages() {
- local linguas="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru
- sk sl sv tr zh_CN zh_TW"
- local enable_langs lingua
-
- for lingua in ${linguas} ; do
- has ${lingua} ${LINGUAS-${lingua}} && enable_langs+="${lingua} "
- done
-
- echo -n ${enable_langs}
-}
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( virtual/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
- libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-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}-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%/}"
-
- econf \
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --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 !pg_legacytimestamp integer-datetimes) \
- $(use_enable threads thread-safety) \
- $(use_with kerberos gssapi) \
- $(use_with kerberos krb5) \
- $(use_with ldap) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- $(use_with uuid ossp-uuid) \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- "$(use_enable nls nls "$(wanted_languages)")"
-}
-
-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
-
- use static-libs || find "${ED}" -name '*.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.2" | \
- systemd_newunit - ${PN}-${SLOT}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT%/}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT%/}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- 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}"
- 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.3.25.ebuild b/dev-db/postgresql/postgresql-9.3.25.ebuild
index 20a0e225cdcf..323262f88679 100644
--- a/dev-db/postgresql/postgresql-9.3.25.ebuild
+++ b/dev-db/postgresql/postgresql-9.3.25.ebuild
@@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user versionator
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
diff --git a/dev-db/postgresql/postgresql-9.4.19.ebuild b/dev-db/postgresql/postgresql-9.4.19.ebuild
deleted file mode 100644
index 6e9dd5d11fe6..000000000000
--- a/dev-db/postgresql/postgresql-9.4.19.ebuild
+++ /dev/null
@@ -1,482 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
- systemd user versionator
-
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
- +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-wanted_languages() {
- local linguas="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru
- sk sl sv tr zh_CN zh_TW"
- local enable_langs lingua
-
- for lingua in ${linguas} ; do
- has ${lingua} ${LINGUAS-${lingua}} && enable_langs+="${lingua} "
- done
-
- echo -n ${enable_langs}
-}
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( virtual/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
- libressl? ( dev-libs/libressl:= )
-)
-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-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-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}-9.4.10-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}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --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 !pg_legacytimestamp integer-datetimes) \
- $(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) \
- $(use_with tcl) \
- ${uuid_config} \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- "$(use_enable nls nls "$(wanted_languages)")"
-}
-
-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
-
- use static-libs || find "${ED}" -name '*.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.2" | \
- systemd_newunit - ${PN}-${SLOT}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT%/}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT%/}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- 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}"
- else
- einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- fi
-}
-
-src_test() {
- if use server && [[ ${UID} -ne 0 ]] ; then
- emake check
-
- einfo "If you think other tests besides the regression tests are necessary, please"
- einfo "submit a bug including a patch for this ebuild to enable them."
- else
- use server || \
- ewarn 'Tests cannot be run without the "server" use flag enabled.'
- [[ ${UID} -eq 0 ]] || \
- ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
- ewarn 'Skipping.'
- fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.20.ebuild b/dev-db/postgresql/postgresql-9.4.20.ebuild
index bb3638e9fbaf..0bff71b93931 100644
--- a/dev-db/postgresql/postgresql-9.4.20.ebuild
+++ b/dev-db/postgresql/postgresql-9.4.20.ebuild
@@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user versionator
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
diff --git a/dev-db/postgresql/postgresql-9.5.14.ebuild b/dev-db/postgresql/postgresql-9.5.14.ebuild
deleted file mode 100644
index 003f5398f4ef..000000000000
--- a/dev-db/postgresql/postgresql-9.5.14.ebuild
+++ /dev/null
@@ -1,488 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
- systemd user versionator
-
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
- +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-wanted_languages() {
- local linguas="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru
- sk sl sv tr zh_CN zh_TW"
- local enable_langs lingua
-
- for lingua in ${linguas} ; do
- has ${lingua} ${LINGUAS-${lingua}} && enable_langs+="${lingua} "
- done
-
- echo -n ${enable_langs}
-}
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( virtual/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
- libressl? ( dev-libs/libressl:= )
-)
-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-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-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}-9.5.5-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}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --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 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) \
- $(use_with tcl) \
- ${uuid_config} \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- "$(use_enable nls nls "$(wanted_languages)")"
-}
-
-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
-
- use static-libs || find "${ED}" -name '*.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.2" | \
- systemd_newunit - ${PN}-${SLOT}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- if use alpha && use server ; then
- ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
- ewarn "As a result, performance will be extremely degraded."
- fi
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- 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
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- 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}"
- 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.5.15.ebuild b/dev-db/postgresql/postgresql-9.5.15.ebuild
index 2e76e7fce77f..6d1dea2a84be 100644
--- a/dev-db/postgresql/postgresql-9.5.15.ebuild
+++ b/dev-db/postgresql/postgresql-9.5.15.ebuild
@@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user versionator
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
diff --git a/dev-db/postgresql/postgresql-9.6.10.ebuild b/dev-db/postgresql/postgresql-9.6.10.ebuild
deleted file mode 100644
index c5669d4179fc..000000000000
--- a/dev-db/postgresql/postgresql-9.6.10.ebuild
+++ /dev/null
@@ -1,493 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-inherit eutils flag-o-matic linux-info multilib pam prefix python-single-r1 \
- systemd user versionator
-
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python
- +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-wanted_languages() {
- local linguas="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru
- sk sl sv tr zh_CN zh_TW"
- local enable_langs lingua
-
- for lingua in ${linguas} ; do
- has ${lingua} ${LINGUAS-${lingua}} && enable_langs+="${lingua} "
- done
-
- echo -n ${enable_langs}
-}
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( virtual/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
- libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
- local front back
- while [[ ${#} -gt 1 ]]; do
- front+="${1}? ( "
- back+=" )"
- shift
- done
- echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
- ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
- $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-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}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --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 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 nls "$(wanted_languages)")"
-}
-
-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
-
- use static-libs || find "${ED}" -name '*.a' -delete
-
- local f bn
- for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
- -mindepth 1 -maxdepth 1)
- do
- bn=$(basename "${f}")
- # Temporarily tack on tmp to workaround a file collision
- # issue. This is only necessary for 9.7 and earlier. 10 never
- # had this issue.
- dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
- "/usr/bin/${bn}${SLOT/.}tmp"
- done
-
- if use doc ; then
- docinto html
- dodoc doc/src/sgml/html/*
-
- docinto sgml
- dodoc doc/src/sgml/*.{sgml,dsl}
- fi
-
- if use server; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
- if use systemd; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.service-9.6-r1" | \
- systemd_newunit - ${PN}-${SLOT}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT%/}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT%/}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- if ! use systemd; then
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- fi
- if use prefix ; then
- einfo "The location of the configuration files have moved to:"
- einfo " ${PGDATA}"
- einfo "To start the server:"
- einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
- einfo "To stop:"
- einfo " pg_ctl stop -D ${DATA_DIR}"
- einfo
- einfo "Or move the configuration files back:"
- einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
- elif use systemd; then
- einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- else
- einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- fi
-}
-
-src_test() {
- if use server && [[ ${UID} -ne 0 ]] ; then
- emake check
-
- einfo "If you think other tests besides the regression tests are necessary, please"
- einfo "submit a bug including a patch for this ebuild to enable them."
- else
- use server || \
- ewarn 'Tests cannot be run without the "server" use flag enabled.'
- [[ ${UID} -eq 0 ]] || \
- ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
- ewarn 'Skipping.'
- fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.11.ebuild b/dev-db/postgresql/postgresql-9.6.11.ebuild
index 6da19879ca11..6fed77d2d3f4 100644
--- a/dev-db/postgresql/postgresql-9.6.11.ebuild
+++ b/dev-db/postgresql/postgresql-9.6.11.ebuild
@@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user versionator
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
SLOT="$(get_version_component_range 1-2)"
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index c924700a2eeb..a4d2e5209d1f 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -17,10 +17,12 @@ AUX redis.service-2 253 BLAKE2B 0b78b45eaed3c7adbc68703968e1c843eeff785261cf7f46
AUX redis.tmpfiles 61 BLAKE2B 1c3bf8aa105940c408163f61c63ed16b86de7a979cb5143d15700cac329970f351cb9b9377aa82e6f4dae377b00c1710a1e0f54334f007cfed64551f761034d4 SHA512 741ff5a4df5b04e7af4e81357812bf5b6cf992bc18b6052074aef134401d0a92703a2e41f52966012c05ea80fac5636435c8d3e6ed55e62a5711526ba67ee738
DIST redis-4.0.10.tar.gz 1738465 BLAKE2B 572cbb3d2d5d7209f81ebd53ee68f40b404d0e4623bd1864845bf1f47135d4e097a6974d346ffd845d848c39ace6d3fb9f1a347e0c9d16d06d22aed7a8b3ae7b SHA512 0978dabaf637e61889d492fd3629acd58ca8fb0c0088cdd7036ffd1a7ed3f018c107039d4c96bd61d0b7d35757df2366d051f57d77ffb5642aca0e5651b30603
DIST redis-4.0.11.tar.gz 1739656 BLAKE2B d94f380ad1600e58942cc5b27b512984396cdbb06ea6e947c7d7ce5b8ecdb8a2a56c6356af2caa82a96887a610716c9575b78eb2f46da89efb940febc1c30f22 SHA512 f0054af9ca2143731a397b2b21285387707b7f40d9326ba15225feb1a2ff470fab5194308342f63bbe1081f84c7e9ef19543c5a8e3eae49e17bfc515c64201f0
+DIST redis-4.0.12.tar.gz 1740544 BLAKE2B 620dba8b81fc76a46880c3a4a7ee9d9835e7b19e6d321598a717892f6f03fa805db79847442744a2af8f77ae403b6e1df02299da9a0835f6092a74e3804dde48 SHA512 d19020f7ebed9ad5d04c6e1cb7e2a49dd1e226fe17d86e860df11bcb798c61c09f6f9fc3572a7ee32232ac34ec5eb1d6189f8139b5991bd87297c5243c3b54d2
DIST redis-4.0.2.tar.gz 1713990 BLAKE2B 307ab76b336f7520e14a23a1577c46e1b63cc5a5a5b6afb725cb87934fbcb62107085671fd1072d1142ce8e92f069e6b6064c9f4468335bc6997897c8f494471 SHA512 1458909c6fc16cff8ca5e6dddff23b988ee1e447f2d0bccf5941553b22bab6abb851732b3fe53dafb8a69d6c0939c3ce7e0686d51e03be720fb018c038d3b1b4
-DIST redis-5.0.1.tar.gz 1951542 BLAKE2B 6081acf2ed6af5a5790ad3164fa0008f934360c8b2b88794a60593dd954a0104b38b826f3de92add609b803c87c80266d1494c47e879c797525bb4a6f1a095fc SHA512 eb0f10903a8e87c0ca33597060b611a11c42576c64dd6d648b59cd9007d4ee6fe7c3762daf428c2d19ab05576a4b44dc3663fe1267c60acca58eeb2bba709e58
+DIST redis-5.0.3.tar.gz 1959445 BLAKE2B d1c3247d77aa3b1076d0e1a0dcce74dcfb14a0ad3776603ef8154d7868f9f3efcf2138cb08581eee1974e9d76658d07456d6e9795391321b1f1f8bca7f9d40f5 SHA512 5915b14502438bf7c3f56e38640dda54b095bd87501aefa6e386c9cef48e8d1e625e980643d128d91b8cab26dd51d5d99ca66fa638dc04e5ba315fe43f11f58b
EBUILD redis-4.0.10.ebuild 4069 BLAKE2B 33bf7fbd67db2035d3bdc92f01f1252c9a27a1a3c736f555d21c6670920e03057b30bc51594898414dc5a18312c1af5f74f01b86ede936025cb44d6f0e478855 SHA512 52c9a38d8823fa87ddb8aea6db611bf43b0e3543eddb275a991da075095e27758de2f5456685a01eb79e3166a642a38256cd95f75d5cf7b1a432dcb3af29f671
EBUILD redis-4.0.11.ebuild 4074 BLAKE2B 609631167471b07d3caccad80d601e4d73a594a97979b25f828c171c341f2f8d24c12e2399ad81b8952e5f459f0a340726a4e8ee69a1f51b0626b52d18e7ce3c SHA512 86c003235c630c87a551b31f359a5fe824d7114016f22788cf8dc84dec56d5bea24c3fdbc86efd15734ccb636394bb6fc4f4d757566ac857605fa23c841db4d4
+EBUILD redis-4.0.12.ebuild 4071 BLAKE2B 712cefef53f55c9e60a1461a5bc843866fdf60815ecb42675b929b6b4fdd98dc270fa3544e6739ce22616f5f5a15efac7ecb4f78a910271bb15acaeacde07516 SHA512 2df15597298b24a7c2f317ce52d9efdb810a558da8f40902cda5865e43a8f59d699f0c92f025bfdfae183ac6b019eb0ad130a745ace48d8865a9642c0bacd7c1
EBUILD redis-4.0.2-r1.ebuild 3807 BLAKE2B 7dbd27ad7593b53f1f7184321ba33f140072ef946859b33cf8dacf7eb98c9d7398c512ce403132bf3b9fece12e73cc0e4dd5cca1dbc220d50dea105ea87ef774 SHA512 d7744c01cbf4b6f1fec17ce7733a31f4deb3e925afbafb3a9aaa360d9598aff78b44c3bcadc54e82c809ff6ba0211e475d32f96ec4244f6081e3f5cfde1b1daa
-EBUILD redis-5.0.1.ebuild 4011 BLAKE2B b99054eb7a1cf93cfd293b4884098eb12e41564f2505ba49d179c824a7e78a236f03f31198d3073ea882c6df327f2d5668f4e043632da55b5a25ef2c865000d6 SHA512 cf61adaa5d6e003abdd5e507f9d540699fe5d3ef593a1cd63507de9e8475a44265ad2385fb8f794e11f3f0908509b8552748f5280810a5ae2bc2d84d41110a16
+EBUILD redis-5.0.3.ebuild 4011 BLAKE2B b99054eb7a1cf93cfd293b4884098eb12e41564f2505ba49d179c824a7e78a236f03f31198d3073ea882c6df327f2d5668f4e043632da55b5a25ef2c865000d6 SHA512 cf61adaa5d6e003abdd5e507f9d540699fe5d3ef593a1cd63507de9e8475a44265ad2385fb8f794e11f3f0908509b8552748f5280810a5ae2bc2d84d41110a16
MISC metadata.xml 440 BLAKE2B b853160a8483ff59c413a37b8fd1703283cc80c5ea9de092654dd1809bdc6ed3dc98fb6285a3f33bfea136bdf3db4065b3e22c34f7458e9e83aa63e137a13eb3 SHA512 7c125eed761e5f4c868a3fd5539d5182b9c4da6ddeb0cb82a46dc6d0cc682410eb100168ddb4b5fb214d6092395394cefef5bc8fd3dcce818542d30748f9bd17
diff --git a/dev-db/redis/redis-4.0.12.ebuild b/dev-db/redis/redis-4.0.12.ebuild
new file mode 100644
index 000000000000..596754bc3a07
--- /dev/null
+++ b/dev-db/redis/redis-4.0.12.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic systemd toolchain-funcs user
+
+DESCRIPTION="A persistent caching system, key-value and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="+jemalloc tcmalloc luajit test"
+SLOT="0"
+
+# Redis does NOT build with Lua 5.2 or newer at this time.
+# This should link correctly with both unslotted & slotted Lua, without
+# changes.
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) )
+ tcmalloc? ( dev-util/google-perftools )
+ jemalloc? ( >=dev-libs/jemalloc-3.2 )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/autoconf-2.63
+ test? ( dev-lang/tcl:0= )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )"
+
+S="${WORKDIR}/${PN}-${PV/_/-}"
+
+pkg_setup() {
+ enewgroup redis 75
+ enewuser redis 75 -1 /var/lib/redis redis
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}"/${PN}-3.2.3-config.patch \
+ "${FILESDIR}"/${PN}-4.0.1-shared.patch \
+ "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \
+ "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch
+ eapply_user
+
+ # Copy lua modules into build dir
+ cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
+ cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
+ # Append cflag for lua_cjson
+ # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+ append-cflags "-DENABLE_CJSON_GLOBAL"
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i -e 's:$(CC):@CC@:g' \
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+ -e 's: $(DEBUG)::g' \
+ -e 's:$(OBJARCH)::g' \
+ -e 's:ARCH:TARCH:g' \
+ -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+ "${MKF}.in" \
+ || die "Sed failed for ${MKF}"
+ makefiles+=" ${MKF}"
+ done
+ # autodetection of compiler and settings; generates the modified Makefiles
+ cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die
+
+ # Use the correct pkgconfig name for Lua
+ has_version 'dev-lang/lua:5.1' \
+ && LUAPKGCONFIG=lua5.1 \
+ || LUAPKGCONFIG=lua
+ sed -i \
+ -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+ -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+ -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \
+ configure.ac || die "Sed failed for configure.ac"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with luajit)
+
+ # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
+ # also, don't define ANSI/c99 for lua twice
+ sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+ tc-export CC AR RANLIB
+
+ local myconf=""
+
+ if use tcmalloc; then
+ myconf="${myconf} USE_TCMALLOC=yes"
+ elif use jemalloc; then
+ myconf="${myconf} JEMALLOC_SHARED=yes"
+ else
+ myconf="${myconf} MALLOC=yes"
+ fi
+
+ emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}"
+}
+
+src_install() {
+ insinto /etc/
+ doins redis.conf sentinel.conf
+ use prefix || fowners redis:redis /etc/{redis,sentinel}.conf
+ fperms 0644 /etc/{redis,sentinel}.conf
+
+ newconfd "${FILESDIR}/redis.confd-r1" redis
+ newinitd "${FILESDIR}/redis.initd-5" redis
+
+ systemd_newunit "${FILESDIR}/redis.service-2" redis.service
+ systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf
+
+ newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel
+ newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md
+
+ dobin src/redis-cli
+ dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
+ fperms 0750 /usr/sbin/redis-benchmark
+ dosym redis-server /usr/sbin/redis-sentinel
+
+ if use prefix; then
+ diropts -m0750
+ else
+ diropts -m0750 -o redis -g redis
+ fi
+ keepdir /var/{log,lib}/redis
+}
diff --git a/dev-db/redis/redis-5.0.1.ebuild b/dev-db/redis/redis-5.0.3.ebuild
index 2b13aad0139e..2b13aad0139e 100644
--- a/dev-db/redis/redis-5.0.1.ebuild
+++ b/dev-db/redis/redis-5.0.3.ebuild
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index dcfe922632bc..e7e73adb93d1 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -11,20 +11,25 @@ AUX sqlite-3.25.0-nonfull_archive-build.patch 416 BLAKE2B 37faa30235c1b668d3cf51
AUX sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch 1481 BLAKE2B 01c7d129328820c2c0ad8ebd74bf4222eae131f493d6db968312d8b76def9c024b654de5d2a4d0c87119a1d073717879d4610a7819244a72d8894218123347cc SHA512 7ef354b8633d2a6d58e7a99acbd41d353ab83eac6f08a1998763a366a2cbbac3e2fdd6be24903e1fe403180a512d5fa7311db2299001be4e7583ea70069a980a
AUX sqlite-3.25.2-full_archive-tests.patch 1549 BLAKE2B e17fa8e556518f6c4d22b225b721e9f2592a111f8960374c4aee326daf7a1bdfcefc7c6415f8d03a0f6c1f69544ea031a067b5c24bc24bbf20e9d20c9a56a0c6 SHA512 f448c8b77f01ede8b6b63a583916bd1ef9d75d6b71340e43a694dd0d888e4de0bd7cd10c1de0ee64903048f86544c9a88de5fb7b9c0aebfa159e62aae6df4f4b
AUX sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch 572 BLAKE2B cc91956ea6d2187c3a3f2f15384173624383958e222b4a6d5f5f16494fa2a602a952054b1d670e043a8eab46c338404101ef6d58f50584999d6d3edf3997ed43 SHA512 e8461af692241475501b291754479e035a38edcdde99c086f069d75b6c2527e74abd606d4fb1551a5d7be4c80d9b21aea10d6dae6fb5b0b7fcbb003ac94b3583
+AUX sqlite-3.26.0-full_archive-build.patch 13843 BLAKE2B 4850ddf89e129fe3d71844caf9b7914e9df9fd38452c39f6b19c5a2c5e510ff0e80a376d90688da4bfccb9a460f65db1fc2001ac315336a705d67f52ffefce40 SHA512 01a1ccd3aa3e622c395fcc61810bd658894eec8c20bd004994ab0ed90b9f7c565405a1dbb2395b7b1df241b709a9f730e6453190d8c4a82abfa754d5df0db597
DIST sqlite-autoconf-3230100.tar.gz 2675362 BLAKE2B 2dd075f0dc05425563a8e679bb463724296294b5845746f06b51a24c9601be203ee0f2213f43eaca0757fcbb54b777cee746d873c98f377a0b010d8066d7fcb5 SHA512 52cae7ed0678b763d40373ae260672b906861379428529a58a017cbc82419a6b109e0b2ac7ff5532e6d941693cc4ab68e6563f424b92b3b27c8916859a6e4826
DIST sqlite-autoconf-3240000.tar.gz 2699252 BLAKE2B c8beb3b90bdd06f76cafeba859cbf91cf4d0cb313fc9202d210ccbad5fca7f9a062ede63387e814d664f0ae38bcfa48db222f466dbcd429fecfb53cfdac155c4 SHA512 eaec866de26003ec36559aab15dd18dc0e6029453002a4eec5e176bb35a712b8b06c235436e6c1a226b67c7eb90d7a26c2b3b3d9a5e6e92a5af485236b77c878
DIST sqlite-autoconf-3250200.tar.gz 2763876 BLAKE2B 3d97cc60edf8f91855215bd59260362665c8ec7699510f2e07c7ba57e10c400dcc99bb392e216f798bef1ffa7120b48ee62ce144a871741ef57b3aefeab875d6 SHA512 5ef9a6dfbb0822257af1a3a379785a95ab02edecbbb53b57074ddd0b8dc294fc07cbb9a8a7acc4e1640fb1743525ed6331fecebbddce01bc017330b20e127ad9
DIST sqlite-autoconf-3250300.tar.gz 2764429 BLAKE2B 6a79a8785c1e84002c031a86c6563e937a45d6ef4aae1b941d42c06cb8630210c33583f25e41f3f90b181ce47da650f81845ad88cafbf9c764164cf8b5d92e81 SHA512 5bc501d15367e097f4070185974b0c3a8246c06b205fb2258ed18870ff3fbf120ac5e0ba031a6744af89f7659206e28e7de2f0367bdb190b8412e453b43de4ba
+DIST sqlite-autoconf-3260000.tar.gz 2779667 BLAKE2B f4d737eb2249ce32fcb7541ba92f7362d417e84adb5f5c63778b6f427b3270b7e0b16e19daaef7fc7e4fca9ab462c96cdb00c65a731a90102f6bb256a27d84ae SHA512 8c3306b3814a0e9bc69b741f62bdb6efc9f1e07163ca3e3a1581994465de163a7924223522e812d6b3663c1525c7012a6f6d73ad333556eba9f97ce9326fbdb8
DIST sqlite-doc-3230100.zip 8882546 BLAKE2B 1e80647e3789b9130a93e881933fb1260794d9ccf359969a16bdeb0df5a51787eaf8404641c4b760bedd45063d46f8874fd74a4da1fef0234f3d8e92db754d76 SHA512 d3a42621480a928446c5f71d0f2ee68e245b071971da38438f9070bd5bcbe1930ea5bd20e06c68543df75badd2e4565abc94420df50b7152c9cd129587471471
DIST sqlite-doc-3240000.zip 9030826 BLAKE2B 4444e3dd0ce782e19fa01c881e0b5453723419ef1cf95cbe751d759a264bbe288a5c23a2b6514ed459b99b11637349c02def68fed7df8625bfc161307e44564c SHA512 31e9046cea569d7ad1b3af176e1bb18cd59474afb6849871ead6e7c9c096f046162fb313a38684a8c944fad9f689c4c3c692be1d7dc6a8ef5a6685bbc7dfdab6
DIST sqlite-doc-3250200.zip 9229732 BLAKE2B 9bc4499c2934d15428dd30e0522362a2c2e703061c293f1b657f01d3945612760be3b4f145ddf76d9cf87953fae26884646887e53c0c55683ce42bc239dcf952 SHA512 a0b764ca0eea0e9719d46b6e1f92db78578457c8331976d4712c56cd10fc062fd73629686a0e45dfdeb505fbfbe0c53652a5e64507702ff4e12b62a2fc8d8211
DIST sqlite-doc-3250300.zip 9265285 BLAKE2B 0722f00d849b18dabf82d317eb0deeb5567534a9cb55e189f28b18e7a26b863190911a02a26e21cf39b3106e7e1a872c445a3d8b53876a16d245e77affb6abc4 SHA512 a57cefbb2338a87721fb34f7a0d19129a58fbce026f80719af7dbbeb7512c91ab59e07719d860cc1cf742807ab7b0b5f92cff3bf52f4dbbad8c6ca34ad0a68ac
+DIST sqlite-doc-3260000.zip 9321276 BLAKE2B 8e3802212eb938a3997bf8eef971baf8802895a8c38e959b2409857228e9a92b24c3f51679f7dc4847df8d9800f0fff2c09e391b3e30de8b2782bbc5267d5d40 SHA512 e59f74369adb3ffe3afc235e4369101b8ba077f9cac34d524e2425278c3a30f63340613e5baa0fc3c693265525377b6830a1c6b5e97fb06702b89eb604b1eade
DIST sqlite-src-3230100.zip 10849436 BLAKE2B 6bed0a45c83ddb51d665835d174f623b30b1c3b81562fdea2317b58d876a0852136fe4f8a3ebc7679676f366e19c84d0ad2f54d3d8c73712145099975f80cf1a SHA512 69a87b76860c3b172d9e68b0fc0b8c157b606375e2b7d793ce4bd4b898ef737cd721189bc6a3342c749e224e60fa96203d449668c49dff2ebdc682b49630a59b
DIST sqlite-src-3240000.zip 10980065 BLAKE2B 201a59cb34271e5ac79e96e4e2ea64f8b61aa99c44eedf61c0a21752ad4376caaf7980a6923dca66266b1a315d9867871d0d172c17907b4147c15431aa212a70 SHA512 812c2df7179abb1e445b5b3e161c940b120c53366a7b2c1f0bfc3599cd9921e5543ba39ca3f297eeaefec318f10c15f630f00f9cf04133c7cd419a04f3bbdd0e
DIST sqlite-src-3250200.zip 11381811 BLAKE2B 6183436f66c862c32d1dfd59ea4ccb5eaf3dd516ffcf9d7edf786e8fbf56eff3cb84d08e291b2e86fae25e537bed452aed693bdb0f0d6bb6581da86641013557 SHA512 7354af2d45c574ba867fab8aabc6ff903279f028aebed50c71019066df78f61a0b941564c572c87b0f3ed3e5783bf325a690a9957d775228fbbb293dd9a5ad37
DIST sqlite-src-3250300.zip 11384253 BLAKE2B dbc1d989b1f7ae26e34d629ae7926cfebacc0e3b9e07abb98ac6e6d2d801f111624d5b3f5a1d486580559ff0b42140bb798aa862df60946efa77d8b26c47fbd0 SHA512 7d6a38aea5626f7a32960fcdd109c647dd24a22ecf0772f01ffdba389f70fdfe6455f69733b22c220d4114a7d61d3d10097c23859d303e02d126988a1f663b65
+DIST sqlite-src-3260000.zip 11939787 BLAKE2B 89fc5294c203473a8817d23496b05b743aa9d64ac7c67c258432b6a48dfe41d554b09ed14820854333fe555442029e9c9ccea736be7b10be42d9184502938557 SHA512 02faacd831781f25a12ffc8858d648f481d8bbdb68814b18c4c96e3a661233d0e25d675b95feeb35eee4b5ea88e5e0a1fc5fbaecbe434d3f7246d80e81bff6a3
EBUILD sqlite-3.23.1.ebuild 9703 BLAKE2B 4e6cb6336b1bad31d56cdb3a1ea3ca32323b4280caaaa053221e1e405ea2edbd552860ee89934f66d68d19425f0632bea45eea33595cfb6f7e95c5b4bf5eb1d5 SHA512 7fa4f6ab562af73f00338da2e6aaef80751dfd7071c21abf64647cbf68b8e2180e524574c2f0bc38cf138bc8dd3edb7c75f4b3f2a28f788fe0cf108a158ef44f
EBUILD sqlite-3.24.0.ebuild 9524 BLAKE2B dd5bd95346b77d111c1784a69feb6d44170375c82d7734420587d00fcc1f987fdb7676200f988c683606b856008f198b22999a8dd208a275b625702ba0341fae SHA512 0393124beded522a17bdd4f5690d0022f9646069ce735d79c316597743b036a06c0bd5a77635b428a78954920551876e10e55d1498305ec857b5d7eb2d4b05fd
EBUILD sqlite-3.25.2.ebuild 9870 BLAKE2B 235bbb1eec1d35a1babb2bcfd4daa3f34fe69d4e5973b5fda452df9965bd083a64d15c273d89f25eb2168a72efb615606dcc0698e5e35787e070b16e186e491e SHA512 f467e23b508f8a2d7729f6bf02529b151b15d8b90dbf432512a1f2b122f2a3b2ce1135378dc57b7335d20153309e50df950e3150e05b01d9f068fd18a5a25575
-EBUILD sqlite-3.25.3.ebuild 9663 BLAKE2B b0ee178f7f720b440adf8f08309df9e9c12017bc80326207f734112a7323b8c8b5e3c68140c8c21263f91c6ec4fef5619277e7045da44d2e3bdd218fb20eee42 SHA512 0c0c1cc32b590b76c3b276f0e363240f4a70b1b2e1d594da4d0264c0968e92a86ddd958704cfc8ea709f3b9b0bf02244bae38ea00dc5f6ddf3427e8aabbb08a9
+EBUILD sqlite-3.25.3.ebuild 9655 BLAKE2B 1782d46088e9f933cc8405fd3fbef4dce951a7d93941ae971d5117bbde974d1769e5032e87ec997804593068935f61af7bbf0373f791db37f5a9c080feb427ea SHA512 df6d29c97c99ffc4ef6d482298b54c88cc7152aea0bdca5ca6459e5a72b82f908c28a2cced28bfcefc23cd896a7ccba18c71bd8fa85b90ef93c454d8d7f729b1
+EBUILD sqlite-3.26.0.ebuild 9793 BLAKE2B 6d6a788f176bd582d6030bc1e814d672c3add3e2d96abc49b4aa1655aed406d8c1dd1dbb83f4d599ffa32a0d833af1d99eb06078962fdce5a4190bfc350ca760 SHA512 6e047df4a21c4aa94e2e9248bb21ed5b3b97537db2b71a80de245b04fc4e017687afb53e336fd086d838253d46a69d28ddfd2babbb8b83d8bb2b92806db13268
MISC metadata.xml 723 BLAKE2B 8866fbde770e7b8582de27303c72df047db80e0d70b1a1ceca0951a05b51bb704452071ceb6c29ecf3704d523888351615d1798aaab092e6b7505d4c6e3698ad SHA512 40616710b1d4edd3e24b5ac0797c1c9b606aeacac9f9543722bc9529e7c2c704a0c10b0ca68a5ba6e0a0ee8bc605212e8a49a050c8687afbdd7dbf28d6d4506a
diff --git a/dev-db/sqlite/files/sqlite-3.26.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.26.0-full_archive-build.patch
new file mode 100644
index 000000000000..602582cf3345
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.26.0-full_archive-build.patch
@@ -0,0 +1,405 @@
+Move some code to libsqlite3.so to avoid duplication.
+Link executables against libsqlite3.so.
+Increase timeout for fuzzcheck.
+Fix building with dlopen() not available.
+
+--- /Makefile.in
++++ /Makefile.in
+@@ -311,6 +311,9 @@
+ # Source code for extensions
+ #
+ SRC += \
++ $(TOP)/ext/expert/sqlite3expert.c \
++ $(TOP)/ext/expert/sqlite3expert.h
++SRC += \
+ $(TOP)/ext/fts1/fts1.c \
+ $(TOP)/ext/fts1/fts1.h \
+ $(TOP)/ext/fts1/fts1_hash.c \
+@@ -363,8 +366,11 @@
+ $(TOP)/ext/rbu/sqlite3rbu.h \
+ $(TOP)/ext/rbu/sqlite3rbu.c
+ SRC += \
++ $(TOP)/ext/misc/appendvfs.c \
+ $(TOP)/ext/misc/json1.c \
+- $(TOP)/ext/misc/stmt.c
++ $(TOP)/ext/misc/sqlar.c \
++ $(TOP)/ext/misc/stmt.c \
++ $(TOP)/ext/misc/zipfile.c
+
+ # Generated source code files
+ #
+@@ -434,7 +440,6 @@
+ # Statically linked extensions
+ #
+ TESTSRC += \
+- $(TOP)/ext/expert/sqlite3expert.c \
+ $(TOP)/ext/expert/test_expert.c \
+ $(TOP)/ext/misc/amatch.c \
+ $(TOP)/ext/misc/carray.c \
+@@ -459,7 +464,6 @@
+ $(TOP)/ext/misc/totype.c \
+ $(TOP)/ext/misc/unionvtab.c \
+ $(TOP)/ext/misc/wholenumber.c \
+- $(TOP)/ext/misc/zipfile.c \
+ $(TOP)/ext/userauth/userauth.c
+
+ # Source code to the library files needed by the test fixture
+@@ -631,25 +635,25 @@
+
+ libtclsqlite3.la: tclsqlite.lo libsqlite3.la
+ $(LTLINK) -no-undefined -o $@ tclsqlite.lo \
+- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
++ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
+ -rpath "$(TCLLIBDIR)" \
+ -version-info "8:6:8" \
+ -avoid-version
+
+-sqlite3$(TEXE): shell.c sqlite3.c
+- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
+- shell.c sqlite3.c \
+- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
++sqlite3$(TEXE): shell.c libsqlite3.la
++ $(LTLINK) $(READLINE_FLAGS) -o $@ \
++ shell.c libsqlite3.la \
++ $(LIBREADLINE)
+
+-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h
+- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS)
++sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
++ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
+
+-dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h
+- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS)
++dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la
++ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la
+
+-scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo
++scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la
+ $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \
+- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS)
++ $(TOP)/ext/misc/scrub.c libsqlite3.la
+
+ srcck1$(BEXE): $(TOP)/tool/srcck1.c
+ $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
+@@ -744,7 +748,7 @@
+ # Rule to build the amalgamation
+ #
+ sqlite3.lo: sqlite3.c
+- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
++ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
+
+ # Rules to build the LEMON compiler generator
+ #
+@@ -1044,14 +1048,9 @@
+ # Source files that go into making shell.c
+ SHELL_SRC = \
+ $(TOP)/src/shell.c.in \
+- $(TOP)/ext/misc/appendvfs.c \
+ $(TOP)/ext/misc/shathree.c \
+ $(TOP)/ext/misc/fileio.c \
+ $(TOP)/ext/misc/completion.c \
+- $(TOP)/ext/misc/sqlar.c \
+- $(TOP)/ext/expert/sqlite3expert.c \
+- $(TOP)/ext/expert/sqlite3expert.h \
+- $(TOP)/ext/misc/zipfile.c \
+ $(TOP)/src/test_windirent.c
+
+ shell.c: $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl
+@@ -1217,15 +1216,15 @@
+
+ # Fuzz testing
+ fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
+- ./fuzzcheck$(TEXE) $(FUZZDATA)
++ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
+ ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+
+ fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
+- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
++ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA)
+ ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+
+ valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db
+- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
++ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
+ valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+
+ # The veryquick.test TCL tests.
+@@ -1256,24 +1255,23 @@
+ smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
+ ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
+
+-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
++sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
+ $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in >sqlite3_analyzer.c
+
+-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
+- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
++sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
++ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
+
+-sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
++sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
+ $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c
+
+-sqltclsh$(TEXE): sqltclsh.c
+- $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS)
++sqltclsh$(TEXE): sqltclsh.c libsqlite3.la
++ $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL)
+
+-sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c
+- $(LTLINK) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(TLIBS)
++sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/expert.c libsqlite3.la
++ $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la
+
+ CHECKER_DEPS =\
+ $(TOP)/tool/mkccode.tcl \
+- sqlite3.c \
+ $(TOP)/src/tclsqlite.c \
+ $(TOP)/ext/repair/sqlite3_checker.tcl \
+ $(TOP)/ext/repair/checkindex.c \
+@@ -1284,30 +1282,30 @@
+ sqlite3_checker.c: $(CHECKER_DEPS)
+ $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@
+
+-sqlite3_checker$(TEXE): sqlite3_checker.c
+- $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS)
++sqlite3_checker$(TEXE): sqlite3_checker.c libsqlite3.la
++ $(LTLINK) sqlite3_checker.c -o $@ libsqlite3.la $(LIBTCL)
+
+-dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
++dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la
+ $(LTLINK) -DDBDUMP_STANDALONE -o $@ \
+- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
++ $(TOP)/ext/misc/dbdump.c libsqlite3.la
+
+-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
+- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
++showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
++ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
+
+-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
+- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
++showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
++ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
+
+-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
+- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
++showjournal$(TEXE): $(TOP)/tool/showjournal.c
++ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
+
+-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
+- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
++showwal$(TEXE): $(TOP)/tool/showwal.c
++ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
+
+ showshm$(TEXE): $(TOP)/tool/showshm.c
+ $(LTLINK) -o $@ $(TOP)/tool/showshm.c
+
+-changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
+- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
++changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la
++ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la
+
+ changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
+ $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
+@@ -1332,11 +1330,11 @@
+ kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
+ $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
+
+-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
+- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
++rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
++ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
+
+-loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
+- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
++loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
++ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@
+
+ # This target will fail if the SQLite amalgamation contains any exported
+ # symbols that do not begin with "sqlite3_". It is run as part of the
+--- /configure.ac
++++ /configure.ac
+@@ -587,6 +587,9 @@
+ if test "${enable_load_extension}" = "yes" ; then
+ OPT_FEATURE_FLAGS=""
+ AC_SEARCH_LIBS(dlopen, dl)
++ if test "${ac_cv_search_dlopen}" = "no" ; then
++ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
++ fi
+ else
+ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
+ fi
+--- /ext/misc/sqlar.c
++++ /ext/misc/sqlar.c
+@@ -14,6 +14,8 @@
+ ** for working with sqlar archives and used by the shell tool's built-in
+ ** sqlar support.
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <zlib.h>
+@@ -119,3 +121,5 @@
+ }
+ return rc;
+ }
++
++#endif /* SQLITE_HAVE_ZLIB */
+--- /ext/misc/zipfile.c
++++ /ext/misc/zipfile.c
+@@ -24,6 +24,8 @@
+ ** * No support for zip64 extensions
+ ** * Only the "inflate/deflate" (zlib) compression method is supported
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <stdio.h>
+@@ -2176,3 +2178,5 @@
+ (void)pzErrMsg; /* Unused parameter */
+ return zipfileRegister(db);
+ }
++
++#endif /* SQLITE_HAVE_ZLIB */
+--- /ext/repair/sqlite3_checker.c.in
++++ /ext/repair/sqlite3_checker.c.in
+@@ -2,6 +2,7 @@
+ ** Read an SQLite database file and analyze its space utilization. Generate
+ ** text on standard output.
+ */
++#define SQLITE_CORE 1
+ #define TCLSH_INIT_PROC sqlite3_checker_init_proc
+ #define SQLITE_ENABLE_DBPAGE_VTAB 1
+ #define SQLITE_ENABLE_JSON1 1
+@@ -14,7 +15,7 @@
+ #define SQLITE_OMIT_SHARED_CACHE 1
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+-INCLUDE sqlite3.c
++#include "sqlite3.h"
+ INCLUDE $ROOT/src/tclsqlite.c
+ INCLUDE $ROOT/ext/misc/btreeinfo.c
+ INCLUDE $ROOT/ext/repair/checkindex.c
+--- /src/shell.c.in
++++ /src/shell.c.in
+@@ -61,6 +61,7 @@
+ #include <stdio.h>
+ #include <assert.h>
+ #include "sqlite3.h"
++#include "ext/expert/sqlite3expert.h"
+ typedef sqlite3_int64 i64;
+ typedef sqlite3_uint64 u64;
+ typedef unsigned char u8;
+@@ -127,6 +128,10 @@
+ # define SHELL_USE_LOCAL_GETLINE 1
+ #endif
+
++#ifdef SQLITE_HAVE_ZLIB
++#include <zlib.h>
++#endif
++
+
+ #if defined(_WIN32) || defined(WIN32)
+ # include <io.h>
+@@ -936,13 +941,6 @@
+ INCLUDE ../ext/misc/shathree.c
+ INCLUDE ../ext/misc/fileio.c
+ INCLUDE ../ext/misc/completion.c
+-INCLUDE ../ext/misc/appendvfs.c
+-#ifdef SQLITE_HAVE_ZLIB
+-INCLUDE ../ext/misc/zipfile.c
+-INCLUDE ../ext/misc/sqlar.c
+-#endif
+-INCLUDE ../ext/expert/sqlite3expert.h
+-INCLUDE ../ext/expert/sqlite3expert.c
+
+ #if defined(SQLITE_ENABLE_SESSION)
+ /*
+@@ -3765,7 +3763,9 @@
+ sqlite3_shathree_init(p->db, 0, 0);
+ sqlite3_completion_init(p->db, 0, 0);
+ #ifdef SQLITE_HAVE_ZLIB
++ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_zipfile_init(p->db, 0, 0);
++ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_sqlar_init(p->db, 0, 0);
+ #endif
+ sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
+@@ -5649,6 +5649,7 @@
+ goto end_ar_command;
+ }
+ sqlite3_fileio_init(cmd.db, 0, 0);
++ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_sqlar_init(cmd.db, 0, 0);
+ sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
+ shellPutsFunc, 0, 0);
+@@ -8705,6 +8706,7 @@
+ #endif
+ }
+ data.out = stdout;
++ extern int sqlite3_appendvfs_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_appendvfs_init(0,0,0);
+
+ /* Go ahead and open the database file if it already exists. If the
+--- /tool/mksqlite3c.tcl
++++ /tool/mksqlite3c.tcl
+@@ -117,6 +117,7 @@
+ rtree.h
+ sqlite3session.h
+ sqlite3.h
++ sqlite3expert.h
+ sqlite3ext.h
+ sqlite3rbu.h
+ sqliteicu.h
+@@ -403,6 +404,10 @@
+ sqlite3session.c
+ fts5.c
+ stmt.c
++ appendvfs.c
++ sqlar.c
++ sqlite3expert.c
++ zipfile.c
+ } {
+ copy_file tsrc/$file
+ }
+--- /tool/sqlite3_analyzer.c.in
++++ /tool/sqlite3_analyzer.c.in
+@@ -14,9 +14,6 @@
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+ #define SQLITE_OMIT_LOAD_EXTENSION 1
+-#ifndef USE_EXTERNAL_SQLITE
+-INCLUDE sqlite3.c
+-#endif
+ INCLUDE $ROOT/src/tclsqlite.c
+
+ const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
+--- /tool/sqltclsh.c.in
++++ /tool/sqltclsh.c.in
+@@ -27,19 +27,17 @@
+ #define SQLITE_OMIT_SHARED_CACHE 1
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+-INCLUDE sqlite3.c
+-INCLUDE $ROOT/ext/misc/appendvfs.c
+-#ifdef SQLITE_HAVE_ZLIB
+-INCLUDE $ROOT/ext/misc/zipfile.c
+-INCLUDE $ROOT/ext/misc/sqlar.c
+-#endif
++#include "sqlite3.h"
+ INCLUDE $ROOT/src/tclsqlite.c
+
+ const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){
+ (void)interp;
++ extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *);
+ sqlite3_appendvfs_init(0,0,0);
+ #ifdef SQLITE_HAVE_ZLIB
++ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
++ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *);
+ sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
+ #endif
+
diff --git a/dev-db/sqlite/sqlite-3.25.3.ebuild b/dev-db/sqlite/sqlite-3.25.3.ebuild
index 87da0102ad5f..e77904944e43 100644
--- a/dev-db/sqlite/sqlite-3.25.3.ebuild
+++ b/dev-db/sqlite/sqlite-3.25.3.ebuild
@@ -19,7 +19,7 @@ SRC_URI="doc? ( https://sqlite.org/2018/${PN}-doc-${DOC_PV}.zip )
LICENSE="public-domain"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
RESTRICT="!test? ( test )"
diff --git a/dev-db/sqlite/sqlite-3.26.0.ebuild b/dev-db/sqlite/sqlite-3.26.0.ebuild
new file mode 100644
index 000000000000..64c23846b1d8
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.26.0.ebuild
@@ -0,0 +1,325 @@
+# Copyright 1999-2018 Arfrever Frehtes Taifersar Arahesis and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
+DOC_PV="${SRC_PV}"
+# DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+SRC_URI="doc? ( https://sqlite.org/2018/${PN}-doc-${DOC_PV}.zip )
+ tcl? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+ test? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+ tools? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+ !tcl? ( !test? ( !tools? ( https://sqlite.org/2018/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
+
+LICENSE="public-domain"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-arch/unzip )
+ tcl? (
+ app-arch/unzip
+ >=dev-lang/tcl-8.6:0
+ )
+ test? (
+ app-arch/unzip
+ >=dev-lang/tcl-8.6:0
+ )
+ tools? (
+ app-arch/unzip
+ >=dev-lang/tcl-8.6:0
+ )"
+RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
+
+full_archive() {
+ use tcl || use test || use tools
+}
+
+pkg_setup() {
+ if full_archive; then
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+ else
+ S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
+ fi
+}
+
+src_prepare() {
+ if full_archive; then
+ eapply "${FILESDIR}/${PN}-3.26.0-full_archive-build.patch"
+
+ eapply_user
+
+ # Fix AC_CHECK_FUNCS.
+ # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
+ sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed"
+ else
+ eapply "${FILESDIR}/${PN}-3.25.0-nonfull_archive-build.patch"
+
+ eapply_user
+
+ # Fix AC_CHECK_FUNCS.
+ # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
+ sed \
+ -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \
+ -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
+ -i configure.ac || die "sed failed"
+ fi
+
+ eautoreconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" options=()
+
+ options+=(
+ --enable-$(full_archive && echo load-extension || echo dynamic-extensions)
+ --enable-threadsafe
+ )
+ if ! full_archive; then
+ options+=(--disable-static-shell)
+ fi
+
+ # Support detection of misuse of SQLite API.
+ # https://sqlite.org/compile.html#enable_api_armor
+ append-cppflags -DSQLITE_ENABLE_API_ARMOR
+
+ # Support column metadata functions.
+ # https://sqlite.org/c3ref/column_database_name.html
+ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
+
+ # Support sqlite_dbpage virtual table.
+ # https://sqlite.org/compile.html#enable_dbpage_vtab
+ append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
+
+ # Support dbstat virtual table.
+ # https://sqlite.org/dbstat.html
+ append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
+
+ # Support sqlite3_serialize() and sqlite3_deserialize() functions.
+ # https://sqlite.org/compile.html#enable_deserialize
+ # https://sqlite.org/c3ref/serialize.html
+ # https://sqlite.org/c3ref/deserialize.html
+ append-cppflags -DSQLITE_ENABLE_DESERIALIZE
+
+ # Support comments in output of EXPLAIN.
+ # https://sqlite.org/compile.html#enable_explain_comments
+ append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+
+ # Support Full-Text Search versions 3, 4 and 5.
+ # https://sqlite.org/fts3.html
+ # https://sqlite.org/fts5.html
+ append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
+ options+=(--enable-fts5)
+
+ # Support hidden columns.
+ append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
+
+ # Support JSON1 extension.
+ # https://sqlite.org/json1.html
+ append-cppflags -DSQLITE_ENABLE_JSON1
+
+ # Support memsys5 memory allocator.
+ # https://sqlite.org/malloc.html#memsys5
+ append-cppflags -DSQLITE_ENABLE_MEMSYS5
+
+ # Support sqlite3_normalized_sql() function.
+ # https://sqlite.org/c3ref/expanded_sql.html
+ append-cppflags -DSQLITE_ENABLE_NORMALIZE
+
+ # Support sqlite_offset() function.
+ # https://sqlite.org/lang_corefunc.html#sqlite_offset
+ append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
+
+ # Support pre-update hook functions.
+ # https://sqlite.org/c3ref/preupdate_count.html
+ append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
+
+ # Support Resumable Bulk Update extension.
+ # https://sqlite.org/rbu.html
+ append-cppflags -DSQLITE_ENABLE_RBU
+
+ # Support R*Trees.
+ # https://sqlite.org/rtree.html
+ # https://sqlite.org/geopoly.html
+ append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
+
+ # Support scan status functions.
+ # https://sqlite.org/c3ref/stmt_scanstatus.html
+ # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
+ append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
+
+ # Support sqlite_stmt virtual table.
+ # https://sqlite.org/stmt.html
+ append-cppflags -DSQLITE_ENABLE_STMTVTAB
+
+ # Support Session extension.
+ # https://sqlite.org/sessionintro.html
+ options+=(--enable-session)
+
+ # Support unknown() function.
+ # https://sqlite.org/compile.html#enable_unknown_sql_function
+ append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+
+ # Support unlock notification.
+ # https://sqlite.org/unlock_notify.html
+ append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
+
+ # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
+ # https://sqlite.org/compile.html#enable_update_delete_limit
+ append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+
+ # Support PRAGMA function_list, PRAGMA module_list and PRAGMA pragma_list statements.
+ # https://sqlite.org/pragma.html#pragma_function_list
+ # https://sqlite.org/pragma.html#pragma_module_list
+ # https://sqlite.org/pragma.html#pragma_pragma_list
+ append-cppflags -DSQLITE_INTROSPECTION_PRAGMAS
+
+ # Support soundex() function.
+ # https://sqlite.org/lang_corefunc.html#soundex
+ append-cppflags -DSQLITE_SOUNDEX
+
+ # Support URI filenames.
+ # https://sqlite.org/uri.html
+ append-cppflags -DSQLITE_USE_URI
+
+ # debug USE flag.
+ if full_archive; then
+ options+=($(use_enable debug))
+ else
+ if use debug; then
+ append-cppflags -DSQLITE_DEBUG
+ else
+ append-cppflags -DNDEBUG
+ fi
+ fi
+
+ # icu USE flag.
+ if use icu; then
+ # Support ICU extension.
+ # https://sqlite.org/compile.html#enable_icu
+ append-cppflags -DSQLITE_ENABLE_ICU
+ if full_archive; then
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ else
+ sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ fi
+ fi
+
+ # readline USE flag.
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+ if full_archive && use readline; then
+ options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
+ fi
+
+ # secure-delete USE flag.
+ if use secure-delete; then
+ # Enable secure_delete pragma by default.
+ # https://sqlite.org/pragma.html#pragma_secure_delete
+ append-cppflags -DSQLITE_SECURE_DELETE
+ fi
+
+ # static-libs USE flag.
+ options+=($(use_enable static-libs static))
+
+ # tcl, test, tools USE flags.
+ if full_archive; then
+ options+=(--enable-tcl)
+ fi
+
+ if [[ "${CHOST}" == *-mint* ]]; then
+ append-cppflags -DSQLITE_OMIT_WAL
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+
+ if use tools && multilib_is_native_abi; then
+ emake changeset dbdump dbhash rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
+ fi
+}
+
+multilib_src_test() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ ewarn "Skipping tests due to root permissions"
+ return
+ fi
+
+ local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
+
+ emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
+
+ if use tools && multilib_is_native_abi; then
+ install_tool() {
+ if [[ -f ".libs/${1}" ]]; then
+ newbin ".libs/${1}" "${2}"
+ else
+ newbin "${1}" "${2}"
+ fi
+ }
+
+ install_tool changeset sqlite3-changeset
+ install_tool dbdump sqlite3-db-dump
+ install_tool dbhash sqlite3-db-hash
+ install_tool rbu sqlite3-rbu
+ install_tool scrub sqlite3-scrub
+ install_tool showdb sqlite3-show-db
+ install_tool showjournal sqlite3-show-journal
+ install_tool showshm sqlite3-show-shm
+ install_tool showstat4 sqlite3-show-stat4
+ install_tool showwal sqlite3-show-wal
+ install_tool sqldiff sqlite3-diff
+ install_tool sqlite3_analyzer sqlite3-analyzer
+ install_tool sqlite3_checker sqlite3-checker
+ install_tool sqlite3_expert sqlite3-expert
+ install_tool sqltclsh sqlite3-tclsh
+
+ unset -f install_tool
+ fi
+}
+
+multilib_src_install_all() {
+ find "${D}" -name "*.la" -delete || die
+
+ doman sqlite3.1
+
+ if use doc; then
+ rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
+ (
+ docinto html
+ dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
+ )
+ fi
+}
diff --git a/dev-db/sqlitebrowser/Manifest b/dev-db/sqlitebrowser/Manifest
index 9cc37817da14..7f6964671b3e 100644
--- a/dev-db/sqlitebrowser/Manifest
+++ b/dev-db/sqlitebrowser/Manifest
@@ -5,4 +5,4 @@ DIST sqlitebrowser-3.10.1.tar.gz 1992186 BLAKE2B 105333118a404aab48abe5ecbe83b42
DIST sqlitebrowser-3.9.1.tar.gz 1704713 BLAKE2B 447a9e20fe4236feea2684703ac7f38b1c03f0ded352653b41bbec7d6380691776177fee1428fd67ac96190ed6752cedd76a9883cfa12584fec464cbf98707d3 SHA512 c1e88063fac864f60a9802ae378e13d6f3a09e2f4e71e50c6abca4967a941c444a64617bad2dfc743cf9a6be554af9c73e4c61533300ed9a51652234ffdbd225
EBUILD sqlitebrowser-3.10.1.ebuild 1378 BLAKE2B 9ec28580c7efa201ae7907eed123ba36fdf497e67adcb75ebfa43f1fef3e7956fed44390d02161aba91e8085bb44e872f912c61ff2b6311eb7ddd9f77890bb28 SHA512 5918375456ecfa90e12f8784c3e0e5300f5cd056741a762096f9b65656f3d026015e26f338ba40a48ea1ad7a8649f83067272092ccb7de919ad758bae03e8096
EBUILD sqlitebrowser-3.9.1-r1.ebuild 1439 BLAKE2B 355dc9a6af52f1879559b7774d93f226e46a9998de3557c0f52d2b8ecde160e9c777bcc7ac4c8d33d74337972d6def9ada5d404b36d456133df000ca552623da SHA512 ad218ab7dc42f42487868aeba8fef1f282369bfc2508e6cbd20f0da1c6101f93ff3b157970e34046be20dfd98a2418763941c679d31dde82940cfc2a480b0cee
-MISC metadata.xml 740 BLAKE2B 43e5727769b3fa3fee9fe4514993988877b08a3a21816031cd21ae497a66801d6ba4993236e656b7de4161d22837975bb6d8e9cf93ebfd416235dd622a0b8758 SHA512 697ae7be911f1ce3a8b0c0f9f8509ac5fd338463b7b692ca320ab41ed7676fcc3d7db59e759cfbe82c6d2a1fa9d85a1eeefeda3bca702f56832f336ee7fd0369
+MISC metadata.xml 659 BLAKE2B bf5f352f0227c1408cd9c0720fea6b7bf35e6f843f4e1f6fb3e340d3e7e5ddc09843484da6c54254345cde615993acaeba50027f44f33e0134ac05414e80e8ca SHA512 defe9a90cbcdee9750f9a5dffb8620445efd4d855fa789bad01d80151f4e64676245c2a51670c7418d2e19faa72bf26f4322c3953d610933a5b479985acedca2
diff --git a/dev-db/sqlitebrowser/metadata.xml b/dev-db/sqlitebrowser/metadata.xml
index 778d9bfc7286..45409a91f1e5 100644
--- a/dev-db/sqlitebrowser/metadata.xml
+++ b/dev-db/sqlitebrowser/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>xmw@gentoo.org</email>
- <name>Michael Weber</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
SQLite Database Browser is a freeware, public domain, open source visual tool
used to create, design and edit database files compatible with SQLite. It is