From 64e107b9b6058580ff0432107eb37cefb0b2a7d8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 22 Oct 2018 11:09:47 +0100 Subject: gentoo resync : 22.10.2018 --- dev-db/Manifest.gz | Bin 20670 -> 20666 bytes dev-db/etcd/Manifest | 2 + dev-db/etcd/etcd-3.3.10.ebuild | 76 ++ dev-db/freetds/Manifest | 1 + dev-db/freetds/freetds-1.00.341-r1.ebuild | 73 ++ dev-db/mariadb-connector-c/Manifest | 9 +- ...b-connector-c-3.0.6-provide-pkconfig-file.patch | 48 + .../mariadb-connector-c-3.0.3-r1.ebuild | 116 --- .../mariadb-connector-c-3.0.4-r1.ebuild | 101 -- .../mariadb-connector-c-3.0.6-r1.ebuild | 102 ++ .../mariadb-connector-c-3.0.6.ebuild | 101 -- .../mariadb-connector-c-9999.ebuild | 7 +- dev-db/mariadb-galera/Manifest | 2 +- dev-db/mariadb-galera/metadata.xml | 1 - dev-db/mariadb/Manifest | 8 +- dev-db/mariadb/mariadb-10.2.17.ebuild | 2 +- dev-db/mariadb/mariadb-10.3.8.ebuild | 2 +- dev-db/mariadb/mariadb-10.3.9.ebuild | 2 +- dev-db/mariadb/metadata.xml | 1 - dev-db/myodbc/Manifest | 6 - .../myodbc/files/5.2.7-mariadb-dynamic-array.patch | 79 -- dev-db/myodbc/files/5.2.7-my_malloc.patch | 18 - dev-db/myodbc/files/5.2.7-r1-cxxlinkage.patch | 40 - dev-db/myodbc/myodbc-5.2.7-r1.ebuild | 117 --- dev-db/myodbc/myodbc-5.2.7-r3.ebuild | 131 --- dev-db/mysql++/Manifest | 2 +- dev-db/mysql++/mysql++-3.2.3.ebuild | 2 +- dev-db/mysql-cluster/Manifest | 2 +- dev-db/mysql-cluster/metadata.xml | 1 - dev-db/mysql/Manifest | 5 +- dev-db/mysql/metadata.xml | 3 +- dev-db/mysql/mysql-5.7.23-r2.ebuild | 932 ++++++++++++++++++ dev-db/mysql/mysql-5.7.23.ebuild | 845 ---------------- dev-db/oracle-instantclient/Manifest | 18 +- .../files/18.3.0.0-makefile.patch | 40 + dev-db/oracle-instantclient/metadata.xml | 11 +- .../oracle-instantclient-18.3.0.0.ebuild | 342 +++++++ dev-db/percona-server/Manifest | 9 +- dev-db/percona-server/files/my.cnf-5.7 | 3 + dev-db/percona-server/files/my.cnf.distro-client | 21 + dev-db/percona-server/files/my.cnf.distro-server | 28 + dev-db/percona-server/metadata.xml | 3 +- .../percona-server-5.7.23.23-r1.ebuild | 1038 ++++++++++++++++++++ dev-db/pgadmin4/Manifest | 4 +- dev-db/pgadmin4/pgadmin4-3.3.ebuild | 124 --- dev-db/pgadmin4/pgadmin4-3.4-r1.ebuild | 123 +++ dev-db/pgbadger/Manifest | 4 +- dev-db/pgbadger/pgbadger-10.0.ebuild | 6 +- dev-db/pgbadger/pgbadger-9.2.ebuild | 21 - dev-db/phpmyadmin/Manifest | 4 +- dev-db/phpmyadmin/phpmyadmin-4.8.2.ebuild | 61 -- dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild | 61 ++ dev-db/postgresql/Manifest | 6 +- dev-db/postgresql/postgresql-11.0.ebuild | 452 +++++++++ dev-db/postgresql/postgresql-11_beta3.ebuild | 452 --------- dev-db/postgresql/postgresql-11_beta4.ebuild | 452 --------- dev-db/redis/Manifest | 2 +- dev-db/redis/metadata.xml | 3 - dev-db/rethinkdb/Manifest | 2 +- dev-db/rethinkdb/metadata.xml | 3 - 60 files changed, 3410 insertions(+), 2720 deletions(-) create mode 100644 dev-db/etcd/etcd-3.3.10.ebuild create mode 100644 dev-db/freetds/freetds-1.00.341-r1.ebuild create mode 100644 dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.6-provide-pkconfig-file.patch delete mode 100644 dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3-r1.ebuild delete mode 100644 dev-db/mariadb-connector-c/mariadb-connector-c-3.0.4-r1.ebuild create mode 100644 dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild delete mode 100644 dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6.ebuild delete mode 100644 dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch delete mode 100644 dev-db/myodbc/files/5.2.7-my_malloc.patch delete mode 100644 dev-db/myodbc/files/5.2.7-r1-cxxlinkage.patch delete mode 100644 dev-db/myodbc/myodbc-5.2.7-r1.ebuild delete mode 100644 dev-db/myodbc/myodbc-5.2.7-r3.ebuild create mode 100644 dev-db/mysql/mysql-5.7.23-r2.ebuild delete mode 100644 dev-db/mysql/mysql-5.7.23.ebuild create mode 100644 dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch create mode 100644 dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0.ebuild create mode 100644 dev-db/percona-server/files/my.cnf-5.7 create mode 100644 dev-db/percona-server/files/my.cnf.distro-client create mode 100644 dev-db/percona-server/files/my.cnf.distro-server create mode 100644 dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild delete mode 100644 dev-db/pgadmin4/pgadmin4-3.3.ebuild create mode 100644 dev-db/pgadmin4/pgadmin4-3.4-r1.ebuild delete mode 100644 dev-db/pgbadger/pgbadger-9.2.ebuild delete mode 100644 dev-db/phpmyadmin/phpmyadmin-4.8.2.ebuild create mode 100644 dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild create mode 100644 dev-db/postgresql/postgresql-11.0.ebuild delete mode 100644 dev-db/postgresql/postgresql-11_beta3.ebuild delete mode 100644 dev-db/postgresql/postgresql-11_beta4.ebuild (limited to 'dev-db') diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz index ab877a13cb90..ed08373a6bfc 100644 Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest index e3963426d0a5..f091ab301740 100644 --- a/dev-db/etcd/Manifest +++ b/dev-db/etcd/Manifest @@ -6,10 +6,12 @@ AUX etcd.service 304 BLAKE2B ecffe9889f9530bf7172638a0273736abba2b3ea5c5540b5452 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.2.24.tar.gz 3246004 BLAKE2B 98a4265fdff3b86ab8741aa820c6d6e9ed97ff0e4d8ca04815f3e9e73c35f87999906a6deb092e775606793002a60ba11c89840ecac35999b166709140b81c80 SHA512 49cbd6c2c59face31202e5d96e05be03286129fd38124126a2d8bead2f2a441486a848749a2cc5862b62332dd5d560c4be1f4d6c05ded70081ac48d94bf4d16d +DIST etcd-3.3.10.tar.gz 3526904 BLAKE2B 8266212707f8fb280d55deba8dffb44e4d48b906c56034b174848fe6f237d5efba8c15ebea076d799db7f3ec560e2d188fdcc8fe26334ae1cbef0384fe8cf847 SHA512 848e241e816312307f74520b99aeabf7def6862093897035ace16cb230817d8e2681d7d2f1c1ac220d7c2b4c7c0a1262bbe3e4db927524f785de888566d2097c DIST etcd-3.3.8.tar.gz 3518826 BLAKE2B 4d8ac66022c63250e37871a40041a799a21361f005f5ff259711ea7a0557acbe7f3920815ff0b5193499177e42c306ff8383192e7d4c31c94439d9461dea979f SHA512 c3a3f9ffb614e383854bf5a8819e3dcad8f02b267d74197685b546c856e983c92f8c459185c327adf7ba3d0326e2058fb34caac0896d78494cde86c3f7e04ac7 DIST etcd-3.3.9.tar.gz 3521457 BLAKE2B 4c8ae96744b93efe19626225ccd5deca19e9e6bd18d87778e9ba1c207e288ed66d79410bc51bb8c7621c0bf261012ca95d86cd9d307655688a6026a46d891c34 SHA512 1e5143060d04138eee68250b57f73bf7a6fdb4ca085443df067b12a4824d24b591e42f3d890a285912126447e8b28c0e6bcee58b8633e01dcf9ae5764ff531a6 EBUILD etcd-3.2.22.ebuild 1475 BLAKE2B 4cbf762bd7dc082d11b4ef984e27673921a5a44e7cec9f8284d1feda234662352497512edc84c2ba9c29b743b481a9f06fe8b32b14695273d8fa97956e460e76 SHA512 dc2cab07f90c4c181b0453b7a15b66df3c270c63872843317838d29b985a0c9a0905b7ce0a054df2015991337bccdee7bfc920e599b17142e231f0a0aa8d9f5c EBUILD etcd-3.2.24.ebuild 1475 BLAKE2B 4cbf762bd7dc082d11b4ef984e27673921a5a44e7cec9f8284d1feda234662352497512edc84c2ba9c29b743b481a9f06fe8b32b14695273d8fa97956e460e76 SHA512 dc2cab07f90c4c181b0453b7a15b66df3c270c63872843317838d29b985a0c9a0905b7ce0a054df2015991337bccdee7bfc920e599b17142e231f0a0aa8d9f5c +EBUILD etcd-3.3.10.ebuild 1900 BLAKE2B 5af3103c025a7d134e3681e302f45c8c066551402f41e8ceae8c628047b3b99351894059b8fe365a3cf49628dc22333f5af7a599a613a59e63b67452ab96def2 SHA512 8fa5415e93583cb1a604d80a2dd21d50a59d21c9d5e064681f5d6ec5f46f266b42c0abcf488d24ebf20dfc167d978bd4616f113b1fb01eff6605065a438713d8 EBUILD etcd-3.3.8.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d EBUILD etcd-3.3.9.ebuild 1603 BLAKE2B ecc2eb8cd86fb1ca37d6fd7eecde005fcc3c633bc7569ce54acc5daf947b4be2cc88e596ada2c1e8a7b3d40d44273a143f80b26a2cbb8e851ad8d36b6fcb4beb SHA512 83a23179d8381a126fde6d9e9c521170b3148b78773421893175a81fb48d8b980e93309cc5c40d8993b9039fadc7d75a2ecc03fdc5186d5ba84ac71826dfe68d MISC metadata.xml 679 BLAKE2B 7374379a18107011df792be631428834334ad8e6da5cfe404f18555e8c168d3fc716a1c8d6cb5cf1d9ccd173737aecf93a165f846865dbb6ba4a76bd4669b446 SHA512 8070d8b51dd3319e8b159072db237dcc5299361c2f74fa086fc4cbc174cc6a5c8f7659310332b54b2275e2bc3d028323c4dfa5775e21693a339f54312582d2f0 diff --git a/dev-db/etcd/etcd-3.3.10.ebuild b/dev-db/etcd/etcd-3.3.10.ebuild new file mode 100644 index 000000000000..19f780d06747 --- /dev/null +++ b/dev-db/etcd/etcd-3.3.10.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit user systemd golang-vcs-snapshot + +KEYWORDS="~amd64" +EGO_PN="github.com/coreos/etcd" +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 + sed -e 's:\(for p in \)shellcheck :\1 :' \ + -e 's:^ gofmt \\$:\\:' \ + -e 's:^ govet \\$:\\:' \ + -i "${S}"/src/${EGO_PN}/test || die + # missing ... in args forwarded to print-like function + sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ + -i "${S}"/src/${EGO_PN}/raft/logger.go || die +} + +pkg_setup() { + if use server; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} + fi +} + +src_compile() { + export 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/freetds/Manifest b/dev-db/freetds/Manifest index 2e680aa13a11..533e7c8757f3 100644 --- a/dev-db/freetds/Manifest +++ b/dev-db/freetds/Manifest @@ -2,6 +2,7 @@ AUX without-flags.patch 1859 BLAKE2B 846c177b9773c27b329a23f54592a2b789b0d8d123a DIST freetds-1.00.41.tar.gz 2904915 BLAKE2B d92789c9a08dc9f7f04e8efc828841c3cace0e5a3affd11d8751a785db70db79fedffb3745a681b960d30a11efbb4fa457805eb4f72444eecc20eb65d46e2d82 SHA512 dec3197a6478fc59b7386f9a7a562df8b581bba7184210c42f26827e957b9746e6820d687a9c6cbcd7c825fc5d4f556547c0483d06c786a064d5c4859db4daa1 DIST freetds-1.00.54.tar.gz 2907015 BLAKE2B 332888565c2890657ca6440e4bbe92e0324daf6c6e67f3fa2243bd2d5746e7e9aa100a7838d33cc8fa93e71e5d6a650976ce5164317f3147b192ceb915362534 SHA512 a2a5034705fe06ee38b085f980f6ddf086789abc9485331fdaf829e7243f7ba95a5f0c612d7e3ec9e10f28a5c8b3a3fd8e7853d66f67110bd860afce949c798c DIST freetds-dev.1.00.341.tar.gz 3002134 BLAKE2B c9396c1f205e13c9f3449bef19830cf3b6c2fa72539555ebd6bc1532c014472c862ba2ac7f495bee8f53d640d628c6b15bb50183585d43cf3dbbea4e314636d2 SHA512 fd691535dfa5c97463ff72056cfa5721557b71e41b6186ffcb08e193e51214cf966a33ee55b8e538a6f035aeeef14ac5b15fe8758f1afea9e1252a3b8951ba58 +EBUILD freetds-1.00.341-r1.ebuild 1923 BLAKE2B a4d5512227942fa186376800626487c25dd3427f2e59396fa33dcff7b3372b2ec77e937a00cb64449d7a293566779a909f7edddc52c617bd4acbdac18b6e6035 SHA512 e0b050b1f3e4561abcb78ba526ab3320d721dcb7374b37e231bd58af94f79937d5fa6ad91fd94410429e1cb4252a890fb1093185a50f3d3bb643b483d3c662b2 EBUILD freetds-1.00.341.ebuild 1891 BLAKE2B c033f9851e0cd02697976652d48fc50d40faf24282f7c337b9df6bb12c6a2d5443ff35c710d7460f3691f927256475c4cd60d0b4113da93e54e719d181a83a83 SHA512 ebcb93cd255f63f5f8d6fa67eb149853d6d21b392f8371cd2f696a69563a48eaabfbf4499f59569309c59ac44b463f66703454ff7e993073611f7922cedb31cc EBUILD freetds-1.00.41.ebuild 1988 BLAKE2B 58e5b9ecc1ec5196c3e4e50cfccefa6ca44510ba344b1d024f1280667e47d4351ce1946dea1f963cc3feb0a8a5382812e046173579fd961d522b3155ad422261 SHA512 a48ffe06b8303885d2e795d9cfe756979652460da4912de33dde0a06b635c3466f3abebfdad17ef7aa8cc35fb5f79eeca8457f18c2999108b13367eb2a8d7e02 EBUILD freetds-1.00.54-r1.ebuild 2064 BLAKE2B 6ec6575c86163e8678fbf841fbe8aa85e5fc7fd6e1839ff423dc542718e8ef88c2ef19e178bc7f76493e78b8e6edbbcfec87af85ebad2ca1153e07cdbb15e664 SHA512 48931c5f0e49cdd9f07e413339a0e647a4b48eec562cfe337a6c57243d11a99d47977d8987902a6ecafa3930a94a1102912c57359e146f155f6fcf6ee5753ce0 diff --git a/dev-db/freetds/freetds-1.00.341-r1.ebuild b/dev-db/freetds/freetds-1.00.341-r1.ebuild new file mode 100644 index 000000000000..5dc4218c97b3 --- /dev/null +++ b/dev-db/freetds/freetds-1.00.341-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# This is from the "current" release series, because the "stable" series +# is a little too stable for us (missing bug fixes, and so on). +MY_PN="${PN}-dev" + +DESCRIPTION="Tabular Datastream Library" +HOMEPAGE="http://www.freetds.org/" +SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos" + +IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs" +# iODBC and unixODBC are mutually-exclusive choices for +# the ODBC driver manager. Future versions of FreeTDS +# will throw an error if you specify both. +REQUIRED_USE="?? ( iodbc odbc )" + +RESTRICT="test" + +# sed, grep, and awk are used by the build system and the osql script. +COMMON_DEPEND=" + sys-apps/sed + sys-apps/grep + virtual/awk + gnutls? ( net-libs/gnutls:= ) + iconv? ( virtual/libiconv ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + odbc? ( dev-db/unixODBC ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) +" +DEPEND="${COMMON_DEPEND}" + +# bind-tools is needed because the osql script calls "host". +# binutils is for "strings". +RDEPEND="${COMMON_DEPEND} + sys-devel/binutils + net-dns/bind-tools +" + +S="${WORKDIR}/${MY_PN}.${PV}" + +src_configure() { + econf \ + --enable-shared \ + $(use_enable debug) \ + $(use_enable iconv libiconv) \ + $(use_enable kerberos krb5) \ + $(use_enable mssql msdblib) \ + $(use_enable static-libs static) \ + $(use_with iodbc) \ + $(use_with odbc unixodbc "${EPREFIX}/usr") \ + $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \ + $(use_with gnutls) \ + $(use_with ssl openssl "${EPREFIX}/usr") +} + +src_install() { + default + + if ! use static-libs; then + find "${D}" -name '*.la' -delete || die + fi +} diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest index 812ffc92cbaa..e0bce7b8587a 100644 --- a/dev-db/mariadb-connector-c/Manifest +++ b/dev-db/mariadb-connector-c/Manifest @@ -1,9 +1,6 @@ AUX gentoo-layout-3.0.patch 311 BLAKE2B 4c2f0ae8aa53d605bcaf134274d3b549ec970b43cc68eed1ac71cf089c9fa32a1343d7ebfdf428e7f25032f5782aecfb86fb8f78528ffc708ab15dc7285a24e7 SHA512 4d5a48b4dd66aab04ba597b30e96b4601c6745acca21be1daf051ba6ce1e8fef1a0efa46d8e81da1ecdc893a8ee471bd8c7ed0c5436ee33b8b4f7cd18fdca1a5 -DIST mariadb-connector-c-3.0.3-src.tar.gz 666928 BLAKE2B 83181949f1867909fd96696ac5cc9d11433a0c772ecb97d862983916b235d380fd84462d547faf42756d6698dd9dbe7dcd4d6b1d0f6336e147f5a597108ea025 SHA512 6da66a32165cb74b106bf94e13a35d4bb38f05e5d2b3ff3740862dfc0892a7705977c1394b4f84b8e1f1e50a59a3fadbc62e7733b1feb532c6368a9fc262db04 -DIST mariadb-connector-c-3.0.4-src.tar.gz 659406 BLAKE2B 9285880338e6040976741d8b440d78ef95005d44e0e7b1428cb526735380038d6dfaccfd6bd689f4b9c084a340281b2d8f4f38a193d1c6a4c5853c5333617899 SHA512 6edc7b70380aade1c88a3d9dac70d6da846e6e2e7d7b0dc2eddaba148dc3889f2baa3e757a8b91e479b1ae14051d9f948fbfdc516219e21d4a3117f6700cb020 +AUX mariadb-connector-c-3.0.6-provide-pkconfig-file.patch 1838 BLAKE2B 454433d5815e818bb3cb08241b1629e7cb2e8c6b33d09e241db11cc7f18e73a8cbf40567fe47a613c420581f8487c39478bcbef22da4ba21b77a10f71e4b11ef SHA512 a3ec1a1702d2d5ae5ea6ef93e9bc7f01df548c65574b177a20e8b29694b078ebd67a409ed253467d1db38895e66285eaf73e604a507bfb09384bc3d15325cb60 DIST mariadb-connector-c-3.0.6-src.tar.gz 666819 BLAKE2B 7245c0e13e569454d1cc70e3579afcbd53c64a0a7e828012b38d73f7d737a81b4fdf0363bd1b156dae783806a51773dbceb2ea06621bd4a73773edb78a70249a SHA512 6a41efacff1840eb8ddd8b34d8894b51f260444c76a1344f9ac9b675fd8492d44716338e4c11594d80118b12d90f75430304282650bce0d5f64179df6cc14d8e -EBUILD mariadb-connector-c-3.0.3-r1.ebuild 3323 BLAKE2B fd0559a46920f20df4bfc0f96512c860345e63a3d9514ba43b4ba3c19d372da2d2eaa30e31d5c6756a857de0eb2f9f9e4b11bfff6396d65b0c0c7e844f0a4832 SHA512 654032eeeef401367f12941b21fd8f8ecaaaa53049b2699ce96a945e327defffcb257d0138b31a906aad1fcba0b43e6c4e52a8c7597583c6e2cd39e59a288a9a -EBUILD mariadb-connector-c-3.0.4-r1.ebuild 2787 BLAKE2B 0f300bd4e7eb8f86f2ea358f0d26925ddb5df80bedeabb3bf1495da143a057afb4202d5a5335e4f439607d52e7eecfb0df22f25eb2d7a1fb754cec39f0f5ed73 SHA512 65fd079d9ebc7312a8ad47045b7653d6c4bc35b6581e10b4bf40208fbe1ef6b0edd45fbde18a65c86309b97c059d68441516c2b0149b99a8fbd39453628da099 -EBUILD mariadb-connector-c-3.0.6.ebuild 2787 BLAKE2B 0f300bd4e7eb8f86f2ea358f0d26925ddb5df80bedeabb3bf1495da143a057afb4202d5a5335e4f439607d52e7eecfb0df22f25eb2d7a1fb754cec39f0f5ed73 SHA512 65fd079d9ebc7312a8ad47045b7653d6c4bc35b6581e10b4bf40208fbe1ef6b0edd45fbde18a65c86309b97c059d68441516c2b0149b99a8fbd39453628da099 -EBUILD mariadb-connector-c-9999.ebuild 2787 BLAKE2B 0f300bd4e7eb8f86f2ea358f0d26925ddb5df80bedeabb3bf1495da143a057afb4202d5a5335e4f439607d52e7eecfb0df22f25eb2d7a1fb754cec39f0f5ed73 SHA512 65fd079d9ebc7312a8ad47045b7653d6c4bc35b6581e10b4bf40208fbe1ef6b0edd45fbde18a65c86309b97c059d68441516c2b0149b99a8fbd39453628da099 +EBUILD mariadb-connector-c-3.0.6-r1.ebuild 2817 BLAKE2B a6096a7d9aa65984468bc171be778531a78d380fdb347c0377b9818f0637bb91a799c70572580aec6229aaefd084eb970fd62db98d92246c45dc0741a713209f SHA512 ef15674194ed80ed74ffb9a17e4ab6c2c347d1dd354606ba4a48ebf843439486548769d3c88c2d2eeb0348739ce00a75ddceba2bab7b309b538bb33923a57e9f +EBUILD mariadb-connector-c-9999.ebuild 2824 BLAKE2B aeac543f01595fe6995ca8fb59450cfa4381593f7c034beec8f344880bf092f17e40e84fa3fb1e64aa1f8cdb82751bc75916b9d817df6800bcc8a3532c334734 SHA512 9c693876ede71b1ac59be9b10276e193b25497ee5c4411a6260449f31c73f1e7e28310574aa9e97f889f4f0382c167c188d0b3cbf03d2084aac73a1d2e5d2a90 MISC metadata.xml 324 BLAKE2B fab5394015cd337683f65a257556ed0f15e35826bb0a6ce75a7033cd5931455ff2bed527064d698e9b3165f2cfcaff8a4bdfcad0b830482ae2e4389a79d529fb SHA512 1fe9e5d5d9f8e817ce49117fbcc6a6d706a090752606647496f2b7a25de51bfb641a408ff0cdaf626d83eb5c314d2e28c3f29532307d942cb41498edf4b44aa6 diff --git a/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.6-provide-pkconfig-file.patch b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.6-provide-pkconfig-file.patch new file mode 100644 index 000000000000..02bbefce3576 --- /dev/null +++ b/dev-db/mariadb-connector-c/files/mariadb-connector-c-3.0.6-provide-pkconfig-file.patch @@ -0,0 +1,48 @@ +--- a/mariadb_config/CMakeLists.txt ++++ b/mariadb_config/CMakeLists.txt +@@ -46,6 +46,8 @@ ENDIF() + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mariadb_config.c.in + ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c @ONLY) ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmariadb.pc.in ++ ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc @ONLY) + + ADD_EXECUTABLE(mariadb_config ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c) + +@@ -54,3 +56,6 @@ ADD_EXECUTABLE(mariadb_config ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c) + INSTALL(TARGETS mariadb_config + DESTINATION "bin" + COMPONENT Development) ++INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ COMPONENT Development) +--- a/mariadb_config/libmariadb.pc.in ++++ b/mariadb_config/libmariadb.pc.in +@@ -1,19 +1,11 @@ +-# +-# pkg_config.pc.in +-# +-# pkg_config configuration file +-# For a detailed description of options, please visit +-# Dan Nicholson’s Guide to pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config/) +-# +- +-includedir=@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ +-libdir=@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ +-prefix=@PREFIX_INSTALL_DIR@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/include + + Name: libmariadb +-Version: @LIBMARIADB_VERSION@ + Description: MariaDB Connector/C dynamic library +-Cflags: -I@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ @CMAKE_C_FLAGS@ +-Libs: -L@PREFIX_INSTALL_DIR@/@LIB_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ -lmariadb @extra_dynamic_LDFLAGS@ +- +- ++Version: @LIBMARIADB_VERSION@ ++URL: https://mariadb.com/kb/en/library/mariadb-connector-c/ ++Libs: -L${libdir} -lmariadb ++Cflags: -I${includedir}/mariadb diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3-r1.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3-r1.ebuild deleted file mode 100644 index b15b8490e8e3..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.3-r1.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/connector-c.git" - KEYWORDS="~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR}/${PN}-${MY_PV}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND} - mysqlcompat? ( - !dev-db/mysql[client-libs(+)] - !dev-db/mysql-cluster[client-libs(+)] - !dev-db/mariadb[client-libs(+)] - !dev-db/mariadb-galera[client-libs(+)] - !dev-db/percona-server[client-libs(+)] - !dev-db/mysql-connector-c ) - !>=dev-db/mariadb-10.2.0[client-libs(+)] - " -PATCHES=( - "${FILESDIR}/gentoo-layout-3.0.patch" ) - -src_prepare() { - local gpluginconf="${T}/gentoo-plugins.cmake" - touch "${gpluginconf}" || die - # Plugins cannot be disabled by a build switch, redefine them in our own file to be included - if ! use kerberos ; then - echo 'REGISTER_PLUGIN("AUTH_GSSAPI" "" "auth_gssapi_plugin" "OFF" "auth_gssapi_client" 1)' \ - >> "${gpluginconf}" || die - fi - if ! use curl ; then - echo 'REGISTER_PLUGIN("REMOTEIO" "" "remote_io_plugin" "OFF" "remote_io" 1)' \ - >> "${gpluginconf}" || die - fi - cmake-utils_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DAUTH_GSSAPI_PLUGIN_TYPE:STRING=$(usex kerberos ON OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DPLUGIN_CONF_FILE:STRING="${T}/gentoo-plugins.cmake" - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install - if use mysqlcompat ; then - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19 - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so - fi -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi - if use mysqlcompat ; then - dosym mariadb_config /usr/bin/mysql_config - dosym mariadb /usr/include/mysql - fi -} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.4-r1.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.4-r1.ebuild deleted file mode 100644 index df11d5524952..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.4-r1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" - KEYWORDS="" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs test" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND} - mysqlcompat? ( - !dev-db/mysql[client-libs(+)] - !dev-db/mysql-cluster[client-libs(+)] - !dev-db/mariadb[client-libs(+)] - !dev-db/mariadb-galera[client-libs(+)] - !dev-db/percona-server[client-libs(+)] - !dev-db/mysql-connector-c ) - !>=dev-db/mariadb-10.2.0[client-libs(+)] - " -PATCHES=( - "${FILESDIR%/}/gentoo-layout-3.0.patch" ) - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install - if use mysqlcompat ; then - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19 - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so - fi -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi - if use mysqlcompat ; then - dosym mariadb_config /usr/bin/mysql_config - dosym mariadb /usr/include/mysql - fi -} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild new file mode 100644 index 000000000000..a72bd4c23537 --- /dev/null +++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +VCS_INHERIT="" +if [[ "${PV}" == 9999 ]] ; then + VCS_INHERIT="git-r3" + EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" +else + MY_PN=${PN#mariadb-} + MY_PV=${PV/_b/-b} + SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" + S="${WORKDIR%/}/${PN}-${MY_PV}-src" + KEYWORDS="amd64 ~arm ~arm64 hppa ia64 ppc64 s390 sparc x86" +fi + +inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} + +MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) + +MULTILIB_WRAPPED_HEADERS+=( + /usr/include/mariadb/mariadb_version.h +) + +DESCRIPTION="C client library for MariaDB/MySQL" +HOMEPAGE="https://mariadb.org/" +LICENSE="LGPL-2.1" + +SLOT="0/3" +IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs test" + +DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] + virtual/libiconv:=[${MULTILIB_USEDEP}] + curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) + kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] + app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) + ssl? ( + gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) + !gnutls? ( + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) + ) + ) + " +RDEPEND="${DEPEND} + mysqlcompat? ( + !dev-db/mysql[client-libs(+)] + !dev-db/mysql-cluster[client-libs(+)] + !dev-db/mariadb[client-libs(+)] + !dev-db/mariadb-galera[client-libs(+)] + !dev-db/percona-server[client-libs(+)] + !dev-db/mysql-connector-c ) + !>=dev-db/mariadb-10.2.0[client-libs(+)] + " +PATCHES=( + "${FILESDIR}"/gentoo-layout-3.0.patch + "${FILESDIR}"/${PN}-3.0.6-provide-pkconfig-file.patch +) + +src_configure() { + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + multilib-minimal_src_configure +} + +multilib_src_configure() { + local mycmakeargs=( + -DWITH_EXTERNAL_ZLIB=ON + -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) + -DWITH_CURL=$(usex curl ON OFF) + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) + -DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DINSTALL_LIBDIR="$(get_libdir)" + -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" + -DINSTALL_BINDIR=bin + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ) + cmake-utils_src_configure +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +multilib_src_install() { + cmake-utils_src_install + if use mysqlcompat ; then + dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19 + dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so + fi +} + +multilib_src_install_all() { + if ! use static-libs ; then + find "${D}" -name "*.a" -delete || die + fi + if use mysqlcompat ; then + dosym mariadb_config /usr/bin/mysql_config + dosym mariadb /usr/include/mysql + fi +} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6.ebuild deleted file mode 100644 index df11d5524952..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" - KEYWORDS="" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl mysqlcompat +ssl static-libs test" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND} - mysqlcompat? ( - !dev-db/mysql[client-libs(+)] - !dev-db/mysql-cluster[client-libs(+)] - !dev-db/mariadb[client-libs(+)] - !dev-db/mariadb-galera[client-libs(+)] - !dev-db/percona-server[client-libs(+)] - !dev-db/mysql-connector-c ) - !>=dev-db/mariadb-10.2.0[client-libs(+)] - " -PATCHES=( - "${FILESDIR%/}/gentoo-layout-3.0.patch" ) - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install - if use mysqlcompat ; then - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so.19 - dosym libmariadb.so.3 /usr/$(get_libdir)/libmysqlclient.so - fi -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi - if use mysqlcompat ; then - dosym mariadb_config /usr/bin/mysql_config - dosym mariadb /usr/include/mysql - fi -} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild index df11d5524952..1b2b77025ff6 100644 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild +++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -7,7 +7,6 @@ VCS_INHERIT="" if [[ "${PV}" == 9999 ]] ; then VCS_INHERIT="git-r3" EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" - KEYWORDS="" else MY_PN=${PN#mariadb-} MY_PV=${PV/_b/-b} @@ -55,7 +54,9 @@ RDEPEND="${DEPEND} !>=dev-db/mariadb-10.2.0[client-libs(+)] " PATCHES=( - "${FILESDIR%/}/gentoo-layout-3.0.patch" ) + "${FILESDIR}"/gentoo-layout-3.0.patch + "${FILESDIR}"/${PN}-3.0.6-provide-pkconfig-file.patch +) src_configure() { # bug 508724 mariadb cannot use ld.gold diff --git a/dev-db/mariadb-galera/Manifest b/dev-db/mariadb-galera/Manifest index c6aaffd26a11..09f925f62941 100644 --- a/dev-db/mariadb-galera/Manifest +++ b/dev-db/mariadb-galera/Manifest @@ -2,4 +2,4 @@ AUX my.cnf-5.6 5144 BLAKE2B 2f977b6a92524cfabbdd19058430c62dd4d03a0587036f49057e DIST mariadb-galera-10.0.35.tar.gz 66950519 BLAKE2B a0b48de41234d1800c1734782bd604d30512e3d33d1937cd3e79f68ec804089166223ba53450ef630779d2b74bc4ace611dc748b4ceca7ed4e4151f97d693655 SHA512 e0160ef74d45c332edf49f21bb673b926008cba9ba650f97a47d7631260b2517db19e1730b76be77af4ee384aa5cc9b3453a24da57c48ab5f062f937494aee87 DIST mysql-extras-20180515-1334Z.tar.bz2 321462 BLAKE2B 48fc1e0058fa824e6234b0f3319d261997e99f334c8583c0def4cdac4b59f2380d7153ab0fa2ca9a6ab15e35899c2a7586e3b61f4044c4c949110cc8ab9fb0e6 SHA512 de3000f0c65eed9595b52d53205cdcac60cb4a06a5aca27057c8beca6a7890f453aeeda0bb8487b8de75cfb4caa48682b7706273574876c5cefd0d03988c4f7e EBUILD mariadb-galera-10.0.35-r1.ebuild 27201 BLAKE2B d9a1443ed469f5ca28e4e25c494064877ae0363a46b6834488a83511da3e4149f4a033ec97da8e80a756e2b106a912748a4b78a46177543b4b1380ec2dab2a51 SHA512 df449a5020ee5d6993ad29026799d5987fb7c0bf3fd1de6fa2d1af521907fe71bb48e08ee6ffdd93722c823cb8719c3122e17aa7dcfba69cb9534d8d77b1fae2 -MISC metadata.xml 1812 BLAKE2B d8dca52245956dd59e770feaa45354e8b6d718b950a072bd8db93f162ac59ad4029556c5f02b7753a4b541eaf9e0d97d93eb29c06649be4391268212d395896e SHA512 7e2cb0d0b2bb303f475ac84dd9ebb23b1df940eec5fbe562cd238be1f2e1d3564edeb66b5d237d529ec1ab4b6aad4935d2ab490411f8083a934fd1f4894647e0 +MISC metadata.xml 1731 BLAKE2B 0e8a98423e36b3dd621d42ce512063fa8d703cb5254616fd2549cc6f2b03df3d521502b3def93b93000ea4c8b9c24d0bba01bb1417d88c2b2689dcf31876e996 SHA512 09073b18f31f6684cd0ecde266a1c41e7520baf8aa5ff31f19a815ce3f5fea3b1302e0eb702d377f5eb3535c5a7e2828965446b631bbf91219a8c898d1ee8c9e diff --git a/dev-db/mariadb-galera/metadata.xml b/dev-db/mariadb-galera/metadata.xml index 2e7afd2663cf..85ebf9880ac9 100644 --- a/dev-db/mariadb-galera/metadata.xml +++ b/dev-db/mariadb-galera/metadata.xml @@ -9,7 +9,6 @@ Build the client libraries from the server package instead of the C Connector packages Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition) Enable the CONNECT engine to access foreign databases via JDBC - Use dev-libs/jemalloc for allocations. Use LATIN1 encoding instead of UTF8 Enable SSL connections and crypto functions using dev-libs/libressl Enable NUMA support using sys-process/numactl (NUMA kernel support is also required) diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index b221f81943d2..81c9c660ac32 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -20,8 +20,8 @@ EBUILD mariadb-10.0.36.ebuild 27527 BLAKE2B 492a99d33fdc94203de03864166a36cac62e EBUILD mariadb-10.1.34.ebuild 29472 BLAKE2B 859741b70abf8c2347395b26b7543f36be94165141227bb7dc75f054768490bf891eea5bd2f171aa0c0f8caed7603abf1347a0087caa10e55ce920aaa9c6677b SHA512 ff30a1fcdcc72b8324dec1be29db63a1792ca58474744f0c02014b1fba28d856ac0f154235b0889aedcc95cf24c4b58fcfd681458be726609861ba6f4220ad8f EBUILD mariadb-10.1.35.ebuild 29479 BLAKE2B b14a63bbdf81468902efaf712b2944b70964fafd0eaf42ec2dbc4ac2ea5d298031bbdadc43fa27dc7035931a50a818960fe2ddcfca4cef351ada73d028e4eaf9 SHA512 c346bc073836725d3a022a73106b4fea2e9de88cc0ee3571ce2e2d292f931b584ce21336d0a31ff7efe015e7692f51e5a1bdbfd21f2a69c65e5df08761ac9f72 EBUILD mariadb-10.1.36.ebuild 29476 BLAKE2B 6b608a9e1ded83bc3d49644239912a7ee20f5fc5c48d60bdd9fa3320b7ac8d5188fc0a7039d28fc3ec1ced6b7a95b36c8f6807ad8da3700e34c2ff7300d73443 SHA512 0aeaabeb9cd43f0feba34013dd7381106bbd79370771429bcccbb821d9383d488264c7bd259d221776a6f971b021d1f902e7c61ba4e515e92eb908f789f74a90 -EBUILD mariadb-10.2.17.ebuild 33523 BLAKE2B e8209606e05f27c62ee62fdd6a65cc3b1265d43cf024cde462834d378926392791a26d76f7018df20ede173d1f374f7e38d13ea9f3ff8948ce55a16fea43f3cb SHA512 0bc6b436c69116b6e5a82b83691ff1ec57291a0be7a3ddc203380ec6d211807a2397b82922a9504b1d9060a18ef4f2d9cbf2e2eae651350cb568f76476efd8d0 -EBUILD mariadb-10.3.8.ebuild 32090 BLAKE2B b054d6ecb631b2d974dbe51723e0e517f791f62f80a3f198c0a9bbc9882d5152f9afc959e3c3dfd44af499f258bd3f2e6399c85535c899b93865ca50adf8b31a SHA512 e8f0d7053be5ab1b227af377892e2aa435b643534a162fa0a39d430611b59d55fbb116aaccebbe0528289a66fba6dcffd27e2f7d98015bd58b333b049d3733d6 -EBUILD mariadb-10.3.9.ebuild 32155 BLAKE2B 89b5292ee020e44ef89191da1c0d71bda768c7eaa77fea879fff22846aa8630ed46654902bc9ca18dd4ae8966897e94303b582290eb97d348ef5e48875d0b050 SHA512 cca2fd68be64bcf977ba4dc41844258557a7114f815ac40dcba9594d6488b4cb61d58ba53a9fa50d1b9ffb46ae265e7b68d0a45d94ce5528b0cc2e09a24af1bc +EBUILD mariadb-10.2.17.ebuild 33523 BLAKE2B b7b5fbb5a3e548994978fa49c12f824c9765827251794c9a3fbef601b4999ad96fd359468112042849ff4be165df1beb018a094aa1ef2354ce9ec1f7f7342a07 SHA512 3e404176280ba7654240eb065a2964e7cb17a9ae4878c850641c6d40c33205954aab482a20709b999e56ef0f39ed2b6c1d69412cbd53ecccd8a4809af95b3116 +EBUILD mariadb-10.3.8.ebuild 32090 BLAKE2B 77fce2ea8c658e85face2c6ab7878b1ba8e392466e6e13704b2bf5678f54893660e1694c4247da75f37078ca8a4d33f65ab769fdec290dfa27670f45f581c026 SHA512 2d88a617f827d9f9a02b554c5ba2c712007431b8d3004084ee9f2b80efa017c3a744781e997e83448265114d4e08aa65c717682a0bb79d4c88d16f396ef58f22 +EBUILD mariadb-10.3.9.ebuild 32155 BLAKE2B db1ce7a82a3610bb3dde5f5ea6a565eead93046927e9d2a4b56f419f12fef7c92f9445502142b0ecd01ba401178a30aa3ef7de4fe1e207fdd17aeb3c8b11496f SHA512 a81b480072fa74ad311f63c85b119962d04ad19727aece8ec9e219420e9e7a8ec7c57965fb556d59fd47b2300f198a6d091920f272792fc3a5eb1619babc6211 EBUILD mariadb-5.5.61.ebuild 27072 BLAKE2B f814240f2445f793ba04e912d20d3ad22c6bc1304379a0fbbbe0ae39cb8418ebe5c9d187253be11db4744ba75aabc70d0e4ef409ff71ea63cfbc3a6e08d464dc SHA512 d9b7f3d3711532e51938917b6b5976a7df15e74efb86c9c1621ef8e4dc813dbbf1d75d4e90e6ffb0d8924f58709a018ead3d153c6c250a4c775b18d005b4c300 -MISC metadata.xml 2692 BLAKE2B 2843540212ba28e3abc4e68851de3901801c25097f65d21f21698e47efbc32cce4d2e315e787c69cd2999c1077815a383eb52c9859e55bb0a5c3f4d6c6f48d17 SHA512 d5622dd8c6d4913801b8b7b0f893466c121857473673499a1e97cb47ab94c985bcf94fa9e2fed0fdb81ab6d8bbe6599ff51f8f78df4f6f5bdc33cca8aca9158e +MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97 diff --git a/dev-db/mariadb/mariadb-10.2.17.ebuild b/dev-db/mariadb/mariadb-10.2.17.ebuild index 774277f87d32..cb2ac87542dd 100644 --- a/dev-db/mariadb/mariadb-10.2.17.ebuild +++ b/dev-db/mariadb/mariadb-10.2.17.ebuild @@ -247,7 +247,7 @@ pkg_postinst() { elog "Please backup any changes you made to /etc/mysql/my.cnf" elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." einfo } diff --git a/dev-db/mariadb/mariadb-10.3.8.ebuild b/dev-db/mariadb/mariadb-10.3.8.ebuild index f54bef478b0e..1a952db960e4 100644 --- a/dev-db/mariadb/mariadb-10.3.8.ebuild +++ b/dev-db/mariadb/mariadb-10.3.8.ebuild @@ -238,7 +238,7 @@ pkg_postinst() { elog "Please backup any changes you made to /etc/mysql/my.cnf" elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." einfo } diff --git a/dev-db/mariadb/mariadb-10.3.9.ebuild b/dev-db/mariadb/mariadb-10.3.9.ebuild index d8976720941b..00cd9a6bcff1 100644 --- a/dev-db/mariadb/mariadb-10.3.9.ebuild +++ b/dev-db/mariadb/mariadb-10.3.9.ebuild @@ -238,7 +238,7 @@ pkg_postinst() { elog "Please backup any changes you made to /etc/mysql/my.cnf" elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." einfo } diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml index e58332a7acbe..3419b52226ee 100644 --- a/dev-db/mariadb/metadata.xml +++ b/dev-db/mariadb/metadata.xml @@ -14,7 +14,6 @@ Enables lzo compression methods for InnoDB/XtraDB Enables snappy compression methods for InnoDB/XtraDB using app-arch/snappy Enable the CONNECT engine to access foreign databases via JDBC - Use dev-libs/jemalloc for allocations. Use LATIN1 encoding instead of UTF8 Enable SSL connections and crypto functions using dev-libs/libressl Add support for the Mroonga engine for interfacing with the Groonga text search diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest index e67d2e7e2ee7..56040f63084b 100644 --- a/dev-db/myodbc/Manifest +++ b/dev-db/myodbc/Manifest @@ -1,18 +1,12 @@ -AUX 5.2.7-mariadb-dynamic-array.patch 3053 BLAKE2B 1c72b7318dcfd035655285c433a88d76d09200560db1530f76ab69e9ff765f17351b88aedabb297bb55f07aee5197cf29757534fc5373f95bad65fc49db93fe5 SHA512 26d35effbf4e74ef634c6e42dced40830402aa0925571f4bd55acd3dfe06f1c8c8f3bab4e9bb4bcd3f72dc87ecc3a093b984df4837548710899f97d8bdeca7b6 -AUX 5.2.7-my_malloc.patch 594 BLAKE2B c9d9aad2e9b9e3e2b30ff41e6ec68343557123517b808df6888d91f48e68cbb1de852f31b057dffea40264a717077e4bbce6f78438535eb11cb660986f469892 SHA512 bcd26b2f8de21404c741fec51bb7e7bec32a5d3fbc90471c157ee275dc6136a44a6ef4d2ad8dd170e2852679d3fcb0cc74cf4acca0570702206b4cded1cb1fa5 -AUX 5.2.7-r1-cxxlinkage.patch 1707 BLAKE2B aaf7ef0f319f2e00034307f51406c82580f5d257b61d722d7d610e731b9c549ff54b88279689c226df72837c5af35911ee1f4dd756b989f4018a78d3e3d5e940 SHA512 3d0f1839e1b200d7746d2c7161ee2a85813bf40517a70777d361e482efd6d6b0be88415d339d6dccc49de865a0d714fbbce2b74abb1bbc12c4f4681a5bd5abf8 AUX 5.3-cmake-doc-path.patch 1480 BLAKE2B 5f89253a86fa97fbf4103fbe797f60449245195e9c8d0f6d7f065e654a402de0461459dd11d9d878f0794089261ee5ee9fac3240bf90f7c8382edb54d84b27a6 SHA512 aa2303161af2b53608acc127464951cf77492a1a90e869a58893ba10a014077d7f8f319325b77713fffceeaa002943f4ce52b6cb9571b0b3d3d7ab562601968d AUX 5.3.10-cxxlinkage.patch 1027 BLAKE2B b3df78658e4fb3243debb6f95cea6c5530db309ffc50f3a6afaff8bce143d147b4645a4bef4a54f6d04203ea132d4245812f5a2473ad7e9899f6e6b3c0799213 SHA512 f4d6df55313ccba995c8bd2e182397ce2652c2fbc0f0706474386654fb890fc47cad3a18f306206e840a47b729569e9a0ccb1cc2401c5280792afc4f544b41fd AUX 5.3.10-mariadb.patch 1744 BLAKE2B a9e33c86f999394d77757f69f1f314238123fa4158297961b4ce0f501e6fb743927e892c1f6640945842e843da56a826e5da1a968d84f7e5dcf3b2b4a590c0e8 SHA512 ebf62a2e0cc901fce81d0ad358f62d1c41494a5e35fb5a4df6913d1f4d5b8bbb638a23cabfe483818efa39688744b7be8b98d922b4bdff830de701c665da0fa0 AUX cmake-doc-path.patch 1498 BLAKE2B b79110c92b7fc80c64fdf05b469c4bb333d68610ff4fadc78bd307689651e41bcd66f33fd782db1b69c863ef81faee3d5eb485d5c9bd284db8be3948d2bec7e7 SHA512 2e48af11efb55a1508402d5d1d717a3dfc9897bf0ccce5aa190792fb673ac78b27a9480e951a6347a2c8d0e2fe08a28c11fd08c55dbea835a93f525decaaf09e AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521 AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8 -DIST mysql-connector-odbc-5.2.7-src.tar.gz 606472 BLAKE2B 297f1ae57802f682616283bae9c3ff7ef88f8f016274884794f6b476bf9b92bc1da8af9cb89f41fa2a74238f91fbc39b9427529b806ac4ffb52aecd895cd8cd8 SHA512 f54ac8a23ade71da85e1335e95eccdccfd68a8687d17a584ced103812bdc5aee8014769a84eaa22724bb2cb23d34c7188c964d3283723defeaef5157a4b3c60f DIST mysql-connector-odbc-5.3.10-src.tar.gz 2646571 BLAKE2B e85e179ee8a54c8c98dd254e949c08227adc72141d52bc15935eafd60edaf95f47c12ca51fa9472ae29c761d5de2149277c58e6d3f02a566668be17f595ca7ba SHA512 ebe56b95a1690332959a7a37e8ed381b46730fb9f6fbd6522ddc1a6961e4c8cdac59681a957b33abeb6cae12f210278e4063daa59ce952d92acf427bc188e22b DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B e41dd65d940c0c91c67e6ec4c46ea2c3327e96d372c493635d05833862f2aa73919410a9e9a9c090a6fa65fd29e022a9b088c07a5e11089aee04b3b86005ad1e SHA512 02fcf6ac88f6052206aa55b6fc2b37f499da26e596e8e64b1c20e87dc4a24f745416da56c6e1268feff60321f54cb45864b8d34e055ea2f99da37b6efeedc844 DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz 12013057 BLAKE2B e372cfb6ca49f9f01e9e60d7cd497fc009ec38dee76ca2cfb74cc95213b84ef1eebca85e1400f19c9715c0f9b2ef40fc212196e14189f5506be8d0e887507ce4 SHA512 b54ca167f762b4d8b988b4a91f14dc6a4bf49f55bc639ce8eecc9eba6c11400bd3494d74ef77ebe3348bdefd8fb5b8c1b62b3a6beebb926a1899da17ea4a1b44 -EBUILD myodbc-5.2.7-r1.ebuild 3300 BLAKE2B 9cc0f8a8ddf448c286594d7f27a85c113b98de2ded3eee1cc16661c54f48075fded3a8b0906a542a4a268e1144ab6d9c1b221d850b06faf9553bde8b4ca731bd SHA512 d8ffec3733dd3a811155fe03296081d3d54c17ed2d46b41e48213cf5f996ae7a4955d216355a8c0afa20142ccd243ebbbbfb8d40826fcd3f1a1e681b34126879 -EBUILD myodbc-5.2.7-r3.ebuild 3698 BLAKE2B 150992141e50dad64396392399791f02a8920485dae1d23c776a89cce3f648b9d0fac1c59202409be03c5bc27b7ca582d31ab1ff3480d9beef5847eda0e0380d SHA512 ee50335e1dff98d7b5b2a4248972c8423a4aaa8293a9404f659a789b9bb915f43e2d174482e07a9179af1cf6bf822de6a5a2e746f7410de7b06a350a3d03f9d2 EBUILD myodbc-5.3.10-r2.ebuild 3588 BLAKE2B db9749af6dd80c60ae359485e3526258e43ea7003b2302076b0ef39a72098663b27f9413d050809328fe4348f5c129135f163da8d895f65d8c9f76bd53415eb4 SHA512 33d3aced0bc4575baa860dc53f1a6b35b6a5dc2e1815d88922d66c5270e570deaa0dc20018d9329c4651cef00f48b902b208671dd0836e7224d11972491b9e66 EBUILD myodbc-5.3.9.ebuild 3072 BLAKE2B 4922ed231672f11742590007b7b1f5c5dfa27263a6c98893b373793da06088f29c5401917179d479f4c57b24b2a1be9c3507caa752db79f3268fceff4719013d SHA512 4da8b034a745c453a310391a38e5cb1697bfa51838edc6903ee643e7dbe28fa5fb8f7d34264f88bb79b2aba83fa042212c0a2dd251c15150f7f0a2fcf561e052 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch deleted file mode 100644 index 6cfe7cd274b3..000000000000 --- a/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -aurN a/driver/catalog_no_i_s.c b/driver/catalog_no_i_s.c ---- a/driver/catalog_no_i_s.c 2014-06-18 18:50:16.000000000 -0400 -+++ b/driver/catalog_no_i_s.c 2014-08-20 14:08:33.997339096 -0400 -@@ -1093,7 +1093,11 @@ - unsigned long *lengths; - SQLRETURN rc= SQL_SUCCESS; - -+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 -+ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, MYF(0)); -+#else - my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0); -+#endif - - /* Get the list of tables that match szCatalog and szTable */ - pthread_mutex_lock(&stmt->dbc->lock); -diff -aurN a/driver/desc.c b/driver/desc.c ---- a/driver/desc.c 2014-06-18 18:50:16.000000000 -0400 -+++ b/driver/desc.c 2014-08-20 14:07:37.409169269 -0400 -@@ -63,8 +63,12 @@ - but in desc_get_rec we manually get a pointer to it. This avoids - having to call set_dynamic after modifying the DESCREC. - */ -+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 -+ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, MYF(0))) -+#else - if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0)) -+#endif - { - x_free((char *)desc); - return NULL; - } -@@ -995,9 +1003,15 @@ - - /* copy the records */ - delete_dynamic(&dest->records); -+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 -+ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), -+ src->records.max_element, -+ src->records.alloc_increment, MYF(0))) -+#else - if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), - src->records.max_element, - src->records.alloc_increment)) -+#endif - { - return set_desc_error(dest, "HY001", - "Memory allocation error", -diff -aurN a/driver/handle.c b/driver/handle.c ---- a/driver/handle.c 2014-06-18 18:50:16.000000000 -0400 -+++ b/driver/handle.c 2014-08-20 14:05:00.364248403 -0400 -@@ -403,7 +403,11 @@ - } - } - -+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 -+ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, MYF(0)); -+#else - my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10); -+#endif - memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) * - (*param_bind)->max_element); - -diff -aurN a/driver/parse.c b/driver/parse.c ---- a/driver/parse.c 2014-06-18 18:50:16.000000000 -0400 -+++ b/driver/parse.c 2014-08-20 14:03:54.336383876 -0400 -@@ -129,8 +129,13 @@ - - /* TODO: Store offsets rather than ptrs. In this case we will be fine - if work with copy of the originally parsed string */ -+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 -+ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, MYF(0)); -+ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, MYF(0)); -+#else - my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10); - my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10); -+#endif - } - - return pq; diff --git a/dev-db/myodbc/files/5.2.7-my_malloc.patch b/dev-db/myodbc/files/5.2.7-my_malloc.patch deleted file mode 100644 index bc6c65ef3011..000000000000 --- a/dev-db/myodbc/files/5.2.7-my_malloc.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -Brau a/util/odbcinstw.c b/util/odbcinstw.c ---- a/util/odbcinstw.c 2014-04-23 21:54:40.000000000 +0200 -+++ b/util/odbcinstw.c 2015-05-08 15:29:09.400568356 +0200 -@@ -68,13 +68,7 @@ - - if (lpszRetBuffer && cbRetBuffer) - { -- ret= malloc(cbRetBuffer + 1); -- /* -- We cannot rely on getting correct results from the next call of -- SQLGetPrivateProfileString. So, taking precautions against unititialized -- values in the allocated buffer. -- */ -- memset(ret, 0, cbRetBuffer + 1); -+ ret= my_malloc(cbRetBuffer + 1, MYF(MY_ZEROFILL)); - } - else - ret= NULL; diff --git a/dev-db/myodbc/files/5.2.7-r1-cxxlinkage.patch b/dev-db/myodbc/files/5.2.7-r1-cxxlinkage.patch deleted file mode 100644 index 2bdb4a581c89..000000000000 --- a/dev-db/myodbc/files/5.2.7-r1-cxxlinkage.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -uarN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake ---- a/cmake/FindMySQL.cmake 2014-06-18 18:50:16.000000000 -0400 -+++ b/cmake/FindMySQL.cmake 2014-08-20 10:05:00.191485304 -0400 -@@ -105,16 +105,16 @@ - # Finally remove the dot - STRING(REGEX REPLACE "[.]" "" MYSQL_NUM_VERSION "${MYSQL_NUM_VERSION}") - -- IF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) -+ IF(MYSQL_CXX_LINKAGE) - EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cxxflags" - OUTPUT_VARIABLE _mysql_config_output - ) - SET(MYSQL_CXX_LINKAGE 1) -- ELSE (MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) -+ ELSE (MYSQL_CXX_LINKAGE) - EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cflags" - OUTPUT_VARIABLE _mysql_config_output - ) -- ENDIF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) -+ ENDIF(MYSQL_CXX_LINKAGE) - - # Remove the stl4port dependency - STRING(REGEX REPLACE "-library=stlport4" "" _mysql_config_output "${_mysql_config_output}") -diff -aurN mysql-connector-odbc-5.2.7-src.orig/CMakeLists.txt mysql-connector-odbc-5.2.7-src/CMakeLists.txt ---- a/CMakeLists.txt 2014-08-27 13:51:27.050553560 -0400 -+++ b/CMakeLists.txt 2014-08-27 13:55:41.702359680 -0400 -@@ -256,10 +256,9 @@ - SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") - SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") - --SET(LIB_SUBDIR "lib") --IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)") -- SET(LIB_SUBDIR "lib64") --ENDIF() -+IF(NOT LIB_SUBDIR) -+ MESSAGE(ERROR "LIB_SUBDIR is not set") -+ENDIF(NOT LIB_SUBDIR) - MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}") - - INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}) diff --git a/dev-db/myodbc/myodbc-5.2.7-r1.ebuild b/dev-db/myodbc/myodbc-5.2.7-r1.ebuild deleted file mode 100644 index 2698ccabd5da..000000000000 --- a/dev-db/myodbc/myodbc-5.2.7-r1.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit cmake-multilib eutils flag-o-matic versionator - -MAJOR="$(get_version_component_range 1-2 $PV)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="http://www.mysql.com/products/myodbc/" -SRC_URI="mirror://mysql/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" -RESTRICT="primaryuri" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="amd64 ppc x86" -IUSE="" - -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - ~virtual/libmysqlclient-18[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - # Fix as-needed on the installer binary - echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" - - # Patch document path so it doesn't install files to /usr - epatch "${FILESDIR}/cmake-doc-path.patch" \ - "${FILESDIR}/${PVR}-cxxlinkage.patch" \ - "${FILESDIR}/${PV}-mariadb-dynamic-array.patch" - - # Fix undefined references due to standards change - append-cflags -std=gnu89 -} - -multilib_src_configure() { - # The RPM_BUILD flag does nothing except install to /usr/lib64 when "x86_64" - # MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB - mycmakeargs+=( - -DMYSQL_CXX_LINKAGE=0 - -DWITH_UNIXODBC=1 - -DMYSQLCLIENT_LIB_NAME="libmysqlclient.so" - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DMYSQL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - -DLIB_SUBDIR="$(get_libdir)" - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-5.2.7-r3.ebuild b/dev-db/myodbc/myodbc-5.2.7-r3.ebuild deleted file mode 100644 index f44807fe599e..000000000000 --- a/dev-db/myodbc/myodbc-5.2.7-r3.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit cmake-multilib flag-o-matic versionator - -MAJOR="$(get_version_component_range 1-2 $PV)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="http://www.mysql.com/products/myodbc/" -SRC_URI="mirror://mysql/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" -RESTRICT="primaryuri" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="amd64 ~ppc ~x86" -IUSE="" - -# Does not build with mysql-connector-c -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - ~virtual/libmysqlclient-18[${MULTILIB_USEDEP}] - !dev-db/mysql-connector-c - !>=dev-db/mariadb-10.2.0 -" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - # Fix as-needed on the installer binary - echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" - - # Patch document path so it doesn't install files to /usr - local FILES=( "${FILESDIR}/cmake-doc-path.patch" - "${FILESDIR}/${PV}-r1-cxxlinkage.patch" - "${FILESDIR}/${PV}-mariadb-dynamic-array.patch" - "${FILESDIR}/${PV}-my_malloc.patch" ) - - # Fix undefined references due to standards change - append-cflags -std=gnu89 - - MYSQL_SERVER_INCLUDE=$(mysql_config --include | cut -d ' ' -f 1) - append-cflags "${MYSQL_SERVER_INCLUDE}/server" - - append-cppflags -DSTACK_DIRECTION=1 - - cmake-utils_src_prepare -} - -multilib_src_configure() { - # The RPM_BUILD flag does nothing except install to /usr/lib64 when "x86_64" - # MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB - mycmakeargs+=( - -DMYSQL_CXX_LINKAGE=0 - -DWITH_UNIXODBC=1 - -DMYSQLCLIENT_LIB_NAME="libmysqlclient.so" - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DMYSQL_LIB_DIR="${ROOT}/usr/$(get_libdir)" - -DLIB_SUBDIR="$(get_libdir)" - -DNO_THREADS=ON - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \ - -e "s,lib/libmyodbc,$(get_libdir)/${DRIVER_NAME}/libmyodbc,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest index e2f29235e27c..cd33e296f0a1 100644 --- a/dev-db/mysql++/Manifest +++ b/dev-db/mysql++/Manifest @@ -8,5 +8,5 @@ DIST mysql++-3.2.1.tar.gz 2256735 BLAKE2B 8d5e713926a405fa9b93af690554595d8cc79c DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b23d33983a719c892bbd1002f3986206df6cfef54316f11aa480f18dbc0a2cf6944f9572f3a7dca24cdb73099eb9 SHA512 b6b0a9856ede9e5e08be0f5ed1689b1256f8cf31c3afbb9c9e7f68d0734380e25909ef31cd04be6b253c86b2f881df10f3793a2d3e32042375dbbab4b0700d0a EBUILD mysql++-2.3.2-r1.ebuild 1410 BLAKE2B 6acbf4805dc44570d1d1b9df9a1c8769d3c13c9658b74cbad2052313d0538552693da45f2558be1afea78f80d6492ec36a9c02389ecbc054c60610ad521030eb SHA512 badefe7d214bd55b81965070b814b94c15fe3635d87c265225d2f9fef02360c3e09adeeb79a75c9990e89d596f111fc958c2a5fcec63624f14404192e4a26884 EBUILD mysql++-3.2.1.ebuild 901 BLAKE2B 0e6c3feef947f749d7124284dad8ce91d14fed57d7a24730482dea19646a8b675113577138d4d81dd3e803df74f13a91fe40b1959fa145bf676b8d301a24d588 SHA512 6a2029dab230cf4c1e4c344362ef7ae8204775a1dd898da6d5bbe274c3b5ad1b1d223eb6e4b4c5915b87b7c6b401c40b3630c8aa0546d4c0192ba418f4d1cf31 -EBUILD mysql++-3.2.3.ebuild 1562 BLAKE2B bc58aef5302e7b7a56765dbb106d6e7d9701067dd44d47239372476bb2f5fd9a0b7aee8f08f424db3941e4a7bfad84a07987b4fad3ff0e4f5dbe6932a14bd2bf SHA512 8a3435d70bd453f94dc31b4759de016d9948e3b833cc5d74fdce7ef1b32a11a7e715265182eb7bf7275ba764f1e762cc8797b2995afd161bcc95100bf425338b +EBUILD mysql++-3.2.3.ebuild 1561 BLAKE2B c55bc278056abe36b0ab2eb902882ad97b2d99230b50bc55ab0d426b9342b98a9fbb46fba0767fad520d0cce3bda9ed31457ced665d436df511abf9ff2fd9b41 SHA512 9cb3fb85b33b17ad94861dff4970a18e537b13e6b1d72b10ff21d93deb5d773a7529be4dca96ee75e877d5bb8da10f75960ffbea49fe22f22634b448a40c31ea MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql++/mysql++-3.2.3.ebuild b/dev-db/mysql++/mysql++-3.2.3.ebuild index e314c0bc75ab..4e9adb043372 100644 --- a/dev-db/mysql++/mysql++-3.2.3.ebuild +++ b/dev-db/mysql++/mysql++-3.2.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz" LICENSE="LGPL-2" SLOT="0/3" -KEYWORDS="~alpha amd64 ~hppa ~mips ppc ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="alpha amd64 ~hppa ~mips ppc ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="doc" RDEPEND="virtual/libmysqlclient:=" diff --git a/dev-db/mysql-cluster/Manifest b/dev-db/mysql-cluster/Manifest index 4a750a6af64a..7de631e1fb67 100644 --- a/dev-db/mysql-cluster/Manifest +++ b/dev-db/mysql-cluster/Manifest @@ -8,4 +8,4 @@ DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda2093 EBUILD mysql-cluster-7.2.31.ebuild 4305 BLAKE2B 8fd24da2fb5a3ea90022791843f76a06ab1c12a0a8fa0bb64e0357e2d2367709093544646d0993f904ec5fc041c21380d4ed3e9358cc1809d36c70b777c092ea SHA512 930bd60377563298a1b596685c2b5bf43d995415f06fc8f6b9e1e10c97cbbe43a97de255450bb177873033b99bf303bc3c4fa41bef124d2b29a7767923b39a24 EBUILD mysql-cluster-7.3.19.ebuild 6311 BLAKE2B 599d98a3ae24dc3d3162a436f00824db3fbf53dddc0ab913010460c60a229f2419523059f1bfd7f024a904c7b62295e9b40e0f7157580497e21dbe166f1fc8aa SHA512 f7f277ba28ef4159bf83cdfa5e2c81a0d10649d5fa9919517dffed567857b71a1c3259d404dd9b2dfbee6a7a0566c02c48c8fe04eab8b28a9001d372c9fec776 EBUILD mysql-cluster-7.4.17.ebuild 6311 BLAKE2B 599d98a3ae24dc3d3162a436f00824db3fbf53dddc0ab913010460c60a229f2419523059f1bfd7f024a904c7b62295e9b40e0f7157580497e21dbe166f1fc8aa SHA512 f7f277ba28ef4159bf83cdfa5e2c81a0d10649d5fa9919517dffed567857b71a1c3259d404dd9b2dfbee6a7a0566c02c48c8fe04eab8b28a9001d372c9fec776 -MISC metadata.xml 1657 BLAKE2B b8d1d71537ecc478d51177e5f78f02d4d07fd056fa5f15742d33066fd71b78b60aa62cf02028964748238f6ec1879e19dff42bbf7da56018ad652b6a63751dc8 SHA512 594c4282f0ca9fd8b207778f5fcb00397a8779564b95f50ac99b22f48a4df80372675243a62a68f6e026733a31a383c43820450eb3f00cb13bce974b7e7368ae +MISC metadata.xml 1576 BLAKE2B 271aa2c62b14389e7cefba652c6473058c4ecdb1efa698a8d5fbcde70ecd9d311b03b17a8ec5bdf85cea3cf00616ad5b97794e21639004ac739ea466c3653cc4 SHA512 9c5cb1fcd1ef3f94c94ac52bab99a0e794c33ec511f8800d1bfa84a94a1a576979560cad9ef539010b4865ff2392680227f18d7096f39e39c70e5720b4b0d53c diff --git a/dev-db/mysql-cluster/metadata.xml b/dev-db/mysql-cluster/metadata.xml index 0efe3d7675fa..e769804157d3 100644 --- a/dev-db/mysql-cluster/metadata.xml +++ b/dev-db/mysql-cluster/metadata.xml @@ -10,7 +10,6 @@ Enables the community features from upstream. Build embedded server (libmysqld) Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition) - Use dev-libs/jemalloc for allocations. Use LATIN1 encoding instead of UTF8 Enable SSL connections and crypto functions using dev-libs/libressl Enable SSL connections and crypto functions using dev-libs/openssl diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index d360a7eb7002..14bf6c7e9344 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -9,8 +9,9 @@ DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa3492688 DIST mysql-5.6.41.tar.gz 32111985 BLAKE2B 5ccad59333525b354db4fa892857e237cddf8fe1a4d289c6e410c31d6142a71d3ce4dab8d954fa9932ec1f83b50e8eccd5845e082deaaa56f1c0c5e21b2ce6c0 SHA512 a62d7a68c6bb49de33f8c9e634bce53cb453a87238e92967115e8e928fa9ed291727b8bd5a5271a0b5b634d957eb310c745edfb14b6be1deb9099bb757aa2cff DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953 DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d +DIST mysql-extras-20181017-2201Z.tar.bz2 328311 BLAKE2B f1b179e0f2d63105f03ba238125e6cfa2c0cbf2084251b6c344bd02517899322bd161470eddab28c514349caac6401c35909b2f37264fdaf2dc196a309d3cc27 SHA512 26e26a3ad926bc9267d89f0bc34b030bc6292f21d3007185c4c1155beaa608566b4268f93edb64fd6156dbae80ac4f2817e78c1e92e90985e2675c2b1f97854e EBUILD mysql-5.5.61.ebuild 25516 BLAKE2B 3363fc9f99fb6a3085a7de3cf540ddd853365b5865a418c752255417040ca568fa16a02e0b74cd98502eeadda4d11e7bd37269d1416232db279eedee15630320 SHA512 ccfbdef198de75215efb498a76525e03f469a5c596b9fe366f9e1973969f928263be1628b378369d76899eea6d7750c45ce07827d11b0f277b2aee2242540645 EBUILD mysql-5.6.40-r2.ebuild 25633 BLAKE2B f8ec8617de040020878220e209fa36331f8570906177c950b36cca698c6864b38d8fc98eb7daf5b9f3536a2872ad5f5bc2dbaba8f72cd86894bb0bc5ca1385dd SHA512 9b3973d9c6c6c019f0b760f1b2a1f78b46337276d81b2c6b986c2e38a4aee5d4856ca5dde3f39ff33e503871ff6c9962da08a3ebfe1c74e52e970912908ee136 EBUILD mysql-5.6.41.ebuild 25640 BLAKE2B 5398748da6151698932be68f502e5cf958b06304eda0a392c47d4e324334375b3f5359eacc76a8a9654ed18a6fce13e47a395c636e9718adc1bb3a0b41004911 SHA512 70e2783ad591e3c005c5324e92d36dd963e3241416435f41aaf37b14de3b812dd48b715557dff4fe41026bc8020c026bf33f99e518880cf62957250fc4242efc -EBUILD mysql-5.7.23.ebuild 27020 BLAKE2B b430c1582c802202d25a13049fccbbfa761d729b868ac7a22930f685c40d8e6a122a7a4c8bf8b830b17328592cb353cc33a4b32094675dac95aa957e6332652d SHA512 f1284dc26df2fee22d8f3dcdcbe3a0c34da350849fa99fcd30e661310eb51dc09ad18cdf2b65d2527d91a9bc37f96f6553b9c3994f8110b4f134bd8656711430 -MISC metadata.xml 1436 BLAKE2B d05f050f50dd99df94a216e0d5b6a8837ee2b53853169a0fbd28d1cd6e2fec40d4fe87c229da31cd56a3fae18a31e5ff283ccbad6c3d69eaf06db0f6f9099f65 SHA512 987ad1be9aa1376f5819f23c457f7dbafedc703d6773281f0b56aba21da319f6b067e4c161a67c65fcec64e29482d71a5623265e3c4eda5a5398e5aa71d183c8 +EBUILD mysql-5.7.23-r2.ebuild 29896 BLAKE2B 0c9675fea61e83fe824be13c95cfe6eb57bf997ad82707e1ce1619fd5c09301f3359c733dd8f8a67ded5f5cf9915238a4975a73a57a3bfa3ee4772f373462b01 SHA512 3a22294d6138ed5194869fb71b590f37f99d8c94f01f67b0d241d6b69ee07325f5d8f7728b1ccffb7030b920522ff7d33cc6b2e64ed43b695c8c7a54c3277f7f +MISC metadata.xml 1539 BLAKE2B 0bc66c5855bd1f4353a7f0b551229d68a940478687b4f38653f973e4a5cfcb946c86bdc2d8318aa96aba43598eb476b995005f26727dfa176ced00fbe2b129a1 SHA512 bc0ce8a3de5e55d954f65eec657930af069d3550f485334f80dfa4c6d17c6298d0609d1ba4fe8b6c988f8ad007858f147c17f1354c207891ac1a062a36af50ad diff --git a/dev-db/mysql/metadata.xml b/dev-db/mysql/metadata.xml index 8ae0465d9236..d3fabed9ef6b 100644 --- a/dev-db/mysql/metadata.xml +++ b/dev-db/mysql/metadata.xml @@ -11,9 +11,10 @@ dev-db/mysql dev-db/mariadb --> + Add CJK support for InnoDB fulltext search using app-text/mecab Build the client libraries from the server package instead of the C Connector packages (not recommended) + Build experimental features aka "rapid" plugins Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition) - Use dev-libs/jemalloc for allocations. Use LATIN1 encoding instead of UTF8 Enable SSL connections and crypto functions using dev-libs/libressl Enable NUMA support using sys-process/numactl (NUMA kernel support is also required) diff --git a/dev-db/mysql/mysql-5.7.23-r2.ebuild b/dev-db/mysql/mysql-5.7.23-r2.ebuild new file mode 100644 index 000000000000..a291cfbf34aa --- /dev/null +++ b/dev-db/mysql/mysql-5.7.23-r2.ebuild @@ -0,0 +1,932 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20181017-2201Z" + +CMAKE_MAKEFILE_GENERATOR=emake + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit cmake-utils eutils flag-o-matic linux-info \ + prefix toolchain-funcs user multilib-minimal + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz + https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling + selinux +server static static-libs systemtap tcmalloc test yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-libressl-support.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND="net-misc/curl:= + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:= + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + numa? ( sys-process/numactl ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + !yassl? ( + client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]] ; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if use numa ; then + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + cmake-utils_src_prepare + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/libevent \ + "${S}"/zlib \ + || die + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die +} + +src_configure(){ + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + -DWITH_PROTOBUF=system + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]] ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in MySQL 5.7 for now and are believed to be + # false positives: + # + local t + + for t in auth_sec.keyring_udf ; do + _disable_test "$t" "False positives in Gentoo" + done + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + echo "USE mysql;" >"${sqltmp}" + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null + chown mysql "${sqltmp}" || die + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" ) + cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + $(use prefix || echo --user=mysql) \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${ROOT%/}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'" + "${EROOT%/}/usr/bin/mysql" \ + --no-defaults \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mysql/mysql-5.7.23.ebuild b/dev-db/mysql/mysql-5.7.23.ebuild deleted file mode 100644 index aad033f5ecc8..000000000000 --- a/dev-db/mysql/mysql-5.7.23.ebuild +++ /dev/null @@ -1,845 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20180804-2323Z" - -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-minimal - -SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz - https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz - http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz" - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - 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}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch - "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch -# "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.7.6.patch - "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch - "${MY_PATCH_DIR}"/20018_all_mysql-5.7.21-without-clientlibs-tools.patch -) - -# 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= - ) - 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? ( - 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? ( - >=app-arch/lz4-0_p131:= - >=dev-libs/boost-1.65.0:= - numa? ( sys-process/numactl ) - ) - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - dev-libs/protobuf - 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-libs/protobuf:= ) - !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 - - # Note about configuration change - einfo - elog "This version of mysql reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropitate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P}" "${S}" || die -} - -src_prepare() { - 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 - - 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_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_RAPID=OFF - -DWITH_LIBEVENT=NO - -DWITH_CURL=system - -DWITH_BOOST="${S}/boost" - -DWITH_PROTOBUF=system - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - if ! use client-libs ; then - mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - # systemtap only works on native ABI bug 530132 - if multilib_is_native_abi; then - mycmakeargs+=( - -DENABLE_DTRACE=$(usex systemtap) - ) - else - mycmakeargs+=( - -DWITHOUT_TOOLS=1 - -DWITH_READLINE=1 - -DENABLE_DTRACE=0 - ) - fi - - if multilib_is_native_abi && use server ; then - - mycmakeargs+=( - -DWITH_LZ4=system - -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_INNODB_MEMCACHED=0 - ) - - 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 -} - -src_install() { - local MULTILIB_WRAPPED_HEADERS - local MULTILIB_CHOST_TOOLS - if use client-libs ; then - # headers with ABI specific data - MULTILIB_WRAPPED_HEADERS=( - /usr/include/mysql/server/my_config.h - /usr/include/mysql/server/mysql_version.h ) - - # wrap the config scripts - MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) - multilib-minimal_src_install - else - multilib_src_install - multilib_src_install_all - fi -} - -# Intentionally override eclass function -multilib_src_install() { - - cmake-utils_src_install - - # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. - find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die -} - -multilib_src_install_all() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - 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' \ -# 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/oracle-instantclient/Manifest b/dev-db/oracle-instantclient/Manifest index 24989252a86f..a88bda360680 100644 --- a/dev-db/oracle-instantclient/Manifest +++ b/dev-db/oracle-instantclient/Manifest @@ -1,29 +1,45 @@ AUX 12.1.0.2-makefile.patch 2211 BLAKE2B 404433299397601d40d168c4ca7530fffdb9d5a39de630b04d51d3a9de70bae8859bfe047e7ac09318fa6b561ff9d94775ee08ba384c92908569855b9b42a209 SHA512 b42672e4c46f3f8a9e9bbb5bda935e20516a72ac71c9a7ba561f29fa7ff654da7abb7e6ddf3e4e236a29d29c1b7b35e469bbe60af62c5ff9065f7d8aa867b758 +AUX 18.3.0.0-makefile.patch 990 BLAKE2B c910fe75ffe32fe9b10a209670c28328492c9ce6a6fd51c6fb0a267b6c09b89eccab9ea40e8c923d181012c1b15e927f28b65d57f816f2b4eaf619a1a08655cb SHA512 907829ddbd58e98f5d07077cd14e3db54dc16f09e84a74b21f073305b5f39c38ae9d59dad5494241f985a125c24ec98223a88425fed65e838584c8b17e6611b7 AUX tnsnames.ora.sample 2939 BLAKE2B d02d4be5eae8c8da346f8b0ddd2b6808e59f8e77f805b22154a77d22db325d415ecaf811323de3c7a6764a9167fb7f9a9708d1cf2de891858bc43bd5e050954d SHA512 25bb734bf4b7ea1d2ce2bddfd241204e796cad0d1d49036e567237d7ca92d158ab7bf69ff3abe210050c8ee0a0630f9217ced22dc31770814d822f93b2af5845 DIST instantclient-basic-linux-12.1.0.2.0.zip 59727331 BLAKE2B 8a4beb891fd6693b74be4f575bff3af7f70cb751a9fbfab80aa145737008cc745f83f2ec349a5959fcaac9aa789210ecd6da88e0eea63d23ce62fcb402274ea8 SHA512 5d93c72c43ba2ca765209f4c1d518b9e93c80ff33625bf0bc33b974413e2b91ab22681e0922d2148fbfa6b6043fe84eee5334aa398e1ee7b1c2663ff2b3bb235 DIST instantclient-basic-linux-12.2.0.1.0.zip 64594237 BLAKE2B bd74522486ec6be857ed83e23a1a64a2794dc14ac184ef9dd4324fc4b9d0d61be8b6b70e32cfe814c6c8972bc7c9aef1d48a60180b8310d861fa66179027c391 SHA512 35cdd84765f1e020cd1e7fe3a765449bcad1c3b09189ab64f6a969da27d7ff2932bad319037ec066615e672d2b3105d4c36b42ec30ab60d6c577a2796908d22b +DIST instantclient-basic-linux-18.3.0.0.0dbru.zip 67930600 BLAKE2B 70d9c54a8df66859d40e4374cd3073613fbf3656850373ada6c9707a7076e0d0749e3b1a84e2d46d18643f80020ecf8c525224433c946946787388dc3f57c79c SHA512 3e1bda593c14d14942c7bf8393111792df01bc9d5a15ae0b4010bd29d71bda4ab044dca6741d00185976c70790fc24b5221afc436d33abe6277e7513cb8bd859 DIST instantclient-basic-linux.x64-12.1.0.2.0.zip 63352239 BLAKE2B 88042fbdccc6b79e8ed82f78f47ac985af413c53b9f2c9654a8ab10008ca9f7cdc4c46a12af5eca6aca47f27bd4d28ee465cd6ed91076268a361faa247440162 SHA512 e4cbdf40f00521651002f0753ead292b7a33352a7dae5d77635fbdb784451a1b9331ad614326dccdea34ecff3d44ddd0932b83c4bd405e69d95c7decae945f2c DIST instantclient-basic-linux.x64-12.2.0.1.0.zip 68965195 BLAKE2B 11e4a995f00ec4f218fe08ddd139c6d60b28bd9ffb78ce566be989eb5d229e5186e60406598b78067f480755e49bbeb6675dd3081186599fc0cac89e66a6f2eb SHA512 13f9b80d1021309fa48ca6c9dd6406ba6f97dcd611f786e940db42eeaba40cdf603b108954b9b3195f830e49377593e31b04f8d9310f619418bcd129b39f2ff1 +DIST instantclient-basic-linux.x64-18.3.0.0.0dbru.zip 72794506 BLAKE2B 22db5d69d48c33061db72bdc050e081ec24152c5e4655505c7f75407646f5ffa140aa51f4638ad8e7c5628476bb44358cb061b2d228ab1e36cd9464e49fcf1f6 SHA512 92e607e1711b24ddf10f11ecd3b389795acc544a567a95cb62b624e5913ad11a1707699b5df659f5fb33dae5cd56700036644e643c7edbe51e7a67e57a152ecc DIST instantclient-jdbc-linux-12.1.0.2.0.zip 1571004 BLAKE2B 5d6d8f2ad86eff24be192ff0984a92351cb0dbf56619428a3c5c339dc0a5cc0048e2143e252803f5def6f0f111c4f69081d8aa41bc28002361586bef8ecff44b SHA512 ed3e5f831f1ac7351bd6eb7b3c10a09bba0f1989384ff1f041fdf94a5ca6acbf06e8285283f48731be6ece3dce55d307ac31e8bab57548dca0e3b3056060b5b2 DIST instantclient-jdbc-linux-12.2.0.1.0.zip 1572140 BLAKE2B ac8a5767924a991503d64b7127e801bd09116ff5155a4943db76bf8678bccfd38c35d744d5a1654a51368feef97df39cad8a9b62ceb69f0cdf416af742385dea SHA512 3b57ab454645f8719a75c8778ab33589548018ec09d187ca88252006f44b014d62659a622ae423f79f9bf0f11149cafaa33880e90278c94a847e69e409bd3dca +DIST instantclient-jdbc-linux-18.3.0.0.0dbru.zip 1574763 BLAKE2B 2ddbb6a6d61c3b6bc3e37b40f786dd86f5efadcf8cbe5b58dec2631b92ebae25065cb29f87ceed9a1f426ada094a9c0ef1887f8ea7b70e66527e9b75e11f213e SHA512 96298e579b6b5a81ae2ef679d6bf9a18f8bd08c33981d0a5b836c20710dc07d15d7964895a3d66c01075a20720d333f766ac439dc4f3867edac473e020eaf065 DIST instantclient-jdbc-linux.x64-12.1.0.2.0.zip 1571639 BLAKE2B 1e50ff99548aa22e32ae48b629e6a83477cf7ad6d56b622e4c03831b43377841d3892b1f3079148a2a93b42d7d2be2670233c33edebac219f5a71384e43ab495 SHA512 1e6aa33c159d5769d10b16da3c5ff16629dae049c7e7d3ab1504a0ad625968f4d3f655a83ff128bff726c3ed03eab9ef7603c897aad288d1dc4e557c03ac7e2a DIST instantclient-jdbc-linux.x64-12.2.0.1.0.zip 1572942 BLAKE2B 3521505368a46046149ae28e2fae0bb85d5a70da33c029c684289a3586341fc0e63b0a88b93cbaa28aacbffaca678260f94658faa2b7e8aa31d1103a41660dac SHA512 79c939442431e14b9f30e94821fc4d8eeb34cd35b887fd8fa90a045357a241a58a53d591d22a5f42b188540c50350b842391a3871c86eb4fe8169ea23001a21a +DIST instantclient-jdbc-linux.x64-18.3.0.0.0dbru.zip 1575572 BLAKE2B bb9d5ad0064b547a7152d4f9b170c646105b4a0731596fe381f7a2c63b720e36cc5a93eea59ea71aa3405999d972cf962a74063350c468a8d114ad28f5a0be0c SHA512 70ebece929cb11f34fdcb6aea75af3679f22d0b838c3d256d4c7c0249977423625b1244a54ca504b51d24e2f178b1784571e185574cd3db34c2cda8128298b60 DIST instantclient-odbc-linux-12.1.0.2.0.zip 1100875 BLAKE2B f8b1475962ab8b66b0e24b7bebc74cd13278e2dfe24885e5ef41e051319baee615ed5015a6b7d87e363e8915ff07fde8e17764a8e6aaa4b5b516f266ef1649dd SHA512 ff3b13a338f0acbae07f23d0e54f0ffa803afcda1a798b9cf38ced103201c0698a7240a062fb67af3547c17e906089e236cc3454685ca4645161a8b14414235e DIST instantclient-odbc-linux-12.2.0.1.0-2.zip 590200 BLAKE2B 732c07ecd7d19fd425873f2ddec00ffbe3da3b07b05bb902d2e3bcf6bcdcd62c7cecdf2bf2289f2c60df4d6dab3f337729eb7c4aacb64dacf73eadcf3ae3f99a SHA512 78a237d165dab3e991bc9bb495c67913c78b660922bfce872be5c774176eaee2ba2af08798b983ad513a33451cde06fe3a727dec66b91b944dc698bf048c7ef5 +DIST instantclient-odbc-linux-18.3.0.0.0dbru.zip 605026 BLAKE2B 2f7808ef2706c65d1c876e44e7b831ea0629a218347f34dd4b81cce192b45b78b26c9e164b179232b1fceeeeb5f84d807ac6bef1f36fd7d077e620bbb6c093eb SHA512 370d3f34c57e33909642f18104de8b48c2ab0fd1cf679087f8601720ebc1097f64caceb118010b9e8d2f7207cef04210b22a36824de747683c3a1162ccb4f09e DIST instantclient-odbc-linux.x64-12.1.0.2.0.zip 1289004 BLAKE2B 674b50e841c66af1d17c5293e3b1909b937664d106864d7709a921ee6f1e46f6571b3c00d064c6ffae0583f4fd84a0e1e7f0b8f635338856c429d9986208c69d SHA512 b6dd02a2566aba66bbdd61e37e00f0c0ec2d466ad969658d4943657642e6e385cb08d0bee3a127b38a7077ec71c8f341aa4696f381e4d9978f807caa1f3ccb91 DIST instantclient-odbc-linux.x64-12.2.0.1.0-2.zip 634023 BLAKE2B 82cd7683bde15a6ff2c96b6b45da95509a7acf0dc7f6a58a19276a526a397481075fc27a450c1a6ac053a460bf075222a3d5afeba9c33f35cff9365b38eb922a SHA512 48d831c798b455349e1a79cecdeee96652d1911f2371d67c4d280b6595ac253ddff5b052ff2f680b42a5fc77b655ee438837ad4abde3137e251facd22c31cf2e +DIST instantclient-odbc-linux.x64-18.3.0.0.0dbru.zip 648825 BLAKE2B 1e96b87802c9ccc7d5f6ae2fdab501004e6fe8d4e155503bb983c82cdbfff729263e541689f4c2dbeeabfdd1037f0a97191e3a50842a8488a3267f24fec6b43d SHA512 23ad10a834fd92007147f8a7ad95dd9df4fbd5b786f7e2bb9afd6a12101fb934a40daa81ade914d8d0f59872591a1ae29438f23229b3767ed4ea3ff7cc730f66 +DIST instantclient-precomp-linux-18.3.0.0.0dbru.zip 5200252 BLAKE2B 1d3613de34ccd61fd7c3795170d6d012491bc2c045c39f39db716ac7ce2e68e7e8da84c5b95afa8e50afb97d2fcad8e469f25627b9ec570f58f0b167a2f2348e SHA512 f783b6f346cc4848567a1b7284a93d1bf20a9555fa9cbfd57597b3856444969653cc6d6c3c3e710da6775d39d2efa6399b9e91f4f7458de43b0a404f4f693dd0 +DIST instantclient-precomp-linux.x64-18.3.0.0.0dbru.zip 6403554 BLAKE2B bd8e1b3de4b8c12214ea066be22f7ca18133e62e1d9a70b2710578e967204561cdcc9f719f8c1310e19e94baca367e0aa8c482e637b2f13a51781328b229be92 SHA512 292322eb07e3707cf469cea8390636fb2fae99a50b3b900a9c43b5808ce741cb708541820de5e9aa9c341290ad5015be32d968c43e1a14aebf97dd5fd04fc925 DIST instantclient-sdk-linux-12.1.0.2.0.zip 667183 BLAKE2B 7dc36af0ea105ea97a961a2332b3643ec22cd64b81adbfc7206fce6e963948d5e59f860b8d4fe1318ed238adfb95effa2a138aec3e017a54bd7ce4c4cf1941be SHA512 fdc0111dba77aa88dc7a39c8d9afbd08c4ffde63890595501915be48a70f6fc623762657a1f3e3b54dd08b0d1e5ce00f99ec5ce40990bb17fab63ae38b986dc9 DIST instantclient-sdk-linux-12.2.0.1.0.zip 674751 BLAKE2B 385a51450ed05c0e80151545037ed58b08dd400c01c8cbb1140045bc6372d4e1d334854881498a5c5833746c796ff94694d495257748442bd49267cc830fda88 SHA512 b2e53e95aaee283f9077f422c7ea8e961a42decb0f58d438eeb32edb32e8c88321261ffd009ca453b531c4aa22a74b8cf71b9a91754c2bd082c83f644523c72e +DIST instantclient-sdk-linux-18.3.0.0.0dbru.zip 927121 BLAKE2B 5b53d759cb82c854d67b9bebaffb07e442b62d13367e5acf19af2dec4dbca2ba3ee50c83f89cf6e865121ad039227d898e74fecf43439610254eb43a429422a0 SHA512 6e4ccafb69d047b96dbda2f493c175f005b593472ea3c9a75fed758d2f12d970509d58b32d94f7a59b3d0402a87efaa754e6487af9cde01f7211f0145434c6c9 DIST instantclient-sdk-linux.x64-12.1.0.2.0.zip 667174 BLAKE2B ad3f85a45fa04a579c7233d549a2c4083f0c07348503baea20f8b5404f097c36aed382d0316fbfcd6ec85f56524c288933613de2fc9fcafe961fed32108e002a SHA512 451918e34c4e41dcaea6d678cf10a20a3fb80be5c060aa1a2890f2eb528e6e4982bfd758598eaa115cd367cde0468f7f0f811bac2ef28671075868857eaf9f2e DIST instantclient-sdk-linux.x64-12.2.0.1.0.zip 674743 BLAKE2B fd1ab9b7fb2c3151a30d4f3f01d4003f46f95ae78f822214beed071bd52caddb3df39488d4341cb39a1f9a3259be0bc65b53df7f221055d8540d8fcc531455e9 SHA512 4a62ae1be31514664a0f442f65df633b93bea25f1ebe84e405865b9e363017726075bf2d5b2181600018ee122f74649aaa8ec5b507ee8938e33ae056a7f828b6 +DIST instantclient-sdk-linux.x64-18.3.0.0.0dbru.zip 927118 BLAKE2B 9c6cd889843552cee3e84566d9c1b29369b1e7b20a01fac65676a33d6196b042a4c34cd2df8cf1ec5c8664a403e44e6a283f42912b7e056e093c744bd24ec24f SHA512 c9e1493601ec70541e437ded748f3be24deaa3f1037884fd003907bbab38b3099aef12dda1b9845c3eb3ce3827f743696f5ebe6d8dffe7974088c1329528b729 DIST instantclient-sqlplus-linux-12.1.0.2.0.zip 828190 BLAKE2B b047e7ea3bbf1390c7ce3ad96c883d6a234798284b91b8ca8de2b086c27128144a0a3fdee2062c826e7e16b5dc263efdaab7e464371ef63deca4d9ffe4f668a7 SHA512 e521f141f0bb4fe62bda6da389a9c1038be879f1456500a9e70ac0a41d4f35cf2051181a03223521aa24ee06a33b67614d3afd91f01099afa0081f2771876d43 DIST instantclient-sqlplus-linux-12.2.0.1.0.zip 869831 BLAKE2B f6c04823b1a6ac45594f13cc2ef45ab0ed25e5dd68bc33cc6412a578647df4472a71293cadbe1e98ea2983664a083b9b148aea04e717e5039e6def065d1ea583 SHA512 83894a72192ea9ca86d361ba70a6c011f297afa5d186a49fbab7050d9615de300d54b12af8d948fe18a75dcf51bd04f9feaa8460a1c69df9c55f9854e3cee61e +DIST instantclient-sqlplus-linux-18.3.0.0.0dbru.zip 881315 BLAKE2B 787dd43ffaadd493d8cb3a9a8bbd160f75c51ad07e16d8eb7631e8368b4a8bfe9e574326837724b3573705e1c309cbe0bf364c1b98660534b05f5d72d28b1b11 SHA512 9087e5654143c9da3499fb7f1b8a15b04433cacc0d96257519788b3cd12a0aa480b37fa37fbe55a2f40940ea8da1eeae9881712a87d5942e142c0f29b580e54d DIST instantclient-sqlplus-linux.x64-12.1.0.2.0.zip 861284 BLAKE2B fe2c3e3cd90c61aba7220c7782bcb540017aaa82f884b730b0ab3dfce462f866b468cda71106e016f9581a186582701239c282cb52927face949b0c1f8690692 SHA512 ad0af692bcae1231b58c7ea55fa79d85c7a5c9875a805565b1b5956ed30e608d753ac9210f6169ab3ff4e42ac2f1d871ccff47bd2656f7684925136fef1f30c2 DIST instantclient-sqlplus-linux.x64-12.2.0.1.0.zip 904309 BLAKE2B 5d2dca2c98187674a506808f18ef8032f595d250c2a2577cf0cd7a9d785384a29d612b686575ac15516848792539d362745cc1c8aa321d2c84c10df01c896017 SHA512 7d31a5262138f8ae0429cf08f0743b9c8c7863fc8e6abfa8ef089cee2059da75bf23503f9f1f09c28b82c5209aca27f81da6c890799236307395b59fea3bf012 +DIST instantclient-sqlplus-linux.x64-18.3.0.0.0dbru.zip 915778 BLAKE2B 8d93e462568a5bf5a294a5abcf0a0e30c08e9eef18c01a79b8f716261efbeb14a286d1058ddfa278108daeb49b74a3e296efa83291d7bc03f4ad35428c946701 SHA512 878ac2cf58aaa8cb237779fcd04378c95d738fd444eddd5745838fa86e8cd60f1c2be49f0f4fc3d4b16dca652fe66681ac0907a4aeddec1d9433e63d2f4e5db6 DIST instantclient-tools-linux-12.1.0.2.0.zip 187088 BLAKE2B 41b68efbbe5925c64a869c71a12a947743e40b7d268c45a1b18c187a8b2179e224cd4ea940248d690b8f334c91afd901c1b3be34b2e8c2748e7f79487890cb60 SHA512 37a9eb3e2fdbbbf32f0fb5d017209db1b62d54efe48a875625e9d6162ea894d93d144358b2360989fa71704b346f86b36f1640a5c98f8aac7c1e6853b2d078fd DIST instantclient-tools-linux-12.2.0.1.0.zip 1032131 BLAKE2B 1a5d94b129d2d8a23031daee3882aef0b783c019baa69fcbd2a5d4ca4c97585212580196be158bdccaff2097027ceee881e948604ea2aa15525f36ea16e04ebd SHA512 e547d571bf881e787dc19bf23f82c4396f14dbca35a51a21e4133ff463f3c3c2c308cc2263f55b49ce70604569158266cd88d7ebf8b5cf51c9cd58b2871133e2 +DIST instantclient-tools-linux-18.3.0.0.0dbru.zip 1042756 BLAKE2B 1b1af7abb50b6977e0dd4bc0f2b5e89534cf5bffe216dbe553063761470c45f330f4a72ece428a3e0dc8162cebad3cf0ffa628f4b3879bc434ecda7b7b07570f SHA512 b809b83e2e7dbe19c13611c1eb819fa4648a127ddc8a97abaa794213c7f4b6d28b70956aac4f331389d088c6fccc998d0eda8dc39f2dedc338f3baf03bc3ceac DIST instantclient-tools-linux.x64-12.1.0.2.0.zip 203511 BLAKE2B 6482cfa3ba521a5f5ad3e1517037f514daa1f452d8a5b38f0b4c949681a87dc54fe9551f52fcdc4e1ea6d243a808d3bd763147eaa72d9f656274ac7185823754 SHA512 f18ca11300fc20925c72122d03fc00402b9a52b39f7f70cfd3fa97264a1a2a173e7f77059affba98e897546e05c6ac1e3a546ce1c7e63ef049130496d346342b DIST instantclient-tools-linux.x64-12.2.0.1.0.zip 1132671 BLAKE2B a9ae6d2cd4e5661cb6a5dbb08cbc08ae4a5c28ce0bcc43db86ebd37997f8b14ec27f76613a1429d9359a765b98b465964bc5d24f1fce1d7964597191be658957 SHA512 1697289fc4b6a37277036dbef1892bd113892fcd3b0f347f0960ef8a1b90f3e91411bb237060e88bfdd418e50600372b710df08d97a4e847fd90d077ed0647d2 +DIST instantclient-tools-linux.x64-18.3.0.0.0dbru.zip 1142609 BLAKE2B 5c915bd940b7bfaa42429710685cfafc5f0189607da2d789f4aaada2bc9d3365ad8e9ee31cc209830fa54b406ffe4b9b2fc2b5e0b6819ff176f7dbb566117a79 SHA512 2c198d9e723b39f7b512217eb08557dfa3c9ae32858acd882df8b9b24beecffe6b44eb089b50341edf01d7e4c0514d4b3de4aa06fa9185aa0538855963c174a4 EBUILD oracle-instantclient-12.1.0.2.ebuild 8668 BLAKE2B 9f26688a731756debbc5ab9181e2c51289c7ba17cff45f018356c7fce4f17ef0429490a2f768c6e7d1e0b96d75ad722fa6343b5dec55bbc05eb7971465cc62af SHA512 6b395cc48970d9ee0401947a70306732688c2b8fc6c15b11139c395a31ba82cc66bcee8e16ea200468759709ad9bb0f1f270afda4507cf9d6c4fb698aa685706 EBUILD oracle-instantclient-12.2.0.1_p2.ebuild 9015 BLAKE2B 25c9c2d664b7a8938f2dea9c2a1ade5be23cc56b753c028efd5b82f2c4462462772dccaa319ecf9694ec73f8d23c9bfe029d1d7d91c10446752bc3ce6bc99bf3 SHA512 a7d154e698de828593be605f5e47ad33251e7bad643d34ee667d531b1348053ff0ce2e06cc0e3b22f77a0732fd815ab6da2f4c33cfb8c713f2816a797cce286f -MISC metadata.xml 827 BLAKE2B 3a06fcafb74d62d5edd44cd958f72c11da88dfb22becf03d6af168d4cf7d0f21f198df024be409cabae066de5a088064b86141668ebf31cdf984c87f477a184a SHA512 7c9b7c73eaaac80da5d48089c2537e26edf2e5788eafdef53416f84389fa88c5f3f470d888a8af4641a75303bab57226e82bb96e46c3bc66042890e1b1cd3204 +EBUILD oracle-instantclient-18.3.0.0.ebuild 10426 BLAKE2B c5ea6700fe03721d9b587134e281c8e234061d83d48b377dda3d097279a02debb13328f72f8cf426ff13d48eb0d9885cc79208e1eecc9c6e46edadf3948e54ce SHA512 9b6ff606dfdefb5629fef92f532ab072c98e1f7c7dd2e394e975994a4b3483706e541bd5124dd2c0ec562fd53c64705840ae861d9e50c849b2ff2671c8d593b9 +MISC metadata.xml 957 BLAKE2B dfe01a80765d0ec1afac4a5045e2081e39ee9060a17f278b6eb7cfae7670ec102a504397d037b2b8d8ad82d242a9fa3ed1d4309b25158b934f8674a062dec53e SHA512 dd8c982f1ce276e7701e6b82b71e2464eaa21e413115c2a4d3bbd49053539ff3a9bcfc84252ef7aa9c39d36054fee119002716de5d525a20bb1f2da0d44b3c89 diff --git a/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch b/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch new file mode 100644 index 000000000000..eb6fc025d78b --- /dev/null +++ b/dev-db/oracle-instantclient/files/18.3.0.0-makefile.patch @@ -0,0 +1,40 @@ +Fake demo_xe.mk found in Oracle eXpress Edition, +known by CPAN DBD::Oracle (bug#165834). +This provides absolute paths for headers and libraries. +--- instantclient_18_3/sdk/demo/demo.mk ++++ instantclient_18_3/sdk/demo/demo.mk +@@ -28,13 +28,18 @@ + CC=/opt/SunProd/SUNWspro6.1/bin/CC + cc=/opt/SunProd/SUNWspro6.1/bin/cc + +-ICINCHOME=../ +-ICLIBHOME=../../ ++ifeq ($(BUILD32),T) ++LIBDIR=lib32 ++else ++LIBDIR=lib ++endif ++ICINCHOME=$(ORACLE_HOME)/sdk/include ++ICLIBHOME=$(ORACLE_HOME)/$(LIBDIR) + ICLIBPATH=-L$(ICLIBHOME) + THREADLIBS=-lthread + CCLIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS) + +-CCINCLUDES = -I$(ICINCHOME)include ++CCINCLUDES = -I$(ICINCHOME) + + CCFLAGS=$(CCINCLUDES) -D_REENTRANT -g -xs + LDFLAGS= +@@ -55,10 +60,10 @@ + OCCIOTTPWD=tiger + + .cpp.o: +- $(CC) -c -I$(ICINCHOME)include $(CCFLAGS) $< ++ $(CC) -c -I$(ICINCHOME) $(CCFLAGS) $< + + .c.o: +- $(cc) -c -I$(ICINCHOME)include $(CCFLAGS) $< ++ $(cc) -c -I$(ICINCHOME) $(CCFLAGS) $< + + all: clean buildoci $(OCCIDEMO) $(OCCIOBJDEMO) + diff --git a/dev-db/oracle-instantclient/metadata.xml b/dev-db/oracle-instantclient/metadata.xml index 4021726b1f0e..d13ee6a779fb 100644 --- a/dev-db/oracle-instantclient/metadata.xml +++ b/dev-db/oracle-instantclient/metadata.xml @@ -5,15 +5,16 @@ haubi@gentoo.org - Free, light-weight and easily installed Oracle Database libraries - and SDKs for building and connecting client applications to local - or remote Oracle Databases. + Free, light-weight, and easily installed Oracle Database tools, + libraries and SDKs for building and connecting applications to + an Oracle Database instance. Support for XA, Internationalization, and RowSet operations under JDBC Libraries for enabling ODBC applications + "proc" binary and related files to precompile a Pro*C application Header files and an example makefile for developing Oracle applications - Libraries and executable for running SQL*Plus - Workload Replay Client + The SQL*Plus command line tool for SQL and PL/SQL queries + Data Pump, SQL*Loader and Workload Replay Client diff --git a/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0.ebuild b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0.ebuild new file mode 100644 index 000000000000..0a67edfcb549 --- /dev/null +++ b/dev-db/oracle-instantclient/oracle-instantclient-18.3.0.0.ebuild @@ -0,0 +1,342 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit eutils pax-utils multilib-minimal + +DESCRIPTION="Oracle 18c Instant Client with SDK" +HOMEPAGE="https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html" + +MY_SOVER=18.1 # the library soname found in the zip files + +IUSE="jdbc odbc precomp +sdk +sqlplus tools" +REQUIRED_USE="precomp? ( sdk )" + +MY_PVM=$(ver_cut 1-2) +MY_P="instantclient_$(ver_rs 1 _ ${MY_PVM})" + +MY_PV=$(ver_cut 1-4) +MY_PVP=$(ver_cut 5) # p2 + +MY_PLAT_x86="Linux x86" +MY_BITS_x86=32 +MY_A_x86="${PN/oracle-/}-basic-linux-${MY_PV}.0dbru.zip" +MY_A_x86_jdbc="${MY_A_x86/basic/jdbc}" +MY_A_x86_odbc="${MY_A_x86/basic/odbc}" +MY_A_x86_precomp="${MY_A_x86/basic/precomp}" +MY_A_x86_sdk="${MY_A_x86/basic/sdk}" +MY_A_x86_sqlplus="${MY_A_x86/basic/sqlplus}" +MY_A_x86_tools="${MY_A_x86/basic/tools}" + +MY_PLAT_amd64="Linux x86-64" +MY_BITS_amd64=64 +MY_A_amd64="${PN/oracle-}-basic-linux.x64-${MY_PV}.0dbru.zip" +MY_A_amd64_jdbc="${MY_A_amd64/basic/jdbc}" +MY_A_amd64_odbc="${MY_A_amd64/basic/odbc}" +MY_A_amd64_precomp="${MY_A_amd64/basic/precomp}" +MY_A_amd64_sdk="${MY_A_amd64/basic/sdk}" +MY_A_amd64_sqlplus="${MY_A_amd64/basic/sqlplus}" +MY_A_amd64_tools="${MY_A_amd64/basic/tools}" + +if [[ ${MY_PVP} == p* ]] +then + MY_PVP=-${MY_PVP#p} + # Updated 9/22/2017: instantclient-odbc-linux-12.2.0.1.0-2.zip + MY_A_x86_odbc="${MY_A_x86_odbc%.zip}${MY_PVP}.zip" + MY_A_amd64_odbc="${MY_A_amd64_odbc%.zip}${MY_PVP}.zip" +fi + +SRC_URI=" + abi_x86_32? ( + ${MY_A_x86} + jdbc? ( ${MY_A_x86_jdbc} ) + odbc? ( ${MY_A_x86_odbc} ) + precomp? ( ${MY_A_x86_precomp} ) + !abi_x86_64? ( + sdk? ( ${MY_A_x86_sdk} ) + sqlplus? ( ${MY_A_x86_sqlplus} ) + tools? ( ${MY_A_x86_tools} ) + ) ) + abi_x86_64? ( + ${MY_A_amd64} + jdbc? ( ${MY_A_amd64_jdbc} ) + odbc? ( ${MY_A_amd64_odbc} ) + precomp? ( ${MY_A_amd64_precomp} ) + sdk? ( ${MY_A_amd64_sdk} ) + sqlplus? ( ${MY_A_amd64_sqlplus} ) + tools? ( ${MY_A_amd64_tools} ) + ) +" + +LICENSE="OTN" +SLOT="0/${MY_SOVER}" +KEYWORDS="~amd64 ~x86" +RESTRICT="fetch splitdebug" + +DEPEND="app-arch/unzip" +RDEPEND=" + >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}] + !/dev/null || die + pax-mark -c ${paxbins[*]#*/} || die + popd >/dev/null || die + eend $? + + einstalldocs + + # create path for tnsnames.ora + insinto /etc/oracle + doins "${FILESDIR}"/tnsnames.ora.sample + + # Add OCI libs to library path + { + echo "# ${EPREFIX}/etc/env.d/50${PN}" + echo "# Do not edit this file, but 99${PN} instead" + echo + echo "ORACLE_HOME=${EPREFIX}${oracle_home}" + echo "LDPATH=${ldpath}" + echo "TNS_ADMIN=${EPREFIX}/etc/oracle/" + } > "${T}"/50${PN} + + doenvd "${T}"/50${PN} + + # ensure ORACLE_HOME/lib exists + [[ -e ${ED}${oracle_home}/lib/. ]] || + dosym $(get_libdir) "${oracle_home#/}"/lib +} + +pkg_preinst() { + if [[ -r ${EROOT}/etc/env.d/99${PN} ]]; then + cp "${EROOT}/etc/env.d/99${PN}" "${ED}/etc/env.d/" || die + else + { + echo "# ${EPREFIX}/etc/env.d/99${PN}" + echo "# Configure system-wide defaults for your Oracle Instant Client here" + echo + echo "#$(grep '^ORACLE_HOME=' "${ED}/etc/env.d/50${PN}")" + echo "#$(grep '^TNS_ADMIN=' "${ED}/etc/env.d/50${PN}")" + echo "#NLS_LANG=" + } > "${ED}/etc/env.d/99${PN}" + fi +} + +pkg_postinst() { + elog "${P} does not provide an sqlnet.ora" + elog "configuration file, redirecting oracle diagnostics for database-" + elog "and network-issues into ~USER/oradiag_USER/ instead." + elog "It should be safe to ignore this message in sqlnet.log there:" + elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []" + elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference." + elog "If you want to directly analyse low-level debug info or don't want" + elog "to see it at all, so you really need an sqlnet.ora file, please" + elog "consult http://search.oracle.com/search/search?q=sqlnet.ora" + elog "" + elog "TNS_ADMIN has been set to ${EPREFIX}/etc/oracle by default," + elog "put your tnsnames.ora there or configure TNS_ADMIN" + elog "to point to your user specific configuration." + ewarn "Please re-source your shell settings for ORACLE_HOME" + ewarn " changes, such as: source ${EPREFIX}/etc/profile" +} diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest index 11a841ca85d9..87e184a3f787 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -1,7 +1,14 @@ AUX my.cnf-5.6 4568 BLAKE2B 633cc45bcc751046ef766dcabd1c8db2cd474f13cde436d41698a810787bc52cc8c11aee79c49ed884f4b01ea26fad11f9ffab08471eb10d6752007fd44d372b SHA512 498826f147ad01615358111511c88f671ff823c400782dbad5f359aff99fa88a7be66e3c3b42fd58a5634f17e12f6a18e1896340f1a5a7acecd75320671c3a10 +AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e216d3f10034796de9aa618efb11482cef78b7c7e50393b5f665810d03321b5ca770ac8a6144 SHA512 1d7250689005c948f4a849959baf33f5f0fda099f230611651919ed053fb563daa19d996b7ca6714e224174172fb504f4d7d08e9d449a7e1203e32cf3fdec782 +AUX my.cnf.distro-client 631 BLAKE2B 9ba4edf4398410ef40bf7312a485edd70a807a9da37c69bb6f6bee2c58a722fef1b9f37d28f09f41912722451cc0e9913218d15be472a853a942119f019bf486 SHA512 f40539a56afe79b7c0dff14de46690fd67e8350755b27fbb490d914001c01836cdf9f851aa461bd8b60943ef2ca084b70e48d995f5c18bcc241309f3473c610c +AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1fd14b4c2dea398814beda3c09aabea04dd3a9e145464524c629e7e69dc257d1245e0a46dd8584b7f685172 SHA512 cf172edc23d3dda49c21af6b8adef8aa13694d8ceecddf1d612d4ae34d00ba53c51ae4ae7ca4d11083eeacb5d862f59a855a9d80e9e448ab8bbf17f42aac2650 +DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a +DIST mysql-extras-20181017-2201Z.tar.bz2 328311 BLAKE2B f1b179e0f2d63105f03ba238125e6cfa2c0cbf2084251b6c344bd02517899322bd161470eddab28c514349caac6401c35909b2f37264fdaf2dc196a309d3cc27 SHA512 26e26a3ad926bc9267d89f0bc34b030bc6292f21d3007185c4c1155beaa608566b4268f93edb64fd6156dbae80ac4f2817e78c1e92e90985e2675c2b1f97854e DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c +DIST percona-server-5.7.23-23.tar.gz 79165468 BLAKE2B a460ac88886fa2be65abb0520d541db54413274599e02d8de3a01a68f8c3da431bfe819eb32bf80518fdff69bbcfae90ee089d2a096ee6210f9e4efe60dbab25 SHA512 351d40d3f7c3fe72f733443a6ef3902e1455390835e52e73d7eb48698ac6f2363e07811d40b22af5b1c7607622017d613279581940522c5e99660fac89d4d4c6 EBUILD percona-server-5.6.40.84.0.ebuild 31732 BLAKE2B 253a7c8f0a734824a8f11e689f49e5fd90369e6b507bbcfbf87d04af1c7804f8dfffd3ec69bd466a769203dae893d9326cbc8d8ded60ddf724a06369839a727a SHA512 414b14c70a25e2ad20a35013345ae81edc69c57d85662ef104dbc5d3d6bd98e9b89b775ad1f0f2c0842c3ec868a5c651d03b91cb15fb841700e9ec13d0e00d26 EBUILD percona-server-5.6.41.84.1.ebuild 31633 BLAKE2B 0715c23cab0e532c855e6215bf8f1d319f774a9b825e69957639681027bf179b1cf5334e518ca066f561d9bb431bb8ebd9caed5acc33ffeb4369ed02c4962c0f SHA512 88f79bf0b9873a8daf0759cfcc0095d2480a1f098a9ef15536cb331eb4bd2c4e38b40299081baca296e4f6c51f9a3e6f65741c3886ba98473c59b43cfc8149df -MISC metadata.xml 1387 BLAKE2B 0998726bdceb6d498051f6ae741a8d762f7bb0ec6cb6659e104cce9fd5bb8615ecb0a531a8d3691d70567973efee47ae6fac339f41cdd6851675dd10301d94c3 SHA512 836f32db502edd1de90ecf0ce155326d0f2d1338aaf0ad21bc2f755e50e1f3e456c5735d338d71095eb9f05142843a430675ff65603b07fd63fd74691e3c9040 +EBUILD percona-server-5.7.23.23-r1.ebuild 33817 BLAKE2B 7f717daa32a71cdf530ec8685d75a6d37fa26fcb81315792844ed9efab29abd2e524d24b5ca43748f19923ade89304a7e3989b48f30a49b1f298d6418730c473 SHA512 902abd98a239b571505b78add6be3331e3d0bde94341e43e0ed3dfba0e626a74b97097bdb50f7be3475a5bf9e0dcfe5a7a519989b06bac8fd61f152666c31279 +MISC metadata.xml 1490 BLAKE2B 8e9d17e8f501a86cf8293f3112ce98b920833fb8bf71d9c9ff3a8d6e452fd486cd2bb665ba9d7938dfc6b94551becdd498993c69f0647a6b64ccab417467d5e0 SHA512 8e75680e685703072f2628cf812e884eaf47974ed088f44445b8476caf38a97c91b525555f25b4279b73cae78be21af6f8dd173be51cc1e1b1e03a2c779355e5 diff --git a/dev-db/percona-server/files/my.cnf-5.7 b/dev-db/percona-server/files/my.cnf-5.7 new file mode 100644 index 000000000000..571ebf07a76e --- /dev/null +++ b/dev-db/percona-server/files/my.cnf-5.7 @@ -0,0 +1,3 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. + +!includedir @GENTOO_PORTAGE_EPREFIX@/etc/mysql/mysql.d diff --git a/dev-db/percona-server/files/my.cnf.distro-client b/dev-db/percona-server/files/my.cnf.distro-client new file mode 100644 index 000000000000..8bf183634304 --- /dev/null +++ b/dev-db/percona-server/files/my.cnf.distro-client @@ -0,0 +1,21 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-client.cnf: The global mysql configuration file. + +# The following options will be passed to all MySQL clients +[client] +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +character-sets-dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets +default-character-set=utf8 + +[mysql] +# uncomment the next directive if you are not familiar with SQL +#safe-updates + +[mysqldump] +quick +max_allowed_packet = 16M + +[myisamchk] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets + +[myisampack] +character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets diff --git a/dev-db/percona-server/files/my.cnf.distro-server b/dev-db/percona-server/files/my.cnf.distro-server new file mode 100644 index 000000000000..d4ed30c1f089 --- /dev/null +++ b/dev-db/percona-server/files/my.cnf.distro-server @@ -0,0 +1,28 @@ +# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/50-distro-server.cnf: The global mysql configuration file. + +# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations +[mysqld] +character-set-server = utf8 +user = mysql +port = 3306 +socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock +pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysql.pid +log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err +basedir = @GENTOO_PORTAGE_EPREFIX@/usr +datadir = @DATADIR@ +skip-external-locking +lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql +#Set this to your desired error message language +lc_messages = en_US + +# security: +# using "localhost" in connects uses sockets by default +# skip-networking +bind-address = 127.0.0.1 + +log-bin +server-id = 1 + +# point the following paths to different dedicated disks +tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ +#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname diff --git a/dev-db/percona-server/metadata.xml b/dev-db/percona-server/metadata.xml index f3ddb7484a2a..6cc220d337d3 100644 --- a/dev-db/percona-server/metadata.xml +++ b/dev-db/percona-server/metadata.xml @@ -6,8 +6,9 @@ MySQL + Add CJK support for InnoDB fulltext search using app-text/mecab Build the libmysqlclient libraries - Use dev-libs/jemalloc for allocations. + Build experimental features aka "rapid" plugins Use LATIN1 encoding instead of UTF8 Enable SSL connections and crypto functions using dev-libs/libressl Enable NUMA support using sys-process/numactl (NUMA kernel support is also required) diff --git a/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild b/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild new file mode 100644 index 000000000000..d4d61e034774 --- /dev/null +++ b/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild @@ -0,0 +1,1038 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20181017-2201Z" + +CMAKE_MAKEFILE_GENERATOR=emake + +# Python2 required for innodb_stress.innodb_stress{,_blob,_crash} test +PYTHON_COMPAT=( python2_7 ) + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \ + prefix python-any-r1 toolchain-funcs user multilib-minimal + +MY_PV=$(ver_rs 3 '-') +MY_PN="Percona-Server" +MY_P="${PN}-${MY_PV}" +MY_MAJOR_PV=$(ver_cut 1-2) +MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.7/release-notes/release-notes_index.html" + +SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz + mirror://sourceforge/boost/boost_1_59_0.tar.gz +" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb + selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-fix-libressl-support.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-rocksdb-use-system-libs.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND="net-misc/curl:= + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:= + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + numa? ( sys-process/numactl ) + pam? ( virtual/pam:0= ) + rocksdb? ( + app-arch/zstd:= + dev-libs/protobuf:= + ) + tokudb? ( + app-arch/snappy:= + app-arch/xz-utils:= + ) + tokudb-backup-plugin? ( dev-util/valgrind ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + !yassl? ( + client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) + test? ( + $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]') + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +python_check_deps() { + has_version "dev-python/mysql-python[${PYTHON_USEDEP}]" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]] ; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if use numa ; then + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + use test && python-any-r1_pkg_setup + fi + + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so" ]] ; then + libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libperconaserverclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + cmake-utils_src_prepare + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Don't build bundled xz-utils + if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then + echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + fi + + if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then + rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/libevent \ + "${S}"/storage/rocksdb/third_party \ + "${S}"/storage/tokudb/PerconaFT/third_party \ + "${S}"/zlib \ + || die + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die +} + +src_configure(){ + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use tokudb ; then + # https://jira.percona.com/browse/PS-4399 + append-cxxflags -Wno-error=shadow + fi + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${WORKDIR}/boost_1_59_0" + -DWITH_PROTOBUF=system + ) + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + -DWITH_ROCKSDB=$(usex rocksdb 1 0) + $(usex tokudb '' -DWITHOUT_TOKUDB=1) + ) + + if use tokudb ; then + # TokuDB Backup plugin requires valgrind unconditionally + mycmakeargs+=( + $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1) + ) + fi + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild percona-server-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]] ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in Percona-Server 5.7 for now and are believed to be + # false positives or are known to fail: + # + # group_replication.gr_communication_configuration: requires a valid local network address + # which clashes with FEATURES=network-sandbox + # main.percona_bug1289599: https://jira.percona.com/browse/PS-2072 + # main.percona_log_slow_innodb: https://jira.percona.com/browse/PS-4930 + # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com + # which clashes with FEATURES=network-sandbox + # + local t + + for t in \ + group_replication.gr_communication_configuration \ + main.percona_bug1289599 \ + main.percona_log_slow_innodb \ + keyring_vault.keyring_vault_timeout \ + ; do + _disable_test "$t" "False positives in Gentoo / Known bug" + done + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if use tokudb ; then + if [[ -f "/sys/kernel/mm/transparent_hugepage/enabled" ]] ; then + if grep -q -E "\[always\]" /sys/kernel/mm/transparent_hugepage/enabled &>/dev/null ; then + # TokuDB refuses to start when transparent hugepages are enabled + for t in \ + tokudb.rows-32m-rand-insert \ + tokudb.savepoint-2 \ + tokudb.savepoint-3 \ + tokudb.savepoint-4 \ + tokudb.savepoint-1078 \ + tokudb.savepoint-1078-2 \ + tokudb.savepoint-1078-3 \ + tokudb.savepoint-1078-4 \ + ; do + _disable_test "$t" "TokuDB will not work with transparent hugepages enabled" + done + fi + else + einfo "Cannot determine transparent hugepage status." + einfo "Please note that TokuDB refuses to start when transparent hugepages are enabled!" + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + if use tokudb ; then + # Remove some unwanted files + rm -fv \ + "${ED%/}"/usr/COPYING.AGPLv3 \ + "${ED%/}"/usr/COPYING.GPLv2 \ + "${ED%/}"/usr/PATENTS \ + "${ED%/}"/usr/README.md \ + || die + fi + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + echo "USE mysql;" >"${sqltmp}" + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null + chown mysql "${sqltmp}" || die + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" ) + cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + $(use prefix || echo --user=mysql) \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${ROOT%/}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'" + "${EROOT%/}/usr/bin/mysql" \ + --no-defaults \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest index 8ab21c88884e..8cba6237cefb 100644 --- a/dev-db/pgadmin4/Manifest +++ b/dev-db/pgadmin4/Manifest @@ -1,5 +1,5 @@ DIST pgadmin4-3.0.tar.gz 28915010 BLAKE2B 7e6dccd91f082f7b5514f5d3abdf4653a9961b4efc706e10ce58d817785d514508233e25068762fe0e4bca4c1a3cf10a2515afa38e6f9ba3c99b4af3fa32f3d2 SHA512 5921340176e6748ef13112d906061f195d4bb2f73917d762371bbaeb44ef66cf8e0edcd1cd241eb78dae46ed0b3af014c749468a930fb0c0983b38b2c54dfc3a -DIST pgadmin4-3.3.tar.gz 30471775 BLAKE2B 06fe13d4e87709aa7ea5a7eef0aa5c7f3aae6891da0c4414fdf5e8936bb6bb7ac9092fd1e4f32f2f253fad7ace5fb8bdf07fed7ccb6dac68175fee5db2d27f4f SHA512 25027298a51d2ce01902fcd2314e35a44dfb5e3d7f6f5f1620841488bd5b8215436ffcad102fe9846ed4a9dee550232cb0b03c2ee0d5f46f53c753c8107e7ec3 +DIST pgadmin4-3.4.tar.gz 30743447 BLAKE2B 4476989dc9bd672810ced56f4c3e6b87f27ec28d693ab6a909b1cdd4ddc0ae51552fe7ac5a3db4382ccded433b1dab239de01697c0709474381c117460a45163 SHA512 57160827a7577b89029a3a621653f2fec9f3b5379a554ea8bcaf80225f32f1ed93e4560ce5d5b499aff2091589e641bdfe82987be46b6155bca3fb072cf2c5e2 EBUILD pgadmin4-3.0.ebuild 3481 BLAKE2B 697a5b6250d747aff9b4216603077a977a84c44bd344f935315eb0ca9a41b85527b32df819738d42626759fb8244392c15edd4909c9b8f03cdb82debf24f5172 SHA512 5f14d65bc3dac207fd3ced4105be3115cd0821a6a5054ce9d150d31d19ca5de44c66b3971444e200d79bfc6b11949cd437a0cbec388f26beef94ccdacb1c3b19 -EBUILD pgadmin4-3.3.ebuild 3530 BLAKE2B ab03ed3c766c2d49feeb057b20054c36b068898e2269f2bf0fb9a967e376d2aff1219932df9ccb1fda4d55aad05161b1caa6435abbb05ea8ae735805cb54bf3d SHA512 105d6449bb961770948128131b4338190fbf27e46467d5b75a99b3b8f32a102137608f3659fb1bfb6cf274e640e88424409d1c0e00df4a84e25553690e29f463 +EBUILD pgadmin4-3.4-r1.ebuild 3497 BLAKE2B eaf731dddc9a70f754b9c224dc5ccd69aa11ed05cbaac23b7be38d3c995a8bad81a678ebe823f5747c49e8b13b1b200ed285f082c9e5ac764d4f28cb764af164 SHA512 079991dff7bdb07fb21b8b0e6f9c0749d9d09021afb24265ab907141b80a5d728d6d8d0d5a6f752ceb3cbb7fd340d6bf6ebc65022e1a8b980817e0b17aa9f2d4 MISC metadata.xml 266 BLAKE2B 9d5988ab45f9939f9be5ee7f4b7a9950a3d62252aa0d3e6c953265467428c59fb8c05b2bb72085431b7aa9fc18d31f2b3273e8fdb33443d786b2237db697b7e2 SHA512 9f85990c7ce6a1de5c1067e4781af18bede2d3bd02963a7b2927766b70dbe98d3fb63bb01e19b1cf6e2b77038d9788bf38155b3cc33f9e5ff8430b10a4006325 diff --git a/dev-db/pgadmin4/pgadmin4-3.3.ebuild b/dev-db/pgadmin4/pgadmin4-3.3.ebuild deleted file mode 100644 index 2577aff506aa..000000000000 --- a/dev-db/pgadmin4/pgadmin4-3.3.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{4,5,6} ) -PYTHON_REQ_USE="sqlite" - -inherit python-single-r1 qmake-utils - -DESCRIPTION="GUI administration and development platform for PostgreSQL" -HOMEPAGE="https://www.pgadmin.org/" -SRC_URI="mirror://postgresql/pgadmin/${PN}/v${PV}/source/${P}.tar.gz" - -LICENSE="POSTGRESQL" -KEYWORDS="~amd64 ~x86" -SLOT="0" -IUSE="doc" - -RESTRICT="test" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -COMMON_DEPEND="${PYTHON_DEPS} - dev-qt/qtwidgets:5 - dev-qt/qtwebkit:5 - dev-qt/qtwebengine:5[widgets] -" - -DEPEND="${COMMON_DEPEND} - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) -" - -RDEPEND="${COMMON_DEPEND} - >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}] - >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] - >=dev-python/beautifulsoup-4.4.1[${PYTHON_USEDEP}] - >=dev-python/blinker-1.4[${PYTHON_USEDEP}] - >=dev-python/click-6.6[${PYTHON_USEDEP}] - >=dev-python/extras-1.0.0[${PYTHON_USEDEP}] - >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] - >=dev-python/flask-1.0.2[${PYTHON_USEDEP}] - >=dev-python/flask-babel-0.11.1[${PYTHON_USEDEP}] - >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}] - >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}] - >=dev-python/flask-htmlmin-1.3.2[${PYTHON_USEDEP}] - >=dev-python/flask-login-0.3.2[${PYTHON_USEDEP}] - >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}] - >=dev-python/flask-migrate-2.1.1[${PYTHON_USEDEP}] - >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}] - >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}] - >=dev-python/flask-security-3.0.0[${PYTHON_USEDEP}] - >=dev-python/flask-sqlalchemy-2.3.2[${PYTHON_USEDEP}] - >=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}] - >=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}] - >=dev-python/itsdangerous-0.24[${PYTHON_USEDEP}] - >=dev-python/jinja-2.7.3[${PYTHON_USEDEP}] - >=dev-python/linecache2-1.0.0[${PYTHON_USEDEP}] - >=dev-python/markupsafe-0.23[${PYTHON_USEDEP}] - >=dev-python/mimeparse-1.6.0[${PYTHON_USEDEP}] - >=dev-python/passlib-1.7.1[${PYTHON_USEDEP}] - >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}] - >=dev-python/psycopg-2.7.4[${PYTHON_USEDEP}] - >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}] - >=dev-python/pyrsistent-0.14.2[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7.1[${PYTHON_USEDEP}] - >=dev-python/python-sqlparse-0.2.4[${PYTHON_USEDEP}] - >=dev-python/pytz-2018.3[${PYTHON_USEDEP}] - >=dev-python/simplejson-3.13.2[${PYTHON_USEDEP}] - >=dev-python/six-1.11.0[${PYTHON_USEDEP}] - >=dev-python/speaklater-1.3[${PYTHON_USEDEP}] - >=dev-python/sqlalchemy-1.2.5[${PYTHON_USEDEP}] - >=dev-python/sshtunnel-0.1.3[${PYTHON_USEDEP}] - >=dev-python/werkzeug-0.9.6[${PYTHON_USEDEP}] - >=dev-python/wtforms-2.1[${PYTHON_USEDEP}] -" - -S="${WORKDIR}"/${P}/runtime - -src_prepare() { - cd "${WORKDIR}"/${P} || die - default -} - -src_configure() { - eqmake5 -} - -src_compile() { - default - if use doc; then - cd "${WORKDIR}"/${P} || die - emake docs - fi -} - -src_install() { - dobin pgAdmin4 - - cd "${WORKDIR}"/${P} || die - - local APP_DIR=/usr/share/${PN}/web - insinto "${APP_DIR}" - doins -r web/* - cat > "${D}${APP_DIR}"/config_local.py <<-EOF - SERVER_MODE = False - UPGRADE_CHECK_ENABLED = False - EOF - python_optimize "${D}${APP_DIR}" - - local CONFIG_DIR="/etc/xdg/pgadmin" - dodir "${CONFIG_DIR}" - cat > "${D}${CONFIG_DIR}"/pgadmin4.conf <<-EOF - [General] - ApplicationPath=${APP_DIR} - PythonPath=$(python_get_sitedir) - EOF - - if use doc; then - rm -r docs/en_US/_build/html/_sources || die - insinto /usr/share/${PN}/docs/en_US/_build - doins -r docs/en_US/_build/html - fi -} diff --git a/dev-db/pgadmin4/pgadmin4-3.4-r1.ebuild b/dev-db/pgadmin4/pgadmin4-3.4-r1.ebuild new file mode 100644 index 000000000000..18064c0d8eed --- /dev/null +++ b/dev-db/pgadmin4/pgadmin4-3.4-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{4,5,6} ) +PYTHON_REQ_USE="sqlite" + +inherit python-single-r1 qmake-utils + +DESCRIPTION="GUI administration and development platform for PostgreSQL" +HOMEPAGE="https://www.pgadmin.org/" +SRC_URI="mirror://postgresql/pgadmin/${PN}/v${PV}/source/${P}.tar.gz" + +LICENSE="POSTGRESQL" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="doc" + +RESTRICT="test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +COMMON_DEPEND="${PYTHON_DEPS} + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 +" + +DEPEND="${COMMON_DEPEND} + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) +" + +RDEPEND="${COMMON_DEPEND} + >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/beautifulsoup-4.4.1[${PYTHON_USEDEP}] + >=dev-python/blinker-1.4[${PYTHON_USEDEP}] + >=dev-python/click-6.6[${PYTHON_USEDEP}] + >=dev-python/extras-1.0.0[${PYTHON_USEDEP}] + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/flask-1.0.2[${PYTHON_USEDEP}] + >=dev-python/flask-babel-0.11.1[${PYTHON_USEDEP}] + >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}] + >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}] + >=dev-python/flask-htmlmin-1.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-login-0.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}] + >=dev-python/flask-migrate-2.1.1[${PYTHON_USEDEP}] + >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}] + >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}] + >=dev-python/flask-security-3.0.0[${PYTHON_USEDEP}] + >=dev-python/flask-sqlalchemy-2.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}] + >=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}] + >=dev-python/itsdangerous-0.24[${PYTHON_USEDEP}] + >=dev-python/jinja-2.7.3[${PYTHON_USEDEP}] + >=dev-python/linecache2-1.0.0[${PYTHON_USEDEP}] + >=dev-python/markupsafe-0.23[${PYTHON_USEDEP}] + >=dev-python/mimeparse-1.6.0[${PYTHON_USEDEP}] + >=dev-python/passlib-1.7.1[${PYTHON_USEDEP}] + >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}] + >=dev-python/psycopg-2.7.4[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyrsistent-0.14.2[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.7.1[${PYTHON_USEDEP}] + >=dev-python/python-sqlparse-0.2.4[${PYTHON_USEDEP}] + >=dev-python/pytz-2018.3[${PYTHON_USEDEP}] + >=dev-python/simplejson-3.13.2[${PYTHON_USEDEP}] + >=dev-python/six-1.11.0[${PYTHON_USEDEP}] + >=dev-python/speaklater-1.3[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.5[${PYTHON_USEDEP}] + >=dev-python/sshtunnel-0.1.3[${PYTHON_USEDEP}] + >=dev-python/werkzeug-0.9.6[${PYTHON_USEDEP}] + >=dev-python/wtforms-2.1[${PYTHON_USEDEP}] +" + +S="${WORKDIR}"/${P}/runtime + +src_prepare() { + cd "${WORKDIR}"/${P} || die + default +} + +src_configure() { + eqmake5 +} + +src_compile() { + default + if use doc; then + cd "${WORKDIR}"/${P} || die + emake docs + fi +} + +src_install() { + dobin pgAdmin4 + + cd "${WORKDIR}"/${P} || die + + local APP_DIR=/usr/share/${PN}/web + insinto "${APP_DIR}" + doins -r web/* + cat > "${D}${APP_DIR}"/config_local.py <<-EOF + SERVER_MODE = False + UPGRADE_CHECK_ENABLED = False + EOF + python_optimize "${D}${APP_DIR}" + + local CONFIG_DIR="/etc/xdg/pgadmin" + dodir "${CONFIG_DIR}" + cat > "${D}${CONFIG_DIR}"/pgadmin4.conf <<-EOF + [General] + ApplicationPath=${APP_DIR} + PythonPath=$(python_get_sitedir) + EOF + + if use doc; then + rm -r docs/en_US/_build/html/_sources || die + insinto /usr/share/${PN}/docs/en_US/_build + doins -r docs/en_US/_build/html + fi +} diff --git a/dev-db/pgbadger/Manifest b/dev-db/pgbadger/Manifest index c739978566a7..c0a8077e10fa 100644 --- a/dev-db/pgbadger/Manifest +++ b/dev-db/pgbadger/Manifest @@ -1,5 +1,3 @@ DIST pgbadger-10.0.tar.gz 775322 BLAKE2B 072a3b4c2d2d109734fdbf68ff466e34065a852948ae7961e8ba6a40a6881a98653258ee7b483c2a3c9d2d8238370fd842c9b525a0dd11baf1fbf98a0d322406 SHA512 dd1633f1186069a9d59d271cbf0913cf80bcfa88af8236a194f7580c96c84a3513ca0658628069b38ef43a9c9ca7c5573afb2b35e2b1b6d3526f240c2c673bff -DIST pgbadger-9.2.tar.gz 745128 BLAKE2B 63e7d60992e903a136d4f91422a378a6adc5c0477e69ae1cae3d4c1940dc02517f0b6f16d0fa7c5fe0ea365851807dc800bfaef0e95c546d6c4eb4afe0e2d09d SHA512 c99636fc03e3e1c1cf4c8c034e58e2152ec1118954d4fd9bdfa782d7781eee308cdd7450c0bcca6f5936c173b3780c9362fccc8cf79f5b0fffc895f73a322c9e -EBUILD pgbadger-10.0.ebuild 441 BLAKE2B 85fe68c7d32619db1b34515cac7830126777bed1601bba8ec64e6bddce1f874c172e4f3eeea3a993c05edf47a5db577e5f8065b6bd05ec35f6466ecc159d8834 SHA512 052318d8604c69d26f0f46be1006e8005daf7507dfe488c5d1c81a8ab15a34fbf5ffe4993d4429d342d8ca6c269e32aba2cc30916c473659c00ad6ea9afb8634 -EBUILD pgbadger-9.2.ebuild 437 BLAKE2B 51ec9c61888f6e01e9d1b4222166268162d8b8b9a6d57a9ed5e9054244a9c34edde5f0edc913a00fe164f57501c525253867df4f8c1b5cea7539f7070a231539 SHA512 9fd59dc534af5fa16a90f26b0953c5e1c606a873c800a9105dfa403e8372f11bd97840730488229a1f1d6e67ff7e27d58b247972480e15486151e988c3ca5078 +EBUILD pgbadger-10.0.ebuild 432 BLAKE2B 42ab8eb5952d04d2ab5ed39ab016c9849821f3e814173a3b7310cd4eeb7f9a1865de5fc332ffa05b7c51c1891881e01157f8011840a4c9478fc3a35e54741b07 SHA512 dd2a897d1741130a35049959bfe636bd522d96fd19ccb447e44f77bcc5ae3b854ab02bee64065992cb3ed4327de3d3f21aa74cb8422f430f4f947f2653a566b4 MISC metadata.xml 413 BLAKE2B 9b4f24620b42d2cf5befbaed7d52ed2e03d4619ebb547d36e207a900fe481a825a5be0a6fac073d7b278076ced053ae9a3c4b5d05597e5fb4d7ea66c1bff7988 SHA512 6bf32dc50ecd2d51d450413500b00773177109ab3ad26d74b458ec902973fa38542dbc65e65fbbe103b4be63589f61c2b9a6ab6ea5492b1954142afc5c2f8f93 diff --git a/dev-db/pgbadger/pgbadger-10.0.ebuild b/dev-db/pgbadger/pgbadger-10.0.ebuild index aa5e31f45792..9af05d162eb5 100644 --- a/dev-db/pgbadger/pgbadger-10.0.ebuild +++ b/dev-db/pgbadger/pgbadger-10.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,12 +6,12 @@ EAPI=6 inherit perl-module DESCRIPTION="pgBadger is a PostgreSQL log analyzer." -HOMEPAGE="http://dalibo.github.io/pgbadger/" +HOMEPAGE="https://pgbadger.darold.net/" SRC_URI="https://github.com/darold/pgbadger/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" DEPEND=" diff --git a/dev-db/pgbadger/pgbadger-9.2.ebuild b/dev-db/pgbadger/pgbadger-9.2.ebuild deleted file mode 100644 index 16ecc3a80b96..000000000000 --- a/dev-db/pgbadger/pgbadger-9.2.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit perl-module - -DESCRIPTION="pgBadger is a PostgreSQL log analyzer." -HOMEPAGE="http://dalibo.github.io/pgbadger/" -SRC_URI="https://github.com/dalibo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -DEPEND=" - dev-perl/JSON-XS - dev-perl/Text-CSV_XS -" -RDEPEND="${DEPEND}" diff --git a/dev-db/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest index dbf83d1f4e7f..6731c123da4f 100644 --- a/dev-db/phpmyadmin/Manifest +++ b/dev-db/phpmyadmin/Manifest @@ -1,8 +1,8 @@ AUX postinstall-en-3.1.txt 1160 BLAKE2B 0aa21601490830f93a784c1a3c09b90986d606d0086b128b37d6598c946e9ebe43f575f12ca5ee571db8520841a2c08624b567b721567d26ee02e1e3c4c9124e SHA512 7b50ab9f9e3a828bd9bff600550ea97712c28804467ab5900a52710d4adb0581fe33155a965dd3956fcd36cc153b1a18a1f001d88ac52d70c8288faf695f01ec DIST phpMyAdmin-4.7.0-all-languages.tar.xz 7600296 BLAKE2B 10e1168ab7a1d8dfccf5837c211a2e6455d767e27f11aec870a9c4a1a19e8a4a1df67b82a7a83ff3c184c8a111dc272da5c876150615a9fd9a32a643bba84007 SHA512 03f3b56d3fed846e8e27e38a1bf32175b267a3cc2784ee499b64a48b6a37f0352302a9c150e1db1c99f633aabd8a373a834ad7ab2b694146b0ac13dd05bd27e3 DIST phpMyAdmin-4.7.8-all-languages.tar.xz 6218056 BLAKE2B 879ef6703711725781fcf3b4c9ab607741c4df0d2f1955f632087e33b599e54128c0811dbd125d9015a0ec597dd6d9af54e7136e91f8637badf698ad7a30b8ba SHA512 ae6edcfba72413a6e0af0b120a99809320a840ab332ae77263f21e14f3b34a38cca70591628ba5818d6732ff6d23551ea51cbf6a75012d2326d0fab1c2a1b9ae -DIST phpMyAdmin-4.8.2-all-languages.tar.xz 5914400 BLAKE2B 3a2bbef5cba6583e5b8a2409647a6657fcc54041213ad26143e6ca6ab58a7550d94c65afc9dac8f5751c31072748b7183ba255b4aebe047c10b06dc6efdbed16 SHA512 32c5f048b31089ea6a6bc0212b32f01eb842eddc323a9729b98a693d96d38b0ef091b4521381dae432d2482bf0214ad65ffaa13c925b0dca5dcb645e2987eb33 +DIST phpMyAdmin-4.8.3-all-languages.tar.xz 5996528 BLAKE2B cf00bab32547c5a6e8c81f529e5b074e3a7c576a7991d6823239172f91cebad7e1b10e2baee589043bf8a5d1d37470a7614a038a0054eaa18e74028bf3cecfd4 SHA512 95998eda6a2db9020671073c62458d819cbd5e54c5f56f467b109401f6b9ebd2dfbc34cc840980bf2d3a7ee3bc93683b7fe20d9bd72b537d8aa066d39089ff89 EBUILD phpmyadmin-4.7.0.ebuild 1569 BLAKE2B 8582b641380f4a9c47dc3ff62a32774b35f2c252774c91a8ddfa8e7470c8649a192984ccf4124d21af09a3843c1a8d0d520907eb51d50c368d166f1b570ffb1a SHA512 dbc88883d5605423c3ed17563736c1f7e862fcf60e9f162d057229dbd8e372b056072fca592063349361be2a2baeab0ca3ca3a36b4af7130758836a95f1988b7 EBUILD phpmyadmin-4.7.8.ebuild 1564 BLAKE2B 771fd31cb0188c4d229e7bb9af796cbc3ca6d90d03502fae7cdc0b038d3e9e723cfdf72db72952155d5bfbc37bd7d61b669ceac7a5b11304ad283e32321b51a0 SHA512 3b7fe1cd8b766138e569a82e3161c9c21a0853254f0392d94e9cdb3af3e8934a3cbc689bd14d5b04881dd6cde8dc057585417a1d5dd18ad9d250c2c66f35c9af -EBUILD phpmyadmin-4.8.2.ebuild 1569 BLAKE2B 47a60e3d4c06cffc24717efcb8dd15040843407540afa833e3a1019c7bf45532e661a8ba770ec0e0dbdeb77b8274ec24eb44100a53920000805103ed6547259d SHA512 f55ba14d91a2b796e8a2e447458ae713242aede0c00b8a3863907d8a428e502abf5d3cd20cd05ca199185e51bd72b3ac303c1ce0db51e747ab9855d39f53607f +EBUILD phpmyadmin-4.8.3-r1.ebuild 1564 BLAKE2B 5ac1abd3d55453b52b0eb5c9a6c32427e15ee221f7641222c999396b7efeb1dc3c0e6af8949661106d3e49d0a78c1532cfad1b6bfb2743c08d7f8a54e9bfff11 SHA512 247d39125762dd7117b05d4655364784e717a5ff536ef730327e3e83f6fb5ae14eabbf42839c5f568b3ef5e9caa474fb1e8e5b2c21243de651b6d0d750aba50e MISC metadata.xml 701 BLAKE2B aef0a047bca31221714bf27203bd720863c5cef6b7b4dd72b441761a0638bca38c03610e65b3819ca0fba6577973908d7ca40ec8baa3aac1255d19b7cfa9f0a7 SHA512 6dcb099779cd0db4928ee812c81fee762612846044e6ee3df3b661a2dce6aed01420d0bc1301c8ff9d763fb8aeaeef3290a7889b32705fc48e8c392aa8b8ca82 diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.2.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.2.ebuild deleted file mode 100644 index f89f833a9205..000000000000 --- a/dev-db/phpmyadmin/phpmyadmin-4.8.2.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit eutils webapp - -MY_PV=${PV/_/-} -MY_PN="phpMyAdmin" -MY_P="${MY_PN}-${MY_PV}-all-languages" - -DESCRIPTION="Web-based administration for MySQL database in PHP" -HOMEPAGE="https://www.phpmyadmin.net/" -SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" -IUSE="setup" - -RDEPEND=" - dev-lang/php[ctype,filter,json,session,unicode] - || ( - dev-lang/php[mysqli] - dev-lang/php[mysql] - ) - virtual/httpd-php:* -" - -need_httpd_cgi - -S="${WORKDIR}"/${MY_P} - -pkg_setup() { - webapp_pkg_setup -} - -src_install() { - webapp_src_preinst - - dodoc README RELEASE-DATE-${MY_PV} ChangeLog || die - rm -f LICENSE README* RELEASE-DATE-${MY_PV} - - if ! use setup; then - rm -rf setup || die "Cannot remove setup utility" - elog "The phpMyAdmin setup utility has been removed." - elog "It is a regular target of various exploits. If you need it, set USE=setup." - else - elog "You should consider disabling the setup USE flag" - elog "to exclude the setup utility if you don't use it." - elog "It regularly is the target of various exploits." - fi - - insinto "${MY_HTDOCSDIR#${EPREFIX}}" - doins -r . - - webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php - webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php - - webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt - webapp_src_install -} diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild new file mode 100644 index 000000000000..646226a38ba1 --- /dev/null +++ b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils webapp + +MY_PV=${PV/_/-} +MY_PN="phpMyAdmin" +MY_P="${MY_PN}-${MY_PV}-all-languages" + +DESCRIPTION="Web-based administration for MySQL database in PHP" +HOMEPAGE="https://www.phpmyadmin.net/" +SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" +IUSE="setup" + +RDEPEND=" + dev-lang/php[ctype,filter,json,session,unicode] + || ( + dev-lang/php[mysqli] + dev-lang/php[mysql] + ) + virtual/httpd-php:* +" + +need_httpd_cgi + +S="${WORKDIR}"/${MY_P} + +pkg_setup() { + webapp_pkg_setup +} + +src_install() { + webapp_src_preinst + + dodoc README RELEASE-DATE-${MY_PV} ChangeLog || die + rm -f LICENSE README* RELEASE-DATE-${MY_PV} + + if ! use setup; then + rm -rf setup || die "Cannot remove setup utility" + elog "The phpMyAdmin setup utility has been removed." + elog "It is a regular target of various exploits. If you need it, set USE=setup." + else + elog "You should consider disabling the setup USE flag" + elog "to exclude the setup utility if you don't use it." + elog "It regularly is the target of various exploits." + fi + + insinto "${MY_HTDOCSDIR#${EPREFIX}}" + doins -r . + + webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php + webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/libraries/config.default.php + + webapp_postinst_txt en "${FILESDIR}"/postinstall-en-3.1.txt + webapp_src_install +} diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index fd9e38b9286c..4e5b0b26fa6a 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -11,15 +11,13 @@ AUX postgresql.service-9.2 1666 BLAKE2B d4b81415539db3d78e0f5908185f903b70966ce3 AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4b46c3739c3f805072040a26128cb2ad9a25d4a7c9f109a95696d739538d379af6bac53c656f5c41af45b6110de5 SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8 DIST postgresql-10.5.tar.bz2 20284578 BLAKE2B af2bc5bdc7e69682dac38785ce4a10c2c5c04202f2c3cd4acbb9200dbae7eec75d83813ac4df84b5a8064e77167f22a4dd54c6e84a68e564642cb5d75effd0ac SHA512 1bad30ae88beca66f7e8b99b82e7f02aac1e9230b328e6e5a762a704cdd9dc767d924f5a66c68c93586badfef91b7ff336120a567ce970eaa58bb44c662ad48c -DIST postgresql-11beta3.tar.bz2 21375988 BLAKE2B cd83fcfc55504a028bf42f2c31de4d9e12ead1ad0f238a1f36397b9405ddf8f6d371062a25e2660f8c6754447a09ddc3a122f178101b8ab80237b16422c8cf4c SHA512 6ac6ecf2fff014b3673b11f6f106fdc93e6692a4a67a4669c4a7557f2b3229e41ddf5365c1e9328d88b6fde9141c15bd1a4640356559e727ee7f9f11641d4bf6 -DIST postgresql-11beta4.tar.bz2 21143836 BLAKE2B d10fe7bd342dcbee3e98cf31355dad5b0bf4837969212e10e6e62549230ce8a3c24be9f61f9e629241b99eb5465e366196a43f58276c338d985fb2d3b6348114 SHA512 38a5f1e9df2b97054a1a9a5ab92b5a909315813cd93562f599f403b3f1f8f898ebd32cd36be9c8792bfb27650831a03eef1cd5335ae2470d22a6664e8b265605 +DIST postgresql-11.0.tar.bz2 21206820 BLAKE2B 7c985e6843162f9ba01a7efcba84743739eb107111d6013b8a5614964c105345e203db307d0da5b0dd42d9c765fcf9462621e3b06e2a09a7ee76befa1ec307ef SHA512 2cf471618dfaabdcbcbd68be3b85b6083376c97fdadce36d2ceb28438b7c736816118eacb1d4f12d48c39f584d78d7ffa89fa6d65858d440045a53921429970a DIST postgresql-9.3.24.tar.bz2 17042985 BLAKE2B 976debbc2a072cc307e22beac1d59352ecc214b9879284e635f30295d1f46ad2e0542ffc5f62639527be870afe46ea5daf5b8b2d3da9a069adf1701218def968 SHA512 3d457b6218eeb8da2d8dd134dabc7ec8000cad5863870079b85ce00d94218fa049146290a8389fec15e57d586b0edee9810cdad85f36cbabce49b6b4378ce1ee DIST postgresql-9.4.19.tar.bz2 17879273 BLAKE2B 775a8748218c40440df91307107d46a35bcb3b2baf1c383014684c15d06c0026548770f88dccb1c26c3247813761e4a43003c50fe930041afc5701cddabfbde3 SHA512 38e2f1f25bd80fdfdec728cd4a3fee6696ca051e496f0629a0a554ea013bfb9bb83ef5659b00130666462a45036a648cf880a2f49693a8ef2edbde938e4dd830 DIST postgresql-9.5.14.tar.bz2 18687959 BLAKE2B ac377b5e279d9e8179a94eb91d0cf1a7e3f6443c860d68a4540357d80128fbc54ac1ffec198725b2a783a80448f8a625556f2e6018162304d65659982890d46f SHA512 9b5ebc8dc13bbdbd5b5bc02552e2b9b5029d899a80e82b653542c735868590ebe57d586951bf036c5abd28aae325c71cc69536f88321d50dd3d254f8ee0cfe35 DIST postgresql-9.6.10.tar.bz2 19991204 BLAKE2B 3d99296b5045a0b56b89257b2aa3f0c8be1108428acd77469b8db94200ad6b0b8d2fa84c73f652f79db56620c46928524d2f3a1a265ac332eb36c0625b800f76 SHA512 960a32c86466f9d5f5491ef163f5c4a99cb5de7312d13371e2223b1d156e31eb2a23ed478e6654bcbb7bd19db9470aaf63473ff661c11c60971b92af5e9daf82 EBUILD postgresql-10.5.ebuild 13694 BLAKE2B cbc3b1250d2b50dd7a9c318a9c610506db4b2593b013b2d89a573276ab8604cff741a1a3ca03a97e3c9a6bd7392762f821caf90d642c9a05cc9ca0b411340bbf SHA512 4b6fb894e8d5196139a56b897d3a06169c35def0d7e472ac8332987445f7c7ce72568b3b7a45bd7e8dac651108731761c413296864b0c9be4a617217d49ef3ec -EBUILD postgresql-11_beta3.ebuild 13440 BLAKE2B 7c2cd1050b4e1bf5041fc551bf7e8c93aa309fd6e8e4ca30664214c2b21cd347b9d4473e1ff7d7f2a7697bfcf648173c30770dbc329aabb3229d2d49b38b4c34 SHA512 49d310d814d6d945c5a55f59e5e2b17935d7c3684295fafb27c4b8326146d49b06341c3844fde80ba80bda9fc81408d08a705293e3f1195bc342d953dcfd5ebf -EBUILD postgresql-11_beta4.ebuild 13440 BLAKE2B 7c2cd1050b4e1bf5041fc551bf7e8c93aa309fd6e8e4ca30664214c2b21cd347b9d4473e1ff7d7f2a7697bfcf648173c30770dbc329aabb3229d2d49b38b4c34 SHA512 49d310d814d6d945c5a55f59e5e2b17935d7c3684295fafb27c4b8326146d49b06341c3844fde80ba80bda9fc81408d08a705293e3f1195bc342d953dcfd5ebf +EBUILD postgresql-11.0.ebuild 13442 BLAKE2B 9246de6e7d20e8832eb7086be741d33cba3f9aad991eb54f48918b67347286494fa13fda84846ff6c0d0a43ec3f7de034adf2dfbf2a90325146f6470857e8684 SHA512 8621a42938a6f8110a517d2a05f8afb37443cf25066ac4b64dbd4893048725a7d0d1f61347fbcab4ac53ba27b846489d064d7a552834a00c213243897beb21a7 EBUILD postgresql-9.3.24.ebuild 13747 BLAKE2B 12e74f2f7bc2b18507b5c4e07d093cebd96406c6d981fbcaa6c2851004183acfac3e3fb882e1eea662e8cf1d35c10a1bcd6ad2820a5770874f04ad9cf508c387 SHA512 c89150f9b09e18b196d267dbec2c6539d3eb1ed6326193681249770c5d1ad42e48cffcad160121497dc8dbdd692994bd2704f581d52d029ba4dff5178a773746 EBUILD postgresql-9.4.19.ebuild 14557 BLAKE2B 57446276df8b11ebe12ef5a4b3e95dfc2892cdf93cb1a40117f0e7ae5774e0ba1a4a08b2306d971625636d4f0bddb4d0395bc6671397ef291c0251a31bc37256 SHA512 05b6604f17b63442a1eda4673a702eab7bb0ac4af87dce7c9f56085573768aec408aa441873317cf610e379972221f68d49c19f47f7be48b1e6a74809d13c407 EBUILD postgresql-9.5.14.ebuild 14785 BLAKE2B bbd02c18eb7e6b6c9bb2f3e4b4010bc1aadc0aaabe158accac75b1f692c8905d565647bac95c46b69003f70ce6608017a877e74e37e915a2827f5a6f35a732a5 SHA512 2ae77b20602445192062ab5930cc518c3524aa8c57c4aaa4923ec15b924f3b166dcd51dca32a19618d3055214bfed7977c4630dd40b6967aaf491f1688aaf717 diff --git a/dev-db/postgresql/postgresql-11.0.ebuild b/dev-db/postgresql/postgresql-11.0.ebuild new file mode 100644 index 000000000000..0db6206b7a97 --- /dev/null +++ b/dev-db/postgresql/postgresql-11.0.ebuild @@ -0,0 +1,452 @@ +# Copyright 1999-2018 Gentoo Authors +# 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 llvm nls pam perl python +readline + selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( sys-devel/llvm:= + sys-devel/clang:= ) +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} +!! /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/postgresql/postgresql-11_beta3.ebuild b/dev-db/postgresql/postgresql-11_beta3.ebuild deleted file mode 100644 index 27adb918d12f..000000000000 --- a/dev-db/postgresql/postgresql-11_beta3.ebuild +++ /dev/null @@ -1,452 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) - -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 ~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 llvm nls pam perl python +readline - selinux +server systemd ssl static-libs tcl threads uuid xml zlib" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -CDEPEND=" ->=app-eselect/eselect-postgresql-2.0 -sys-apps/less -virtual/libintl -kerberos? ( virtual/krb5 ) -ldap? ( net-nds/openldap ) -llvm? ( sys-devel/llvm:= - sys-devel/clang:= ) -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} -!! /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/postgresql/postgresql-11_beta4.ebuild b/dev-db/postgresql/postgresql-11_beta4.ebuild deleted file mode 100644 index 27adb918d12f..000000000000 --- a/dev-db/postgresql/postgresql-11_beta4.ebuild +++ /dev/null @@ -1,452 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) - -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 ~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 llvm nls pam perl python +readline - selinux +server systemd ssl static-libs tcl threads uuid xml zlib" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -CDEPEND=" ->=app-eselect/eselect-postgresql-2.0 -sys-apps/less -virtual/libintl -kerberos? ( virtual/krb5 ) -ldap? ( net-nds/openldap ) -llvm? ( sys-devel/llvm:= - sys-devel/clang:= ) -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} -!! /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/redis/Manifest b/dev-db/redis/Manifest index c2edb3702e8e..a0c8753a261d 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -37,4 +37,4 @@ EBUILD redis-4.0.8.ebuild 4074 BLAKE2B a6190e8b3223f516c48889f5bd455e7c94c1c68e0 EBUILD redis-4.0.9.ebuild 4074 BLAKE2B 609631167471b07d3caccad80d601e4d73a594a97979b25f828c171c341f2f8d24c12e2399ad81b8952e5f459f0a340726a4e8ee69a1f51b0626b52d18e7ce3c SHA512 86c003235c630c87a551b31f359a5fe824d7114016f22788cf8dc84dec56d5bea24c3fdbc86efd15734ccb636394bb6fc4f4d757566ac857605fa23c841db4d4 EBUILD redis-5.0_rc4.ebuild 4127 BLAKE2B 110d57d99191a4adc8b3da6978320d744b7e83a876c2f0b569187da7e4d26f059368a0021a64ddc17846e3d48390ff9424457278def0df04436ce0b04352b371 SHA512 d8daa2fe2b0640001fdc66ef190801cafb542f61fb73546a2d428a7bb306fad9c6ffdc47336774aa072b8a2cd9a0021bbcf6a86a3124ddcb74037f7a1a7e2fd0 EBUILD redis-5.0_rc5.ebuild 4130 BLAKE2B c4e496f916e3caeb24b2ada9c6c4bd709aee3a3a63bc695383ff2624277ea6cb74804dbb945aba8650d317ad06324c51a08c6432ae4c0306bc8428f5185f3cc3 SHA512 2930a1dfeeaafbc17e12c89b23527c874430451a5a60271ffa4d66e49fea6bed100c9d0ef8134a6d8b48e21f8bc7fabd7683c2617e6b37d78962c473b272a94d -MISC metadata.xml 535 BLAKE2B 8b38981c28c1a1ac98cbadcc1a7e6ae9b48eff471f56a8ce182b26a331e8fdb92e0d76fa44f0c7f84f6d262fc7b1ad23ddb348d445dfc472f9b8be86d6ca222b SHA512 10302874f9e9818bfa599f4cb1e75bf9dc27f187cf7858855c2d77ddfb282ead944f40027596a80e8e22bdd5bf374613362be0c1779c0e5941e4135ad994c120 +MISC metadata.xml 440 BLAKE2B b853160a8483ff59c413a37b8fd1703283cc80c5ea9de092654dd1809bdc6ed3dc98fb6285a3f33bfea136bdf3db4065b3e22c34f7458e9e83aa63e137a13eb3 SHA512 7c125eed761e5f4c868a3fd5539d5182b9c4da6ddeb0cb82a46dc6d0cc682410eb100168ddb4b5fb214d6092395394cefef5bc8fd3dcce818542d30748f9bd17 diff --git a/dev-db/redis/metadata.xml b/dev-db/redis/metadata.xml index 19c095efc2a0..96eae677a075 100644 --- a/dev-db/redis/metadata.xml +++ b/dev-db/redis/metadata.xml @@ -8,9 +8,6 @@ robbat2@gentoo.org - - Use dev-libs/jemalloc for allocations. - Use tcmalloc from dev-util/google-perftools for allocations. diff --git a/dev-db/rethinkdb/Manifest b/dev-db/rethinkdb/Manifest index 95b7ff5998e4..fa392a74b12e 100644 --- a/dev-db/rethinkdb/Manifest +++ b/dev-db/rethinkdb/Manifest @@ -6,4 +6,4 @@ AUX rethinkdb.service 261 BLAKE2B ac1f760843ebe249a5066031b5637c1375f84ee63ee230 AUX rethinkdb.tmpfilesd 43 BLAKE2B a294bf834c883ebca33fb289328007e144d14f0fd9c685f3f10bb209af01100347334d21e49243e83f0cf6d5ac1bcc07f49071dc2017f2606f06c9304f67e296 SHA512 5996f72b8e08aac80285373e8e1b5a664177e9d0e8d13e5638c6b821fe5b7a0368001fbfa9ef3f6709dabf0616abcabea40adc4808d176572f8f99b7a3255bae DIST rethinkdb-2.3.6.tgz 76787356 BLAKE2B 291f5ff7f2574329e3c96a838a2b4a5f801fae5221612f97d9c6ac250f07e8b8495ce55e9b59fa6085328ef9b9061f63c90db088175458102d2ab319b08c3be1 SHA512 653177750f7439fa1d61a121e488d578be1eab90f87c7d17ad52b9793d8543f22bbe98f8d501c2ab2d7048c65118096430fe7bde945d87c7a3228905af801af2 EBUILD rethinkdb-2.3.6.ebuild 3887 BLAKE2B dbc1ed84b0c50ac172d9b8e2e36f2f75ce831f1c9043de5e654908a4a2789442e4c25dede7cf07c94bf4b29002c369e750834edce8596c2605e29898085fce57 SHA512 593edaccf511e503382a40cfd2e637a49706b3cb9f5235fdcb93abed619987042e785fdae795eae97d06b8ca9c630a15b3b79de2b58d3020b26b76660953e5d9 -MISC metadata.xml 584 BLAKE2B 33c0de170a389d6a2a4d705786c5534881977fe779facc6e647b30d2c4c3cd66d7b7bd5669b58623af766b69f5c86c744ef9ba89489bca1a6b5df1912512fd98 SHA512 50641820a4f298ad66ceedafcb388b8f99d2732e0e7de9c0aa412d75482488a9d382845802ea55a451c39890ff5167715f47e3346aad29992fd3bc069d097dae +MISC metadata.xml 479 BLAKE2B da42cd39b5a97d717bbba5d640794b8620783464226a641bdbcc3f9f89861051a88ad0789bd43ed606d4955d8265a148dc038e3f2d2851042e6f9080885cf845 SHA512 927c6fb7c435c6ebd562dd581a392cf36f48ac20fec63dd0c090efdadaa68fcbbd28d6aa8c5c2f24822d0453ac74847576dcb45fd93a3c6ece648c17b6abba7c diff --git a/dev-db/rethinkdb/metadata.xml b/dev-db/rethinkdb/metadata.xml index 91224a49a819..48fd46f66002 100644 --- a/dev-db/rethinkdb/metadata.xml +++ b/dev-db/rethinkdb/metadata.xml @@ -6,9 +6,6 @@ Ultrabug - - Use dev-libs/jemalloc for allocations (default). - Use tcmalloc from dev-util/google-perftools for allocations. -- cgit v1.2.3