summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-21 18:59:32 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-21 18:59:32 +0100
commit520a5b56dff7c24c9d42eafec142cb78b44f8e3e (patch)
treef562f705600dbd2292e97c0b4145787c2a8d1f97 /dev-db
parent3811bc3072bf19e2be351d2c63f81532945c0f21 (diff)
gentoo resync : 21.07.2018
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin20669 -> 20655 bytes
-rw-r--r--dev-db/clickhouse/Manifest4
-rw-r--r--dev-db/clickhouse/clickhouse-1.1.54394.ebuild (renamed from dev-db/clickhouse/clickhouse-1.1.54390.ebuild)11
-rw-r--r--dev-db/couchdb/Manifest2
-rw-r--r--dev-db/couchdb/couchdb-1.7.2.ebuild2
-rw-r--r--dev-db/etcd/Manifest4
-rw-r--r--dev-db/etcd/etcd-3.3.5.ebuild69
-rw-r--r--dev-db/etcd/etcd-3.3.7.ebuild69
-rw-r--r--dev-db/libiodbc/Manifest2
-rw-r--r--dev-db/libiodbc/libiodbc-3.52.12.ebuild4
-rw-r--r--dev-db/lmdb/Manifest2
-rw-r--r--dev-db/lmdb/lmdb-0.9.18.ebuild2
-rw-r--r--dev-db/mariadb/Manifest4
-rw-r--r--dev-db/mariadb/mariadb-10.0.35-r2.ebuild2
-rw-r--r--dev-db/mariadb/mariadb-10.1.34.ebuild4
-rw-r--r--dev-db/mysql-connector-c++/Manifest2
-rw-r--r--dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild2
-rw-r--r--dev-db/mysql/Manifest5
-rw-r--r--dev-db/mysql/mysql-5.5.60-r1.ebuild791
-rw-r--r--dev-db/mysql/mysql-5.6.40-r1.ebuild768
-rw-r--r--dev-db/mysql/mysql-5.6.40.ebuild2
-rw-r--r--dev-db/percona-server/Manifest5
-rw-r--r--dev-db/percona-server/metadata.xml4
-rw-r--r--dev-db/percona-server/percona-server-5.6.40.84.0.ebuild944
-rw-r--r--dev-db/postgresql/Manifest2
-rw-r--r--dev-db/postgresql/postgresql-11_beta2.ebuild449
-rw-r--r--dev-db/sqlcipher/Manifest2
-rw-r--r--dev-db/sqlcipher/sqlcipher-3.4.2.ebuild2
-rw-r--r--dev-db/tokumx/Manifest3
-rw-r--r--dev-db/tokumx/files/tokumx-2.0.2-no-delete-null-pointer-checks.patch23
-rw-r--r--dev-db/tokumx/tokumx-2.0.2-r2.ebuild (renamed from dev-db/tokumx/tokumx-2.0.2-r1.ebuild)1
-rw-r--r--dev-db/unixODBC/Manifest2
-rw-r--r--dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild2
33 files changed, 3019 insertions, 171 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index edd28515f2fe..7b61d117d112 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/clickhouse/Manifest b/dev-db/clickhouse/Manifest
index bf42a52abd48..3d2bb86fbaf5 100644
--- a/dev-db/clickhouse/Manifest
+++ b/dev-db/clickhouse/Manifest
@@ -1,6 +1,6 @@
AUX clickhouse-server.initd 452 BLAKE2B d083713e917c2e436316a42adccf8698159c268b4deeca8ce04548e0fb71de2db43a4f4ad3a0ca9b74c3e677cc006386b07a5099d8ae6247da246912ec009545 SHA512 553c4f59c5210c30b219507320debc5b1f9e33b777bc04a37a8598d433a34642e4e653dc74bdd11573e99f20ae9d869c8772d3f36a8e962eb76775695bee2ff7
AUX clickhouse-server.service 307 BLAKE2B 1f443f68db97408cb2b0a8e9007195cdc5d6e29f54e55b3bd2b023cfbcb9d3ee4c1083503f83a42cfd18bca3320dfa86571434fe89612fb0a1f5a9e178eb706b SHA512 185db8aed69b178540225fa41f623a78af09e30d2dd1e033baf4d7c80451e702f5d6b9ce5240f7f6fb6d63a4ebed5af4d483515c7e6fe019e7fd44334df4ab37
DIST cctz-4f9776a.tar.gz 290009 BLAKE2B 532eb7d590f9814c05cc7fdd3c75efe0a6b3f81d85201b14163a9600dd858c4fbac592270d0afccd7d5eef0080d7e70e9d716023bdb60d55479585e2cd3d3f59 SHA512 ba0dfc404cc70f03ef2be29fa3b0c70ea881c92a92525ea4ba1b5bcfc9e45df1b62a5eec180f498293e64bdd5cb9b41f97361cbb7e8baf299dcfdcd1557ca205
-DIST clickhouse-1.1.54390.tar.gz 5619103 BLAKE2B dac861ee2a4c1326485f5d98b0f6d7b41b32ea43f7b45e5cccf54761c5de72b6805324d1a18f3aa4eea655c055e87cbba6ad39bc55087d6c5ed1d7d9564f27a4 SHA512 09c7a87291555f85534f5560add9dc702a98f38f2679e2c9642607c6f2c25801b1865625d4fa2109fe94873bfa5fd992f7a4d70fb19a03e5e1cb8289c124ac5e
-EBUILD clickhouse-1.1.54390.ebuild 4861 BLAKE2B 995066910402ae02ae29184dba607e78f5779eac862957d20995bb50e14159781fa15443a907f61f19b06e5d2182c74a7bf755e6866e0c3c42e4a5faf5333230 SHA512 f06f580c2b99d0db506c50af514ee8bab4bdaef27efb4e474850bd5dd01305e6615a2a2f2821fc882e4a1919b43f5bd5f6a7b68c50192a2c00671fb460d28e3b
+DIST clickhouse-1.1.54394.tar.gz 5627145 BLAKE2B 7ea84171eab77d2c9c24f28674c1c53a9bddd897c65531907589470cf1a8b5c346aa9cfa6f1ef64310f64b7a765c2645917c68856ce50428ce4f6c7e0457cf5e SHA512 55093c9eee477ab9fa5290fff0b3643cbc7f348ed484a487672b78d25016a0480df33b0979b7bd5b9deef5da827f245398a8c593403926b07bb1b36f8404a5be
+EBUILD clickhouse-1.1.54394.ebuild 4903 BLAKE2B d363915e46bfe1489e07f9ae9b07a39c146603af9496ab98371b053241566e02c7b85cf64a985ef8958e83a8741ac20583917e8268cec80702e4d37e69d8e110 SHA512 443eb0cd7f343eaff895dfbcb6a98abc4b2734495e2abd9c9f51e613fc2ac8698797bb5f780178c86bc0d8621cfe0b976470c7c4b9ec0bd337fa0599f0d01848
MISC metadata.xml 738 BLAKE2B 861f40f506964d64cf646f043406945dc54950f48e27d4eb28b6fc0f96bf0ceb093520a0b60d813460fbe8b99ba4858f0a49d30abcb25567f44411c78a02f6e7 SHA512 6d87cc967c081b5a5e60136f5928d7b17c65c3a1c26aa1e45a50e74d5383bb665682a8b0cb5cce0496bebcac1f5e27aace8a8373253c031acc3c166c382e0056
diff --git a/dev-db/clickhouse/clickhouse-1.1.54390.ebuild b/dev-db/clickhouse/clickhouse-1.1.54394.ebuild
index 643b68fe3dc4..734544c61dae 100644
--- a/dev-db/clickhouse/clickhouse-1.1.54390.ebuild
+++ b/dev-db/clickhouse/clickhouse-1.1.54394.ebuild
@@ -50,7 +50,7 @@ RDEPEND="
)
dev-libs/icu:=
dev-libs/glib
- dev-libs/boost:=
+ >=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
dev-libs/zookeeper-c
kafka? ( dev-libs/librdkafka:= )
@@ -81,7 +81,7 @@ DEPEND="${RDEPEND}
)
dev-libs/icu[static-libs]
dev-libs/glib[static-libs]
- dev-libs/boost[static-libs]
+ >=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
dev-libs/zookeeper-c[static-libs]
virtual/libmysqlclient[static-libs]
@@ -90,6 +90,7 @@ DEPEND="${RDEPEND}
sys-libs/libtermcap-compat
dev-util/patchelf
+ >=sys-devel/lld-6.0.0
|| (
>=sys-devel/gcc-7.0
>=sys-devel/clang-6.0
@@ -178,11 +179,11 @@ src_install() {
fi
if use doc; then
- pushd "${S}/docs" || die "Failed to enter docs build directory"
- ./build.sh || die "Failed to build docs"
+ pushd "${S}/docs/tools" || die "Failed to enter docs build directory"
+ ./build.py || die "Failed to build docs"
popd || die "Failed to exit docs build directory"
- dodoc -r "${S}/docs/build/docs"
+ dodoc -r "${S}/docs/build"
fi
if use server; then
diff --git a/dev-db/couchdb/Manifest b/dev-db/couchdb/Manifest
index a0ef35d17ac9..0beff913cf0d 100644
--- a/dev-db/couchdb/Manifest
+++ b/dev-db/couchdb/Manifest
@@ -3,5 +3,5 @@ AUX couchdb.init-4 439 BLAKE2B 4b334d42238616a1bfef41f915e7e42038457b6e52b713af6
DIST apache-couchdb-1.7.1.tar.gz 9963069 BLAKE2B 69a3f835f6a7b5752e4707b02edfa726cfdb76813e36e570566641b999eea556ff788b0ca8ce1e66beb819119d90e387beab3bba8618e3b7a606870794307fef SHA512 cd7417ef4b1eaeb1fe4251b559d904238fd25881c542f1498e6e9f1c4a55a79e34e06e711f90ce39e5e65fcac8be9c611943b8ed57d4a7465859b5811ac0a21f
DIST apache-couchdb-1.7.2.tar.gz 10009424 BLAKE2B 3d3b4922fe5b2c55e4851e48993442ba23369753fb17d5cafba936947624af0d3dac70e0a23d0c22c79e7e2776a3a441d5b1020a4a420b7d9a621fb59aad48d9 SHA512 507a35a7f1e826b1562eec86146cc6fcff3c65fa7762f9742e6e8fdacfca735473105772757624183778f7a532c742f6644b301677607bb81c1f3f0ceb742867
EBUILD couchdb-1.7.1.ebuild 1833 BLAKE2B 40ee843a46d254f64cf4b7de9927db335f2c928f8ceca249b8cdfc3e45dc5051a28da81a8bbd286f9a0e45ece27b0a21872067f59c5fff50ecf9792fec795b83 SHA512 48561428b5da0cf6afc118c782e9d627dc82208e7bc9825cdf186e51c746d0bca6040dac52586b56d42f4ecb01d08fb7b12c431641a23de47cd814a2648372f0
-EBUILD couchdb-1.7.2.ebuild 1836 BLAKE2B c81914a8a268c5eb31dcfe749ed7c7358c8c16271a3123c6277532ae5879808753c7e987c9f8e2ae43cfc72f6cd3d2f9a5933228f1b9906166efb7be79e6e409 SHA512 6bcec0fbccbf094fba27136fd9931a584905952b8752bedcdd56cb2d52c46da3ee3884bbf25bc15390f8cf68f39a36f2441d7a6a2a337393a0efeab32de0f41d
+EBUILD couchdb-1.7.2.ebuild 1834 BLAKE2B d1a4e1798cfa27f549d5e3703695bb1d1f91a54e583ce854454707d81b55a2ae7fc499e880a7e656fc96715be7ebbe899a2c6cddd87afaf57c3a20a21ee58dc8 SHA512 a98b412cb52af5fad53dc725f8bbd258d1d0a6a4653c86f6b509c73d70b7bd1e217f05ab1d003bc6812d6eabca7cb5e1a6f87984248b6065806e6a971e5c75ef
MISC metadata.xml 212 BLAKE2B 99a9c24bc730c412eb431bd6853c25ac91329aa9be6e6db58f56e4831aa66fd93d779c08f3569ec7c5b45940bc23d0cb90c508605d27e502d2b9a70ca436d7ba SHA512 e4f4b6dbbf6bf039ff5c19bb6a209ad4e0b1286f8cf7cc0cbafcc04fcf93fb92766c8cae06ff19f980a069c7fe9a1686437ab215f84ce10e301275ae107d00bd
diff --git a/dev-db/couchdb/couchdb-1.7.2.ebuild b/dev-db/couchdb/couchdb-1.7.2.ebuild
index b429e0313ae9..8f033f12687b 100644
--- a/dev-db/couchdb/couchdb-1.7.2.ebuild
+++ b/dev-db/couchdb/couchdb-1.7.2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc x86"
IUSE="libressl selinux test"
RDEPEND=">=dev-libs/icu-4.3.1:=
diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest
index e127c462aa7b..e96695016d29 100644
--- a/dev-db/etcd/Manifest
+++ b/dev-db/etcd/Manifest
@@ -5,11 +5,7 @@ AUX etcd.logrotated 104 BLAKE2B 3126c99db171af177d6d6368e7e53f3e5e07b9ae2926ff12
AUX etcd.service 304 BLAKE2B ecffe9889f9530bf7172638a0273736abba2b3ea5c5540b5452d26fbaec17ab9c138db86b543c3c88fd3d16ce79487eb2c31ad7bbfb0c5b9cd11eede9b99bd2d SHA512 0074f77a17afe2bb4145f12a6eb312caa3e08cfe8bf35856b79d091ad8786c4223bd91c0a865e789ee9ba180f2672b31721742bb32efd0cd383bc747eb926961
AUX etcd.tmpfiles.d.conf 76 BLAKE2B e5aa0ca42dd579e9c2ac8c6bdfce83f87ec79ce64d10e20b61ab3df45918747f588b9246085fec925bb39b772e061628aadd030a23a59b65a2fc2243eca1a7f9 SHA512 7324b74dcfe050dd7fbc318ca3ce9b5d58bce8fa2ce2d2d771664ef981c834375f7cbfebcb630cd61dab2a3f6bf6c3733ad04f752beadf7bb6fedcc80ff682ce
DIST etcd-3.2.22.tar.gz 3243190 BLAKE2B 165eff928f5f5419d02ef07aebb5160ac5473721a1e27ee1eb2a6b1e5ff775f2f7254ddfc20dec14c28cd2de68966e7b8521fb29c7242a420fa61d226e16b3ba SHA512 7a32dce894ca643f0c51267edc0fba2524c197f0ac3185c6acd22879cd58236f6bcc9c3825d9b8f196255c8bf6aed1b893e1a62124c946f95b4832b409a6b4c0
-DIST etcd-3.3.5.tar.gz 3514955 BLAKE2B 394b6563f27a1a73aa553dc4db440d803721d001ab3d53c045df826c527c87232a6c1b83aed5fc9e4011f2480b456f0ae2a7a34bc173df90478d1704fd5c392d SHA512 e4495a02f1e2a08cc70a055528edbc118f50e4fe68b51afeb82908a7c2387de1e457adfb8078befec6829daeace61b95501da9f8b3fa49e0aecc9710ece470a4
-DIST etcd-3.3.7.tar.gz 3517632 BLAKE2B 4fcec3e90e819961e1bfc53a45d71a95ad87f82a3a974f14fc940ff216f8314339f3522ac4992567543a99afbef722f75f4b8ab98604aeca38d1bb697a207d0f SHA512 12ea79aca94f2ad68baf4d324176d4cb2e27d11e3b7c018b69a1c2a1028d9e42d734bd3a814618eb41d7b0b07716d5df9bd9161bf52b061445ca7727579ee276
DIST etcd-3.3.8.tar.gz 3518826 BLAKE2B 4d8ac66022c63250e37871a40041a799a21361f005f5ff259711ea7a0557acbe7f3920815ff0b5193499177e42c306ff8383192e7d4c31c94439d9461dea979f SHA512 c3a3f9ffb614e383854bf5a8819e3dcad8f02b267d74197685b546c856e983c92f8c459185c327adf7ba3d0326e2058fb34caac0896d78494cde86c3f7e04ac7
EBUILD etcd-3.2.22.ebuild 1475 BLAKE2B 4cbf762bd7dc082d11b4ef984e27673921a5a44e7cec9f8284d1feda234662352497512edc84c2ba9c29b743b481a9f06fe8b32b14695273d8fa97956e460e76 SHA512 dc2cab07f90c4c181b0453b7a15b66df3c270c63872843317838d29b985a0c9a0905b7ce0a054df2015991337bccdee7bfc920e599b17142e231f0a0aa8d9f5c
-EBUILD etcd-3.3.5.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d
-EBUILD etcd-3.3.7.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d
EBUILD etcd-3.3.8.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d
MISC metadata.xml 679 BLAKE2B 7374379a18107011df792be631428834334ad8e6da5cfe404f18555e8c168d3fc716a1c8d6cb5cf1d9ccd173737aecf93a165f846865dbb6ba4a76bd4669b446 SHA512 8070d8b51dd3319e8b159072db237dcc5299361c2f74fa086fc4cbc174cc6a5c8f7659310332b54b2275e2bc3d028323c4dfa5775e21693a339f54312582d2f0
diff --git a/dev-db/etcd/etcd-3.3.5.ebuild b/dev-db/etcd/etcd-3.3.5.ebuild
deleted file mode 100644
index 88b1e478fe0a..000000000000
--- a/dev-db/etcd/etcd-3.3.5.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/coreos/etcd"
-MY_PV="${PV/_rc/-rc.}"
-DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
-HOMEPAGE="https://github.com/coreos/etcd"
-SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.9:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e 's|GIT_SHA=.*|GIT_SHA=v${PV}|'\
- -i "${S}"/src/${EGO_PN}/build || die
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- ./test || die
- popd || die
-}
diff --git a/dev-db/etcd/etcd-3.3.7.ebuild b/dev-db/etcd/etcd-3.3.7.ebuild
deleted file mode 100644
index 88b1e478fe0a..000000000000
--- a/dev-db/etcd/etcd-3.3.7.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd golang-vcs-snapshot
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/coreos/etcd"
-MY_PV="${PV/_rc/-rc.}"
-DESCRIPTION="Highly-available key value store for shared configuration and service discovery"
-HOMEPAGE="https://github.com/coreos/etcd"
-SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +server"
-DEPEND=">=dev-lang/go-1.9:="
-RDEPEND="!dev-db/etcdctl"
-
-src_prepare() {
- default
- sed -e 's|GIT_SHA=.*|GIT_SHA=v${PV}|'\
- -i "${S}"/src/${EGO_PN}/build || die
-}
-
-pkg_setup() {
- if use server; then
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
- fi
-}
-
-src_compile() {
- export GOPATH=${S}
- pushd src/${EGO_PN} || die
- ./build || die
- popd || die
-}
-
-src_install() {
- pushd src/${EGO_PN} || die
- dobin bin/etcdctl
- use doc && dodoc -r Documentation
- if use server; then
- insinto /etc/${PN}
- doins "${FILESDIR}/${PN}.conf"
- dobin bin/etcd
- dodoc README.md
- systemd_dounit "${FILESDIR}/${PN}.service"
- systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/${PN}
- fowners ${PN}:${PN} /var/lib/${PN}
- fperms 0700 /var/lib/${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
- fperms 755 /var/log/${PN}
- fi
- popd || die
-}
-
-src_test() {
- pushd src/${EGO_PN} || die
- ./test || die
- popd || die
-}
diff --git a/dev-db/libiodbc/Manifest b/dev-db/libiodbc/Manifest
index 23d3eaa61d14..aaca04f965c4 100644
--- a/dev-db/libiodbc/Manifest
+++ b/dev-db/libiodbc/Manifest
@@ -10,6 +10,6 @@ AUX libiodbc-3.52.8-gtk-parallel-make.patch 661 BLAKE2B f77c1184d648e4da54c05b3f
AUX libiodbc-3.52.8-runtime-failures.patch 2033 BLAKE2B 943726b96d59fb560e1e42392d4d03c149ab55d4e237ad956f9b56d5f0a06abbab9e103412cb25423e9a1612ac2b74ff20a08e05d1561a3559559c80284e5298 SHA512 a6b921a85bf4076cf5af8744987cdd98ebc570043344e681def5a83e677e64ddc6457f86c135b33162f7248de6c9897b65978699582e0ad71cb9e696f6270142
DIST libiodbc-3.52.12.zip 1248801 BLAKE2B e19b740904a332df7d7f510a6ef7414121e99bcbce0b89db94f4b7a09c0de09f39a8f8abdbec40029b79140fab6e1e1d319ad146cc7d74872a7fe69852a3f710 SHA512 240f6f7dc406fcc6688499bac8800b81380d32e8443e4f098875fabc649da1b86567b67d2259206be64cced8537d3171040d16be39845b9009cd90be62ae97db
DIST libiodbc-3.52.8.zip 1188493 BLAKE2B 8439d0268b64d847c2bbb733fb203b3c2811f14dcd1cf2993472244e6430c2dac042f2b5056aed04049ba2cd139c83cd9c6c7ac6d4e1576dea58fc6e6aa0a5f0 SHA512 76da1e69a6e7ab1b7ba103547070c5dfe7c40fa88d82c243640d862c93c19e731d5a35d0575038491a148bb1d1cb7c5168dc30bf3f9600b31f4e014350f16551
-EBUILD libiodbc-3.52.12.ebuild 1658 BLAKE2B da9a89673e70ddf34a9e330b39ac43020d104400628f224593adc210db3f7154c29847d0bac930ffda5daedc61fa95bb7e4fb9e7e0c7c914e5d9f4c6aec27f8c SHA512 53efa97c5709d59b26d631aaefb9210468ab3aa2a8bdc32d9492a691b0ee2b66c7d6f9163095f00ab747370113a528600481eba35388914a91c36ff20d1df3a1
+EBUILD libiodbc-3.52.12.ebuild 1657 BLAKE2B e9413f6bae682cc39639c6b304ccb7fb11512eb4a43f2073bed71fca29b6f532a038bff9f1357cea0ba5ac93533ebd1986487cb6caf02c045939848e7ddb20a5 SHA512 5cc0b63c95c0a1a365766a225557c18a63f774a4d0cc7bf182053e8516ffeaaed0ed01e40f21c0d0bdc1b9f1974df2bd9359985bb69f82a70e90a65cf193650d
EBUILD libiodbc-3.52.8-r2.ebuild 1711 BLAKE2B 5b4e8870a2e2a782bed3e1b05e22fbfac3489900320c4b73263c7e722b21136a3299219859d5788b2eb56685b76190c3fedbefbd1dceeb6871a3fe83d492b1cb SHA512 9ac4fa353299828cd7419ee5c5502434a3390db1a3f6c3558bda884cf091fa31cec34c69d2e2612985bd73c0ad97ee8dfa6bf6d96af59424f34148706475c8b1
MISC metadata.xml 251 BLAKE2B de1fe040cd23515516e31a81c78089f5fb4b9240f43a659d0e6981665bec427ebfe5f68bbea534b92dd4352f42e366c2070d3ef3e7fc0d3beee880445d973bef SHA512 ec0eb5cbc30d0a7ad8c74612255d84a473c370d977f9be4c95904eb5281060bbe3c23d97fb9537e844bbaf90c2f6dd1fae891d44628bbca29fbecb0fe0cb8bbd
diff --git a/dev-db/libiodbc/libiodbc-3.52.12.ebuild b/dev-db/libiodbc/libiodbc-3.52.12.ebuild
index 601567f5e7e1..86a564be8a13 100644
--- a/dev-db/libiodbc/libiodbc-3.52.12.ebuild
+++ b/dev-db/libiodbc/libiodbc-3.52.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ DESCRIPTION="ODBC Interface for Linux"
HOMEPAGE="http://www.iodbc.org/"
SRC_URI="https://github.com/openlink/${MY_PN}/archive/v${PV}.zip -> ${P}.zip"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
LICENSE="|| ( LGPL-2 BSD )"
SLOT="0"
IUSE="gtk"
diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest
index 542969a236f5..5ece09de41bc 100644
--- a/dev-db/lmdb/Manifest
+++ b/dev-db/lmdb/Manifest
@@ -1,7 +1,7 @@
DIST LMDB_0.9.18.tar.gz 139156 BLAKE2B 6a8d32c6f203272a212d5e298f7d1af290c12a87680c3177521d1b10d0c42691dbdfdb3b49d467c97cf4c621ddef8e00bca0bbaa352203eeca66e8e294c0fa8b SHA512 394e88d99d446eb30771d7cf7a661584683a0d6d8e976cc561b5eecbb2a5d0817bbd59994002afa4eae6c86a39f05f50ebc2eff77cd70dd8c67225df4611f5e6
DIST LMDB_0.9.19.tar.gz 143141 BLAKE2B 69f39e2194638989d8a17b79edd7918966d5608f4e611a7446b45e7321adf3b7d4bd69107fe00a1476d32cbd43b83f512c8498cefa3fca7eea8ba615821341fe SHA512 1d9825f09592ad92a540a1dec232cf6649f41cc67b0d59dc8958a71f4090f347c84995f32a166e2c2efecb862981f455814dd07af99bc3489e42fe3fd8bc6191
DIST LMDB_0.9.21.tar.gz 143352 BLAKE2B de206eb03ebd0ed329127380a2aeac693280d9c1d7b61a4a36c42889169b28adab30ecfeff37487b9e36f4e953bc6587e54b7a49dfd0969f2dec99e45bd09654 SHA512 e0f998507da654ccac02aa199367e8363c37f47e06ee0984085aae60fb086e49087824915bf8896f90187f1cc96e5c9caf5e5f72fa3911415151ca1e56f0309f
-EBUILD lmdb-0.9.18.ebuild 1240 BLAKE2B aae6c699c43144b64199e09b34f3595ec80702a77f5b16376ac74fae53bdfc79017194ed5defb442dedf3e5da7d751859eec24c303417a912bf374bfe984ec77 SHA512 bb0a08d277a3667d4d1fd658f21077fd7b803526940e5ea559a8e12d772af62575abb7b546813d8c2aaa4c6db8834127b127c9b56c38d27e8711c4431ae3a803
+EBUILD lmdb-0.9.18.ebuild 1239 BLAKE2B cf75faf2a5fe6fd306eb7a28c2372a3bcb3a4395fb26f80e4beb9e99799a7c2d86755b2fe5d7172a24fc40d00519ee4a70cdd179f51f836853950311ae8d2549 SHA512 18b2c236625e0fd311521148dfd029a74c428459ab61847105d9e27cf2a602bf107af9147d11ada60a1efd972e29ea26ea59f7d7bd9848cf2dc145a05967fff9
EBUILD lmdb-0.9.19.ebuild 1849 BLAKE2B d9e235c2aa7ff06d2b6cdf6b6e29544a02d1aaa7ae7248afdf661c3ba4ea0ddbb0e7ed9ec7796e73b1865a430a2a8380236a3206e54a8eca054ba95ff9e1d820 SHA512 791cca180d0d429d64f197a627dd8d94c48e8502d38011be358fc901e521cdb3996653b2cc0c519b9e1e5a58815134e99e64f09d50bcc72444eb2990ac2879ad
EBUILD lmdb-0.9.21-r1.ebuild 1960 BLAKE2B b2686f3859333a1f60b4e1053e40e7214ed3196e35b88956ada044f6655c7ae3a472e999db56d08bfeeb3d6520853b1091dc6d8a321827e67903c87e8aebbe15 SHA512 288aec449c08655fe4572451f2960cd6c489158198fc787cb5ec3bd489578995f651bd5d13c36924ef35c2497dd157ae46a78dc9b5e18b31f913753a2a8157bf
MISC metadata.xml 540 BLAKE2B b064697aa562165a627cb1be8cce847c8046d10cf184a4563a632c43ebd1916ad866e843efd49ae5659e379f3695514005b9d601117719c9f48652dab48dcea8 SHA512 7ff1fddaca73c5d7b4a6a9ada9a7aad60e16c8c7063ad5cd9cf57301f504f6e0fe53bf568dec83abf522c2c099d2b3b2463619df17077ebaa3b39bd67bd738c4
diff --git a/dev-db/lmdb/lmdb-0.9.18.ebuild b/dev-db/lmdb/lmdb-0.9.18.ebuild
index 95346b1baed8..24e6c6e86d45 100644
--- a/dev-db/lmdb/lmdb-0.9.18.ebuild
+++ b/dev-db/lmdb/lmdb-0.9.18.ebuild
@@ -10,7 +10,7 @@ SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz"
LICENSE="OPENLDAP"
SLOT="0/${PV}"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="static-libs"
DEPEND=""
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index e2dd1124f336..57c06da4bf80 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -26,12 +26,12 @@ DIST mysql-extras-20180529-0042Z.tar.bz2 321715 BLAKE2B c40e7c8de7d24f1ab6208968
DIST mysql-extras-20180621-0218Z.tar.bz2 321959 BLAKE2B f444a3bd5e75c7ef491d175b1fc775a091c12870f4ac1003f0458dd5c7a1c91e09adec78013e828b4d8b16e96060426825b1650def8c22199dd59897b732359e SHA512 20523897dac98b369ab064932507034e547ffd283059285a4fb2bf1d63637c663d4d641dc91c5687de308a50eab3e75788d3cae720259a03d99b7e01f4146762
EBUILD mariadb-10.0.33.ebuild 6719 BLAKE2B 047c09af4815c1b37c69e6af9330e1160f7b0121240715db0e70b53378237535f2406caf5b5a93deeaa0b698657dba108dc0550b9f9ae3c4c57781fa09b2dc11 SHA512 1acb699a7bcd105451598209f4d2edb227fce26c0865ad6588a50efdebedc6aec9f3b71206ffe91a2502f2ad39b9992710a1078e435944ad4400889702cb5d55
EBUILD mariadb-10.0.34.ebuild 6720 BLAKE2B fb7d3b50cf280896d3a0b7e0013e2df38130583ad7318c7aec9562df125d364684d9107511402ad189b7af81a0032cde465e98a08cf651fc3ea3c5b8d48dec79 SHA512 21bbf7eb8a664030396dfe992960c056eb15694d5e722178a17dc9b7a8ef57273a0b7d6b24648a17ee12a4dc0ebefe6ab902023270b0ab338e0dd26358eb7c37
-EBUILD mariadb-10.0.35-r2.ebuild 27294 BLAKE2B 13a2c91f9e5a8baa08e71bbd52f109cf8cb4ae3453266f1ea51e1731d550dca518b630536e371334f8598acd96a9d3bd6ac7df37f4b98c27e10d24ed091d8ecb SHA512 49a4b0d79604071a92b0f0dca95139845c66c032301fb8a11ea15629353f9afa078122ede6ffc0f86d75b331c93a99c6b967382a4bde14e6e1774868aa471765
+EBUILD mariadb-10.0.35-r2.ebuild 27292 BLAKE2B ce2964aecdb865189fd7539ffde78c494a68bbbe60f65a1480a1937109c05632e87443487f75488c471cd84b3555266836cd42d755dd077bd622b611345f93a5 SHA512 ccda5e66ee56e14e7f1484aae8434a9919bb5829fbfa92386dd372b3f41eb563a183f8a438c9c7aa8a2a6eebd56ae4ba8721210f73d6e5c4b3c1a1aab7909f3a
EBUILD mariadb-10.0.35.ebuild 6763 BLAKE2B c4f4d33c3f6eee8bef8801efdfc9f0b03e709cbba8be50d191e659b280cd0b61043bd3a43d58f018195b53ae238a6c0d6134c75b394d6677b30733d9d05bdcfb SHA512 765af6d0288cbba81c8031fdfd8cf766416710938c98b50bd844a4dd165aea99aa2c5ff3647861cefb80f368d5a663a6d6b0660bc103b66222198535a1d724ba
EBUILD mariadb-10.1.29.ebuild 7322 BLAKE2B fba21493641bc929ff1cdc9a9f3275681a5a47ea59c95b647f4f18ee27efe0672fc931772d703880fea019d50da54481d9b81abd0a4593a494a3181bfbb192bf SHA512 71a58c66cff52f97e6c341802631951fcfae777c1ac21d9ba4578556f9992c94cc560cb1dc46243fb16d89f96836eda384a74bc81756b4254a58dc476a1c3de6
EBUILD mariadb-10.1.31-r1.ebuild 7887 BLAKE2B 87c53cdd7a2b71db846319c31f479d091e976df7c22de6381bcb7b9904e07f67ce64665d72618131ce2cab7f41dbf708c7fd698acb14a808eafa2fcd620f9c91 SHA512 227b60e701a6a9c1608e45fbae3148e815d39ce172f8d31c47add44416ab2a398cc771ca3e1745fb37d7a0b9d6fb0f42653a5f0694cdd7d8cba130ad19925572
EBUILD mariadb-10.1.33.ebuild 7964 BLAKE2B 287e2e9464b4ba1e36c6555f65672d9ee86148507190121efbb0a0d1dce288a2f8f9c7309a7e400c446d3ad5191d1efbe8d899a3ef4b2ec7efa504043744671f SHA512 d9022bd84086fe9f64b019b9ec57f64028b81d656b57ded0b154e9f1123b02ea921e1a73577f86fbff2d41ba05972415dbd1d81ba54ecc3daef057adc2bfe80c
-EBUILD mariadb-10.1.34.ebuild 29137 BLAKE2B ba0b1c21106d0c21d3a198c9ed02a3e3257bfdf4b9b74ccd30a046f97d5364cec365969d1b2a497649cddfc6f4e2187edf67e7d64ae2eaf3bce504fb421c76b3 SHA512 b78fa9e047af71d6b18975d3e67515625a6d8342208019170fbdfa686e360a2e7465493b2adea0ab19bc27dbb3ad1dd24910336ae88ffb25e9aa5b5b26f52829
+EBUILD mariadb-10.1.34.ebuild 29244 BLAKE2B 0004e6dfdcf79b285f44f86f7a6139dfbe5dc6348cd820807a617ac74e62b075366809eaabe3ed863ea1a59e0e669bb18af056642d67e2532f3c80dab67735ce SHA512 0d2b84f9db18178857e034a3b7c3d9a67c895eeab3ff1ace37b500aee36b100ffec21c7804a55c26c2899c1177543d2e990863f326c911a0e9545b6193ec75d4
EBUILD mariadb-10.2.15.ebuild 33302 BLAKE2B 89de6850682e46f62da74ce87b7425ceb1714f2fe998b7045d50bdf0a4871534f853f480d8ecb08a0fba6e0617e90edaa6c259f39df9899335cad0c2b6dfcda5 SHA512 4d1aae1914e7c9177154bb1d4a38f85980218a51a31b45a801b59d416824760ac0e72e4d0d9579d75748aea6f71bc3ec832623814c36444ada9b3f5dc133a9c9
EBUILD mariadb-10.2.16.ebuild 33302 BLAKE2B 89de6850682e46f62da74ce87b7425ceb1714f2fe998b7045d50bdf0a4871534f853f480d8ecb08a0fba6e0617e90edaa6c259f39df9899335cad0c2b6dfcda5 SHA512 4d1aae1914e7c9177154bb1d4a38f85980218a51a31b45a801b59d416824760ac0e72e4d0d9579d75748aea6f71bc3ec832623814c36444ada9b3f5dc133a9c9
EBUILD mariadb-10.3.6_rc.ebuild 33516 BLAKE2B 638931f75ffe9728d1ca5f7a49d9d4eeca4d8724dc5c13a8073df8affd3c2d4369717c7cedf404cc5aad32f8bf6ada1a2c0208eca61dbd407e0231e7ce839fda SHA512 762550c3c529e75f69864ea8d37409e54150a7ec459339432a51cc2fe4b937cb7d9948c8fcb5f25f35a2d012aff2366b8f9b3075cd30c15cce96a3f08f350e20
diff --git a/dev-db/mariadb/mariadb-10.0.35-r2.ebuild b/dev-db/mariadb/mariadb-10.0.35-r2.ebuild
index 894bbb803b7e..dfca77db1d46 100644
--- a/dev-db/mariadb/mariadb-10.0.35-r2.ebuild
+++ b/dev-db/mariadb/mariadb-10.0.35-r2.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.34.ebuild b/dev-db/mariadb/mariadb-10.1.34.ebuild
index c4507c4f2773..cf50893f5bc7 100644
--- a/dev-db/mariadb/mariadb-10.1.34.ebuild
+++ b/dev-db/mariadb/mariadb-10.1.34.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
@@ -572,6 +572,8 @@ src_test() {
_disable_test main.plugin_auth "Needs client libraries built"
fi
+ _disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on
+
# run mysql-test tests
perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
retstatus_tests=$?
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index d0aa690dfb17..7a9e1bb84a38 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -11,6 +11,6 @@ DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae189214
EBUILD mysql-connector-c++-1.1.3.ebuild 1412 BLAKE2B f03aaff8472d3383204b1007ec65bb2d149c3e7d66c2d85c24d211dcd353ec0ebc03b9fcdb974f93fb5415d28a67676c82e6b458925619666bcf7096b43189a3 SHA512 e0e929f2d987da18c9a70a22e6bba0c7913c26b4f875cd0327ab9d85fa6f760c16b8dbbc3933bff080c2e0e863dd8e455a0f4d78ca68fad5298ec0a71594649d
EBUILD mysql-connector-c++-1.1.6.ebuild 1542 BLAKE2B 56240c2cee4a328814d804034873bc46032194b636c7b2d49f40d6fca0db683a8a95632f4084e1d3028e281dc0a4b50fb7880946375b734a3b8d8c4658f535a9 SHA512 ab41d0675ef75135be6d5948e01af4d443cab5b9784dd738037c13da65c3c5d331dc70bb4e581f67c9f72e017ab7e977e5ed729ed3c8bccbfbf54c7f57c744e0
EBUILD mysql-connector-c++-1.1.8.ebuild 1570 BLAKE2B 2fdce62496284a0e17b4bd5dd6aa92c424debb3d5ef6e42a7962e439c1cb4878c4f7cffa2dcfb6c7ab664f2c59f31b1e09e7ae71965f851f4ab3bfdc075284ed SHA512 44b999b586e476efdaa014fa3419413c0e323b1fd33ea78ff16fa2fce16ac02afc5c898358a854a341fb0518a1b3cb012c7720416292f15a86e1eef74402ccd8
-EBUILD mysql-connector-c++-1.1.9.ebuild 1574 BLAKE2B 4d41dfab577d6346d7371d44b666b417ec66d03118dda5f7258e83038b747593bbd2c6a74e7e92d10d75b058de16189ac41459e508304478438b967acfebb9a8 SHA512 85911cb29abc3106170ef6a78c12db19827cb25f1d97708e15fbf657bd1f8f2e57f2fa1cd91f7217667f406c70adb1d24bb1bdc2042d89533d6b0ea5ca183753
+EBUILD mysql-connector-c++-1.1.9.ebuild 1573 BLAKE2B 34090ad9e397b58b2b4817e46ff87957317196b520e1babe6298c9348191e360aed1e065f8e0bb9be4f8617d6a523ece1f43779fb38f5f67e420f08384da71de SHA512 ecfcdde841019246803a5ee93619a3429a15e8534966d03f6fa9240cd57972459617aeb902a61d0fc1b29bf8f5132dcbffd751b0e0808bd5dcf3ebeeb8e01b28
EBUILD mysql-connector-c++-8.0.11.ebuild 831 BLAKE2B cd00b3ef8d70e64c8fa7d4852a45d58f060fa443dfb90ebffdb3fa11310d4afabf0396eb05ec4af04b2d3fb3115f38b10eb76a1a302d9d7a1cbb5b4f7e61fda0 SHA512 8de6feaa69664b8faea224769777b7050470fd0b60c0d317e00049bc0e29471bac94274ae0da4239ff211651bf3775df0526d29a02d39d88b1d107bddbb44ee0
MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild
index 46c7c09d0496..b0b8ccb85838 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~sparc x86"
IUSE="debug examples gcov static-libs"
DEPEND="virtual/libmysqlclient:=
diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest
index 6b53339392d8..40f0dc0c5d46 100644
--- a/dev-db/mysql/Manifest
+++ b/dev-db/mysql/Manifest
@@ -12,9 +12,12 @@ DIST mysql-boost-5.7.22.tar.gz 48985783 BLAKE2B 208d684e038366824de4bfbe87b6761f
DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
DIST mysql-extras-20180214-0024Z.tar.bz2 316686 BLAKE2B a893e2975a8062ab236f642d158a7833656942adb31d467b784a9224e7dd87872c3784bb29e93b620a58cd9a835d65248f1a817cdbafa574b5949e2b4262108a SHA512 ad0e81695a70954ad107fe104f9140be24e53d499aed6c123e68e1a062ec5cc90c70f6272fdc014e567794e331301e656ba01b22c2c7a1afaf11e14a9190fb0b
DIST mysql-extras-20180312-2011Z.tar.bz2 319047 BLAKE2B 1da22a0c763a85a6350122c0c56aef4999279c1ef7cf99bcec28348acc83964eb257bb4340c1a21bdcd3b1eb024b23fa62879bed8679c410d847324cb7e24b82 SHA512 b0aa9fc8fbc050451ef147cee99b00cf10d34a71641837821e78655241f7d79a94fe2efb4cef9a23fe9741e08ada2fc0b58ef3b3663752bc567babfbcaa547c8
+DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a
+EBUILD mysql-5.5.60-r1.ebuild 25523 BLAKE2B 7d6f2e438d58e91a7f4f3f01df3e2b8ac98b82c8e38ab1b97ef259ca5d1d19c804e2a79cf2d270dfd1e7d51b83546f65a8a06cd5cfd19c575dc94c6c60e18c76 SHA512 8ecb7f79481736dc30d65d237485b1afaa5e29804efe3b53e6ba3bfe2dcf02ecc94ce8154ca1ff7b57c2de345ec0b463c2fc929b8ef37beab465e8e77a0e1516
EBUILD mysql-5.5.60.ebuild 4381 BLAKE2B c48db634322354aeb487df4df4eff2a27b2e69d9aa5785f349c45f8e947a7e3572e86f013d71e0063b69731fda9155811928336f270d0fee3230caf6eeeae6ed SHA512 f3e4946ede777c0bc39ae415f3f30bb33be145f15f452829683fcbd2e191cd65d6d0f3c6d372651468bb25ea7bfab3f5c8dbadcf4021ca3f0cebf1590eed6ce9
EBUILD mysql-5.6.38.ebuild 6466 BLAKE2B c85ee0bd78a7b75a328a72120444277c9425886e06dc9134662669c73af4d1da45c6d49943f44fbe518379d0babd0590a3ae127f7552862aeb6eacbc18e6cd1c SHA512 e4272584a5de91df2b5f4fee2060e3ca3b5151472bc5e9d472004fdc213f0fc9527874958995bb039847f7f5da97047fc3e9b12f61cecdf03b9d3f65d707be78
EBUILD mysql-5.6.39.ebuild 6520 BLAKE2B d21e873fb57b7b311e7c06d680963794f1b7eb63c118a90aba8d4d036b0449c109e7c50c58a7616bf0b6545225f505fa5a6bcbcb3c0b095ba7c09dc3d296cc63 SHA512 e3c0b406a9c738d0474428c3007888d70832cd61c5a1d1bfad9ff9842f54c67f9494ca81e9647621b68a7e8ccb40af2ecc7fec4118538e569aeb58fe797c54e5
-EBUILD mysql-5.6.40.ebuild 6526 BLAKE2B 08c92c74325dfab7d6106c3397129a5da95f52598185cf379985097f99e373cd9c0fbc0afa5a12643eb7212a10b63f1263eecb92556315943b59139d938cb7cb SHA512 2298baeeda2edf1d75e9a697e86428b81ded08fb58513942698e24ec4c8d16a295ed5abbc899faeb30bd5f3359f85bcde218c01020802727cf4816b7b447cd42
+EBUILD mysql-5.6.40-r1.ebuild 25132 BLAKE2B 294e3d6f059684e5e83948652dfd9afc93b9c4deb9ea087bf0a3560c3920b4cf56a9d30a1ebe36e71d6e899d42590280f8dc876a71f2ef74079271e2915e9c43 SHA512 83975be32ff344515d81d405be5cbc3b29942e8e78eea1f5c3eaa9b5d9035b095843cdea6f81cf225caf2c905670948cda54924b1597beeaadc25891e294784a
+EBUILD mysql-5.6.40.ebuild 6524 BLAKE2B 4d80ad83db774ed82613993f6679cc3dfbce1ed13056273daf18e5a7b5362d1fc3fb30aab7fbc82b9286ba826f6c2fdb988458532567171f192bf203b0135b51 SHA512 a2aa342aa4afb6adef750d0d448df7fb3e96ed16da87b3e19e6960913672cc3317e35d6d694008b86053f10c54355cb712f77994d51f5f261015964989ac156a
EBUILD mysql-5.7.22.ebuild 26968 BLAKE2B 12c16254b4173f661462e5b65a84966e60816d40294defaa3cf8d2dd21b1d2cc3d5210230527bbbe4f3e40ed38c99704e059d810001eaa008811b23ee6bd0e76 SHA512 4d10eb23cd398739dac2234ba33cf4009b8ca01acf3b0549bd8e48f427b702102c9a01b7c5e3f699ca7faa1e068d600bcd0a3d8e758f02bc98f617d3f51e9e4a
MISC metadata.xml 1916 BLAKE2B da2c681ac07c234aa7ecc6f52a1ed63bf49241f7cb270733d0acf523ae5c420bb8f91628bf8510f9365b137ddd63224fd9da6a00df976832947ce043da49a602 SHA512 eac8cb1f76264b46137794c7c47907579af51ac9184aba324f3951135f60dc58c642efdd0a7a3e5c438322f8de4066425ec306d0924472853413be2fd19cbaf9
diff --git a/dev-db/mysql/mysql-5.5.60-r1.ebuild b/dev-db/mysql/mysql-5.5.60-r1.ebuild
new file mode 100644
index 000000000000..36a1e5f70c45
--- /dev/null
+++ b/dev-db/mysql/mysql-5.5.60-r1.ebuild
@@ -0,0 +1,791 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20180628-0201Z"
+SUBSLOT="18"
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build
+
+SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.5/${P}.tar.gz
+ https://downloads.mysql.com/archives/MySQL-5.5/${P}.tar.gz"
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://mysql.com/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl
+ +perl profiling selinux +server static static-libs systemtap tcmalloc
+ test yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc )
+ static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras"
+ inherit git-r3
+ EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+else
+ MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}/01050_all_mysql_config_cleanup-5.5.patch"
+ "${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch"
+ "${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch"
+ "${MY_PATCH_DIR}/20002_all_mysql-va-list.patch"
+ "${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-5.5.53.patch"
+ "${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch"
+ "${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch"
+ "${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch"
+ "${MY_PATCH_DIR}/20018_all_mysql-5.5.60-without-clientlibs-tools.patch"
+ "${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.patch"
+ "${MY_PATCH_DIR}/20030_all_mysql-5.5-fix-client-mysql-type.patch"
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ !yassl? (
+ !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ >=sys-libs/zlib-1.2.3:0=
+ sys-libs/ncurses:0=
+ !bindist? (
+ >=sys-libs/readline-4.1:0=
+ )
+ !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ ${COMMON_DEPEND}
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR%/}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+
+ if use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
+ fi
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die
+ fi
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ local plugin
+ local server_plugins=( semisync )
+ local test_plugins=( audit_null daemon_example fulltext )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ # Don't build example
+ _disable_engine example
+ _disable_engine ndb
+
+ cmake-utils_src_prepare
+}
+
+src_configure(){
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DDEFAULT_SYSCONFDIR="${EPREFIX%/}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_ZLIB=system
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITHOUT_CLIENTLIBS=YES
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
+ -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 )
+ fi
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DINSTALL_SQLBENCHDIR=share/mysql
+ -DEXTRA_CHARSETS=all
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DENABLED_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED%/}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED%/}/usr/data" ]] ; then
+ rm -Rf "${ED%/}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
+ local mycnf_src="my.cnf-5.5"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR%/}/${mycnf_src}" \
+ > "${TMPDIR%/}/my.cnf.ok" || die
+ use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR%/}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR%/}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" my.cnf
+
+ if use server ; then
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S%/}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S%/}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop"
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MySQL 5.5 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \
+ main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \
+ rpl.rpl_semi_sync_uninstall_plugin ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ if ! use client-libs ; then
+ _disable_test main.plugin_auth "Needs client libraries built"
+ fi
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT}"/usr/bin/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
+ local MY_DATADIR_s="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN"
+ fi
+ if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR}/mysqld-help"
+ "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]]; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR}"/mysql_install_db.log 2>&1
+ if [ $? -ne 0 ]; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT}/usr/sbin/mysqld \
+ ${options} \
+ --log-warnings=0 \
+ --basedir=${EROOT}/usr \
+ --datadir=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile}
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]]; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ if [[ -n "${sqltmp}" ]] ; then
+ ebegin "Loading \"zoneinfo\", this step may require a few seconds"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -uroot \
+ --password="${MYSQL_ROOT_PASSWORD}" \
+ mysql < "${sqltmp}"
+ rc=$?
+ eend $?
+ [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
+ fi
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/mysql/mysql-5.6.40-r1.ebuild b/dev-db/mysql/mysql-5.6.40-r1.ebuild
new file mode 100644
index 000000000000..38515733ba7b
--- /dev/null
+++ b/dev-db/mysql/mysql-5.6.40-r1.ebuild
@@ -0,0 +1,768 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20180628-0201Z"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils flag-o-matic prefix toolchain-funcs \
+ user cmake-utils multilib-build
+
+SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz
+ https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz
+ http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.mysql.com/"
+DESCRIPTION="A fast, multi-threaded, multi-user SQL database server"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux
+ +server static static-libs systemtap tcmalloc test yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="libressl? ( test )"
+
+REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
+ "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
+ "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch
+ "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
+ "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
+ "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
+ "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch
+ "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
+ "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ net-misc/curl
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ >=sys-libs/zlib-1.2.3:0=
+ sys-libs/ncurses:0=
+ server? (
+ numa? ( sys-process/numactl )
+ )
+ !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ ${COMMON_DEPEND}
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog "\"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+ if use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die
+
+ local plugin
+ local server_plugins=( semisync )
+ local test_plugins=( audit_null daemon_example fulltext )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ # Don't build example
+ _disable_engine example
+ _disable_engine ndb
+ _disable_plugin innodb_memcached
+
+ cmake-utils_src_prepare
+}
+
+src_configure(){
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_LIBEVENT=NO
+ -DWITHOUT_CLIENTLIBS=YES
+ -DENABLE_DTRACE=$(usex systemtap)
+ -DWITH_SSL=$(usex yassl bundled system)
+ -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '')
+ -DWITHOUT_VALIDATE_PASSWORD=1
+ )
+
+ if use server ; then
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DWITH_NUMA=$(usex numa ON OFF)
+ -DEXTRA_CHARSETS=all
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DENABLED_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -Rf "${ED}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf
+ local mycnf_src="my.cnf-5.6"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR%/}/${mycnf_src}" \
+ > "${TMPDIR%/}/my.cnf.ok" || die
+ use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok"
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR%/}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR%/}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" my.cnf
+
+ if use server ; then
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+# Official test instructions:
+# USE='perl server static-libs' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mysql-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MySQL 5.7 for now and are believed to be
+ # false positives:
+ #
+ local t
+
+ for t in auth_sec.keyring_udf federated.federated_plugin ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]]; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX%/}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then
+ local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN"
+ fi
+ if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG"
+ fi
+
+ if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT%/}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
+
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]]; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ echo "USE mysql;" >"${sqltmp}"
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null
+ chown mysql "${sqltmp}" || die
+
+ # --initialize-insecure will not set root password
+ # --initialize would set a random one in the log which we don't need as we set it ourselves
+ local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" )
+ cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ if [ $? -ne 0 ]; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ ${options} \
+ $(use prefix || echo --user=mysql) \
+ --log-warnings=0 \
+ --basedir=${EROOT%/}/usr \
+ --datadir=${ROOT%/}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile}
+ --tmpdir=${ROOT}/${MYSQL_TMPDIR}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]]; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'"
+ "${EROOT%/}/usr/bin/mysql" \
+ --no-defaults \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-db/mysql/mysql-5.6.40.ebuild b/dev-db/mysql/mysql-5.6.40.ebuild
index 572d880ca1cf..ef524a86b44e 100644
--- a/dev-db/mysql/mysql-5.6.40.ebuild
+++ b/dev-db/mysql/mysql-5.6.40.ebuild
@@ -16,7 +16,7 @@ inherit mysql-multilib-r1
IUSE="$IUSE numa"
# REMEMBER: also update eclass/mysql*.eclass before committing!
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
COMMON_DEPEND="numa? ( sys-process/numactl:= )"
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index 37a3ee0fd331..4196a876e885 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -1,5 +1,8 @@
AUX my.cnf-5.6 4568 BLAKE2B 633cc45bcc751046ef766dcabd1c8db2cd474f13cde436d41698a810787bc52cc8c11aee79c49ed884f4b01ea26fad11f9ffab08471eb10d6752007fd44d372b SHA512 498826f147ad01615358111511c88f671ff823c400782dbad5f359aff99fa88a7be66e3c3b42fd58a5634f17e12f6a18e1896340f1a5a7acecd75320671c3a10
DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
+DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a
DIST percona-server-5.6.39-83.1.tar.gz 56307662 BLAKE2B 474e497a83e7a8f7bf628b2622a0bfeead0f5003ed87dd4228e85a8b1c75bfdfc40f75604e9ed621f6d143d69bcada29163bf140b765951cf0b23e5660623e52 SHA512 d014bc0ebf8d8f1842b4a79eb0a868e3c9e0e33d3eb3cbf301b5504dcb341e1f2a0d6c2c4003666f59fbf75eb274356ee6b059ff2cddf2b457143ee5e1aba471
+DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f
EBUILD percona-server-5.6.39.83.1.ebuild 8506 BLAKE2B fe867adcb0963c377b7f06ccba8b4d49fa878390321c5dd77562e27527c9503182cdd853fbcd42c5558d3ff8cb4676ec0e251fc65331bd31419bf92907ba8b2b SHA512 fd146e3f0db22253af87e4c98c34285ff9fd39bb640ab968cd58ee181d8b573c970ec71e7f34aa0999a05e6d4537055f4f588a2434412881431747e5c79c31ea
-MISC metadata.xml 1505 BLAKE2B 63c11ed734843c7f07a7b71525f21113828cf7bea4fe9f15cbfde952f5e27fbeb8ad1942306a3224478c1a2d19f2ea22d26ee124db19fa7122d573095f98847e SHA512 0ccb7a31827fa15606e060522daf9364bc843a64cfca8538292e989546e07784ea7a8af54ea7a1b02675c64515a1f2225b22971cda4110610836770d1ff33dd6
+EBUILD percona-server-5.6.40.84.0.ebuild 31823 BLAKE2B 4f7f9fd07789c13b8834a8ac80fc95ba0c8ddc6e70c0b6bb4b831bd84981de6b3a32373552dcc3ebfb46638e8878785408e5906567ce5dd10386f7f6fec783d0 SHA512 78a8bee554dc6fd9b3ff22a5696aa341d0687577a4f1b0f9ab5c283ec68488c1a10a1df56a432f9316f5933c4fa4d61f689da39a549b415837ffc79657896966
+MISC metadata.xml 1689 BLAKE2B 6dca9970c094409b460efb0a90d7069c76a598d864b057a11ddc0659a6eb11fef2f0a8a4926167cb76601da021b3591818b0be594c1095bab14553bf7e243dbe SHA512 34406d84c5198256694ea7c442ff40d93650359dfafb63eec59a3e24b4a786dde534eb58936b1bff4012ddf964ed9d32c1f1c03a45edd21bb79f49d791398f56
diff --git a/dev-db/percona-server/metadata.xml b/dev-db/percona-server/metadata.xml
index 0754114167f5..7f9daa6409f1 100644
--- a/dev-db/percona-server/metadata.xml
+++ b/dev-db/percona-server/metadata.xml
@@ -6,6 +6,7 @@
<name>MySQL</name>
</maintainer>
<use>
+ <flag name="client-libs">Build the libmysqlclient libraries</flag>
<flag name="embedded">Build embedded server (libmysqld)</flag>
<flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag>
<flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations.</flag>
@@ -14,9 +15,10 @@
<flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
<flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
<flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
+ <flag name="rocksdb">Add support for RocksDB; a key/value, LSM database optimized for flash storage</flag>
<flag name="server">Build the server program</flag>
<flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name="test">Install upstream testsuites for end use.</flag>
+ <flag name="test-suite">Install upstream testsuites for end use.</flag>
<flag name="tokudb">Add support for TokuDB storage engine</flag>
<flag name="tokudb-backup-plugin">Builds the TokuDB backup plugin</flag>
<flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag>
diff --git a/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild b/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild
new file mode 100644
index 000000000000..c56c135cbbb4
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild
@@ -0,0 +1,944 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20180628-0201Z"
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit linux-info python-any-r1 eutils flag-o-matic prefix toolchain-funcs \
+ versionator user cmake-utils multilib-minimal
+
+MY_PV=$(replace_version_separator 3 '-')
+MY_PN="Percona-Server"
+MY_MAJOR_PV=$(get_version_component_range 1-2)
+MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.6/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"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.percona.com/software/percona-server"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="-client-libs cracklib debug jemalloc latin1 libressl numa pam +perl profiling rocksdb selinux
+ +server static static-libs systemtap tcmalloc test test-suite 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="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc ) ?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
+ "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.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_percona-server-5.6.39-without-clientlibs-tools.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="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ !yassl? (
+ 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= )
+ )
+ )
+ client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
+ !client-libs? ( >=sys-libs/zlib-1.2.3:0= )
+ sys-libs/ncurses:0=
+ server? (
+ >=dev-libs/boost-1.65.0:=
+ numa? ( sys-process/numactl )
+ pam? ( virtual/pam:0= )
+ tokudb? ( app-arch/snappy )
+ tokudb-backup-plugin? ( dev-util/valgrind )
+ )
+ !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ test? (
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ dev-perl/JSON
+ )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] )
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ ${COMMON_DEPEND}
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+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)
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die
+ fi
+ fi
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${PN}-${MY_PV}" "${S}" || die
+}
+
+src_prepare() {
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ elif 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 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
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ 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_SQLBENCHDIR=NO
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_LIBEVENT=NO
+ )
+ if use test || use test-suite ; 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_PAM=$(usex pam)
+ -DWITH_NUMA=$(usex numa 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
+ -DENABLED_PROFILING=$(usex profiling)
+ )
+
+ 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_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -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:
+# 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"
+
+ 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 "Failed to create \"${T}/var-tests{,/log}\""
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die "Failed to chdir into \"${TESTDIR}\""
+
+ touch "${T}/disabled.def"
+ # These are failing in MySQL 5.6 for now and are believed to be
+ # false positives:
+
+ local t
+ for t in main.mysql_client_test \
+ binlog.binlog_statement_insert_delayed main.information_schema \
+ main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
+ perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
+ funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
+ main.variables main.myisam main.merge_recover \
+ engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
+ engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
+ engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
+ main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ 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_buffer_pool_populate_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ # Set file limits higher so tests run
+ 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
+
+ python_setup
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
+ --testcase-timeout=30 --reorder --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ if [[ -n "$failures" ]] ; then
+ if has usersandbox ${FEATURES}; then
+ ewarn "Some tests may have failed due to FEATURES=usersandbox"
+ ewarn "Please confirm test failure with FEATURES=-usersandbox before reporting a bug."
+ fi
+
+ die "Test failures: $failures"
+ fi
+
+ 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-suite ; then
+ rm -rf "${D%/}/${MY_SHAREDSTATEDIR#/}/mysql-test" || die
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ mycnf_src="my.cnf-5.6"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" my.cnf
+
+ if use server ; then
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ for script in \
+ "${S}"/support-files/my-*.cnf.sh \
+ "${S}"/support-files/magic \
+ "${S}"/support-files/ndb-config-2-node.ini.sh
+ do
+ [[ -f $script ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}"
+ done
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${EROOT%/}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${EROOT%/}${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
+ local _replacing_version=
+ for _replacing_version in ${REPLACING_VERSIONS}; do
+ local _new_version_branch=$(get_version_component_range 1-3 "${PV}")
+ local _replacing_version_branch=$(get_version_component_range 1-3 "${_replacing_version}")
+ debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
+
+ if ! version_is_at_least "${_new_version_branch}" "${_replacing_version_branch}"; then
+ debug-print "Upgrading from v${_replacing_version_branch} to v${_new_version_branch} ..."
+ # https://www.percona.com/blog/2014/09/19/mysql-upgrade-best-practices/
+
+ einfo
+ elog "You are upgrading an existing ${PN} installation, you should review"
+ elog "release notes at ${MY_RELEASE_NOTES_URI}"
+ elog "and run the mysql_upgrade tool."
+ einfo
+
+ // Break loop - we only want to show this hint once
+ break
+ fi
+ done
+ fi
+
+ elog "Since ${PN}-5.6.39.83.1-r1 we no longer provide client libs."
+ elog "Applications depending on client libs should migrate to virtual/libmysqlclient"
+ elog "which will pull-in dev-db/mysql-connector-c as their new client lib provider."
+ einfo
+ fi
+}
+
+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"
+ }
+
+ # 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"
+
+ 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="${EROOT%/}/${MY_DATADIR#/}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${EROOT%/}/${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
+
+ # These are dir+prefix
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ 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%/}/${MY_DATADIR#/}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${EROOT%/}/${MY_DATADIR#/}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ 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
+
+ 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
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR%/}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${EROOT%/}/${MY_DATADIR#/}" ]] ; then
+ install -d -m 750 -o mysql -g mysql "${EROOT%/}/${MY_DATADIR#/}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EROOT%/}/usr" ${options} "--datadir=${EROOT%/}/${MY_DATADIR#/}" "--tmpdir=${EROOT%/}/${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 ${EROOT%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${EROOT%/}/${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=${EROOT%/}/${MY_DATADIR#/} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile}
+ --tmpdir=${EROOT%/}/${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/postgresql/Manifest b/dev-db/postgresql/Manifest
index adabbc5ee0ae..e7be0d3aae0f 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -13,6 +13,7 @@ AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438
DIST postgresql-10.3.tar.bz2 19959653 BLAKE2B ba3b05f53b0f879b18d6d0649bf819697c77a066b49d941a96d13a4741854b01aeb0c8b868d6550a08ad52572c9463c968660aa83c16cbaa5b4bf7a89387a524 SHA512 05cf82d3483bdf38734e6ff0fef6b80e7f8fd3cb5ea6792ffe222a599d97d1a29638970bf28ebf5bd1f877e8dcd9986d88f5c5e5379e74fe79ce83e20d2babba
DIST postgresql-10.4.tar.bz2 20201838 BLAKE2B 6d1cdc44547740c8f9fbc2e989364640409c6d2a365568b75731277dd0fba473ce07e2ee27e8ebfad507a6ce0ab3d3a44156c0e3a069d96d320771d8a97ba82f SHA512 b7c0d2fdc724e2eb1cda9fc1eb01b47352bbe6ba6357b3e898b7f5990fd78499c8c68dcb3aa9bde7821d71b5882d8856131384e899f8055d89d51cdfdbc9e663
DIST postgresql-11beta1.tar.bz2 20945387 BLAKE2B a99aff17a656da2250309f2652237c8df3a3aeed088250be6114964c103dec40d0c4cc60b048b2ffa1e9733aed8e9df2597d57cab58482512c42f25139dc3499 SHA512 fa4e9cf8293fecf384d98d3a5bbed208eda2e4dd8bf05a9922a74355daba74dde4dbe0cd42bea1de155f4fea3cdcd0d7621d7e315c1d5f49ce5ee794b01b9f6d
+DIST postgresql-11beta2.tar.bz2 21086270 BLAKE2B ecea671334cc8dcc59ef46e1e9dfc16c1f0c44623d5355a42ef07797c6794109f10532fb6bfd6b4165e92a83d42514547e402cbe1a3618a6e6894432b3e2945d SHA512 3f9120af5f39d10937d92344c45e19f6d4de097dc24a081cd1984b27df4ecb8b0c15c638c8b1f8830b0003f01808159bd91305f9744eb6ae6c3425b3bf677937
DIST postgresql-9.3.22.tar.bz2 17022938 BLAKE2B 198705e438717d0d9e12c73e0c0e3eff0ba89ea50a1b183de70f065e13c153c164890fe56bc6ec13b0cb9617df4f66894c122eeddaf9303b9a02b8e08b19b085 SHA512 667ff496172626d2fe35c6795935fb07f4f7967a3b0631dd3b96278f8dc00b3d08794f091a5ab060a45d6f2a861e0f10f0e9660f9e343ab34eeabd693104c47f
DIST postgresql-9.3.23.tar.bz2 17033683 BLAKE2B f02ad25f6b8755a9a57c3a6dcb63b78672e29473b061ad1616be2fb97fbfd83fe0dc9fc9fda66ac0231fb30fb13f9ef8975ba5a9701d83f33495bcf2c2651b4a SHA512 bb2d54312de728aa0379ea5bc6385036bbe69d3b7f85bbd78c210840eed19ace29840849caf38d0689e21130a0c94818a362b3927805d8eded53b68e240a52b0
DIST postgresql-9.4.17.tar.bz2 17807762 BLAKE2B 7640c29a71c6aeff47d9b43dd1e4f52edac4295b646b34da3a0ed9c26a8a826061bfd892e9907b62f31b7f01ee3aaf437c88d79b84d1d786d608dcd088309ecf SHA512 9ac03d460e521dcd142ac463dd5bb0f3e3f47333367bf8d61499ec7e8d0129d338c6f111667d0006df0c8ced9ae8a337d4c1b40eb5f55e6bc8dd5a24dfd376f0
@@ -24,6 +25,7 @@ DIST postgresql-9.6.9.tar.bz2 19566222 BLAKE2B e92a5ffaa8f4400364a174fc21ab11bb1
EBUILD postgresql-10.3.ebuild 13694 BLAKE2B cbc3b1250d2b50dd7a9c318a9c610506db4b2593b013b2d89a573276ab8604cff741a1a3ca03a97e3c9a6bd7392762f821caf90d642c9a05cc9ca0b411340bbf SHA512 4b6fb894e8d5196139a56b897d3a06169c35def0d7e472ac8332987445f7c7ce72568b3b7a45bd7e8dac651108731761c413296864b0c9be4a617217d49ef3ec
EBUILD postgresql-10.4.ebuild 13702 BLAKE2B 3b49b819926f1270075bcfac90497ffec28133761f1bec0d1dbca1e8cb3474567948183bb47d4c17fff93dcb0d12815a288e1b40e0cf8df34455374118748969 SHA512 135b2f0a4e2c5302961d3dba64fb2072568204a0205de91d20b14a6a2fc8ad7a14d90e96bc82708c2d8b63148d6e3220ac6b1971279ec52da40da4bad88969e8
EBUILD postgresql-11_beta1.ebuild 13373 BLAKE2B 96c2d9781eecc682323b5875cda00eaaa1e81729ffacf818c72078f2ba930d33ebcfc6a8dbba770a5857b85ed0633adfdf0a291ea6e34b50147338db99714278 SHA512 5f6d5f8579bed501e654ee6c7d0698f2367cfe855688750759470df96ed9cb1dd9070c66533bc7f771cd857cdba50d2d05c667a7968af1835047df7e29ade173
+EBUILD postgresql-11_beta2.ebuild 13373 BLAKE2B 96c2d9781eecc682323b5875cda00eaaa1e81729ffacf818c72078f2ba930d33ebcfc6a8dbba770a5857b85ed0633adfdf0a291ea6e34b50147338db99714278 SHA512 5f6d5f8579bed501e654ee6c7d0698f2367cfe855688750759470df96ed9cb1dd9070c66533bc7f771cd857cdba50d2d05c667a7968af1835047df7e29ade173
EBUILD postgresql-9.3.22.ebuild 13747 BLAKE2B 12e74f2f7bc2b18507b5c4e07d093cebd96406c6d981fbcaa6c2851004183acfac3e3fb882e1eea662e8cf1d35c10a1bcd6ad2820a5770874f04ad9cf508c387 SHA512 c89150f9b09e18b196d267dbec2c6539d3eb1ed6326193681249770c5d1ad42e48cffcad160121497dc8dbdd692994bd2704f581d52d029ba4dff5178a773746
EBUILD postgresql-9.3.23.ebuild 13755 BLAKE2B 32748b48a489b9a51a19365e1159638e6de06e487db1eda5932c13e469766664bbb4ae924188b4e054a1d00048c18e7944a114bb15a172be55474dd11deb5a62 SHA512 0971a967aee606d52778ed168217c7d28ddffca984fd7821db8b4271add46868ab1f1dab6ffb1d5801c1a661f4f3a1637e9c99afa487383089cee2df90565129
EBUILD postgresql-9.4.17.ebuild 14557 BLAKE2B 57446276df8b11ebe12ef5a4b3e95dfc2892cdf93cb1a40117f0e7ae5774e0ba1a4a08b2306d971625636d4f0bddb4d0395bc6671397ef291c0251a31bc37256 SHA512 05b6604f17b63442a1eda4673a702eab7bb0ac4af87dce7c9f56085573768aec408aa441873317cf610e379972221f68d49c19f47f7be48b1e6a74809d13c407
diff --git a/dev-db/postgresql/postgresql-11_beta2.ebuild b/dev-db/postgresql/postgresql-11_beta2.ebuild
new file mode 100644
index 000000000000..8c9760a046d5
--- /dev/null
+++ b/dev-db/postgresql/postgresql-11_beta2.ebuild
@@ -0,0 +1,449 @@
+# 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} )
+
+PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
+ zh_TW"
+
+inherit flag-o-matic 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"
+
+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="http://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} )"
+
+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() {
+ # Set proper run directory
+ sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
+ -i src/include/pg_config_manual.h || die
+
+ # Rely on $PATH being in the proper order so that the correct
+ # install program is used for modules utilizing PGXS in both
+ # hardened and non-hardened environments. (Bug #528786)
+ sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
+
+ use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+
+ if use pam ; then
+ sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+ -i src/backend/libpq/auth.c || \
+ die 'PGSQL_PAM_SERVICE rename failed.'
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ case ${CHOST} in
+ *-darwin*|*-solaris*)
+ use nls && append-libs intl
+ ;;
+ esac
+
+ export LDFLAGS_SL="${LDFLAGS}"
+ export LDFLAGS_EX="${LDFLAGS}"
+
+ local PO="${EPREFIX%/}"
+
+ local i uuid_config=""
+ if use uuid; then
+ for i in ${UTIL_LINUX_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=e2fs"
+ done
+ for i in ${BSD_LIBC[@]}; do
+ use ${i} && uuid_config="--with-uuid=bsd"
+ done
+ [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
+ fi
+
+ econf \
+ --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
+ --datadir="${PO}/usr/share/postgresql-${SLOT}" \
+ --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 "'$(l10n_get_locales)'")
+}
+
+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 "http://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 " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+ einfo " http://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/sqlcipher/Manifest b/dev-db/sqlcipher/Manifest
index 693415a194b9..0a56fa5a6c60 100644
--- a/dev-db/sqlcipher/Manifest
+++ b/dev-db/sqlcipher/Manifest
@@ -2,5 +2,5 @@ AUX sqlcipher-3.4.1-libressl.patch 450 BLAKE2B 23bacf888e5744f012ef1bb080984b99f
DIST sqlcipher-3.4.1.tar.gz 13873645 BLAKE2B 8d910691fff6d31393a9e4adb549c084472b3f962f46a6ecd9f0860e5ad3c225d1e7bccd1fc4d87fb0641de0091408ef82521718c21e874a622f5304b6a7df08 SHA512 1c08ccdf438c0de23b1293192c687cb869db1ea904c47da5643c69f3a21f3f6a801fe8e87eb2e660acf0fe977b1f05bf8801b79162c609ffa3711706392c642b
DIST sqlcipher-3.4.2.tar.gz 14743960 BLAKE2B 88ee265b02bb9a42734c2ef93070c8fd8e13d546d7cc85e7fbfd6e6046ccbf2626d75e14b19cbba379c99784c7311d0100de06235b99b4908c60c99890d8d7a2 SHA512 c620bf2b175e404afd60ebe76b5476f5a447ff5fcdfa31bebc3f4bd7f1ebfcd507ee423cd582c9b3d6431d8b57320171492da2586e1a739adb4f440e7443dc03
EBUILD sqlcipher-3.4.1.ebuild 1292 BLAKE2B fd9485d5be219da430ac438d00eb2054912a5365ae8f1cca9d179b028a31f6f0179cc9b994ab5e6ba60a5a17bcae80ed5ea9b8e12c19f9d3bd11f263987f0312 SHA512 9e3b046b8d46e6bce55403b5166de1f86131b8bc2c713581c78c4c5602af8f9a9a89df9d8b48b58698176481ab93ce062f54a5b73e914027648f411633f97ca6
-EBUILD sqlcipher-3.4.2.ebuild 1410 BLAKE2B ae910fa7f159d974f2fab78ad43f8c42e83807b9f55ae6ebe98132f9f27081065427e768ed63e7f9182a5716a627ae553c02a252048511f7099762630a13e143 SHA512 2fb0ac3c64b3d771bfe1b605c1b316cb90b3afefd9e4744bb215204f30896be4a13d023ff5e4e0f2076e4de6c7e815c71d0822e202f8a929e2ef61ffc926c114
+EBUILD sqlcipher-3.4.2.ebuild 1408 BLAKE2B 5f91475f33d74387e274d01652e22bc192bfce1bcc23b5edc30c32863a12ad193f7082ec415220e4e57b3bfe74158d78763e3a6d8130bde61fd6088848abbe3b SHA512 6a8df12165e6accfed7cbae5eba1233fce7f0e9e3749e55f11273d678b8557488ee699476b1b699a9a8b59bdb75ab6448a0a13898f53c256f50a529f1e266e7b
MISC metadata.xml 341 BLAKE2B f5035fe38770437027936a72b9b7d66854fd6a19cf19f7140e409e8004297ed3da11aab122ba81b2f2b5d82302e8252462a7f185de0a998f79d348dd45e16c7e SHA512 b387658993279fb3c74c7647b36035f5c0e0e3e81a3cf4eab28f3dac19319f0b6958cfa16fab30295e5508c0810d601b0e2899710f57e992886f35c781e37dfa
diff --git a/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild b/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild
index fce76e2a5797..fd967068f3ca 100644
--- a/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild
+++ b/dev-db/sqlcipher/sqlcipher-3.4.2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/sqlcipher/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="libedit readline libressl static-libs tcl test"
diff --git a/dev-db/tokumx/Manifest b/dev-db/tokumx/Manifest
index 4b3c9c7cd63f..9f7361965058 100644
--- a/dev-db/tokumx/Manifest
+++ b/dev-db/tokumx/Manifest
@@ -2,11 +2,12 @@ AUX 1.5.0-Werror.diff 2195 BLAKE2B c75c8895426765fd5cd765c2319178eb5efc957bc8994
AUX 1.5.0-boost-57.diff 419 BLAKE2B a17bc644e54c824353e1e0dfe8807f8c3d0e383536938cffca0a51c1392cff8818a18ecc53ec99115de5897e1e5ac6489b665d954b4306acf8344787c76990d7 SHA512 2ccdf5514ff53af949f81cbea77c425d00454c6a8b73abcfe8c3260d08e3dfb31d92447a151311137536265bf7baf9cdb3eafb227a034b813e250e4e820b45b0
AUX tokumx-2.0.2-boost-57.patch 969 BLAKE2B 61995b6a952797d2aa3bee1f4da7ef55a979ba50b7348755a47ebbc94e263b3bce1b1ffee28e7dd7d32ce070bea68feeb20aa04cbfe8dc4928390f029b98d4af SHA512 366015bc427022cdb76a8bd65227de0a120ebeebde14b5e403476ef0efeb9e8b1fbb84b037bc46a77e91160cb0670c8f05d64f437cc89b50dd9030123df3ef79
AUX tokumx-2.0.2-gcc-7.patch 6020 BLAKE2B 93c5daee04a47d2a2d460f8d62605a78075e2023d17940bd7625085a07a6a0efa2a8c074e8e963340ffb1473487e90bf6c643ca7e818854634f3c77c184ad63d SHA512 3d4f46dbbd3a4472bfddac8cc8c19487dc6ad4fa18fe916edbb1c7c597edd2b9d239fac936fbc29ef0087f80f4d264b7f9d7123d82477c7d89fab62e8c9dedb9
+AUX tokumx-2.0.2-no-delete-null-pointer-checks.patch 1268 BLAKE2B c8b99572050a54790cd367c3f160183c0ea151b563caa89ac9e324bb22492ccf3189eadd6ef861ecdea6eb2aff3944b9267d15d6f57aae8cb1ad6770754ab803 SHA512 caa3e6de5add3c12b3cc4f74ae0fbf0f9a9f27a64e7383d8c68d1318025f937f7874ca4d918a486f32b643d3179f3b8085ba83e56382b2a2f99782e00f596714
AUX tokumx-2.0.2-no-werror.patch 4372 BLAKE2B f8f4ccaa5bdeba6552aa4edd18f15f31125df0977509db5fef313e9c24248444a0a9aeb51f9eea40f792e09a81049559fad5c0742f586a3f7da8edf1312269c0 SHA512 fdcd3894a9bf8fd3a4301d8f77643f1aaedf1b67da664820114759187555c733eb495a8b28e67a431c4648075af82fe1d2059efa0028f3091b52456b8e185872
AUX tokumx-2.0.2-undefined-reference.patch 625 BLAKE2B 20c7644a60832431a03b44c89c5628c28536099cc7ff6f0f694da2472c60c267ae5e6456440c4c4447e7e3a4932d5621a2d159434f8376b33e03d98783458f87 SHA512 f8d7b4fb522df36bf3042e824bb826e79af2c633781d1e733b16cc492295362570d88d4593bab8e12899b2eebeb05563ddd0e9259dde9408823c3cdd4162d095
AUX tokumx-disable-bundled-libs.patch 477 BLAKE2B 3d72b93248645425c8f8e926c124ec4e2d4982341b02d52493c9b47d5bf98bac8f5b4b52da3a3e55900bebb228de558da1d70e6e66cb579297a66d27882900a6 SHA512 acb735167d9753aca5597a81f13696e0c158f837cff8eed703ac777824ef7fef71a339415c0b948f48dc992d0919ef3a0d747f37bb6ff9670e95475f0cf5057f
DIST tokumx-enterprise-2.0.2.tar.gz 16756175 BLAKE2B 8caaf9f12db713192ab1eaa31284fd390c1a54ffb9e6c12601b9a8c88a101f51868ba548ae8bcb1cd39ea875b6a937c8b5e4b45792f7da88e454d6a02955fe07 SHA512 8d063abcbe16ce50b5b7f99ae6deec348cf60bb8bb57a3b06e478c03af7ded7501ca6ca15ac63ef07bf3fa0da59a30571b9a799fa5c5a9dcbac741c0a674b1f6
DIST tokumx-git-tag-1.5.0.tar.bz2 13059584 BLAKE2B f662d72c8eb65551c074f11e36dac0fa68f5a0b86fe9654e49160c42511576146e9194c3d3cd607c8fba4272992c35f4268ad3db7032ae9dfb7c9417f954e8c8 SHA512 ba19237db7d3dcbd3ac07b8cc4860549830fa065fa4d26cbae685274524cd5b89f671d5f126ec25bee605c99929ce0436bb2ac32d67efdbb8dd6d7526d3f1c24
EBUILD tokumx-1.5.0-r2.ebuild 2011 BLAKE2B 35fba61eced8fd15f074896dccd934927182afd5333981aad798630b938fa7e450ce03bfcb25fc43a61e5fb145759513a19efb30adc5a5a0f1aa7d2357dfca69 SHA512 d21efce4a337030babacf95f856148e479717bcad25d247de4105556aaa53780a08af3f121fc85c9c0ccdaa77d6054294b1e66765e5b8c51e27049236121162a
-EBUILD tokumx-2.0.2-r1.ebuild 2144 BLAKE2B aa3407be95dcb738fb83ee6035ff56f0d7a08a181b219d26f589c08e4432be108b6826193b01ba6ed175997c72dbadc301af2ac8d0a7153ac86fad28a474f5b9 SHA512 c4073728ed1f45a1308d2f59ea444b9facf3336aefc59e5737e61a0397a7fb690dbee0d417a71854d400383f83c93254f16b38fbaa017c8d2640415c9df8eb29
+EBUILD tokumx-2.0.2-r2.ebuild 2207 BLAKE2B acb8641fff305c13a1d1f6d1520d6b15b3c324841885dc369a46d1502ecdec929a8b13bb39e541b45f7c2425985a4be845fab037d3ec787ae6c95a842435d957 SHA512 1711ad11b86d467c6c5add5987bbfe0a47d1df3ce378f2b7c6a87f4105f19d21ecd5313698bf4471114720fe80551cb168b1d2deb9017d4e8a0525e2c5120a28
MISC metadata.xml 441 BLAKE2B 900ea406bc2cdac6196b49607274989e6b290d56b6a02f83949cdbb20fbd1960193a48053d3c963a852170ffb11736bda77eb9a843506be89d256fc48a1a97db SHA512 5d2c7f880ced8d3d9d8c8f9daef5d0f975f76d9db58000c0f2cf80ee818b35346973e2bc30f2b39d646845a4045d6389a929e76e1d2a3724f7330e1ab5901277
diff --git a/dev-db/tokumx/files/tokumx-2.0.2-no-delete-null-pointer-checks.patch b/dev-db/tokumx/files/tokumx-2.0.2-no-delete-null-pointer-checks.patch
new file mode 100644
index 000000000000..551770553d77
--- /dev/null
+++ b/dev-db/tokumx/files/tokumx-2.0.2-no-delete-null-pointer-checks.patch
@@ -0,0 +1,23 @@
+diff -uNr tokumx-enterprise-2.0.2.ORIG/CMakeLists.txt tokumx-enterprise-2.0.2/CMakeLists.txt
+--- tokumx-enterprise-2.0.2.ORIG/CMakeLists.txt 2018-07-17 16:20:18.712013701 +0100
++++ tokumx-enterprise-2.0.2/CMakeLists.txt 2018-07-17 16:22:06.063018495 +0100
+@@ -83,7 +83,7 @@
+ endmacro(set_cxxflags_if_supported)
+
+ set(CMAKE_C_FLAGS "-fPIC -fno-strict-aliasing -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe")
+-set(CMAKE_CXX_FLAGS "-fPIC -fno-strict-aliasing -ggdb")
++set(CMAKE_CXX_FLAGS "-fPIC -fno-strict-aliasing -fno-delete-null-pointer-checks -ggdb")
+ set_cxxflags_if_supported(
+ -Wall
+ -Wsign-compare
+diff -uNr tokumx-enterprise-2.0.2.ORIG/SConstruct tokumx-enterprise-2.0.2/SConstruct
+--- tokumx-enterprise-2.0.2.ORIG/SConstruct 2018-07-17 16:20:18.712013701 +0100
++++ tokumx-enterprise-2.0.2/SConstruct 2018-07-17 16:22:40.459020031 +0100
+@@ -702,6 +702,7 @@
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fPIC",
+ "-fno-strict-aliasing",
++ "-fno-delete-null-pointer-checks",
+ "-ggdb",
+ "-pthread",
+ "-Wall",
diff --git a/dev-db/tokumx/tokumx-2.0.2-r1.ebuild b/dev-db/tokumx/tokumx-2.0.2-r2.ebuild
index 866bdec8d243..b1fbf2a7fdf9 100644
--- a/dev-db/tokumx/tokumx-2.0.2-r1.ebuild
+++ b/dev-db/tokumx/tokumx-2.0.2-r2.ebuild
@@ -43,6 +43,7 @@ src_prepare() {
eapply "${FILESDIR}/${P}-boost-57.patch"
eapply "${FILESDIR}/${P}-gcc-7.patch"
eapply "${FILESDIR}/${P}-undefined-reference.patch"
+ eapply "${FILESDIR}/${P}-no-delete-null-pointer-checks.patch"
cmake-utils_src_prepare
}
diff --git a/dev-db/unixODBC/Manifest b/dev-db/unixODBC/Manifest
index 29fde14cffc0..8cb24cdf6325 100644
--- a/dev-db/unixODBC/Manifest
+++ b/dev-db/unixODBC/Manifest
@@ -1,6 +1,6 @@
AUX unixODBC-2.3.5-CVE-2018-7485.patch 5224 BLAKE2B a21d659f75f9ae11a6d78a4a74b0591786800e14f22d7fb4c7ef5005e0630b95453a319d9254bf3f5e423e74ae36c6a7bd097f3193869757b2bea34f8974e358 SHA512 a4d5dfafe75ea0e85feed76cf18474a89fcf6719ee58d0b56d57959526db2511df2df691bf9af2e1a34c716d2d90f6d274b48a11cfb7add74df799d1f1f67387
DIST unixODBC-2.3.5.tar.gz 1633390 BLAKE2B f7c70740471b0c6ff298f2377a3895efbf160764adc4f607dfb65de2873ea3a39a2852399feaca50fc389875e20a10b3cd0389ba9e9f02d0548312d8063f5af5 SHA512 94b5ebb887571f4fa801ae4305cd6cb4eb0d03682fac1eb0422cdd13b046b077e60bff8286c578b0b5e291cfbc0bc8695495e39c3713858d2eeb7b38459397d5
DIST unixODBC-2.3.6.tar.gz 1661914 BLAKE2B 75162344e2b2713ae056dae0a2c1be31994ef350b4aa3ee7ae924b17527f35e0b7c9bb5a23763ab71553ef67a025d2a6549e564507b95991d6a193e165f1e774 SHA512 6518a4169946e847dd710d54724a44d268b98954d30064eadadb703edbbeafac05bd1f42a6845c2fdcdab7ae8987800acd1a5f6b4b96de5f3c8c3e4bc370fe30
-EBUILD unixODBC-2.3.5-r1.ebuild 1822 BLAKE2B d1a30ee371f5e71d3ed6e093a941783b2299497898ba3499792808914a65165f48e30a0562350cb427f2bdd5f1bd3a53c674449620e21ffcd3d8eb0486928698 SHA512 ce2d7fc36381d9c4cdda53198b4159332d257e9d63de7e16a51c7d8a1f9bf4932269813ad645985f3cc0f2df1ca5cebd3fa4e29484b07793106d220c02220279
+EBUILD unixODBC-2.3.5-r1.ebuild 1821 BLAKE2B 36ffb4ef10060b6f17a1e277b64ad9e44cb31f007886f5501168c7433986c8380c20a877105a7ded42d3df1085645432c054e37d6df593eefadde47df659e048 SHA512 a69a33a4e7333b69cf10e615c67ce26de192f92eb7a2af6e2a144bdeba8759e898bde1760f571bc3271fc5c284dc3c4e408ab8c384e692e5d474437428f519ff
EBUILD unixODBC-2.3.6.ebuild 1785 BLAKE2B aa3ba92f38344e7a48517ecc302ea184dd9eb67831c19c34825266f7f75c71eec9c49b681d5278d72807a210d748764d260044f54f5e2ecea965729dfd387be2 SHA512 e4fd0ecdd6c81b331e4ff4f6a8e9aafb483712c8dab16c2334a04b29764eb500764c258969636696594db40af820b0421f91388c3627c7d7108e8a15169b6a3f
MISC metadata.xml 366 BLAKE2B 9832224237ae18987939d9c0f657c6666114a5ce41af09a3a5a423d666ec70d9c5cd4fec1d82134b68e2e96b1a3e390977a0cd95001d325465d75b2b9b311d64 SHA512 e47157f178b585272b5c11682cef0c7b7dec227ded178d3427e91632f754db869deb72a6c1b258dfc90f6760028d3045d1e703874ae24111f8deb9db629b8c29
diff --git a/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild b/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild
index 89b4a5c3aa39..c62f71027673 100644
--- a/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild
+++ b/dev-db/unixODBC/unixODBC-2.3.5-r1.ebuild
@@ -10,7 +10,7 @@ SRC_URI="ftp://ftp.unixodbc.org/pub/${PN}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+minimal odbcmanual static-libs unicode"
RDEPEND="